{"version":3,"sources":["node_modules/tslib/tslib.es6.mjs","node_modules/jwt-decode/build/jwt-decode.esm.js","node_modules/@azure/logger/dist-esm/src/log.browser.js","node_modules/@azure/logger/dist-esm/src/debug.js","node_modules/@azure/logger/dist-esm/src/index.js","node_modules/@azure/communication-common/dist-esm/src/tokenParser.js","node_modules/@azure/communication-common/dist-esm/src/autoRefreshTokenCredential.js","node_modules/@azure/communication-common/dist-esm/src/staticTokenCredential.js","node_modules/@azure/communication-common/dist-esm/src/azureCommunicationTokenCredential.js","node_modules/@azure/communication-common/dist-esm/src/credential/encodeUtils.browser.js","node_modules/@azure/communication-common/dist-esm/src/credential/cryptoUtils.browser.js","node_modules/@azure/abort-controller/dist-esm/src/AbortController.js","node_modules/@azure/abort-controller/dist-esm/src/index.js","node_modules/@azure/core-util/dist-esm/src/createAbortablePromise.js","node_modules/@azure/core-util/dist-esm/src/delay.js","node_modules/@azure/core-util/dist-esm/src/random.js","node_modules/@azure/core-util/dist-esm/src/object.js","node_modules/@azure/core-util/dist-esm/src/error.js","node_modules/@azure/core-util/dist-esm/src/uuidUtils.native.js","node_modules/@azure/core-util/dist-esm/src/uuidUtils.browser.js","node_modules/@azure/core-util/dist-esm/src/checkEnvironment.js","node_modules/@azure/core-util/dist-esm/src/index.js","node_modules/@azure/communication-common/dist-esm/src/credential/communicationAccessKeyCredentialPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/pipeline.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/log.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/sanitizer.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/logPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/redirectPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/userAgentPlatform.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/constants.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/userAgent.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/userAgentPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/decompressResponsePolicy.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/helpers.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/retryStrategies/throttlingRetryStrategy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/retryStrategies/exponentialRetryStrategy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/retryPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/defaultRetryPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/formDataPolicy.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/proxyPolicy.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/setClientRequestIdPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/tlsPolicy.js","node_modules/@azure/core-tracing/dist-esm/src/tracingContext.js","node_modules/@azure/core-tracing/dist-esm/src/instrumenter.js","node_modules/@azure/core-tracing/dist-esm/src/tracingClient.js","node_modules/@azure/core-tracing/dist-esm/src/index.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/inspect.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/restError.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/tracingPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/createPipelineFromOptions.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/httpHeaders.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/fetchHttpClient.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/defaultHttpClient.browser.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/pipelineRequest.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/util/tokenCycler.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/policies/bearerTokenAuthenticationPolicy.js","node_modules/@azure/core-rest-pipeline/dist-esm/src/index.js","node_modules/@azure/core-auth/dist-esm/src/azureKeyCredential.js","node_modules/@azure/core-auth/dist-esm/src/tokenCredential.js","node_modules/@azure/core-auth/dist-esm/src/index.js","node_modules/@azure/communication-common/dist-esm/src/credential/communicationAuthPolicy.js","node_modules/@azure/communication-common/dist-esm/src/credential/connectionString.js","node_modules/@azure/communication-common/dist-esm/src/credential/clientArguments.js","node_modules/@azure/communication-common/dist-esm/src/credential/index.js","node_modules/@azure/communication-common/dist-esm/src/identifierModels.js","node_modules/@azure/communication-common/dist-esm/src/identifierModelSerializer.js","node_modules/@azure/communication-common/dist-esm/src/index.js","node_modules/@azure/communication-calling/dist/sdk.bundle.js","node_modules/events/events.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/regex.js","node_modules/uuid/dist/esm-browser/validate.js","node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/v4.js","node_modules/uuid/dist/esm-browser/index.js","node_modules/@azure/core-http/dist-esm/src/httpHeaders.js","node_modules/@azure/core-http/dist-esm/src/util/base64.browser.js","node_modules/@azure/core-http/dist-esm/src/util/constants.js","node_modules/@azure/core-http/dist-esm/src/util/serializer.common.js","node_modules/@azure/core-http/dist-esm/src/util/utils.js","node_modules/@azure/core-http/dist-esm/src/serializer.js","node_modules/@azure/core-http/dist-esm/src/webResource.js","node_modules/@azure/core-http/dist-esm/src/url.js","node_modules/@azure/core-http/dist-esm/src/util/sanitizer.js","node_modules/@azure/core-http/dist-esm/src/util/inspect.browser.js","node_modules/@azure/core-http/src/restError.ts","node_modules/@azure/core-http/dist-esm/src/xhrHttpClient.js","node_modules/@azure/core-http/dist-esm/src/defaultHttpClient.browser.js","node_modules/@azure/core-http/dist-esm/src/httpPipelineLogLevel.js","node_modules/@azure/core-http/dist-esm/src/operationOptions.js","node_modules/@azure/core-http/dist-esm/src/policies/requestPolicy.js","node_modules/@azure/core-http/dist-esm/src/util/xml.browser.js","node_modules/@azure/core-http/dist-esm/src/policies/deserializationPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/keepAlivePolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/redirectPolicy.js","node_modules/@azure/core-http/dist-esm/src/util/exponentialBackoffStrategy.js","node_modules/@azure/core-http/dist-esm/src/log.js","node_modules/@azure/core-http/dist-esm/src/policies/exponentialRetryPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/logPolicy.js","node_modules/@azure/core-http/dist-esm/src/operationParameter.js","node_modules/@azure/core-http/dist-esm/src/operationSpec.js","node_modules/@azure/core-http/dist-esm/src/policies/msRestUserAgentPolicy.browser.js","node_modules/@azure/core-http/dist-esm/src/policies/userAgentPolicy.js","node_modules/@azure/core-http/dist-esm/src/queryCollectionFormat.js","node_modules/@azure/core-http/dist-esm/src/policies/bearerTokenAuthenticationPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/disableResponseDecompressionPolicy.browser.js","node_modules/@azure/core-http/dist-esm/src/policies/generateClientRequestIdPolicy.js","node_modules/@azure/core-http/dist-esm/src/httpClientCache.js","node_modules/@azure/core-http/dist-esm/src/policies/ndJsonPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/proxyPolicy.browser.js","node_modules/@azure/core-http/dist-esm/src/policies/rpRegistrationPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/signingPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/systemErrorRetryPolicy.js","node_modules/@azure/core-http/dist-esm/src/policies/throttlingRetryPolicy.js","node_modules/@opentelemetry/api/build/esm/platform/browser/globalThis.js","node_modules/@opentelemetry/api/build/esm/platform/browser/index.js","node_modules/@opentelemetry/api/build/esm/version.js","node_modules/@opentelemetry/api/build/esm/internal/semver.js","node_modules/@opentelemetry/api/build/esm/internal/global-utils.js","node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js","node_modules/@opentelemetry/api/build/esm/diag/types.js","node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js","node_modules/@opentelemetry/api/build/esm/api/diag.js","node_modules/@opentelemetry/api/build/esm/context/context.js","node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js","node_modules/@opentelemetry/api/build/esm/api/context.js","node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js","node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js","node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js","node_modules/@opentelemetry/api/build/esm/trace/context-utils.js","node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js","node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js","node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js","node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js","node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js","node_modules/@opentelemetry/api/build/esm/context-api.js","node_modules/@opentelemetry/api/build/esm/api/trace.js","node_modules/@opentelemetry/api/build/esm/trace-api.js","node_modules/@opentelemetry/api/build/esm/index.js","node_modules/@azure/core-http/node_modules/@azure/core-tracing/dist-esm/src/interfaces.js","node_modules/@azure/core-http/node_modules/@azure/core-tracing/dist-esm/src/createSpan.js","node_modules/@azure/core-http/node_modules/@azure/core-tracing/dist-esm/src/utils/traceParentHeader.js","node_modules/@azure/core-http/node_modules/@azure/core-tracing/dist-esm/src/index.js","node_modules/@azure/core-http/dist-esm/src/policies/tracingPolicy.js","node_modules/@azure/core-http/dist-esm/src/serviceClient.js","node_modules/@azure/core-http/dist-esm/src/createSpanLegacy.js","node_modules/@azure/core-http/dist-esm/src/credentials/accessTokenCache.js","node_modules/@azure/core-http/dist-esm/src/credentials/accessTokenRefresher.js","node_modules/@azure/core-http/dist-esm/src/credentials/basicAuthenticationCredentials.js","node_modules/@azure/core-http/dist-esm/src/credentials/apiKeyCredentials.js","node_modules/@azure/core-http/dist-esm/src/credentials/topicCredentials.js","node_modules/@azure/core-http/dist-esm/src/index.js","node_modules/@azure/communication-signaling/dist/index.js","node_modules/crypto-js/core.js","node_modules/crypto-js/x64-core.js","node_modules/crypto-js/lib-typedarrays.js","node_modules/crypto-js/enc-utf16.js","node_modules/crypto-js/enc-base64.js","node_modules/crypto-js/enc-base64url.js","node_modules/crypto-js/md5.js","node_modules/crypto-js/sha1.js","node_modules/crypto-js/sha256.js","node_modules/crypto-js/sha224.js","node_modules/crypto-js/sha512.js","node_modules/crypto-js/sha384.js","node_modules/crypto-js/sha3.js","node_modules/crypto-js/ripemd160.js","node_modules/crypto-js/hmac.js","node_modules/crypto-js/pbkdf2.js","node_modules/crypto-js/evpkdf.js","node_modules/crypto-js/cipher-core.js","node_modules/crypto-js/mode-cfb.js","node_modules/crypto-js/mode-ctr.js","node_modules/crypto-js/mode-ctr-gladman.js","node_modules/crypto-js/mode-ofb.js","node_modules/crypto-js/mode-ecb.js","node_modules/crypto-js/pad-ansix923.js","node_modules/crypto-js/pad-iso10126.js","node_modules/crypto-js/pad-iso97971.js","node_modules/crypto-js/pad-zeropadding.js","node_modules/crypto-js/pad-nopadding.js","node_modules/crypto-js/format-hex.js","node_modules/crypto-js/aes.js","node_modules/crypto-js/tripledes.js","node_modules/crypto-js/rc4.js","node_modules/crypto-js/rabbit.js","node_modules/crypto-js/rabbit-legacy.js","node_modules/crypto-js/index.js","node_modules/@angular/core/fesm2022/primitives/signals.mjs","node_modules/rxjs/dist/esm/internal/util/isFunction.js","node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","node_modules/rxjs/dist/esm/internal/util/arrRemove.js","node_modules/rxjs/dist/esm/internal/Subscription.js","node_modules/rxjs/dist/esm/internal/config.js","node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","node_modules/rxjs/dist/esm/internal/util/noop.js","node_modules/rxjs/dist/esm/internal/NotificationFactories.js","node_modules/rxjs/dist/esm/internal/util/errorContext.js","node_modules/rxjs/dist/esm/internal/Subscriber.js","node_modules/rxjs/dist/esm/internal/symbol/observable.js","node_modules/rxjs/dist/esm/internal/util/identity.js","node_modules/rxjs/dist/esm/internal/util/pipe.js","node_modules/rxjs/dist/esm/internal/Observable.js","node_modules/rxjs/dist/esm/internal/util/lift.js","node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","node_modules/rxjs/dist/esm/internal/operators/refCount.js","node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","node_modules/rxjs/dist/esm/internal/Subject.js","node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","node_modules/rxjs/dist/esm/internal/ReplaySubject.js","node_modules/rxjs/dist/esm/internal/scheduler/Action.js","node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","node_modules/rxjs/dist/esm/internal/util/Immediate.js","node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","node_modules/rxjs/dist/esm/internal/Scheduler.js","node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","node_modules/rxjs/dist/esm/internal/scheduler/asap.js","node_modules/rxjs/dist/esm/internal/scheduler/async.js","node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","node_modules/rxjs/dist/esm/internal/observable/empty.js","node_modules/rxjs/dist/esm/internal/util/isScheduler.js","node_modules/rxjs/dist/esm/internal/util/args.js","node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","node_modules/rxjs/dist/esm/internal/util/isPromise.js","node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","node_modules/rxjs/dist/esm/internal/symbol/iterator.js","node_modules/rxjs/dist/esm/internal/util/isIterable.js","node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","node_modules/rxjs/dist/esm/internal/operators/observeOn.js","node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","node_modules/rxjs/dist/esm/internal/observable/from.js","node_modules/rxjs/dist/esm/internal/observable/of.js","node_modules/rxjs/dist/esm/internal/observable/throwError.js","node_modules/rxjs/dist/esm/internal/util/isObservable.js","node_modules/rxjs/dist/esm/internal/util/EmptyError.js","node_modules/rxjs/dist/esm/internal/util/isDate.js","node_modules/rxjs/dist/esm/internal/operators/map.js","node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","node_modules/rxjs/dist/esm/internal/util/createObject.js","node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","node_modules/rxjs/dist/esm/internal/operators/concatAll.js","node_modules/rxjs/dist/esm/internal/observable/concat.js","node_modules/rxjs/dist/esm/internal/observable/defer.js","node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","node_modules/rxjs/dist/esm/internal/observable/timer.js","node_modules/rxjs/dist/esm/internal/observable/interval.js","node_modules/rxjs/dist/esm/internal/observable/merge.js","node_modules/rxjs/dist/esm/internal/observable/never.js","node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","node_modules/rxjs/dist/esm/internal/operators/filter.js","node_modules/rxjs/dist/esm/internal/observable/race.js","node_modules/rxjs/dist/esm/internal/observable/zip.js","node_modules/rxjs/dist/esm/internal/operators/audit.js","node_modules/rxjs/dist/esm/internal/operators/auditTime.js","node_modules/rxjs/dist/esm/internal/operators/catchError.js","node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","node_modules/rxjs/dist/esm/internal/operators/concatMap.js","node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","node_modules/rxjs/dist/esm/internal/operators/take.js","node_modules/rxjs/dist/esm/internal/operators/mapTo.js","node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","node_modules/rxjs/dist/esm/internal/operators/endWith.js","node_modules/rxjs/dist/esm/internal/operators/finalize.js","node_modules/rxjs/dist/esm/internal/operators/first.js","node_modules/rxjs/dist/esm/internal/operators/takeLast.js","node_modules/rxjs/dist/esm/internal/operators/last.js","node_modules/rxjs/dist/esm/internal/operators/pairwise.js","node_modules/rxjs/dist/esm/internal/operators/scan.js","node_modules/rxjs/dist/esm/internal/operators/share.js","node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","node_modules/rxjs/dist/esm/internal/operators/skip.js","node_modules/rxjs/dist/esm/internal/operators/startWith.js","node_modules/rxjs/dist/esm/internal/operators/switchMap.js","node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","node_modules/rxjs/dist/esm/internal/operators/tap.js","node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","node_modules/@angular/core/fesm2022/core.mjs","node_modules/@angular/common/fesm2022/common.mjs","node_modules/@angular/common/fesm2022/http.mjs","node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","node_modules/@fingerprintjs/fingerprintjs-pro-spa/dist/fp-pro-spa.esm.js","node_modules/@fingerprintjs/fingerprintjs-pro/dist/fp.esm.min.js","node_modules/@fingerprintjs/fingerprintjs-pro-angular/fesm2020/fingerprintjs-fingerprintjs-pro-angular.mjs","node_modules/@angular/router/fesm2022/router.mjs","src/app/app-routing.module.ts","node_modules/@angular/cdk/fesm2022/coercion.mjs","node_modules/@angular/cdk/fesm2022/platform.mjs","node_modules/@angular/cdk/fesm2022/bidi.mjs","node_modules/@angular/cdk/fesm2022/collections.mjs","node_modules/@angular/cdk/fesm2022/scrolling.mjs","node_modules/@angular/cdk/fesm2022/portal.mjs","node_modules/@angular/cdk/fesm2022/private.mjs","node_modules/@angular/cdk/fesm2022/keycodes.mjs","node_modules/@angular/cdk/fesm2022/observers.mjs","node_modules/@angular/cdk/fesm2022/layout.mjs","node_modules/@angular/cdk/fesm2022/a11y.mjs","node_modules/@angular/cdk/fesm2022/overlay.mjs","node_modules/@angular/cdk/fesm2022/dialog.mjs","node_modules/@angular/material/fesm2022/core.mjs","node_modules/@angular/animations/fesm2022/animations.mjs","node_modules/@angular/material/fesm2022/dialog.mjs","src/app/components/message/alert/alert.component.ts","src/app/components/message/alert/alert.component.html","src/app/service/theme.service.ts","src/environments/environment.prod.ts","src/app/service/rest.service.ts","src/app/components/message/message-popup/message-popup.component.ts","src/app/components/message/message-popup/message-popup.component.html","node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-_private-utils.mjs","node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-core.mjs","src/app/core/token-storage.ts","src/app/service/loader.service.ts","node_modules/@angular/forms/fesm2022/forms.mjs","node_modules/@angular/cdk/fesm2022/observers/private.mjs","node_modules/@angular/material/fesm2022/form-field.mjs","node_modules/@angular/material/fesm2022/autocomplete.mjs","src/app/components/menu/menu.component.ts","src/app/components/menu/menu.component.html","src/app/components/loader/loader.component.ts","src/app/components/loader/loader.component.html","src/app/app.component.ts","src/app/app.component.html","node_modules/@angular/material/fesm2022/sidenav.mjs","node_modules/@angular/material/fesm2022/toolbar.mjs","node_modules/@angular/material/fesm2022/button.mjs","node_modules/@angular/material/fesm2022/button-toggle.mjs","node_modules/@angular/material/fesm2022/chips.mjs","node_modules/@angular/material/fesm2022/icon.mjs","node_modules/@angular/material/fesm2022/menu.mjs","node_modules/@angular/material/fesm2022/grid-list.mjs","node_modules/@angular/material/fesm2022/divider.mjs","node_modules/@angular/material/fesm2022/list.mjs","node_modules/@angular/material/fesm2022/card.mjs","node_modules/@angular/cdk/fesm2022/text-field.mjs","node_modules/@angular/material/fesm2022/input.mjs","node_modules/@angular/material/fesm2022/checkbox.mjs","node_modules/@angular/material/fesm2022/datepicker.mjs","node_modules/@angular/material/fesm2022/radio.mjs","node_modules/@angular/material/fesm2022/select.mjs","node_modules/@angular/material/fesm2022/snack-bar.mjs","node_modules/@angular/cdk/fesm2022/table.mjs","node_modules/@angular/material/fesm2022/table.mjs","node_modules/@angular/material/fesm2022/tooltip.mjs","node_modules/@angular/material/fesm2022/paginator.mjs","node_modules/@angular/material/fesm2022/sort.mjs","node_modules/@angular/material/fesm2022/tabs.mjs","node_modules/@angular/material/fesm2022/badge.mjs","node_modules/@angular/cdk/fesm2022/stepper.mjs","node_modules/@angular/material/fesm2022/stepper.mjs","node_modules/@angular/material/fesm2022/progress-bar.mjs","node_modules/@angular/material/fesm2022/progress-spinner.mjs","node_modules/@angular/cdk/fesm2022/tree.mjs","node_modules/@angular/material/fesm2022/tree.mjs","node_modules/@angular/cdk/fesm2022/accordion.mjs","node_modules/@angular/material/fesm2022/expansion.mjs","node_modules/@angular/material/fesm2022/slide-toggle.mjs","node_modules/@angular/material/fesm2022/slider.mjs","node_modules/@angular/cdk/fesm2022/drag-drop.mjs","node_modules/@angular/cdk/fesm2022/clipboard.mjs","src/app/modules/material.module.ts","node_modules/@angular/animations/fesm2022/browser.mjs","node_modules/@angular/platform-browser/fesm2022/animations.mjs","node_modules/@ng-bootstrap/ng-bootstrap/fesm2020/ng-bootstrap.mjs","node_modules/ngx-cookie-service/fesm2020/ngx-cookie-service.mjs","src/app/core/auth.service.ts","node_modules/ngx-device-detector/fesm2020/ngx-device-detector.mjs","src/app/core/token-interceptor.ts","src/app/core/auth-interceptor.ts","src/app/core/auth-guard.ts","src/app/modules/core.module.ts","src/app/components/Video-calling/video-call-ended/video-call-ended.component.ts","src/app/components/Video-calling/video-call-ended/video-call-ended.component.html","src/app/components/Video-calling/video-call/video-call.component.ts","src/app/components/Video-calling/video-call/video-call.component.html","node_modules/@azure/communication-chat/dist-esm/src/chatClient.js","node_modules/@azure/communication-chat/dist-esm/src/models/mappers.js","node_modules/@azure/core-client/dist-esm/src/base64.browser.js","node_modules/@azure/core-client/dist-esm/src/interfaces.js","node_modules/@azure/core-client/dist-esm/src/utils.js","node_modules/@azure/core-client/dist-esm/src/serializer.js","node_modules/@azure/core-client/dist-esm/src/serviceClient.js","node_modules/@azure/core-client/dist-esm/src/deserializationPolicy.js","node_modules/@azure/core-client/dist-esm/src/operationHelpers.js","node_modules/@azure/core-client/dist-esm/src/pipeline.js","node_modules/@azure/core-client/dist-esm/src/interfaceHelpers.js","node_modules/@azure/core-client/dist-esm/src/serializationPolicy.js","node_modules/@azure/core-client/dist-esm/src/httpClientCache.js","node_modules/@azure/core-client/dist-esm/src/urlHelpers.js","node_modules/@azure/core-client/dist-esm/src/log.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/tracing.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/models/mappers.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/models/parameters.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/operations/chatThread.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/operations/chat.js","node_modules/@azure/communication-chat/dist-esm/src/generated/src/chatApiClient.js","node_modules/@azure/communication-chat/dist-esm/src/chatThreadClient.js","node_modules/@azure/communication-chat/dist-esm/src/models/logger.js","node_modules/@azure/communication-chat/dist-esm/src/credential/communicationTokenCredentialPolicy.js","node_modules/@azure/communication-chat/dist-esm/src/models/uuid.js","node_modules/@azure/communication-chat/dist-esm/src/signaling/signalingClient.browser.js","src/app/core/enums/meeting-event-type.enum.ts","src/app/core/apiUrls.ts","src/app/core/enums/error-type.ts","src/app/core/enums/call-ending-type.ts","src/app/components/Video-calling/video-container/video-container.component.ts","src/app/components/Video-calling/video-container/video-container.component.html","src/app/components/Video-calling/screenshare-container/screenshare-container.component.ts","src/app/components/Video-calling/screenshare-container/screenshare-container.component.html","src/app/components/Video-calling/local-screenshare-container/local-screenshare-container.component.ts","src/app/components/Video-calling/local-screenshare-container/local-screenshare-container.component.html","src/app/components/Video-calling/preview-video-call/preview-video-call.component.ts","src/app/components/Video-calling/preview-video-call/preview-video-call.component.html","src/app/components/Video-calling/local-video-stream/local-video-stream.component.ts","src/app/components/Video-calling/local-video-stream/local-video-stream.component.html","src/app/pipes/dominant-speaker.pipe.ts","src/app/routers/video-conference-routing.module.ts","src/app/components/Video-calling/start-meeting/start-meeting.component.ts","src/app/components/Video-calling/start-meeting/start-meeting.component.html","src/app/modules/video-conference.module.ts","node_modules/@sentry/utils/esm/is.js","node_modules/@sentry/utils/esm/string.js","node_modules/@sentry/utils/esm/aggregate-errors.js","node_modules/@sentry/utils/esm/worldwide.js","node_modules/@sentry/utils/esm/browser.js","node_modules/@sentry/utils/esm/debug-build.js","node_modules/@sentry/utils/esm/logger.js","node_modules/@sentry/utils/esm/dsn.js","node_modules/@sentry/utils/esm/error.js","node_modules/@sentry/utils/esm/object.js","node_modules/@sentry/utils/esm/stacktrace.js","node_modules/@sentry/utils/esm/instrument/_handlers.js","node_modules/@sentry/utils/esm/instrument/console.js","node_modules/@sentry/utils/esm/misc.js","node_modules/@sentry/utils/esm/instrument/dom.js","node_modules/@sentry/utils/esm/supports.js","node_modules/@sentry/utils/esm/instrument/fetch.js","node_modules/@sentry/utils/esm/instrument/globalError.js","node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js","node_modules/@sentry/utils/esm/vendor/supportsHistory.js","node_modules/@sentry/utils/esm/instrument/history.js","node_modules/@sentry/utils/esm/instrument/xhr.js","node_modules/@sentry/utils/esm/env.js","node_modules/@sentry/utils/esm/node.js","node_modules/@sentry/utils/esm/isBrowser.js","node_modules/@sentry/utils/esm/memo.js","node_modules/@sentry/utils/esm/normalize.js","node_modules/@sentry/utils/esm/syncpromise.js","node_modules/@sentry/utils/esm/promisebuffer.js","node_modules/@sentry/utils/esm/url.js","node_modules/@sentry/utils/esm/severity.js","node_modules/@sentry/utils/esm/time.js","node_modules/@sentry/utils/esm/baggage.js","node_modules/@sentry/utils/esm/tracing.js","node_modules/@sentry/utils/esm/envelope.js","node_modules/@sentry/utils/esm/clientreport.js","node_modules/@sentry/utils/esm/ratelimit.js","node_modules/@sentry/utils/esm/eventbuilder.js","node_modules/@sentry/utils/esm/buildPolyfills/_nullishCoalesce.js","node_modules/@sentry/utils/esm/buildPolyfills/_optionalChain.js","node_modules/@sentry/core/esm/debug-build.js","node_modules/@sentry/core/esm/constants.js","node_modules/@sentry/core/esm/eventProcessors.js","node_modules/@sentry/core/esm/session.js","node_modules/@sentry/core/esm/utils/spanUtils.js","node_modules/@sentry/core/esm/utils/prepareEvent.js","node_modules/@sentry/core/esm/exports.js","node_modules/@sentry/core/esm/utils/getRootSpan.js","node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js","node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js","node_modules/@sentry/core/esm/scope.js","node_modules/@sentry/core/esm/version.js","node_modules/@sentry/core/esm/hub.js","node_modules/@sentry/core/esm/tracing/utils.js","node_modules/@sentry/core/esm/tracing/errors.js","node_modules/@sentry/core/esm/semanticAttributes.js","node_modules/@sentry/core/esm/tracing/spanstatus.js","node_modules/@sentry/core/esm/tracing/span.js","node_modules/@sentry/core/esm/utils/hasTracingEnabled.js","node_modules/@sentry/core/esm/tracing/trace.js","node_modules/@sentry/core/esm/tracing/transaction.js","node_modules/@sentry/core/esm/tracing/idletransaction.js","node_modules/@sentry/core/esm/tracing/sampling.js","node_modules/@sentry/core/esm/tracing/hubextensions.js","node_modules/@sentry/core/esm/tracing/measurement.js","node_modules/@sentry/core/esm/envelope.js","node_modules/@sentry/core/esm/api.js","node_modules/@sentry/core/esm/integration.js","node_modules/@sentry/core/esm/metrics/utils.js","node_modules/@sentry/core/esm/metrics/envelope.js","node_modules/@sentry/core/esm/baseclient.js","node_modules/@sentry/core/esm/sdk.js","node_modules/@sentry/core/esm/transports/base.js","node_modules/@sentry/core/esm/utils/isSentryRequestUrl.js","node_modules/@sentry/core/esm/utils/sdkMetadata.js","node_modules/@sentry/core/esm/integrations/inboundfilters.js","node_modules/@sentry/core/esm/integrations/functiontostring.js","node_modules/@sentry/core/esm/integrations/linkederrors.js","node_modules/@sentry/core/esm/integrations/index.js","node_modules/@sentry/core/esm/index.js","node_modules/@sentry-internal/tracing/esm/common/debug-build.js","node_modules/@sentry-internal/tracing/esm/browser/types.js","node_modules/@sentry-internal/tracing/esm/browser/backgroundtab.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/bindReporter.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/generateUniqueID.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getNavigationEntry.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getActivationStart.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/initMetric.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/observe.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/onHidden.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getCLS.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getVisibilityWatcher.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getFID.js","node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getLCP.js","node_modules/@sentry-internal/tracing/esm/browser/instrument.js","node_modules/@sentry-internal/tracing/esm/browser/metrics/utils.js","node_modules/@sentry-internal/tracing/esm/browser/metrics/index.js","node_modules/@sentry-internal/tracing/esm/common/fetch.js","node_modules/@sentry-internal/tracing/esm/browser/request.js","node_modules/@sentry-internal/tracing/esm/browser/router.js","node_modules/@sentry-internal/tracing/esm/browser/browsertracing.js","node_modules/@sentry-internal/tracing/esm/browser/browserTracingIntegration.js","node_modules/@sentry/browser/esm/helpers.js","node_modules/@sentry/browser/esm/debug-build.js","node_modules/@sentry/browser/esm/eventbuilder.js","node_modules/@sentry/browser/esm/userfeedback.js","node_modules/@sentry/browser/esm/client.js","node_modules/@sentry/browser/esm/transports/utils.js","node_modules/@sentry/browser/esm/transports/fetch.js","node_modules/@sentry/browser/esm/transports/xhr.js","node_modules/@sentry/browser/esm/stack-parsers.js","node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","node_modules/@sentry/browser/esm/integrations/dedupe.js","node_modules/@sentry/browser/esm/integrations/globalhandlers.js","node_modules/@sentry/browser/esm/integrations/httpcontext.js","node_modules/@sentry/browser/esm/integrations/linkederrors.js","node_modules/@sentry/browser/esm/integrations/trycatch.js","node_modules/@sentry/browser/esm/sdk.js","node_modules/@sentry/browser/esm/integrations/index.js","node_modules/@sentry/replay/esm/index.js","node_modules/@sentry/browser/esm/index.js","node_modules/@sentry/angular-ivy/fesm2015/sentry-angular-ivy.js","src/app/modules/message.module.ts","src/app/app.module.ts","src/main.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function awaitReturn(f) {\n return function (v) {\n return Promise.resolve(v).then(f, reject);\n };\n }\n function verb(n, f) {\n if (g[n]) {\n i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n if (f) i[n] = f(i[n]);\n }\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nvar ownKeys = function (o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function () {\n try {\n inner.call(this);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n return value;\n}\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r,\n s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function (e) {\n fail(e);\n return next();\n });\n } else s |= 1;\n } catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : d + ext + \".\" + cm.toLowerCase() + \"js\";\n });\n }\n return path;\n}\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension\n};","function e(e) {\n this.message = e;\n}\ne.prototype = new Error(), e.prototype.name = \"InvalidCharacterError\";\nvar r = \"undefined\" != typeof window && window.atob && window.atob.bind(window) || function (r) {\n var t = String(r).replace(/=+$/, \"\");\n if (t.length % 4 == 1) throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n for (var n, o, a = 0, i = 0, c = \"\"; o = t.charAt(i++); ~o && (n = a % 4 ? 64 * n + o : o, a++ % 4) ? c += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) o = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);\n return c;\n};\nfunction t(e) {\n var t = e.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (t.length % 4) {\n case 0:\n break;\n case 2:\n t += \"==\";\n break;\n case 3:\n t += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n try {\n return function (e) {\n return decodeURIComponent(r(e).replace(/(.)/g, function (e, r) {\n var t = r.charCodeAt(0).toString(16).toUpperCase();\n return t.length < 2 && (t = \"0\" + t), \"%\" + t;\n }));\n }(t);\n } catch (e) {\n return r(t);\n }\n}\nfunction n(e) {\n this.message = e;\n}\nfunction o(e, r) {\n if (\"string\" != typeof e) throw new n(\"Invalid token specified\");\n var o = !0 === (r = r || {}).header ? 0 : 1;\n try {\n return JSON.parse(t(e.split(\".\")[o]));\n } catch (e) {\n throw new n(\"Invalid token specified: \" + e.message);\n }\n}\nn.prototype = new Error(), n.prototype.name = \"InvalidTokenError\";\nexport default o;\nexport { n as InvalidTokenError };\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport function log(...args) {\n if (args.length > 0) {\n const firstArg = String(args[0]);\n if (firstArg.includes(\":error\")) {\n console.error(...args);\n } else if (firstArg.includes(\":warning\")) {\n console.warn(...args);\n } else if (firstArg.includes(\":info\")) {\n console.info(...args);\n } else if (firstArg.includes(\":verbose\")) {\n console.debug(...args);\n } else {\n console.debug(...args);\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { log } from \"./log\";\nconst debugEnvVariable = typeof process !== \"undefined\" && process.env && process.env.DEBUG || undefined;\nlet enabledString;\nlet enabledNamespaces = [];\nlet skippedNamespaces = [];\nconst debuggers = [];\nif (debugEnvVariable) {\n enable(debugEnvVariable);\n}\nconst debugObj = Object.assign(namespace => {\n return createDebugger(namespace);\n}, {\n enable,\n enabled,\n disable,\n log\n});\nfunction enable(namespaces) {\n enabledString = namespaces;\n enabledNamespaces = [];\n skippedNamespaces = [];\n const wildcard = /\\*/g;\n const namespaceList = namespaces.split(\",\").map(ns => ns.trim().replace(wildcard, \".*?\"));\n for (const ns of namespaceList) {\n if (ns.startsWith(\"-\")) {\n skippedNamespaces.push(new RegExp(`^${ns.substr(1)}$`));\n } else {\n enabledNamespaces.push(new RegExp(`^${ns}$`));\n }\n }\n for (const instance of debuggers) {\n instance.enabled = enabled(instance.namespace);\n }\n}\nfunction enabled(namespace) {\n if (namespace.endsWith(\"*\")) {\n return true;\n }\n for (const skipped of skippedNamespaces) {\n if (skipped.test(namespace)) {\n return false;\n }\n }\n for (const enabledNamespace of enabledNamespaces) {\n if (enabledNamespace.test(namespace)) {\n return true;\n }\n }\n return false;\n}\nfunction disable() {\n const result = enabledString || \"\";\n enable(\"\");\n return result;\n}\nfunction createDebugger(namespace) {\n const newDebugger = Object.assign(debug, {\n enabled: enabled(namespace),\n destroy,\n log: debugObj.log,\n namespace,\n extend\n });\n function debug(...args) {\n if (!newDebugger.enabled) {\n return;\n }\n if (args.length > 0) {\n args[0] = `${namespace} ${args[0]}`;\n }\n newDebugger.log(...args);\n }\n debuggers.push(newDebugger);\n return newDebugger;\n}\nfunction destroy() {\n const index = debuggers.indexOf(this);\n if (index >= 0) {\n debuggers.splice(index, 1);\n return true;\n }\n return false;\n}\nfunction extend(namespace) {\n const newDebugger = createDebugger(`${this.namespace}:${namespace}`);\n newDebugger.log = this.log;\n return newDebugger;\n}\nexport default debugObj;\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport debug from \"./debug\";\nconst registeredLoggers = new Set();\nconst logLevelFromEnv = typeof process !== \"undefined\" && process.env && process.env.AZURE_LOG_LEVEL || undefined;\nlet azureLogLevel;\n/**\n * The AzureLogger provides a mechanism for overriding where logs are output to.\n * By default, logs are sent to stderr.\n * Override the `log` method to redirect logs to another location.\n */\nexport const AzureLogger = debug(\"azure\");\nAzureLogger.log = (...args) => {\n debug.log(...args);\n};\nconst AZURE_LOG_LEVELS = [\"verbose\", \"info\", \"warning\", \"error\"];\nif (logLevelFromEnv) {\n // avoid calling setLogLevel because we don't want a mis-set environment variable to crash\n if (isAzureLogLevel(logLevelFromEnv)) {\n setLogLevel(logLevelFromEnv);\n } else {\n console.error(`AZURE_LOG_LEVEL set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${AZURE_LOG_LEVELS.join(\", \")}.`);\n }\n}\n/**\n * Immediately enables logging at the specified log level. If no level is specified, logging is disabled.\n * @param level - The log level to enable for logging.\n * Options from most verbose to least verbose are:\n * - verbose\n * - info\n * - warning\n * - error\n */\nexport function setLogLevel(level) {\n if (level && !isAzureLogLevel(level)) {\n throw new Error(`Unknown log level '${level}'. Acceptable values: ${AZURE_LOG_LEVELS.join(\",\")}`);\n }\n azureLogLevel = level;\n const enabledNamespaces = [];\n for (const logger of registeredLoggers) {\n if (shouldEnable(logger)) {\n enabledNamespaces.push(logger.namespace);\n }\n }\n debug.enable(enabledNamespaces.join(\",\"));\n}\n/**\n * Retrieves the currently specified log level.\n */\nexport function getLogLevel() {\n return azureLogLevel;\n}\nconst levelMap = {\n verbose: 400,\n info: 300,\n warning: 200,\n error: 100\n};\n/**\n * Creates a logger for use by the Azure SDKs that inherits from `AzureLogger`.\n * @param namespace - The name of the SDK package.\n * @hidden\n */\nexport function createClientLogger(namespace) {\n const clientRootLogger = AzureLogger.extend(namespace);\n patchLogMethod(AzureLogger, clientRootLogger);\n return {\n error: createLogger(clientRootLogger, \"error\"),\n warning: createLogger(clientRootLogger, \"warning\"),\n info: createLogger(clientRootLogger, \"info\"),\n verbose: createLogger(clientRootLogger, \"verbose\")\n };\n}\nfunction patchLogMethod(parent, child) {\n child.log = (...args) => {\n parent.log(...args);\n };\n}\nfunction createLogger(parent, level) {\n const logger = Object.assign(parent.extend(level), {\n level\n });\n patchLogMethod(parent, logger);\n if (shouldEnable(logger)) {\n const enabledNamespaces = debug.disable();\n debug.enable(enabledNamespaces + \",\" + logger.namespace);\n }\n registeredLoggers.add(logger);\n return logger;\n}\nfunction shouldEnable(logger) {\n return Boolean(azureLogLevel && levelMap[logger.level] <= levelMap[azureLogLevel]);\n}\nfunction isAzureLogLevel(logLevel) {\n return AZURE_LOG_LEVELS.includes(logLevel);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport jwtDecode from \"jwt-decode\";\nexport const parseToken = token => {\n const {\n exp\n } = jwtDecode(token);\n return {\n token,\n expiresOnTimestamp: exp * 1000\n };\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { parseToken } from \"./tokenParser\";\nconst expiredToken = {\n token: \"\",\n expiresOnTimestamp: -10\n};\nconst minutesToMs = minutes => minutes * 1000 * 60;\nconst defaultExpiringSoonInterval = minutesToMs(10);\nconst defaultRefreshAfterLifetimePercentage = 0.5;\nexport class AutoRefreshTokenCredential {\n constructor(refreshArgs) {\n this.expiringSoonIntervalInMs = defaultExpiringSoonInterval;\n this.refreshAfterLifetimePercentage = defaultRefreshAfterLifetimePercentage;\n this.activeTokenFetching = null;\n this.activeTokenUpdating = null;\n this.disposed = false;\n const {\n tokenRefresher,\n token,\n refreshProactively\n } = refreshArgs;\n this.refresh = tokenRefresher;\n this.currentToken = token ? parseToken(token) : expiredToken;\n this.refreshProactively = refreshProactively !== null && refreshProactively !== void 0 ? refreshProactively : false;\n if (this.refreshProactively) {\n this.scheduleRefresh();\n }\n }\n async getToken(options) {\n if (!this.isTokenExpiringSoon(this.currentToken)) {\n return this.currentToken;\n }\n if (!this.isTokenValid(this.currentToken)) {\n const updatePromise = this.updateTokenAndReschedule(options === null || options === void 0 ? void 0 : options.abortSignal);\n await updatePromise;\n }\n return this.currentToken;\n }\n dispose() {\n this.disposed = true;\n this.activeTokenFetching = null;\n this.activeTokenUpdating = null;\n this.currentToken = expiredToken;\n if (this.activeTimeout) {\n clearTimeout(this.activeTimeout);\n }\n }\n async updateTokenAndReschedule(abortSignal) {\n if (this.activeTokenUpdating) {\n return this.activeTokenUpdating;\n }\n this.activeTokenUpdating = this.refreshTokenAndReschedule(abortSignal);\n try {\n await this.activeTokenUpdating;\n } finally {\n this.activeTokenUpdating = null;\n }\n }\n async refreshTokenAndReschedule(abortSignal) {\n const newToken = await this.refreshToken(abortSignal);\n if (!this.isTokenValid(newToken)) {\n throw new Error(\"The token returned from the tokenRefresher is expired.\");\n }\n this.currentToken = newToken;\n if (this.refreshProactively) {\n this.scheduleRefresh();\n }\n }\n async refreshToken(abortSignal) {\n try {\n if (!this.activeTokenFetching) {\n this.activeTokenFetching = this.refresh(abortSignal);\n }\n return parseToken(await this.activeTokenFetching);\n } finally {\n this.activeTokenFetching = null;\n }\n }\n scheduleRefresh() {\n if (this.disposed) {\n return;\n }\n if (this.activeTimeout) {\n clearTimeout(this.activeTimeout);\n }\n const tokenTtlInMs = this.currentToken.expiresOnTimestamp - Date.now();\n let timespanInMs = null;\n if (this.isTokenExpiringSoon(this.currentToken)) {\n // Schedule the next refresh for when it reaches a certain percentage of the remaining lifetime.\n timespanInMs = tokenTtlInMs * this.refreshAfterLifetimePercentage;\n } else {\n // Schedule the next refresh for when it gets in to the soon-to-expire window.\n timespanInMs = tokenTtlInMs - this.expiringSoonIntervalInMs;\n }\n this.activeTimeout = setTimeout(() => this.updateTokenAndReschedule(), timespanInMs);\n }\n isTokenValid(token) {\n return token && Date.now() < token.expiresOnTimestamp;\n }\n isTokenExpiringSoon(token) {\n return !token || Date.now() >= token.expiresOnTimestamp - this.expiringSoonIntervalInMs;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * StaticTokenCredential\n */\nexport class StaticTokenCredential {\n constructor(token) {\n this.token = token;\n }\n async getToken() {\n return this.token;\n }\n dispose() {\n /* intentionally empty */\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AutoRefreshTokenCredential } from \"./autoRefreshTokenCredential\";\nimport { StaticTokenCredential } from \"./staticTokenCredential\";\nimport { parseToken } from \"./tokenParser\";\n/**\n * The CommunicationTokenCredential implementation with support for proactive token refresh.\n */\nexport class AzureCommunicationTokenCredential {\n constructor(tokenOrRefreshOptions) {\n this.disposed = false;\n if (typeof tokenOrRefreshOptions === \"string\") {\n this.tokenCredential = new StaticTokenCredential(parseToken(tokenOrRefreshOptions));\n } else {\n this.tokenCredential = new AutoRefreshTokenCredential(tokenOrRefreshOptions);\n }\n }\n /**\n * Gets an `AccessToken` for the user. Throws if already disposed.\n * @param abortSignal - An implementation of `AbortSignalLike` to cancel the operation.\n */\n async getToken(options) {\n this.throwIfDisposed();\n const token = await this.tokenCredential.getToken(options);\n this.throwIfDisposed();\n return token;\n }\n /**\n * Disposes the CommunicationTokenCredential and cancels any internal auto-refresh operation.\n */\n dispose() {\n this.disposed = true;\n this.tokenCredential.dispose();\n }\n throwIfDisposed() {\n if (this.disposed) {\n throw new Error(\"User credential is disposed\");\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport const encodeUTF8 = str => new TextEncoder().encode(str);\nexport function encodeUTF8fromBase64(str) {\n if (typeof atob !== \"function\") {\n throw new Error(\"Your browser environment is missing the global `atob` function\");\n }\n const binary = atob(str);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\nexport function encodeBase64(value) {\n if (typeof btoa !== \"function\") {\n throw new Error(\"Your browser environment is missing the global `btoa` function\");\n }\n const bytes = new Uint8Array(value);\n let binary = \"\";\n for (const byte of bytes) {\n binary += String.fromCharCode(byte);\n }\n return btoa(binary);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nvar _a;\n/// \nimport { encodeBase64, encodeUTF8, encodeUTF8fromBase64 } from \"./encodeUtils.browser\";\nconst subtle = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.subtle;\nexport const shaHash = async content => {\n const data = encodeUTF8(content);\n const hash = await subtle.digest(\"SHA-256\", data);\n return encodeBase64(hash);\n};\nexport const shaHMAC = async (secret, content) => {\n const importParams = {\n name: \"HMAC\",\n hash: {\n name: \"SHA-256\"\n }\n };\n const encodedMessage = encodeUTF8(content);\n const encodedKey = encodeUTF8fromBase64(secret);\n const crypto = subtle;\n const cryptoKey = await crypto.importKey(\"raw\", encodedKey, importParams, false, [\"sign\"]);\n const signature = await crypto.sign(importParams, cryptoKey, encodedMessage);\n return encodeBase64(signature);\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortSignal, abortSignal } from \"./AbortSignal\";\n/**\n * This error is thrown when an asynchronous operation has been aborted.\n * Check for this error by testing the `name` that the name property of the\n * error matches `\"AbortError\"`.\n *\n * @example\n * ```ts\n * const controller = new AbortController();\n * controller.abort();\n * try {\n * doAsyncWork(controller.signal)\n * } catch (e) {\n * if (e.name === 'AbortError') {\n * // handle abort error here.\n * }\n * }\n * ```\n */\nexport class AbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"AbortError\";\n }\n}\n/**\n * An AbortController provides an AbortSignal and the associated controls to signal\n * that an asynchronous operation should be aborted.\n *\n * @example\n * Abort an operation when another event fires\n * ```ts\n * const controller = new AbortController();\n * const signal = controller.signal;\n * doAsyncWork(signal);\n * button.addEventListener('click', () => controller.abort());\n * ```\n *\n * @example\n * Share aborter cross multiple operations in 30s\n * ```ts\n * // Upload the same data to 2 different data centers at the same time,\n * // abort another when any of them is finished\n * const controller = AbortController.withTimeout(30 * 1000);\n * doAsyncWork(controller.signal).then(controller.abort);\n * doAsyncWork(controller.signal).then(controller.abort);\n *```\n *\n * @example\n * Cascaded aborting\n * ```ts\n * // All operations can't take more than 30 seconds\n * const aborter = Aborter.timeout(30 * 1000);\n *\n * // Following 2 operations can't take more than 25 seconds\n * await doAsyncWork(aborter.withTimeout(25 * 1000));\n * await doAsyncWork(aborter.withTimeout(25 * 1000));\n * ```\n */\nexport class AbortController {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n constructor(parentSignals) {\n this._signal = new AbortSignal();\n if (!parentSignals) {\n return;\n }\n // coerce parentSignals into an array\n if (!Array.isArray(parentSignals)) {\n // eslint-disable-next-line prefer-rest-params\n parentSignals = arguments;\n }\n for (const parentSignal of parentSignals) {\n // if the parent signal has already had abort() called,\n // then call abort on this signal as well.\n if (parentSignal.aborted) {\n this.abort();\n } else {\n // when the parent signal aborts, this signal should as well.\n parentSignal.addEventListener(\"abort\", () => {\n this.abort();\n });\n }\n }\n }\n /**\n * The AbortSignal associated with this controller that will signal aborted\n * when the abort method is called on this controller.\n *\n * @readonly\n */\n get signal() {\n return this._signal;\n }\n /**\n * Signal that any operations passed this controller's associated abort signal\n * to cancel any remaining work and throw an `AbortError`.\n */\n abort() {\n abortSignal(this._signal);\n }\n /**\n * Creates a new AbortSignal instance that will abort after the provided ms.\n * @param ms - Elapsed time in milliseconds to trigger an abort.\n */\n static timeout(ms) {\n const signal = new AbortSignal();\n const timer = setTimeout(abortSignal, ms, signal);\n // Prevent the active Timer from keeping the Node.js event loop active.\n if (typeof timer.unref === \"function\") {\n timer.unref();\n }\n return signal;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n// Changes to Aborter\n// * Rename Aborter to AbortSignal\n// * Remove withValue and getValue - async context should be solved differently/wholistically, not tied to cancellation\n// * Remove withTimeout, it's moved to the controller\n// * AbortSignal constructor no longer takes a parent. Cancellation graphs are created from the controller.\n// Potential changes to align with DOM Spec\n// * dispatchEvent on Signal\nexport { AbortController, AbortError } from \"./AbortController\";\nexport { AbortSignal } from \"./AbortSignal\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortError } from \"@azure/abort-controller\";\n/**\n * Creates an abortable promise.\n * @param buildPromise - A function that takes the resolve and reject functions as parameters.\n * @param options - The options for the abortable promise.\n * @returns A promise that can be aborted.\n */\nexport function createAbortablePromise(buildPromise, options) {\n const {\n cleanupBeforeAbort,\n abortSignal,\n abortErrorMsg\n } = options !== null && options !== void 0 ? options : {};\n return new Promise((resolve, reject) => {\n function rejectOnAbort() {\n reject(new AbortError(abortErrorMsg !== null && abortErrorMsg !== void 0 ? abortErrorMsg : \"The operation was aborted.\"));\n }\n function removeListeners() {\n abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.removeEventListener(\"abort\", onAbort);\n }\n function onAbort() {\n cleanupBeforeAbort === null || cleanupBeforeAbort === void 0 ? void 0 : cleanupBeforeAbort();\n removeListeners();\n rejectOnAbort();\n }\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n return rejectOnAbort();\n }\n try {\n buildPromise(x => {\n removeListeners();\n resolve(x);\n }, x => {\n removeListeners();\n reject(x);\n });\n } catch (err) {\n reject(err);\n }\n abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.addEventListener(\"abort\", onAbort);\n });\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createAbortablePromise } from \"./createAbortablePromise\";\nconst StandardAbortMessage = \"The delay was aborted.\";\n/**\n * A wrapper for setTimeout that resolves a promise after timeInMs milliseconds.\n * @param timeInMs - The number of milliseconds to be delayed.\n * @param options - The options for delay - currently abort options\n * @returns Promise that is resolved after timeInMs\n */\nexport function delay(timeInMs, options) {\n let token;\n const {\n abortSignal,\n abortErrorMsg\n } = options !== null && options !== void 0 ? options : {};\n return createAbortablePromise(resolve => {\n token = setTimeout(resolve, timeInMs);\n }, {\n cleanupBeforeAbort: () => clearTimeout(token),\n abortSignal,\n abortErrorMsg: abortErrorMsg !== null && abortErrorMsg !== void 0 ? abortErrorMsg : StandardAbortMessage\n });\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Returns a random integer value between a lower and upper bound,\n * inclusive of both bounds.\n * Note that this uses Math.random and isn't secure. If you need to use\n * this for any kind of security purpose, find a better source of random.\n * @param min - The smallest integer value allowed.\n * @param max - The largest integer value allowed.\n */\nexport function getRandomIntegerInclusive(min, max) {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Helper to determine when an input is a generic JS object.\n * @returns true when input is an object type that is not null, Array, RegExp, or Date.\n */\nexport function isObject(input) {\n return typeof input === \"object\" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isObject } from \"./object\";\n/**\n * Typeguard for an error object shape (has name and message)\n * @param e - Something caught by a catch clause.\n */\nexport function isError(e) {\n if (isObject(e)) {\n const hasName = typeof e.name === \"string\";\n const hasMessage = typeof e.message === \"string\";\n return hasName && hasMessage;\n }\n return false;\n}\n/**\n * Given what is thought to be an error object, return the message if possible.\n * If the message is missing, returns a stringified version of the input.\n * @param e - Something thrown from a try block\n * @returns The error message or a string of the input\n */\nexport function getErrorMessage(e) {\n if (isError(e)) {\n return e.message;\n } else {\n let stringified;\n try {\n if (typeof e === \"object\" && e) {\n stringified = JSON.stringify(e);\n } else {\n stringified = String(e);\n }\n } catch (err) {\n stringified = \"[unable to stringify input]\";\n }\n return `Unknown error ${stringified}`;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"react-native\" section in package.json.\n */\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function generateUUID() {\n let uuid = \"\";\n for (let i = 0; i < 32; i++) {\n // Generate a random number between 0 and 15\n const randomNumber = Math.floor(Math.random() * 16);\n // Set the UUID version to 4 in the 13th position\n if (i === 12) {\n uuid += \"4\";\n } else if (i === 16) {\n // Set the UUID variant to \"10\" in the 17th position\n uuid += randomNumber & 0x3 | 0x8;\n } else {\n // Add a random hexadecimal digit to the UUID string\n uuid += randomNumber.toString(16);\n }\n // Add hyphens to the UUID string at the appropriate positions\n if (i === 7 || i === 11 || i === 15 || i === 19) {\n uuid += \"-\";\n }\n }\n return uuid;\n}\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function randomUUID() {\n return generateUUID();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nvar _a;\nimport { generateUUID } from \"./uuidUtils.native\";\n// NOTE: This could be undefined if not used in a secure context\nconst uuidFunction = typeof ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) === \"function\" ? globalThis.crypto.randomUUID.bind(globalThis.crypto) : generateUUID;\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function randomUUID() {\n return uuidFunction();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nvar _a, _b, _c, _d;\n/**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\n// eslint-disable-next-line @azure/azure-sdk/ts-no-window\nexport const isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\nexport const isWebWorker = typeof self === \"object\" && typeof (self === null || self === void 0 ? void 0 : self.importScripts) === \"function\" && (((_a = self.constructor) === null || _a === void 0 ? void 0 : _a.name) === \"DedicatedWorkerGlobalScope\" || ((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === \"ServiceWorkerGlobalScope\" || ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === \"SharedWorkerGlobalScope\");\n/**\n * A constant that indicates whether the environment the code is running is Deno.\n */\nexport const isDeno = typeof Deno !== \"undefined\" && typeof Deno.version !== \"undefined\" && typeof Deno.version.deno !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is Node.JS.\n */\nexport const isNode = typeof process !== \"undefined\" && Boolean(process.version) && Boolean((_d = process.versions) === null || _d === void 0 ? void 0 : _d.node) &&\n// Deno thought it was a good idea to spoof process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions\n!isDeno;\n/**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\nexport const isBun = typeof Bun !== \"undefined\" && typeof Bun.version !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is in React-Native.\n */\n// https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\nexport const isReactNative = typeof navigator !== \"undefined\" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === \"ReactNative\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport { delay } from \"./delay\";\nexport { cancelablePromiseRace } from \"./aborterUtils\";\nexport { createAbortablePromise } from \"./createAbortablePromise\";\nexport { getRandomIntegerInclusive } from \"./random\";\nexport { isObject } from \"./object\";\nexport { isError, getErrorMessage } from \"./error\";\nexport { computeSha256Hash, computeSha256Hmac } from \"./sha256\";\nexport { isDefined, isObjectWithProperties, objectHasProperty } from \"./typeGuards\";\nexport { randomUUID } from \"./uuidUtils\";\nexport { isBrowser, isBun, isNode, isDeno, isReactNative, isWebWorker } from \"./checkEnvironment\";\nexport { uint8ArrayToString, stringToUint8Array } from \"./bytesEncoding\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { shaHMAC, shaHash } from \"./cryptoUtils\";\nimport { isNode } from \"@azure/core-util\";\n/**\n * CommunicationKeyCredentialPolicy provides a means of signing requests made through\n * the SmsClient.\n */\nconst communicationAccessKeyCredentialPolicy = \"CommunicationAccessKeyCredentialPolicy\";\n/**\n * Creates an HTTP pipeline policy to authenticate a request using a `KeyCredential`.\n * @hidden\n *\n * @param credential - The key credential.\n */\nexport function createCommunicationAccessKeyCredentialPolicy(credential) {\n return {\n name: communicationAccessKeyCredentialPolicy,\n async sendRequest(request, next) {\n var _a;\n const verb = request.method.toUpperCase();\n const utcNow = new Date().toUTCString();\n const contentHash = await shaHash(((_a = request.body) === null || _a === void 0 ? void 0 : _a.toString()) || \"\");\n const dateHeader = \"x-ms-date\";\n const signedHeaders = `${dateHeader};host;x-ms-content-sha256`;\n const url = new URL(request.url);\n const query = url.searchParams.toString();\n const urlPathAndQuery = query ? `${url.pathname}?${query}` : url.pathname;\n const port = url.port;\n const hostAndPort = port ? `${url.host}:${port}` : url.host;\n const stringToSign = `${verb}\\n${urlPathAndQuery}\\n${utcNow};${hostAndPort};${contentHash}`;\n const signature = await shaHMAC(credential.key, stringToSign);\n if (isNode) {\n request.headers.set(\"Host\", hostAndPort || \"\");\n }\n request.headers.set(dateHeader, utcNow);\n request.headers.set(\"x-ms-content-sha256\", contentHash);\n request.headers.set(\"Authorization\", `HMAC-SHA256 SignedHeaders=${signedHeaders}&Signature=${signature}`);\n return next(request);\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nconst ValidPhaseNames = new Set([\"Deserialize\", \"Serialize\", \"Retry\", \"Sign\"]);\n/**\n * A private implementation of Pipeline.\n * Do not export this class from the package.\n * @internal\n */\nclass HttpPipeline {\n constructor(policies) {\n var _a;\n this._policies = [];\n this._policies = (_a = policies === null || policies === void 0 ? void 0 : policies.slice(0)) !== null && _a !== void 0 ? _a : [];\n this._orderedPolicies = undefined;\n }\n addPolicy(policy, options = {}) {\n if (options.phase && options.afterPhase) {\n throw new Error(\"Policies inside a phase cannot specify afterPhase.\");\n }\n if (options.phase && !ValidPhaseNames.has(options.phase)) {\n throw new Error(`Invalid phase name: ${options.phase}`);\n }\n if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {\n throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);\n }\n this._policies.push({\n policy,\n options\n });\n this._orderedPolicies = undefined;\n }\n removePolicy(options) {\n const removedPolicies = [];\n this._policies = this._policies.filter(policyDescriptor => {\n if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {\n removedPolicies.push(policyDescriptor.policy);\n return false;\n } else {\n return true;\n }\n });\n this._orderedPolicies = undefined;\n return removedPolicies;\n }\n sendRequest(httpClient, request) {\n const policies = this.getOrderedPolicies();\n const pipeline = policies.reduceRight((next, policy) => {\n return req => {\n return policy.sendRequest(req, next);\n };\n }, req => httpClient.sendRequest(req));\n return pipeline(request);\n }\n getOrderedPolicies() {\n if (!this._orderedPolicies) {\n this._orderedPolicies = this.orderPolicies();\n }\n return this._orderedPolicies;\n }\n clone() {\n return new HttpPipeline(this._policies);\n }\n static create() {\n return new HttpPipeline();\n }\n orderPolicies() {\n /**\n * The goal of this method is to reliably order pipeline policies\n * based on their declared requirements when they were added.\n *\n * Order is first determined by phase:\n *\n * 1. Serialize Phase\n * 2. Policies not in a phase\n * 3. Deserialize Phase\n * 4. Retry Phase\n * 5. Sign Phase\n *\n * Within each phase, policies are executed in the order\n * they were added unless they were specified to execute\n * before/after other policies or after a particular phase.\n *\n * To determine the final order, we will walk the policy list\n * in phase order multiple times until all dependencies are\n * satisfied.\n *\n * `afterPolicies` are the set of policies that must be\n * executed before a given policy. This requirement is\n * considered satisfied when each of the listed policies\n * have been scheduled.\n *\n * `beforePolicies` are the set of policies that must be\n * executed after a given policy. Since this dependency\n * can be expressed by converting it into a equivalent\n * `afterPolicies` declarations, they are normalized\n * into that form for simplicity.\n *\n * An `afterPhase` dependency is considered satisfied when all\n * policies in that phase have scheduled.\n *\n */\n const result = [];\n // Track all policies we know about.\n const policyMap = new Map();\n function createPhase(name) {\n return {\n name,\n policies: new Set(),\n hasRun: false,\n hasAfterPolicies: false\n };\n }\n // Track policies for each phase.\n const serializePhase = createPhase(\"Serialize\");\n const noPhase = createPhase(\"None\");\n const deserializePhase = createPhase(\"Deserialize\");\n const retryPhase = createPhase(\"Retry\");\n const signPhase = createPhase(\"Sign\");\n // a list of phases in order\n const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];\n // Small helper function to map phase name to each Phase\n function getPhase(phase) {\n if (phase === \"Retry\") {\n return retryPhase;\n } else if (phase === \"Serialize\") {\n return serializePhase;\n } else if (phase === \"Deserialize\") {\n return deserializePhase;\n } else if (phase === \"Sign\") {\n return signPhase;\n } else {\n return noPhase;\n }\n }\n // First walk each policy and create a node to track metadata.\n for (const descriptor of this._policies) {\n const policy = descriptor.policy;\n const options = descriptor.options;\n const policyName = policy.name;\n if (policyMap.has(policyName)) {\n throw new Error(\"Duplicate policy names not allowed in pipeline\");\n }\n const node = {\n policy,\n dependsOn: new Set(),\n dependants: new Set()\n };\n if (options.afterPhase) {\n node.afterPhase = getPhase(options.afterPhase);\n node.afterPhase.hasAfterPolicies = true;\n }\n policyMap.set(policyName, node);\n const phase = getPhase(options.phase);\n phase.policies.add(node);\n }\n // Now that each policy has a node, connect dependency references.\n for (const descriptor of this._policies) {\n const {\n policy,\n options\n } = descriptor;\n const policyName = policy.name;\n const node = policyMap.get(policyName);\n if (!node) {\n throw new Error(`Missing node for policy ${policyName}`);\n }\n if (options.afterPolicies) {\n for (const afterPolicyName of options.afterPolicies) {\n const afterNode = policyMap.get(afterPolicyName);\n if (afterNode) {\n // Linking in both directions helps later\n // when we want to notify dependants.\n node.dependsOn.add(afterNode);\n afterNode.dependants.add(node);\n }\n }\n }\n if (options.beforePolicies) {\n for (const beforePolicyName of options.beforePolicies) {\n const beforeNode = policyMap.get(beforePolicyName);\n if (beforeNode) {\n // To execute before another node, make it\n // depend on the current node.\n beforeNode.dependsOn.add(node);\n node.dependants.add(beforeNode);\n }\n }\n }\n }\n function walkPhase(phase) {\n phase.hasRun = true;\n // Sets iterate in insertion order\n for (const node of phase.policies) {\n if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {\n // If this node is waiting on a phase to complete,\n // we need to skip it for now.\n // Even if the phase is empty, we should wait for it\n // to be walked to avoid re-ordering policies.\n continue;\n }\n if (node.dependsOn.size === 0) {\n // If there's nothing else we're waiting for, we can\n // add this policy to the result list.\n result.push(node.policy);\n // Notify anything that depends on this policy that\n // the policy has been scheduled.\n for (const dependant of node.dependants) {\n dependant.dependsOn.delete(node);\n }\n policyMap.delete(node.policy.name);\n phase.policies.delete(node);\n }\n }\n }\n function walkPhases() {\n for (const phase of orderedPhases) {\n walkPhase(phase);\n // if the phase isn't complete\n if (phase.policies.size > 0 && phase !== noPhase) {\n if (!noPhase.hasRun) {\n // Try running noPhase to see if that unblocks this phase next tick.\n // This can happen if a phase that happens before noPhase\n // is waiting on a noPhase policy to complete.\n walkPhase(noPhase);\n }\n // Don't proceed to the next phase until this phase finishes.\n return;\n }\n if (phase.hasAfterPolicies) {\n // Run any policies unblocked by this phase\n walkPhase(noPhase);\n }\n }\n }\n // Iterate until we've put every node in the result list.\n let iteration = 0;\n while (policyMap.size > 0) {\n iteration++;\n const initialResultLength = result.length;\n // Keep walking each phase in order until we can order every node.\n walkPhases();\n // The result list *should* get at least one larger each time\n // after the first full pass.\n // Otherwise, we're going to loop forever.\n if (result.length <= initialResultLength && iteration > 1) {\n throw new Error(\"Cannot satisfy policy dependencies due to requirements cycle.\");\n }\n }\n return result;\n }\n}\n/**\n * Creates a totally empty pipeline.\n * Useful for testing or creating a custom one.\n */\nexport function createEmptyPipeline() {\n return HttpPipeline.create();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"core-rest-pipeline\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isObject } from \"@azure/core-util\";\nconst RedactedString = \"REDACTED\";\n// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts\nconst defaultAllowedHeaderNames = [\"x-ms-client-request-id\", \"x-ms-return-client-request-id\", \"x-ms-useragent\", \"x-ms-correlation-request-id\", \"x-ms-request-id\", \"client-request-id\", \"ms-cv\", \"return-client-request-id\", \"traceparent\", \"Access-Control-Allow-Credentials\", \"Access-Control-Allow-Headers\", \"Access-Control-Allow-Methods\", \"Access-Control-Allow-Origin\", \"Access-Control-Expose-Headers\", \"Access-Control-Max-Age\", \"Access-Control-Request-Headers\", \"Access-Control-Request-Method\", \"Origin\", \"Accept\", \"Accept-Encoding\", \"Cache-Control\", \"Connection\", \"Content-Length\", \"Content-Type\", \"Date\", \"ETag\", \"Expires\", \"If-Match\", \"If-Modified-Since\", \"If-None-Match\", \"If-Unmodified-Since\", \"Last-Modified\", \"Pragma\", \"Request-Id\", \"Retry-After\", \"Server\", \"Transfer-Encoding\", \"User-Agent\", \"WWW-Authenticate\"];\nconst defaultAllowedQueryParameters = [\"api-version\"];\n/**\n * @internal\n */\nexport class Sanitizer {\n constructor({\n additionalAllowedHeaderNames: allowedHeaderNames = [],\n additionalAllowedQueryParameters: allowedQueryParameters = []\n } = {}) {\n allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);\n allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);\n this.allowedHeaderNames = new Set(allowedHeaderNames.map(n => n.toLowerCase()));\n this.allowedQueryParameters = new Set(allowedQueryParameters.map(p => p.toLowerCase()));\n }\n sanitize(obj) {\n const seen = new Set();\n return JSON.stringify(obj, (key, value) => {\n // Ensure Errors include their interesting non-enumerable members\n if (value instanceof Error) {\n return Object.assign(Object.assign({}, value), {\n name: value.name,\n message: value.message\n });\n }\n if (key === \"headers\") {\n return this.sanitizeHeaders(value);\n } else if (key === \"url\") {\n return this.sanitizeUrl(value);\n } else if (key === \"query\") {\n return this.sanitizeQuery(value);\n } else if (key === \"body\") {\n // Don't log the request body\n return undefined;\n } else if (key === \"response\") {\n // Don't log response again\n return undefined;\n } else if (key === \"operationSpec\") {\n // When using sendOperationRequest, the request carries a massive\n // field with the autorest spec. No need to log it.\n return undefined;\n } else if (Array.isArray(value) || isObject(value)) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n return value;\n }, 2);\n }\n sanitizeHeaders(obj) {\n const sanitized = {};\n for (const key of Object.keys(obj)) {\n if (this.allowedHeaderNames.has(key.toLowerCase())) {\n sanitized[key] = obj[key];\n } else {\n sanitized[key] = RedactedString;\n }\n }\n return sanitized;\n }\n sanitizeQuery(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n const sanitized = {};\n for (const k of Object.keys(value)) {\n if (this.allowedQueryParameters.has(k.toLowerCase())) {\n sanitized[k] = value[k];\n } else {\n sanitized[k] = RedactedString;\n }\n }\n return sanitized;\n }\n sanitizeUrl(value) {\n if (typeof value !== \"string\" || value === null) {\n return value;\n }\n const url = new URL(value);\n if (!url.search) {\n return value;\n }\n for (const [key] of url.searchParams) {\n if (!this.allowedQueryParameters.has(key.toLowerCase())) {\n url.searchParams.set(key, RedactedString);\n }\n }\n return url.toString();\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { logger as coreLogger } from \"../log\";\nimport { Sanitizer } from \"../util/sanitizer\";\n/**\n * The programmatic identifier of the logPolicy.\n */\nexport const logPolicyName = \"logPolicy\";\n/**\n * A policy that logs all requests and responses.\n * @param options - Options to configure logPolicy.\n */\nexport function logPolicy(options = {}) {\n var _a;\n const logger = (_a = options.logger) !== null && _a !== void 0 ? _a : coreLogger.info;\n const sanitizer = new Sanitizer({\n additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,\n additionalAllowedQueryParameters: options.additionalAllowedQueryParameters\n });\n return {\n name: logPolicyName,\n async sendRequest(request, next) {\n if (!logger.enabled) {\n return next(request);\n }\n logger(`Request: ${sanitizer.sanitize(request)}`);\n const response = await next(request);\n logger(`Response status code: ${response.status}`);\n logger(`Headers: ${sanitizer.sanitize(response.headers)}`);\n return response;\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The programmatic identifier of the redirectPolicy.\n */\nexport const redirectPolicyName = \"redirectPolicy\";\n/**\n * Methods that are allowed to follow redirects 301 and 302\n */\nconst allowedRedirect = [\"GET\", \"HEAD\"];\n/**\n * A policy to follow Location headers from the server in order\n * to support server-side redirection.\n * In the browser, this policy is not used.\n * @param options - Options to control policy behavior.\n */\nexport function redirectPolicy(options = {}) {\n const {\n maxRetries = 20\n } = options;\n return {\n name: redirectPolicyName,\n async sendRequest(request, next) {\n const response = await next(request);\n return handleRedirect(next, response, maxRetries);\n }\n };\n}\nasync function handleRedirect(next, response, maxRetries, currentRetries = 0) {\n const {\n request,\n status,\n headers\n } = response;\n const locationHeader = headers.get(\"location\");\n if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request.method) || status === 302 && allowedRedirect.includes(request.method) || status === 303 && request.method === \"POST\" || status === 307) && currentRetries < maxRetries) {\n const url = new URL(locationHeader, request.url);\n request.url = url.toString();\n // POST request with Status code 303 should be converted into a\n // redirected GET request if the redirect url is present in the location header\n if (status === 303) {\n request.method = \"GET\";\n request.headers.delete(\"Content-Length\");\n delete request.body;\n }\n request.headers.delete(\"Authorization\");\n const res = await next(request);\n return handleRedirect(next, res, maxRetries, currentRetries + 1);\n }\n return response;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json.\n */\n/**\n * @internal\n */\nexport function getHeaderName() {\n return \"x-ms-useragent\";\n}\n/**\n * @internal\n */\nexport function setPlatformSpecificData(map) {\n var _a, _b, _c;\n const localNavigator = globalThis.navigator;\n map.set(\"OS\", ((_c = (_b = (_a = localNavigator === null || localNavigator === void 0 ? void 0 : localNavigator.userAgentData) === null || _a === void 0 ? void 0 : _a.platform) !== null && _b !== void 0 ? _b : localNavigator === null || localNavigator === void 0 ? void 0 : localNavigator.platform) !== null && _c !== void 0 ? _c : \"unknown\").replace(\" \", \"\"));\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport const SDK_VERSION = \"1.12.2\";\nexport const DEFAULT_RETRY_POLICY_COUNT = 3;\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getHeaderName, setPlatformSpecificData } from \"./userAgentPlatform\";\nimport { SDK_VERSION } from \"../constants\";\nfunction getUserAgentString(telemetryInfo) {\n const parts = [];\n for (const [key, value] of telemetryInfo) {\n const token = value ? `${key}/${value}` : key;\n parts.push(token);\n }\n return parts.join(\" \");\n}\n/**\n * @internal\n */\nexport function getUserAgentHeaderName() {\n return getHeaderName();\n}\n/**\n * @internal\n */\nexport function getUserAgentValue(prefix) {\n const runtimeInfo = new Map();\n runtimeInfo.set(\"core-rest-pipeline\", SDK_VERSION);\n setPlatformSpecificData(runtimeInfo);\n const defaultAgent = getUserAgentString(runtimeInfo);\n const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;\n return userAgentValue;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getUserAgentHeaderName, getUserAgentValue } from \"../util/userAgent\";\nconst UserAgentHeaderName = getUserAgentHeaderName();\n/**\n * The programmatic identifier of the userAgentPolicy.\n */\nexport const userAgentPolicyName = \"userAgentPolicy\";\n/**\n * A policy that sets the User-Agent header (or equivalent) to reflect\n * the library version.\n * @param options - Options to customize the user agent value.\n */\nexport function userAgentPolicy(options = {}) {\n const userAgentValue = getUserAgentValue(options.userAgentPrefix);\n return {\n name: userAgentPolicyName,\n async sendRequest(request, next) {\n if (!request.headers.has(UserAgentHeaderName)) {\n request.headers.set(UserAgentHeaderName, userAgentValue);\n }\n return next(request);\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json\n */\nexport const decompressResponsePolicyName = \"decompressResponsePolicy\";\n/**\n * decompressResponsePolicy is not supported in the browser and attempting\n * to use it will raise an error.\n */\nexport function decompressResponsePolicy() {\n throw new Error(\"decompressResponsePolicy is not supported in browser environment\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortError } from \"@azure/abort-controller\";\nconst StandardAbortMessage = \"The operation was aborted.\";\n/**\n * A wrapper for setTimeout that resolves a promise after delayInMs milliseconds.\n * @param delayInMs - The number of milliseconds to be delayed.\n * @param value - The value to be resolved with after a timeout of t milliseconds.\n * @param options - The options for delay - currently abort options\n * - abortSignal - The abortSignal associated with containing operation.\n * - abortErrorMsg - The abort error message associated with containing operation.\n * @returns Resolved promise\n */\nexport function delay(delayInMs, value, options) {\n return new Promise((resolve, reject) => {\n let timer = undefined;\n let onAborted = undefined;\n const rejectOnAbort = () => {\n return reject(new AbortError((options === null || options === void 0 ? void 0 : options.abortErrorMsg) ? options === null || options === void 0 ? void 0 : options.abortErrorMsg : StandardAbortMessage));\n };\n const removeListeners = () => {\n if ((options === null || options === void 0 ? void 0 : options.abortSignal) && onAborted) {\n options.abortSignal.removeEventListener(\"abort\", onAborted);\n }\n };\n onAborted = () => {\n if (timer) {\n clearTimeout(timer);\n }\n removeListeners();\n return rejectOnAbort();\n };\n if ((options === null || options === void 0 ? void 0 : options.abortSignal) && options.abortSignal.aborted) {\n return rejectOnAbort();\n }\n timer = setTimeout(() => {\n removeListeners();\n resolve(value);\n }, delayInMs);\n if (options === null || options === void 0 ? void 0 : options.abortSignal) {\n options.abortSignal.addEventListener(\"abort\", onAborted);\n }\n });\n}\n/**\n * @internal\n * @returns the parsed value or undefined if the parsed value is invalid.\n */\nexport function parseHeaderValueAsNumber(response, headerName) {\n const value = response.headers.get(headerName);\n if (!value) return;\n const valueAsNum = Number(value);\n if (Number.isNaN(valueAsNum)) return;\n return valueAsNum;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { parseHeaderValueAsNumber } from \"../util/helpers\";\n/**\n * The header that comes back from Azure services representing\n * the amount of time (minimum) to wait to retry (in seconds or timestamp after which we can retry).\n */\nconst RetryAfterHeader = \"Retry-After\";\n/**\n * The headers that come back from Azure services representing\n * the amount of time (minimum) to wait to retry.\n *\n * \"retry-after-ms\", \"x-ms-retry-after-ms\" : milliseconds\n * \"Retry-After\" : seconds or timestamp\n */\nconst AllRetryAfterHeaders = [\"retry-after-ms\", \"x-ms-retry-after-ms\", RetryAfterHeader];\n/**\n * A response is a throttling retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n *\n * Returns the `retryAfterInMs` value if the response is a throttling retry response.\n * If not throttling retry response, returns `undefined`.\n *\n * @internal\n */\nfunction getRetryAfterInMs(response) {\n if (!(response && [429, 503].includes(response.status))) return undefined;\n try {\n // Headers: \"retry-after-ms\", \"x-ms-retry-after-ms\", \"Retry-After\"\n for (const header of AllRetryAfterHeaders) {\n const retryAfterValue = parseHeaderValueAsNumber(response, header);\n if (retryAfterValue === 0 || retryAfterValue) {\n // \"Retry-After\" header ==> seconds\n // \"retry-after-ms\", \"x-ms-retry-after-ms\" headers ==> milli-seconds\n const multiplyingFactor = header === RetryAfterHeader ? 1000 : 1;\n return retryAfterValue * multiplyingFactor; // in milli-seconds\n }\n }\n // RetryAfterHeader (\"Retry-After\") has a special case where it might be formatted as a date instead of a number of seconds\n const retryAfterHeader = response.headers.get(RetryAfterHeader);\n if (!retryAfterHeader) return;\n const date = Date.parse(retryAfterHeader);\n const diff = date - Date.now();\n // negative diff would mean a date in the past, so retry asap with 0 milliseconds\n return Number.isFinite(diff) ? Math.max(0, diff) : undefined;\n } catch (e) {\n return undefined;\n }\n}\n/**\n * A response is a retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n */\nexport function isThrottlingRetryResponse(response) {\n return Number.isFinite(getRetryAfterInMs(response));\n}\nexport function throttlingRetryStrategy() {\n return {\n name: \"throttlingRetryStrategy\",\n retry({\n response\n }) {\n const retryAfterInMs = getRetryAfterInMs(response);\n if (!Number.isFinite(retryAfterInMs)) {\n return {\n skipStrategy: true\n };\n }\n return {\n retryAfterInMs\n };\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getRandomIntegerInclusive } from \"@azure/core-util\";\nimport { isThrottlingRetryResponse } from \"./throttlingRetryStrategy\";\n// intervals are in milliseconds\nconst DEFAULT_CLIENT_RETRY_INTERVAL = 1000;\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n/**\n * A retry strategy that retries with an exponentially increasing delay in these two cases:\n * - When there are errors in the underlying transport layer (e.g. DNS lookup failures).\n * - Or otherwise if the outgoing request fails (408, greater or equal than 500, except for 501 and 505).\n */\nexport function exponentialRetryStrategy(options = {}) {\n var _a, _b;\n const retryInterval = (_a = options.retryDelayInMs) !== null && _a !== void 0 ? _a : DEFAULT_CLIENT_RETRY_INTERVAL;\n const maxRetryInterval = (_b = options.maxRetryDelayInMs) !== null && _b !== void 0 ? _b : DEFAULT_CLIENT_MAX_RETRY_INTERVAL;\n let retryAfterInMs = retryInterval;\n return {\n name: \"exponentialRetryStrategy\",\n retry({\n retryCount,\n response,\n responseError\n }) {\n const matchedSystemError = isSystemError(responseError);\n const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;\n const isExponential = isExponentialRetryResponse(response);\n const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;\n const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential);\n if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {\n return {\n skipStrategy: true\n };\n }\n if (responseError && !matchedSystemError && !isExponential) {\n return {\n errorToThrow: responseError\n };\n }\n // Exponentially increase the delay each time\n const exponentialDelay = retryAfterInMs * Math.pow(2, retryCount);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(maxRetryInterval, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n retryAfterInMs = clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n return {\n retryAfterInMs\n };\n }\n };\n}\n/**\n * A response is a retry response if it has status codes:\n * - 408, or\n * - Greater or equal than 500, except for 501 and 505.\n */\nexport function isExponentialRetryResponse(response) {\n return Boolean(response && response.status !== undefined && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);\n}\n/**\n * Determines whether an error from a pipeline response was triggered in the network layer.\n */\nexport function isSystemError(err) {\n if (!err) {\n return false;\n }\n return err.code === \"ETIMEDOUT\" || err.code === \"ESOCKETTIMEDOUT\" || err.code === \"ECONNREFUSED\" || err.code === \"ECONNRESET\" || err.code === \"ENOENT\" || err.code === \"ENOTFOUND\";\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { delay } from \"../util/helpers\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants\";\nconst retryPolicyLogger = createClientLogger(\"core-rest-pipeline retryPolicy\");\n/**\n * The programmatic identifier of the retryPolicy.\n */\nconst retryPolicyName = \"retryPolicy\";\n/**\n * retryPolicy is a generic policy to enable retrying requests when certain conditions are met\n */\nexport function retryPolicy(strategies, options = {\n maxRetries: DEFAULT_RETRY_POLICY_COUNT\n}) {\n const logger = options.logger || retryPolicyLogger;\n return {\n name: retryPolicyName,\n async sendRequest(request, next) {\n var _a, _b;\n let response;\n let responseError;\n let retryCount = -1;\n // eslint-disable-next-line no-constant-condition\n retryRequest: while (true) {\n retryCount += 1;\n response = undefined;\n responseError = undefined;\n try {\n logger.info(`Retry ${retryCount}: Attempting to send request`, request.requestId);\n response = await next(request);\n logger.info(`Retry ${retryCount}: Received a response from request`, request.requestId);\n } catch (e) {\n logger.error(`Retry ${retryCount}: Received an error from request`, request.requestId);\n // RestErrors are valid targets for the retry strategies.\n // If none of the retry strategies can work with them, they will be thrown later in this policy.\n // If the received error is not a RestError, it is immediately thrown.\n responseError = e;\n if (!e || responseError.name !== \"RestError\") {\n throw e;\n }\n response = responseError.response;\n }\n if ((_a = request.abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {\n logger.error(`Retry ${retryCount}: Request aborted.`);\n const abortError = new AbortError();\n throw abortError;\n }\n if (retryCount >= ((_b = options.maxRetries) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_POLICY_COUNT)) {\n logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);\n if (responseError) {\n throw responseError;\n } else if (response) {\n return response;\n } else {\n throw new Error(\"Maximum retries reached with no response or error to throw\");\n }\n }\n logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);\n strategiesLoop: for (const strategy of strategies) {\n const strategyLogger = strategy.logger || retryPolicyLogger;\n strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);\n const modifiers = strategy.retry({\n retryCount,\n response,\n responseError\n });\n if (modifiers.skipStrategy) {\n strategyLogger.info(`Retry ${retryCount}: Skipped.`);\n continue strategiesLoop;\n }\n const {\n errorToThrow,\n retryAfterInMs,\n redirectTo\n } = modifiers;\n if (errorToThrow) {\n strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);\n throw errorToThrow;\n }\n if (retryAfterInMs || retryAfterInMs === 0) {\n strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);\n await delay(retryAfterInMs, undefined, {\n abortSignal: request.abortSignal\n });\n continue retryRequest;\n }\n if (redirectTo) {\n strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);\n request.url = redirectTo;\n continue retryRequest;\n }\n }\n if (responseError) {\n logger.info(`None of the retry strategies could work with the received error. Throwing it.`);\n throw responseError;\n }\n if (response) {\n logger.info(`None of the retry strategies could work with the received response. Returning it.`);\n return response;\n }\n // If all the retries skip and there's no response,\n // we're still in the retry loop, so a new request will be sent\n // until `maxRetries` is reached.\n }\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { exponentialRetryStrategy } from \"../retryStrategies/exponentialRetryStrategy\";\nimport { throttlingRetryStrategy } from \"../retryStrategies/throttlingRetryStrategy\";\nimport { retryPolicy } from \"./retryPolicy\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants\";\n/**\n * Name of the {@link defaultRetryPolicy}\n */\nexport const defaultRetryPolicyName = \"defaultRetryPolicy\";\n/**\n * A policy that retries according to three strategies:\n * - When the server sends a 429 response with a Retry-After header.\n * - When there are errors in the underlying transport layer (e.g. DNS lookup failures).\n * - Or otherwise if the outgoing request fails, it will retry with an exponentially increasing delay.\n */\nexport function defaultRetryPolicy(options = {}) {\n var _a;\n return {\n name: defaultRetryPolicyName,\n sendRequest: retryPolicy([throttlingRetryStrategy(), exponentialRetryStrategy(options)], {\n maxRetries: (_a = options.maxRetries) !== null && _a !== void 0 ? _a : DEFAULT_RETRY_POLICY_COUNT\n }).sendRequest\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The programmatic identifier of the formDataPolicy.\n */\nexport const formDataPolicyName = \"formDataPolicy\";\n/**\n * A policy that encodes FormData on the request into the body.\n */\nexport function formDataPolicy() {\n return {\n name: formDataPolicyName,\n async sendRequest(request, next) {\n if (request.formData) {\n const formData = request.formData;\n const requestForm = new FormData();\n for (const formKey of Object.keys(formData)) {\n const formValue = formData[formKey];\n if (Array.isArray(formValue)) {\n for (const subValue of formValue) {\n requestForm.append(formKey, subValue);\n }\n } else {\n requestForm.append(formKey, formValue);\n }\n }\n request.body = requestForm;\n request.formData = undefined;\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && contentType.indexOf(\"application/x-www-form-urlencoded\") !== -1) {\n request.body = new URLSearchParams(requestForm).toString();\n } else if (contentType && contentType.indexOf(\"multipart/form-data\") !== -1) {\n // browser will automatically apply a suitable content-type header\n request.headers.delete(\"Content-Type\");\n }\n }\n return next(request);\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json\n */\nexport const proxyPolicyName = \"proxyPolicy\";\nconst errorMessage = \"proxyPolicy is not supported in browser environment\";\nexport function getDefaultProxySettings() {\n throw new Error(errorMessage);\n}\n/**\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n */\nexport function proxyPolicy() {\n throw new Error(errorMessage);\n}\n/**\n * A function to reset the cached agents.\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n * @internal\n */\nexport function resetCachedProxyAgents() {\n throw new Error(errorMessage);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The programmatic identifier of the setClientRequestIdPolicy.\n */\nexport const setClientRequestIdPolicyName = \"setClientRequestIdPolicy\";\n/**\n * Each PipelineRequest gets a unique id upon creation.\n * This policy passes that unique id along via an HTTP header to enable better\n * telemetry and tracing.\n * @param requestIdHeaderName - The name of the header to pass the request ID to.\n */\nexport function setClientRequestIdPolicy(requestIdHeaderName = \"x-ms-client-request-id\") {\n return {\n name: setClientRequestIdPolicyName,\n async sendRequest(request, next) {\n if (!request.headers.has(requestIdHeaderName)) {\n request.headers.set(requestIdHeaderName, request.requestId);\n }\n return next(request);\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Name of the TLS Policy\n */\nexport const tlsPolicyName = \"tlsPolicy\";\n/**\n * Gets a pipeline policy that adds the client certificate to the HttpClient agent for authentication.\n */\nexport function tlsPolicy(tlsSettings) {\n return {\n name: tlsPolicyName,\n sendRequest: async (req, next) => {\n // Users may define a request tlsSettings, honor those over the client level one\n if (!req.tlsSettings) {\n req.tlsSettings = tlsSettings;\n }\n return next(req);\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/** @internal */\nexport const knownContextKeys = {\n span: Symbol.for(\"@azure/core-tracing span\"),\n namespace: Symbol.for(\"@azure/core-tracing namespace\")\n};\n/**\n * Creates a new {@link TracingContext} with the given options.\n * @param options - A set of known keys that may be set on the context.\n * @returns A new {@link TracingContext} with the given options.\n *\n * @internal\n */\nexport function createTracingContext(options = {}) {\n let context = new TracingContextImpl(options.parentContext);\n if (options.span) {\n context = context.setValue(knownContextKeys.span, options.span);\n }\n if (options.namespace) {\n context = context.setValue(knownContextKeys.namespace, options.namespace);\n }\n return context;\n}\n/** @internal */\nexport class TracingContextImpl {\n constructor(initialContext) {\n this._contextMap = initialContext instanceof TracingContextImpl ? new Map(initialContext._contextMap) : new Map();\n }\n setValue(key, value) {\n const newContext = new TracingContextImpl(this);\n newContext._contextMap.set(key, value);\n return newContext;\n }\n getValue(key) {\n return this._contextMap.get(key);\n }\n deleteValue(key) {\n const newContext = new TracingContextImpl(this);\n newContext._contextMap.delete(key);\n return newContext;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTracingContext } from \"./tracingContext\";\nexport function createDefaultTracingSpan() {\n return {\n end: () => {\n // noop\n },\n isRecording: () => false,\n recordException: () => {\n // noop\n },\n setAttribute: () => {\n // noop\n },\n setStatus: () => {\n // noop\n }\n };\n}\nexport function createDefaultInstrumenter() {\n return {\n createRequestHeaders: () => {\n return {};\n },\n parseTraceparentHeader: () => {\n return undefined;\n },\n startSpan: (_name, spanOptions) => {\n return {\n span: createDefaultTracingSpan(),\n tracingContext: createTracingContext({\n parentContext: spanOptions.tracingContext\n })\n };\n },\n withContext(_context, callback, ...callbackArgs) {\n return callback(...callbackArgs);\n }\n };\n}\n/** @internal */\nlet instrumenterImplementation;\n/**\n * Extends the Azure SDK with support for a given instrumenter implementation.\n *\n * @param instrumenter - The instrumenter implementation to use.\n */\nexport function useInstrumenter(instrumenter) {\n instrumenterImplementation = instrumenter;\n}\n/**\n * Gets the currently set instrumenter, a No-Op instrumenter by default.\n *\n * @returns The currently set instrumenter\n */\nexport function getInstrumenter() {\n if (!instrumenterImplementation) {\n instrumenterImplementation = createDefaultInstrumenter();\n }\n return instrumenterImplementation;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getInstrumenter } from \"./instrumenter\";\nimport { knownContextKeys } from \"./tracingContext\";\n/**\n * Creates a new tracing client.\n *\n * @param options - Options used to configure the tracing client.\n * @returns - An instance of {@link TracingClient}.\n */\nexport function createTracingClient(options) {\n const {\n namespace,\n packageName,\n packageVersion\n } = options;\n function startSpan(name, operationOptions, spanOptions) {\n var _a;\n const startSpanResult = getInstrumenter().startSpan(name, Object.assign(Object.assign({}, spanOptions), {\n packageName: packageName,\n packageVersion: packageVersion,\n tracingContext: (_a = operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions) === null || _a === void 0 ? void 0 : _a.tracingContext\n }));\n let tracingContext = startSpanResult.tracingContext;\n const span = startSpanResult.span;\n if (!tracingContext.getValue(knownContextKeys.namespace)) {\n tracingContext = tracingContext.setValue(knownContextKeys.namespace, namespace);\n }\n span.setAttribute(\"az.namespace\", tracingContext.getValue(knownContextKeys.namespace));\n const updatedOptions = Object.assign({}, operationOptions, {\n tracingOptions: Object.assign(Object.assign({}, operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions), {\n tracingContext\n })\n });\n return {\n span,\n updatedOptions\n };\n }\n async function withSpan(name, operationOptions, callback, spanOptions) {\n const {\n span,\n updatedOptions\n } = startSpan(name, operationOptions, spanOptions);\n try {\n const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));\n span.setStatus({\n status: \"success\"\n });\n return result;\n } catch (err) {\n span.setStatus({\n status: \"error\",\n error: err\n });\n throw err;\n } finally {\n span.end();\n }\n }\n function withContext(context, callback, ...callbackArgs) {\n return getInstrumenter().withContext(context, callback, ...callbackArgs);\n }\n /**\n * Parses a traceparent header value into a span identifier.\n *\n * @param traceparentHeader - The traceparent header to parse.\n * @returns An implementation-specific identifier for the span.\n */\n function parseTraceparentHeader(traceparentHeader) {\n return getInstrumenter().parseTraceparentHeader(traceparentHeader);\n }\n /**\n * Creates a set of request headers to propagate tracing information to a backend.\n *\n * @param tracingContext - The context containing the span to serialize.\n * @returns The set of headers to add to a request.\n */\n function createRequestHeaders(tracingContext) {\n return getInstrumenter().createRequestHeaders(tracingContext);\n }\n return {\n startSpan,\n withSpan,\n withContext,\n parseTraceparentHeader,\n createRequestHeaders\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport { useInstrumenter } from \"./instrumenter\";\nexport { createTracingClient } from \"./tracingClient\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport const custom = {};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isError } from \"@azure/core-util\";\nimport { custom } from \"./util/inspect\";\nimport { Sanitizer } from \"./util/sanitizer\";\nconst errorSanitizer = new Sanitizer();\n/**\n * A custom error type for failed pipeline requests.\n */\nlet RestError = /*#__PURE__*/(() => {\n class RestError extends Error {\n constructor(message, options = {}) {\n super(message);\n this.name = \"RestError\";\n this.code = options.code;\n this.statusCode = options.statusCode;\n this.request = options.request;\n this.response = options.response;\n Object.setPrototypeOf(this, RestError.prototype);\n }\n /**\n * Logging method for util.inspect in Node\n */\n [custom]() {\n return `RestError: ${this.message} \\n ${errorSanitizer.sanitize(this)}`;\n }\n }\n /**\n * Something went wrong when making the request.\n * This means the actual request failed for some reason,\n * such as a DNS issue or the connection being lost.\n */\n\n /**\n * This means that parsing the response from the server failed.\n * It may have been malformed.\n */\n RestError.REQUEST_SEND_ERROR = \"REQUEST_SEND_ERROR\";\n RestError.PARSE_ERROR = \"PARSE_ERROR\";\n return RestError;\n})();\nexport { RestError };\n/**\n * Typeguard for RestError\n * @param e - Something caught by a catch clause.\n */\nexport function isRestError(e) {\n if (e instanceof RestError) {\n return true;\n }\n return isError(e) && e.name === \"RestError\";\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"../constants\";\nimport { getUserAgentValue } from \"../util/userAgent\";\nimport { logger } from \"../log\";\nimport { getErrorMessage, isError } from \"@azure/core-util\";\nimport { isRestError } from \"../restError\";\n/**\n * The programmatic identifier of the tracingPolicy.\n */\nexport const tracingPolicyName = \"tracingPolicy\";\n/**\n * A simple policy to create OpenTelemetry Spans for each request made by the pipeline\n * that has SpanOptions with a parent.\n * Requests made without a parent Span will not be recorded.\n * @param options - Options to configure the telemetry logged by the tracing policy.\n */\nexport function tracingPolicy(options = {}) {\n const userAgent = getUserAgentValue(options.userAgentPrefix);\n const tracingClient = tryCreateTracingClient();\n return {\n name: tracingPolicyName,\n async sendRequest(request, next) {\n var _a, _b;\n if (!tracingClient || !((_a = request.tracingOptions) === null || _a === void 0 ? void 0 : _a.tracingContext)) {\n return next(request);\n }\n const {\n span,\n tracingContext\n } = (_b = tryCreateSpan(tracingClient, request, userAgent)) !== null && _b !== void 0 ? _b : {};\n if (!span || !tracingContext) {\n return next(request);\n }\n try {\n const response = await tracingClient.withContext(tracingContext, next, request);\n tryProcessResponse(span, response);\n return response;\n } catch (err) {\n tryProcessError(span, err);\n throw err;\n }\n }\n };\n}\nfunction tryCreateTracingClient() {\n try {\n return createTracingClient({\n namespace: \"\",\n packageName: \"@azure/core-rest-pipeline\",\n packageVersion: SDK_VERSION\n });\n } catch (e) {\n logger.warning(`Error when creating the TracingClient: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\nfunction tryCreateSpan(tracingClient, request, userAgent) {\n try {\n // As per spec, we do not need to differentiate between HTTP and HTTPS in span name.\n const {\n span,\n updatedOptions\n } = tracingClient.startSpan(`HTTP ${request.method}`, {\n tracingOptions: request.tracingOptions\n }, {\n spanKind: \"client\",\n spanAttributes: {\n \"http.method\": request.method,\n \"http.url\": request.url,\n requestId: request.requestId\n }\n });\n // If the span is not recording, don't do any more work.\n if (!span.isRecording()) {\n span.end();\n return undefined;\n }\n if (userAgent) {\n span.setAttribute(\"http.user_agent\", userAgent);\n }\n // set headers\n const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);\n for (const [key, value] of Object.entries(headers)) {\n request.headers.set(key, value);\n }\n return {\n span,\n tracingContext: updatedOptions.tracingOptions.tracingContext\n };\n } catch (e) {\n logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\nfunction tryProcessError(span, error) {\n try {\n span.setStatus({\n status: \"error\",\n error: isError(error) ? error : undefined\n });\n if (isRestError(error) && error.statusCode) {\n span.setAttribute(\"http.status_code\", error.statusCode);\n }\n span.end();\n } catch (e) {\n logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e)}`);\n }\n}\nfunction tryProcessResponse(span, response) {\n try {\n span.setAttribute(\"http.status_code\", response.status);\n const serviceRequestId = response.headers.get(\"x-ms-request-id\");\n if (serviceRequestId) {\n span.setAttribute(\"serviceRequestId\", serviceRequestId);\n }\n span.setStatus({\n status: \"success\"\n });\n span.end();\n } catch (e) {\n logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e)}`);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { logPolicy } from \"./policies/logPolicy\";\nimport { createEmptyPipeline } from \"./pipeline\";\nimport { redirectPolicy } from \"./policies/redirectPolicy\";\nimport { userAgentPolicy } from \"./policies/userAgentPolicy\";\nimport { decompressResponsePolicy } from \"./policies/decompressResponsePolicy\";\nimport { defaultRetryPolicy } from \"./policies/defaultRetryPolicy\";\nimport { formDataPolicy } from \"./policies/formDataPolicy\";\nimport { isNode } from \"@azure/core-util\";\nimport { proxyPolicy } from \"./policies/proxyPolicy\";\nimport { setClientRequestIdPolicy } from \"./policies/setClientRequestIdPolicy\";\nimport { tlsPolicy } from \"./policies/tlsPolicy\";\nimport { tracingPolicy } from \"./policies/tracingPolicy\";\n/**\n * Create a new pipeline with a default set of customizable policies.\n * @param options - Options to configure a custom pipeline.\n */\nexport function createPipelineFromOptions(options) {\n var _a;\n const pipeline = createEmptyPipeline();\n if (isNode) {\n if (options.tlsOptions) {\n pipeline.addPolicy(tlsPolicy(options.tlsOptions));\n }\n pipeline.addPolicy(proxyPolicy(options.proxyOptions));\n pipeline.addPolicy(decompressResponsePolicy());\n }\n pipeline.addPolicy(formDataPolicy());\n pipeline.addPolicy(userAgentPolicy(options.userAgentOptions));\n pipeline.addPolicy(setClientRequestIdPolicy((_a = options.telemetryOptions) === null || _a === void 0 ? void 0 : _a.clientRequestIdHeaderName));\n pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), {\n phase: \"Retry\"\n });\n pipeline.addPolicy(tracingPolicy(options.userAgentOptions), {\n afterPhase: \"Retry\"\n });\n if (isNode) {\n // Both XHR and Fetch expect to handle redirects automatically,\n // so only include this policy when we're in Node.\n pipeline.addPolicy(redirectPolicy(options.redirectOptions), {\n afterPhase: \"Retry\"\n });\n }\n pipeline.addPolicy(logPolicy(options.loggingOptions), {\n afterPhase: \"Sign\"\n });\n return pipeline;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nfunction normalizeName(name) {\n return name.toLowerCase();\n}\nfunction* headerIterator(map) {\n for (const entry of map.values()) {\n yield [entry.name, entry.value];\n }\n}\nclass HttpHeadersImpl {\n constructor(rawHeaders) {\n this._headersMap = new Map();\n if (rawHeaders) {\n for (const headerName of Object.keys(rawHeaders)) {\n this.set(headerName, rawHeaders[headerName]);\n }\n }\n }\n /**\n * Set a header in this collection with the provided name and value. The name is\n * case-insensitive.\n * @param name - The name of the header to set. This value is case-insensitive.\n * @param value - The value of the header to set.\n */\n set(name, value) {\n this._headersMap.set(normalizeName(name), {\n name,\n value: String(value)\n });\n }\n /**\n * Get the header value for the provided header name, or undefined if no header exists in this\n * collection with the provided name.\n * @param name - The name of the header. This value is case-insensitive.\n */\n get(name) {\n var _a;\n return (_a = this._headersMap.get(normalizeName(name))) === null || _a === void 0 ? void 0 : _a.value;\n }\n /**\n * Get whether or not this header collection contains a header entry for the provided header name.\n * @param name - The name of the header to set. This value is case-insensitive.\n */\n has(name) {\n return this._headersMap.has(normalizeName(name));\n }\n /**\n * Remove the header with the provided headerName.\n * @param name - The name of the header to remove.\n */\n delete(name) {\n this._headersMap.delete(normalizeName(name));\n }\n /**\n * Get the JSON object representation of this HTTP header collection.\n */\n toJSON(options = {}) {\n const result = {};\n if (options.preserveCase) {\n for (const entry of this._headersMap.values()) {\n result[entry.name] = entry.value;\n }\n } else {\n for (const [normalizedName, entry] of this._headersMap) {\n result[normalizedName] = entry.value;\n }\n }\n return result;\n }\n /**\n * Get the string representation of this HTTP header collection.\n */\n toString() {\n return JSON.stringify(this.toJSON({\n preserveCase: true\n }));\n }\n /**\n * Iterate over tuples of header [name, value] pairs.\n */\n [Symbol.iterator]() {\n return headerIterator(this._headersMap);\n }\n}\n/**\n * Creates an object that satisfies the `HttpHeaders` interface.\n * @param rawHeaders - A simple object representing initial headers\n */\nexport function createHttpHeaders(rawHeaders) {\n return new HttpHeadersImpl(rawHeaders);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortError } from \"@azure/abort-controller\";\nimport { RestError } from \"./restError\";\nimport { createHttpHeaders } from \"./httpHeaders\";\n/**\n * Checks if the body is a NodeReadable stream which is not supported in Browsers\n */\nfunction isNodeReadableStream(body) {\n return body && typeof body.pipe === \"function\";\n}\n/**\n * Checks if the body is a ReadableStream supported by browsers\n */\nfunction isReadableStream(body) {\n return Boolean(body && typeof body.getReader === \"function\" && typeof body.tee === \"function\");\n}\n/**\n * Checks if the body is a Blob or Blob-like\n */\nfunction isBlob(body) {\n // File objects count as a type of Blob, so we want to use instanceof explicitly\n return (typeof Blob === \"function\" || typeof Blob === \"object\") && body instanceof Blob;\n}\n/**\n * A HttpClient implementation that uses window.fetch to send HTTP requests.\n * @internal\n */\nclass FetchHttpClient {\n /**\n * Makes a request over an underlying transport layer and returns the response.\n * @param request - The request to be made.\n */\n async sendRequest(request) {\n const url = new URL(request.url);\n const isInsecure = url.protocol !== \"https:\";\n if (isInsecure && !request.allowInsecureConnection) {\n throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);\n }\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n try {\n return await makeRequest(request);\n } catch (e) {\n throw getError(e, request);\n }\n }\n}\n/**\n * Sends a request\n */\nasync function makeRequest(request) {\n const {\n abortController,\n abortControllerCleanup\n } = setupAbortSignal(request);\n try {\n const headers = buildFetchHeaders(request.headers);\n const {\n streaming,\n body: requestBody\n } = buildRequestBody(request);\n const requestInit = Object.assign(Object.assign({\n body: requestBody,\n method: request.method,\n headers: headers,\n signal: abortController.signal\n }, \"credentials\" in Request.prototype ? {\n credentials: request.withCredentials ? \"include\" : \"same-origin\"\n } : {}), \"cache\" in Request.prototype ? {\n cache: \"no-store\"\n } : {});\n // According to https://fetch.spec.whatwg.org/#fetch-method,\n // init.duplex must be set when body is a ReadableStream object.\n // currently \"half\" is the only valid value.\n if (streaming) {\n requestInit.duplex = \"half\";\n }\n /**\n * Developers of the future:\n * Do not set redirect: \"manual\" as part\n * of request options.\n * It will not work as you expect.\n */\n const response = await fetch(request.url, requestInit);\n // If we're uploading a blob, we need to fire the progress event manually\n if (isBlob(request.body) && request.onUploadProgress) {\n request.onUploadProgress({\n loadedBytes: request.body.size\n });\n }\n return buildPipelineResponse(response, request, abortControllerCleanup);\n } catch (e) {\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n throw e;\n }\n}\n/**\n * Creates a pipeline response from a Fetch response;\n */\nasync function buildPipelineResponse(httpResponse, request, abortControllerCleanup) {\n var _a, _b;\n const headers = buildPipelineHeaders(httpResponse);\n const response = {\n request,\n headers,\n status: httpResponse.status\n };\n const bodyStream = isReadableStream(httpResponse.body) ? buildBodyStream(httpResponse.body, {\n onProgress: request.onDownloadProgress,\n onEnd: abortControllerCleanup\n }) : httpResponse.body;\n if (\n // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code\n ((_a = request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(Number.POSITIVE_INFINITY)) || ((_b = request.streamResponseStatusCodes) === null || _b === void 0 ? void 0 : _b.has(response.status))) {\n if (request.enableBrowserStreams) {\n response.browserStreamBody = bodyStream !== null && bodyStream !== void 0 ? bodyStream : undefined;\n } else {\n const responseStream = new Response(bodyStream);\n response.blobBody = responseStream.blob();\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n }\n } else {\n const responseStream = new Response(bodyStream);\n response.bodyAsText = await responseStream.text();\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n }\n return response;\n}\nfunction setupAbortSignal(request) {\n const abortController = new AbortController();\n // Cleanup function\n let abortControllerCleanup;\n /**\n * Attach an abort listener to the request\n */\n let abortListener;\n if (request.abortSignal) {\n if (request.abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted.\");\n }\n abortListener = event => {\n if (event.type === \"abort\") {\n abortController.abort();\n }\n };\n request.abortSignal.addEventListener(\"abort\", abortListener);\n abortControllerCleanup = () => {\n var _a;\n if (abortListener) {\n (_a = request.abortSignal) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"abort\", abortListener);\n }\n };\n }\n // If a timeout was passed, call the abort signal once the time elapses\n if (request.timeout > 0) {\n setTimeout(() => {\n abortController.abort();\n }, request.timeout);\n }\n return {\n abortController,\n abortControllerCleanup\n };\n}\n/**\n * Gets the specific error\n */\nfunction getError(e, request) {\n var _a;\n if (e && (e === null || e === void 0 ? void 0 : e.name) === \"AbortError\") {\n return e;\n } else {\n return new RestError(`Error sending request: ${e.message}`, {\n code: (_a = e === null || e === void 0 ? void 0 : e.code) !== null && _a !== void 0 ? _a : RestError.REQUEST_SEND_ERROR,\n request\n });\n }\n}\n/**\n * Converts PipelineRequest headers to Fetch headers\n */\nfunction buildFetchHeaders(pipelineHeaders) {\n const headers = new Headers();\n for (const [name, value] of pipelineHeaders) {\n headers.append(name, value);\n }\n return headers;\n}\nfunction buildPipelineHeaders(httpResponse) {\n const responseHeaders = createHttpHeaders();\n for (const [name, value] of httpResponse.headers) {\n responseHeaders.set(name, value);\n }\n return responseHeaders;\n}\nfunction buildRequestBody(request) {\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isNodeReadableStream(body)) {\n throw new Error(\"Node streams are not supported in browser environment.\");\n }\n return isReadableStream(body) ? {\n streaming: true,\n body: buildBodyStream(body, {\n onProgress: request.onUploadProgress\n })\n } : {\n streaming: false,\n body\n };\n}\n/**\n * Reads the request/response original stream and stream it through a new\n * ReadableStream, this is done to be able to report progress in a way that\n * all modern browsers support. TransformStreams would be an alternative,\n * however they are not yet supported by all browsers i.e Firefox\n */\nfunction buildBodyStream(readableStream, options = {}) {\n let loadedBytes = 0;\n const {\n onProgress,\n onEnd\n } = options;\n // If the current browser supports pipeThrough we use a TransformStream\n // to report progress\n if (isTransformStreamSupported(readableStream)) {\n return readableStream.pipeThrough(new TransformStream({\n transform(chunk, controller) {\n if (chunk === null) {\n controller.terminate();\n return;\n }\n controller.enqueue(chunk);\n loadedBytes += chunk.length;\n if (onProgress) {\n onProgress({\n loadedBytes\n });\n }\n },\n flush() {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n }\n }));\n } else {\n // If we can't use transform streams, wrap the original stream in a new readable stream\n // and use pull to enqueue each chunk and report progress.\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n var _a;\n const {\n done,\n value\n } = await reader.read();\n // When no more data needs to be consumed, break the reading\n if (done || !value) {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n // Close the stream\n controller.close();\n reader.releaseLock();\n return;\n }\n loadedBytes += (_a = value === null || value === void 0 ? void 0 : value.length) !== null && _a !== void 0 ? _a : 0;\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n if (onProgress) {\n onProgress({\n loadedBytes\n });\n }\n },\n cancel(reason) {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n return reader.cancel(reason);\n }\n });\n }\n}\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createFetchHttpClient() {\n return new FetchHttpClient();\n}\nfunction isTransformStreamSupported(readableStream) {\n return readableStream.pipeThrough !== undefined && self.TransformStream !== undefined;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createFetchHttpClient } from \"./fetchHttpClient\";\n/**\n * Create the correct HttpClient for the current environment.\n */\nexport function createDefaultHttpClient() {\n return createFetchHttpClient();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createHttpHeaders } from \"./httpHeaders\";\nimport { randomUUID } from \"@azure/core-util\";\nclass PipelineRequestImpl {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n this.url = options.url;\n this.body = options.body;\n this.headers = (_a = options.headers) !== null && _a !== void 0 ? _a : createHttpHeaders();\n this.method = (_b = options.method) !== null && _b !== void 0 ? _b : \"GET\";\n this.timeout = (_c = options.timeout) !== null && _c !== void 0 ? _c : 0;\n this.formData = options.formData;\n this.disableKeepAlive = (_d = options.disableKeepAlive) !== null && _d !== void 0 ? _d : false;\n this.proxySettings = options.proxySettings;\n this.streamResponseStatusCodes = options.streamResponseStatusCodes;\n this.withCredentials = (_e = options.withCredentials) !== null && _e !== void 0 ? _e : false;\n this.abortSignal = options.abortSignal;\n this.tracingOptions = options.tracingOptions;\n this.onUploadProgress = options.onUploadProgress;\n this.onDownloadProgress = options.onDownloadProgress;\n this.requestId = options.requestId || randomUUID();\n this.allowInsecureConnection = (_f = options.allowInsecureConnection) !== null && _f !== void 0 ? _f : false;\n this.enableBrowserStreams = (_g = options.enableBrowserStreams) !== null && _g !== void 0 ? _g : false;\n }\n}\n/**\n * Creates a new pipeline request with the given options.\n * This method is to allow for the easy setting of default values and not required.\n * @param options - The options to create the request with.\n */\nexport function createPipelineRequest(options) {\n return new PipelineRequestImpl(options);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { delay } from \"./helpers\";\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS = {\n forcedRefreshWindowInMs: 1000,\n retryIntervalInMs: 3000,\n refreshWindowInMs: 1000 * 60 * 2 // Start refreshing 2m before expiry\n};\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken() {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n } catch (_a) {\n return null;\n }\n } else {\n const finalToken = await getAccessToken();\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n return finalToken;\n }\n }\n let token = await tryGetAccessToken();\n while (token === null) {\n await delay(retryIntervalInMs);\n token = await tryGetAccessToken();\n }\n return token;\n}\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler(credential, tokenCyclerOptions) {\n let refreshWorker = null;\n let token = null;\n let tenantId;\n const options = Object.assign(Object.assign({}, DEFAULT_CYCLER_OPTIONS), tokenCyclerOptions);\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing() {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh() {\n var _a;\n return !cycler.isRefreshing && ((_a = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a !== void 0 ? _a : 0) - options.refreshWindowInMs < Date.now();\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh() {\n return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();\n }\n };\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(scopes, getTokenOptions) {\n var _a;\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(tryGetAccessToken, options.retryIntervalInMs,\n // If we don't have a token, then we should timeout immediately\n (_a = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a !== void 0 ? _a : Date.now()).then(_token => {\n refreshWorker = null;\n token = _token;\n tenantId = getTokenOptions.tenantId;\n return token;\n }).catch(reason => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n tenantId = undefined;\n throw reason;\n });\n }\n return refreshWorker;\n }\n return async (scopes, tokenOptions) => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n // If the tenantId passed in token options is different to the one we have\n // Or if we are in claim challenge and the token was rejected and a new access token need to be issued, we need to\n // refresh the token with the new tenantId or token.\n const mustRefresh = tenantId !== tokenOptions.tenantId || Boolean(tokenOptions.claims) || cycler.mustRefresh;\n if (mustRefresh) return refresh(scopes, tokenOptions);\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n return token;\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTokenCycler } from \"../util/tokenCycler\";\nimport { logger as coreLogger } from \"../log\";\n/**\n * The programmatic identifier of the bearerTokenAuthenticationPolicy.\n */\nexport const bearerTokenAuthenticationPolicyName = \"bearerTokenAuthenticationPolicy\";\n/**\n * Default authorize request handler\n */\nasync function defaultAuthorizeRequest(options) {\n const {\n scopes,\n getAccessToken,\n request\n } = options;\n const getTokenOptions = {\n abortSignal: request.abortSignal,\n tracingOptions: request.tracingOptions\n };\n const accessToken = await getAccessToken(scopes, getTokenOptions);\n if (accessToken) {\n options.request.headers.set(\"Authorization\", `Bearer ${accessToken.token}`);\n }\n}\n/**\n * We will retrieve the challenge only if the response status code was 401,\n * and if the response contained the header \"WWW-Authenticate\" with a non-empty value.\n */\nfunction getChallenge(response) {\n const challenge = response.headers.get(\"WWW-Authenticate\");\n if (response.status === 401 && challenge) {\n return challenge;\n }\n return;\n}\n/**\n * A policy that can request a token from a TokenCredential implementation and\n * then apply it to the Authorization header of a request as a Bearer token.\n */\nexport function bearerTokenAuthenticationPolicy(options) {\n var _a;\n const {\n credential,\n scopes,\n challengeCallbacks\n } = options;\n const logger = options.logger || coreLogger;\n const callbacks = Object.assign({\n authorizeRequest: (_a = challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequest) !== null && _a !== void 0 ? _a : defaultAuthorizeRequest,\n authorizeRequestOnChallenge: challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequestOnChallenge\n }, challengeCallbacks);\n // This function encapsulates the entire process of reliably retrieving the token\n // The options are left out of the public API until there's demand to configure this.\n // Remember to extend `BearerTokenAuthenticationPolicyOptions` with `TokenCyclerOptions`\n // in order to pass through the `options` object.\n const getAccessToken = credential ? createTokenCycler(credential /* , options */) : () => Promise.resolve(null);\n return {\n name: bearerTokenAuthenticationPolicyName,\n /**\n * If there's no challenge parameter:\n * - It will try to retrieve the token using the cache, or the credential's getToken.\n * - Then it will try the next policy with or without the retrieved token.\n *\n * It uses the challenge parameters to:\n * - Skip a first attempt to get the token from the credential if there's no cached token,\n * since it expects the token to be retrievable only after the challenge.\n * - Prepare the outgoing request if the `prepareRequest` method has been provided.\n * - Send an initial request to receive the challenge if it fails.\n * - Process a challenge if the response contains it.\n * - Retrieve a token with the challenge information, then re-send the request.\n */\n async sendRequest(request, next) {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n throw new Error(\"Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.\");\n }\n await callbacks.authorizeRequest({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n getAccessToken,\n logger\n });\n let response;\n let error;\n try {\n response = await next(request);\n } catch (err) {\n error = err;\n response = err.response;\n }\n if (callbacks.authorizeRequestOnChallenge && (response === null || response === void 0 ? void 0 : response.status) === 401 && getChallenge(response)) {\n // processes challenge\n const shouldSendRequest = await callbacks.authorizeRequestOnChallenge({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n response,\n getAccessToken,\n logger\n });\n if (shouldSendRequest) {\n return next(request);\n }\n }\n if (error) {\n throw error;\n } else {\n return response;\n }\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport { createEmptyPipeline } from \"./pipeline\";\nexport { createPipelineFromOptions } from \"./createPipelineFromOptions\";\nexport { createDefaultHttpClient } from \"./defaultHttpClient\";\nexport { createHttpHeaders } from \"./httpHeaders\";\nexport { createPipelineRequest } from \"./pipelineRequest\";\nexport { RestError, isRestError } from \"./restError\";\nexport { decompressResponsePolicy, decompressResponsePolicyName } from \"./policies/decompressResponsePolicy\";\nexport { exponentialRetryPolicy, exponentialRetryPolicyName } from \"./policies/exponentialRetryPolicy\";\nexport { setClientRequestIdPolicy, setClientRequestIdPolicyName } from \"./policies/setClientRequestIdPolicy\";\nexport { logPolicy, logPolicyName } from \"./policies/logPolicy\";\nexport { proxyPolicy, proxyPolicyName, getDefaultProxySettings } from \"./policies/proxyPolicy\";\nexport { redirectPolicy, redirectPolicyName } from \"./policies/redirectPolicy\";\nexport { systemErrorRetryPolicy, systemErrorRetryPolicyName } from \"./policies/systemErrorRetryPolicy\";\nexport { throttlingRetryPolicy, throttlingRetryPolicyName } from \"./policies/throttlingRetryPolicy\";\nexport { retryPolicy } from \"./policies/retryPolicy\";\nexport { tracingPolicy, tracingPolicyName } from \"./policies/tracingPolicy\";\nexport { defaultRetryPolicy } from \"./policies/defaultRetryPolicy\";\nexport { userAgentPolicy, userAgentPolicyName } from \"./policies/userAgentPolicy\";\nexport { tlsPolicy, tlsPolicyName } from \"./policies/tlsPolicy\";\nexport { formDataPolicy, formDataPolicyName } from \"./policies/formDataPolicy\";\nexport { bearerTokenAuthenticationPolicy, bearerTokenAuthenticationPolicyName } from \"./policies/bearerTokenAuthenticationPolicy\";\nexport { ndJsonPolicy, ndJsonPolicyName } from \"./policies/ndJsonPolicy\";\nexport { auxiliaryAuthenticationHeaderPolicy, auxiliaryAuthenticationHeaderPolicyName } from \"./policies/auxiliaryAuthenticationHeaderPolicy\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * A static-key-based credential that supports updating\n * the underlying key value.\n */\nexport class AzureKeyCredential {\n /**\n * The value of the key to be used in authentication\n */\n get key() {\n return this._key;\n }\n /**\n * Create an instance of an AzureKeyCredential for use\n * with a service client.\n *\n * @param key - The initial value of the key to use in authentication\n */\n constructor(key) {\n if (!key) {\n throw new Error(\"key must be a non-empty string\");\n }\n this._key = key;\n }\n /**\n * Change the value of the key.\n *\n * Updates will take effect upon the next request after\n * updating the key value.\n *\n * @param newKey - The new key value to be used\n */\n update(newKey) {\n this._key = newKey;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Tests an object to determine whether it implements TokenCredential.\n *\n * @param credential - The assumed TokenCredential to be tested.\n */\nexport function isTokenCredential(credential) {\n // Check for an object with a 'getToken' function and possibly with\n // a 'signRequest' function. We do this check to make sure that\n // a ServiceClientCredentials implementor (like TokenClientCredentials\n // in ms-rest-nodeauth) doesn't get mistaken for a TokenCredential if\n // it doesn't actually implement TokenCredential also.\n const castCredential = credential;\n return castCredential && typeof castCredential.getToken === \"function\" && (castCredential.signRequest === undefined || castCredential.getToken.length > 0);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport { AzureKeyCredential } from \"./azureKeyCredential\";\nexport { AzureNamedKeyCredential, isNamedKeyCredential } from \"./azureNamedKeyCredential\";\nexport { AzureSASCredential, isSASCredential } from \"./azureSASCredential\";\nexport { isTokenCredential } from \"./tokenCredential\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport { createCommunicationAccessKeyCredentialPolicy } from \"./communicationAccessKeyCredentialPolicy\";\n/**\n * Creates a pipeline policy to authenticate request based\n * on the credential passed in.\n * @hidden\n *\n * @param credential - The KeyCredential or TokenCredential.\n */\nexport function createCommunicationAuthPolicy(credential) {\n if (isTokenCredential(credential)) {\n const policyOptions = {\n credential: credential,\n scopes: [\"https://communication.azure.com//.default\"]\n };\n return bearerTokenAuthenticationPolicy(policyOptions);\n } else {\n return createCommunicationAccessKeyCredentialPolicy(credential);\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AzureKeyCredential } from \"@azure/core-auth\";\n// TODO: update when connection string format is finalized\nconst CONNECTION_STRING_REGEX = /endpoint=(.*);accesskey=(.*)/i;\nconst tryParseConnectionString = s => {\n const match = s.match(CONNECTION_STRING_REGEX);\n if ((match === null || match === void 0 ? void 0 : match[1]) && match[2]) {\n return {\n endpoint: match[1],\n credential: new AzureKeyCredential(match[2])\n };\n }\n return undefined;\n};\n/**\n * Returns an EndpointCredential to easily access properties of the connection string.\n * @hidden\n *\n * @param connectionString - The connection string to parse\n * @returns Object to access the endpoint and the credentials\n */\nexport const parseConnectionString = connectionString => {\n const parsedConnectionString = tryParseConnectionString(connectionString);\n if (parsedConnectionString) {\n return parsedConnectionString;\n } else {\n throw new Error(`Invalid connection string ${connectionString}`);\n }\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport { parseConnectionString } from \"./connectionString\";\nconst isValidEndpoint = host => {\n var _a;\n const url = new URL(host);\n return !!((_a = url.protocol) === null || _a === void 0 ? void 0 : _a.match(/^http[s]?/)) && url.host !== undefined && url.host !== \"\" && (url.pathname === undefined || url.pathname === \"\" || url.pathname === \"/\");\n};\nconst assertValidEndpoint = host => {\n if (!isValidEndpoint(host)) {\n throw new Error(`Invalid endpoint url ${host}`);\n }\n};\n/**\n * Checks whether a value is a KeyCredential.\n *\n * @param credential - The credential being checked.\n */\nexport const isKeyCredential = credential => {\n const castCredential = credential;\n return castCredential && typeof castCredential.key === \"string\" && castCredential.getToken === undefined;\n};\n/**\n * Parses arguments passed to a communication client.\n * @hidden\n */\nexport const parseClientArguments = (connectionStringOrUrl, credentialOrOptions) => {\n if (isKeyCredential(credentialOrOptions) || isTokenCredential(credentialOrOptions)) {\n assertValidEndpoint(connectionStringOrUrl);\n return {\n url: connectionStringOrUrl,\n credential: credentialOrOptions\n };\n } else {\n const {\n endpoint: host,\n credential\n } = parseConnectionString(connectionStringOrUrl);\n assertValidEndpoint(host);\n return {\n url: host,\n credential\n };\n }\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport * from \"./communicationAccessKeyCredentialPolicy\";\nexport * from \"./communicationAuthPolicy\";\nexport * from \"./clientArguments\";\nexport * from \"./connectionString\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Tests an Identifier to determine whether it implements CommunicationUserIdentifier.\n *\n * @param identifier - The assumed CommunicationUserIdentifier to be tested.\n */\nexport const isCommunicationUserIdentifier = identifier => {\n return typeof identifier.communicationUserId === \"string\";\n};\n/**\n * Tests an Identifier to determine whether it implements PhoneNumberIdentifier.\n *\n * @param identifier - The assumed PhoneNumberIdentifier to be tested.\n */\nexport const isPhoneNumberIdentifier = identifier => {\n return typeof identifier.phoneNumber === \"string\";\n};\n/**\n * Tests an Identifier to determine whether it implements MicrosoftTeamsUserIdentifier.\n *\n * @param identifier - The assumed available to be tested.\n */\nexport const isMicrosoftTeamsUserIdentifier = identifier => {\n return typeof identifier.microsoftTeamsUserId === \"string\";\n};\n/**\n * Tests an Identifier to determine whether it implements MicrosoftTeamsAppIdentifier.\n *\n * @param identifier - The assumed available to be tested.\n */\nexport const isMicrosoftTeamsAppIdentifier = identifier => {\n return typeof identifier.teamsAppId === \"string\";\n};\n/**\n * Tests an Identifier to determine whether it implements UnknownIdentifier.\n *\n * @param identifier - The assumed UnknownIdentifier to be tested.\n */\nexport const isUnknownIdentifier = identifier => {\n return typeof identifier.id === \"string\";\n};\n/**\n * Returns the CommunicationIdentifierKind for a given CommunicationIdentifier. Returns undefined if the kind couldn't be inferred.\n *\n * @param identifier - The identifier whose kind is to be inferred.\n */\nexport const getIdentifierKind = identifier => {\n if (isCommunicationUserIdentifier(identifier)) {\n return Object.assign(Object.assign({}, identifier), {\n kind: \"communicationUser\"\n });\n }\n if (isPhoneNumberIdentifier(identifier)) {\n return Object.assign(Object.assign({}, identifier), {\n kind: \"phoneNumber\"\n });\n }\n if (isMicrosoftTeamsUserIdentifier(identifier)) {\n return Object.assign(Object.assign({}, identifier), {\n kind: \"microsoftTeamsUser\"\n });\n }\n if (isMicrosoftTeamsAppIdentifier(identifier)) {\n return Object.assign(Object.assign({}, identifier), {\n kind: \"microsoftTeamsApp\"\n });\n }\n return Object.assign(Object.assign({}, identifier), {\n kind: \"unknown\"\n });\n};\n/**\n * Returns the rawId for a given CommunicationIdentifier. You can use the rawId for encoding the identifier and then use it as a key in a database.\n *\n * @param identifier - The identifier to be translated to its rawId.\n */\nexport const getIdentifierRawId = identifier => {\n const identifierKind = getIdentifierKind(identifier);\n switch (identifierKind.kind) {\n case \"communicationUser\":\n return identifierKind.communicationUserId;\n case \"microsoftTeamsUser\":\n {\n const {\n microsoftTeamsUserId,\n rawId,\n cloud,\n isAnonymous\n } = identifierKind;\n if (rawId) return rawId;\n if (isAnonymous) return `8:teamsvisitor:${microsoftTeamsUserId}`;\n switch (cloud) {\n case \"dod\":\n return `8:dod:${microsoftTeamsUserId}`;\n case \"gcch\":\n return `8:gcch:${microsoftTeamsUserId}`;\n case \"public\":\n return `8:orgid:${microsoftTeamsUserId}`;\n }\n return `8:orgid:${microsoftTeamsUserId}`;\n }\n case \"microsoftTeamsApp\":\n {\n const {\n teamsAppId,\n rawId,\n cloud\n } = identifierKind;\n if (rawId) return rawId;\n switch (cloud) {\n case \"dod\":\n return `28:dod:${teamsAppId}`;\n case \"gcch\":\n return `28:gcch:${teamsAppId}`;\n }\n return `28:orgid:${teamsAppId}`;\n }\n case \"phoneNumber\":\n {\n const {\n phoneNumber,\n rawId\n } = identifierKind;\n if (rawId) return rawId;\n return `4:${phoneNumber}`;\n }\n case \"unknown\":\n {\n return identifierKind.id;\n }\n }\n};\nconst buildMicrosoftTeamsAppIdentifier = (teamsAppId, cloud) => {\n return {\n kind: \"microsoftTeamsApp\",\n teamsAppId: teamsAppId,\n cloud: cloud\n };\n};\nconst buildMicrosoftTeamsUserIdentifier = (id, cloud, isAnonymous) => {\n return {\n kind: \"microsoftTeamsUser\",\n microsoftTeamsUserId: id,\n isAnonymous: isAnonymous,\n cloud: cloud\n };\n};\n/**\n * Creates a CommunicationIdentifierKind from a given rawId. When storing rawIds use this function to restore the identifier that was encoded in the rawId.\n *\n * @param rawId - The rawId to be translated to its identifier representation.\n */\nexport const createIdentifierFromRawId = rawId => {\n if (rawId.startsWith(\"4:\")) {\n return {\n kind: \"phoneNumber\",\n phoneNumber: `${rawId.substring(\"4:\".length)}`\n };\n }\n const segments = rawId.split(\":\");\n if (segments.length !== 3) {\n return {\n kind: \"unknown\",\n id: rawId\n };\n }\n const prefix = `${segments[0]}:${segments[1]}:`;\n const suffix = segments[2];\n switch (prefix) {\n case \"8:teamsvisitor:\":\n return {\n kind: \"microsoftTeamsUser\",\n microsoftTeamsUserId: suffix,\n isAnonymous: true\n };\n case \"8:orgid:\":\n return buildMicrosoftTeamsUserIdentifier(suffix, \"public\", false);\n case \"8:dod:\":\n return buildMicrosoftTeamsUserIdentifier(suffix, \"dod\", false);\n case \"8:gcch:\":\n return buildMicrosoftTeamsUserIdentifier(suffix, \"gcch\", false);\n case \"8:acs:\":\n case \"8:spool:\":\n case \"8:dod-acs:\":\n case \"8:gcch-acs:\":\n return {\n kind: \"communicationUser\",\n communicationUserId: rawId\n };\n case \"28:orgid:\":\n return buildMicrosoftTeamsAppIdentifier(suffix, \"public\");\n case \"28:gcch:\":\n return buildMicrosoftTeamsAppIdentifier(suffix, \"gcch\");\n case \"28:dod:\":\n return buildMicrosoftTeamsAppIdentifier(suffix, \"dod\");\n }\n return {\n kind: \"unknown\",\n id: rawId\n };\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getIdentifierKind, getIdentifierRawId } from \"./identifierModels\";\nconst assertNotNullOrUndefined = (obj, prop) => {\n const subObjName = Object.keys(obj)[0];\n const subObj = obj[subObjName];\n if (prop in subObj) {\n return subObj[prop];\n }\n throw new Error(`Property ${prop} is required for identifier of type ${subObjName}.`);\n};\nconst assertMaximumOneNestedModel = identifier => {\n const presentProperties = [];\n if (identifier.communicationUser !== undefined) {\n presentProperties.push(\"communicationUser\");\n }\n if (identifier.microsoftTeamsUser !== undefined) {\n presentProperties.push(\"microsoftTeamsUser\");\n }\n if (identifier.microsoftTeamsApp !== undefined) {\n presentProperties.push(\"microsoftTeamsApp\");\n }\n if (identifier.phoneNumber !== undefined) {\n presentProperties.push(\"phoneNumber\");\n }\n if (presentProperties.length > 1) {\n throw new Error(`Only one of the properties in ${JSON.stringify(presentProperties)} should be present.`);\n }\n};\n/**\n * @hidden\n * Translates a CommunicationIdentifier to its serialized format for sending a request.\n * @param identifier - The CommunicationIdentifier to be serialized.\n */\nexport const serializeCommunicationIdentifier = identifier => {\n var _a, _b, _c, _d, _e, _f;\n const identifierKind = getIdentifierKind(identifier);\n switch (identifierKind.kind) {\n case \"communicationUser\":\n return {\n rawId: getIdentifierRawId(identifierKind),\n communicationUser: {\n id: identifierKind.communicationUserId\n }\n };\n case \"phoneNumber\":\n return {\n rawId: (_a = identifierKind.rawId) !== null && _a !== void 0 ? _a : getIdentifierRawId(identifierKind),\n phoneNumber: {\n value: identifierKind.phoneNumber\n }\n };\n case \"microsoftTeamsUser\":\n return {\n rawId: (_b = identifierKind.rawId) !== null && _b !== void 0 ? _b : getIdentifierRawId(identifierKind),\n microsoftTeamsUser: {\n userId: identifierKind.microsoftTeamsUserId,\n isAnonymous: (_c = identifierKind.isAnonymous) !== null && _c !== void 0 ? _c : false,\n cloud: (_d = identifierKind.cloud) !== null && _d !== void 0 ? _d : \"public\"\n }\n };\n case \"microsoftTeamsApp\":\n return {\n rawId: (_e = identifierKind.rawId) !== null && _e !== void 0 ? _e : getIdentifierRawId(identifierKind),\n microsoftTeamsApp: {\n teamsAppId: identifierKind.teamsAppId,\n cloud: (_f = identifierKind.cloud) !== null && _f !== void 0 ? _f : \"public\"\n }\n };\n case \"unknown\":\n return {\n rawId: identifierKind.id\n };\n default:\n throw new Error(`Can't serialize an identifier with kind ${identifierKind.kind}`);\n }\n};\nconst getKind = serializedIdentifier => {\n if (serializedIdentifier.communicationUser) {\n return \"communicationUser\";\n }\n if (serializedIdentifier.phoneNumber) {\n return \"phoneNumber\";\n }\n if (serializedIdentifier.microsoftTeamsUser) {\n return \"microsoftTeamsUser\";\n }\n if (serializedIdentifier.microsoftTeamsApp) {\n return \"microsoftTeamsApp\";\n }\n return \"unknown\";\n};\n/**\n * @hidden\n * Translates the serialized format of a communication identifier to CommunicationIdentifier.\n * @param serializedIdentifier - The SerializedCommunicationIdentifier to be deserialized.\n */\nexport const deserializeCommunicationIdentifier = serializedIdentifier => {\n var _a;\n assertMaximumOneNestedModel(serializedIdentifier);\n const {\n communicationUser,\n microsoftTeamsUser,\n microsoftTeamsApp,\n phoneNumber\n } = serializedIdentifier;\n const kind = (_a = serializedIdentifier.kind) !== null && _a !== void 0 ? _a : getKind(serializedIdentifier);\n if (kind === \"communicationUser\" && communicationUser) {\n return {\n kind: \"communicationUser\",\n communicationUserId: assertNotNullOrUndefined({\n communicationUser\n }, \"id\")\n };\n }\n if (kind === \"phoneNumber\" && phoneNumber) {\n return {\n kind: \"phoneNumber\",\n phoneNumber: assertNotNullOrUndefined({\n phoneNumber\n }, \"value\"),\n rawId: assertNotNullOrUndefined({\n phoneNumber: serializedIdentifier\n }, \"rawId\")\n };\n }\n if (kind === \"microsoftTeamsUser\" && microsoftTeamsUser) {\n return {\n kind: \"microsoftTeamsUser\",\n microsoftTeamsUserId: assertNotNullOrUndefined({\n microsoftTeamsUser\n }, \"userId\"),\n isAnonymous: assertNotNullOrUndefined({\n microsoftTeamsUser\n }, \"isAnonymous\"),\n cloud: assertNotNullOrUndefined({\n microsoftTeamsUser\n }, \"cloud\"),\n rawId: assertNotNullOrUndefined({\n microsoftTeamsUser: serializedIdentifier\n }, \"rawId\")\n };\n }\n if (kind === \"microsoftTeamsApp\" && microsoftTeamsApp) {\n return {\n kind: \"microsoftTeamsApp\",\n teamsAppId: assertNotNullOrUndefined({\n microsoftTeamsApp\n }, \"teamsAppId\"),\n cloud: assertNotNullOrUndefined({\n microsoftTeamsApp\n }, \"cloud\"),\n rawId: assertNotNullOrUndefined({\n microsoftTeamsApp: serializedIdentifier\n }, \"rawId\")\n };\n }\n return {\n kind: \"unknown\",\n id: assertNotNullOrUndefined({\n unknown: serializedIdentifier\n }, \"rawId\")\n };\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport { AzureCommunicationTokenCredential } from \"./azureCommunicationTokenCredential\";\nexport * from \"./credential\";\nexport * from \"./credential\";\nexport * from \"./identifierModels\";\nexport * from \"./identifierModelSerializer\";\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the Microsoft Software License Terms for the Azure Communications Services, Azure CPaaS, AZURE COMMUNICATION SERVICES VOICE AND VIDEO CALLING CLIENT LIBRARY\n// See LICENSE file for license information.\n!function (d, g) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? g(exports, require(\"@azure/logger\"), require(\"@azure/communication-common\")) : \"function\" == typeof define && define.amd ? define([\"exports\", \"@azure/logger\", \"@azure/communication-common\"], g) : g((d = \"undefined\" != typeof globalThis ? globalThis : d || self)[\"azure-communication-calling\"] = {}, d.logger, d.communicationCommon);\n}(this, function (d, g, f) {\n \"use strict\";\n\n var m,\n v = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\n function getDefaultExportFromCjs(d) {\n return d && d.__esModule && Object.prototype.hasOwnProperty.call(d, \"default\") ? d.default : d;\n }\n function createCommonjsModule(d, g, f) {\n return d(f = {\n path: g,\n exports: {},\n require: function (d, g) {\n return commonjsRequire(d, null == g ? f.path : g);\n }\n }, f.exports), f.exports;\n }\n function getAugmentedNamespace(d) {\n if (d.__esModule) return d;\n var g = Object.defineProperty({}, \"__esModule\", {\n value: !0\n });\n return Object.keys(d).forEach(function (f) {\n var m = Object.getOwnPropertyDescriptor(d, f);\n Object.defineProperty(g, f, m.get ? m : {\n enumerable: !0,\n get: function () {\n return d[f];\n }\n });\n }), g;\n }\n function commonjsRequire() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n }\n /*! *****************************************************************************\r\n \tCopyright (C) Microsoft. All rights reserved.\r\n \tLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\n \tthis file except in compliance with the License. You may obtain a copy of the\r\n \tLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n \r\n \tTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n \tKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\n \tWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\n \tMERCHANTABLITY OR NON-INFRINGEMENT.\r\n \r\n \tSee the Apache Version 2.0 License for specific language governing permissions\r\n \tand limitations under the License.\r\n \t***************************************************************************** */\n !function (d) {\n !function (g) {\n var f = \"object\" == typeof v ? v : \"object\" == typeof self ? self : \"object\" == typeof this ? this : Function(\"return this;\")(),\n m = makeExporter(d);\n function makeExporter(d, g) {\n return function (f, m) {\n \"function\" != typeof d[f] && Object.defineProperty(d, f, {\n configurable: !0,\n writable: !0,\n value: m\n }), g && g(f, m);\n };\n }\n void 0 === f.Reflect ? f.Reflect = d : m = makeExporter(f.Reflect, m), g(m);\n }(function (d) {\n var g = Object.prototype.hasOwnProperty,\n f = \"function\" == typeof Symbol,\n m = f && void 0 !== Symbol.toPrimitive ? Symbol.toPrimitive : \"@@toPrimitive\",\n v = f && void 0 !== Symbol.iterator ? Symbol.iterator : \"@@iterator\",\n y = \"function\" == typeof Object.create,\n S = {\n __proto__: []\n } instanceof Array,\n _ = !y && !S,\n C = {\n create: y ? function () {\n return MakeDictionary(Object.create(null));\n } : S ? function () {\n return MakeDictionary({\n __proto__: null\n });\n } : function () {\n return MakeDictionary({});\n },\n has: _ ? function (d, f) {\n return g.call(d, f);\n } : function (d, g) {\n return g in d;\n },\n get: _ ? function (d, f) {\n return g.call(d, f) ? d[f] : void 0;\n } : function (d, g) {\n return d[g];\n }\n },\n T = Object.getPrototypeOf(Function),\n E = \"object\" == typeof process && process.env && \"true\" === process.env.REFLECT_METADATA_USE_MAP_POLYFILL,\n b = E || \"function\" != typeof Map || \"function\" != typeof Map.prototype.entries ? CreateMapPolyfill() : Map,\n I = E || \"function\" != typeof Set || \"function\" != typeof Set.prototype.entries ? CreateSetPolyfill() : Set,\n P = new (E || \"function\" != typeof WeakMap ? CreateWeakMapPolyfill() : WeakMap)();\n function decorate(d, g, f, m) {\n if (IsUndefined(f)) {\n if (!IsArray(d)) throw new TypeError();\n if (!IsConstructor(g)) throw new TypeError();\n return DecorateConstructor(d, g);\n }\n if (!IsArray(d)) throw new TypeError();\n if (!IsObject(g)) throw new TypeError();\n if (!IsObject(m) && !IsUndefined(m) && !IsNull(m)) throw new TypeError();\n return IsNull(m) && (m = void 0), DecorateProperty(d, g, f = ToPropertyKey(f), m);\n }\n function metadata(d, g) {\n function decorator(f, m) {\n if (!IsObject(f)) throw new TypeError();\n if (!IsUndefined(m) && !IsPropertyKey(m)) throw new TypeError();\n OrdinaryDefineOwnMetadata(d, g, f, m);\n }\n return decorator;\n }\n function defineMetadata(d, g, f, m) {\n if (!IsObject(f)) throw new TypeError();\n return IsUndefined(m) || (m = ToPropertyKey(m)), OrdinaryDefineOwnMetadata(d, g, f, m);\n }\n function hasMetadata(d, g, f) {\n if (!IsObject(g)) throw new TypeError();\n return IsUndefined(f) || (f = ToPropertyKey(f)), OrdinaryHasMetadata(d, g, f);\n }\n function hasOwnMetadata(d, g, f) {\n if (!IsObject(g)) throw new TypeError();\n return IsUndefined(f) || (f = ToPropertyKey(f)), OrdinaryHasOwnMetadata(d, g, f);\n }\n function getMetadata(d, g, f) {\n if (!IsObject(g)) throw new TypeError();\n return IsUndefined(f) || (f = ToPropertyKey(f)), OrdinaryGetMetadata(d, g, f);\n }\n function getOwnMetadata(d, g, f) {\n if (!IsObject(g)) throw new TypeError();\n return IsUndefined(f) || (f = ToPropertyKey(f)), OrdinaryGetOwnMetadata(d, g, f);\n }\n function getMetadataKeys(d, g) {\n if (!IsObject(d)) throw new TypeError();\n return IsUndefined(g) || (g = ToPropertyKey(g)), OrdinaryMetadataKeys(d, g);\n }\n function getOwnMetadataKeys(d, g) {\n if (!IsObject(d)) throw new TypeError();\n return IsUndefined(g) || (g = ToPropertyKey(g)), OrdinaryOwnMetadataKeys(d, g);\n }\n function deleteMetadata(d, g, f) {\n if (!IsObject(g)) throw new TypeError();\n IsUndefined(f) || (f = ToPropertyKey(f));\n var m = GetOrCreateMetadataMap(g, f, !1);\n if (IsUndefined(m)) return !1;\n if (!m.delete(d)) return !1;\n if (m.size > 0) return !0;\n var v = P.get(g);\n return v.delete(f), v.size > 0 || P.delete(g), !0;\n }\n function DecorateConstructor(d, g) {\n for (var f = d.length - 1; f >= 0; --f) {\n var m = (0, d[f])(g);\n if (!IsUndefined(m) && !IsNull(m)) {\n if (!IsConstructor(m)) throw new TypeError();\n g = m;\n }\n }\n return g;\n }\n function DecorateProperty(d, g, f, m) {\n for (var v = d.length - 1; v >= 0; --v) {\n var y = (0, d[v])(g, f, m);\n if (!IsUndefined(y) && !IsNull(y)) {\n if (!IsObject(y)) throw new TypeError();\n m = y;\n }\n }\n return m;\n }\n function GetOrCreateMetadataMap(d, g, f) {\n var m = P.get(d);\n if (IsUndefined(m)) {\n if (!f) return;\n m = new b(), P.set(d, m);\n }\n var v = m.get(g);\n if (IsUndefined(v)) {\n if (!f) return;\n v = new b(), m.set(g, v);\n }\n return v;\n }\n function OrdinaryHasMetadata(d, g, f) {\n if (OrdinaryHasOwnMetadata(d, g, f)) return !0;\n var m = OrdinaryGetPrototypeOf(g);\n return !IsNull(m) && OrdinaryHasMetadata(d, m, f);\n }\n function OrdinaryHasOwnMetadata(d, g, f) {\n var m = GetOrCreateMetadataMap(g, f, !1);\n return !IsUndefined(m) && ToBoolean(m.has(d));\n }\n function OrdinaryGetMetadata(d, g, f) {\n if (OrdinaryHasOwnMetadata(d, g, f)) return OrdinaryGetOwnMetadata(d, g, f);\n var m = OrdinaryGetPrototypeOf(g);\n return IsNull(m) ? void 0 : OrdinaryGetMetadata(d, m, f);\n }\n function OrdinaryGetOwnMetadata(d, g, f) {\n var m = GetOrCreateMetadataMap(g, f, !1);\n if (!IsUndefined(m)) return m.get(d);\n }\n function OrdinaryDefineOwnMetadata(d, g, f, m) {\n GetOrCreateMetadataMap(f, m, !0).set(d, g);\n }\n function OrdinaryMetadataKeys(d, g) {\n var f = OrdinaryOwnMetadataKeys(d, g),\n m = OrdinaryGetPrototypeOf(d);\n if (null === m) return f;\n var v = OrdinaryMetadataKeys(m, g);\n if (v.length <= 0) return f;\n if (f.length <= 0) return v;\n for (var y = new I(), S = [], _ = 0, C = f; _ < C.length; _++) {\n var T = C[_];\n y.has(T) || (y.add(T), S.push(T));\n }\n for (var E = 0, b = v; E < b.length; E++) {\n T = b[E];\n y.has(T) || (y.add(T), S.push(T));\n }\n return S;\n }\n function OrdinaryOwnMetadataKeys(d, g) {\n var f = [],\n m = GetOrCreateMetadataMap(d, g, !1);\n if (IsUndefined(m)) return f;\n for (var v = GetIterator(m.keys()), y = 0;;) {\n var S = IteratorStep(v);\n if (!S) return f.length = y, f;\n var _ = IteratorValue(S);\n try {\n f[y] = _;\n } catch (d) {\n try {\n IteratorClose(v);\n } finally {\n throw d;\n }\n }\n y++;\n }\n }\n function Type(d) {\n if (null === d) return 1;\n switch (typeof d) {\n case \"undefined\":\n return 0;\n case \"boolean\":\n return 2;\n case \"string\":\n return 3;\n case \"symbol\":\n return 4;\n case \"number\":\n return 5;\n case \"object\":\n return null === d ? 1 : 6;\n default:\n return 6;\n }\n }\n function IsUndefined(d) {\n return void 0 === d;\n }\n function IsNull(d) {\n return null === d;\n }\n function IsSymbol(d) {\n return \"symbol\" == typeof d;\n }\n function IsObject(d) {\n return \"object\" == typeof d ? null !== d : \"function\" == typeof d;\n }\n function ToPrimitive(d, g) {\n switch (Type(d)) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n return d;\n }\n var f = 3 === g ? \"string\" : 5 === g ? \"number\" : \"default\",\n v = GetMethod(d, m);\n if (void 0 !== v) {\n var y = v.call(d, f);\n if (IsObject(y)) throw new TypeError();\n return y;\n }\n return OrdinaryToPrimitive(d, \"default\" === f ? \"number\" : f);\n }\n function OrdinaryToPrimitive(d, g) {\n if (\"string\" === g) {\n var f = d.toString;\n if (IsCallable(f)) if (!IsObject(v = f.call(d))) return v;\n if (IsCallable(m = d.valueOf)) if (!IsObject(v = m.call(d))) return v;\n } else {\n var m;\n if (IsCallable(m = d.valueOf)) if (!IsObject(v = m.call(d))) return v;\n var v,\n y = d.toString;\n if (IsCallable(y)) if (!IsObject(v = y.call(d))) return v;\n }\n throw new TypeError();\n }\n function ToBoolean(d) {\n return !!d;\n }\n function ToString(d) {\n return \"\" + d;\n }\n function ToPropertyKey(d) {\n var g = ToPrimitive(d, 3);\n return IsSymbol(g) ? g : ToString(g);\n }\n function IsArray(d) {\n return Array.isArray ? Array.isArray(d) : d instanceof Object ? d instanceof Array : \"[object Array]\" === Object.prototype.toString.call(d);\n }\n function IsCallable(d) {\n return \"function\" == typeof d;\n }\n function IsConstructor(d) {\n return \"function\" == typeof d;\n }\n function IsPropertyKey(d) {\n switch (Type(d)) {\n case 3:\n case 4:\n return !0;\n default:\n return !1;\n }\n }\n function GetMethod(d, g) {\n var f = d[g];\n if (null != f) {\n if (!IsCallable(f)) throw new TypeError();\n return f;\n }\n }\n function GetIterator(d) {\n var g = GetMethod(d, v);\n if (!IsCallable(g)) throw new TypeError();\n var f = g.call(d);\n if (!IsObject(f)) throw new TypeError();\n return f;\n }\n function IteratorValue(d) {\n return d.value;\n }\n function IteratorStep(d) {\n var g = d.next();\n return !g.done && g;\n }\n function IteratorClose(d) {\n var g = d.return;\n g && g.call(d);\n }\n function OrdinaryGetPrototypeOf(d) {\n var g = Object.getPrototypeOf(d);\n if (\"function\" != typeof d || d === T) return g;\n if (g !== T) return g;\n var f = d.prototype,\n m = f && Object.getPrototypeOf(f);\n if (null == m || m === Object.prototype) return g;\n var v = m.constructor;\n return \"function\" != typeof v || v === d ? g : v;\n }\n function CreateMapPolyfill() {\n var d = {},\n g = [],\n f = function () {\n function MapIterator(d, g, f) {\n this._index = 0, this._keys = d, this._values = g, this._selector = f;\n }\n return MapIterator.prototype[\"@@iterator\"] = function () {\n return this;\n }, MapIterator.prototype[v] = function () {\n return this;\n }, MapIterator.prototype.next = function () {\n var d = this._index;\n if (d >= 0 && d < this._keys.length) {\n var f = this._selector(this._keys[d], this._values[d]);\n return d + 1 >= this._keys.length ? (this._index = -1, this._keys = g, this._values = g) : this._index++, {\n value: f,\n done: !1\n };\n }\n return {\n value: void 0,\n done: !0\n };\n }, MapIterator.prototype.throw = function (d) {\n throw this._index >= 0 && (this._index = -1, this._keys = g, this._values = g), d;\n }, MapIterator.prototype.return = function (d) {\n return this._index >= 0 && (this._index = -1, this._keys = g, this._values = g), {\n value: d,\n done: !0\n };\n }, MapIterator;\n }();\n return function () {\n function Map() {\n this._keys = [], this._values = [], this._cacheKey = d, this._cacheIndex = -2;\n }\n return Object.defineProperty(Map.prototype, \"size\", {\n get: function () {\n return this._keys.length;\n },\n enumerable: !0,\n configurable: !0\n }), Map.prototype.has = function (d) {\n return this._find(d, !1) >= 0;\n }, Map.prototype.get = function (d) {\n var g = this._find(d, !1);\n return g >= 0 ? this._values[g] : void 0;\n }, Map.prototype.set = function (d, g) {\n var f = this._find(d, !0);\n return this._values[f] = g, this;\n }, Map.prototype.delete = function (g) {\n var f = this._find(g, !1);\n if (f >= 0) {\n for (var m = this._keys.length, v = f + 1; v < m; v++) this._keys[v - 1] = this._keys[v], this._values[v - 1] = this._values[v];\n return this._keys.length--, this._values.length--, g === this._cacheKey && (this._cacheKey = d, this._cacheIndex = -2), !0;\n }\n return !1;\n }, Map.prototype.clear = function () {\n this._keys.length = 0, this._values.length = 0, this._cacheKey = d, this._cacheIndex = -2;\n }, Map.prototype.keys = function () {\n return new f(this._keys, this._values, getKey);\n }, Map.prototype.values = function () {\n return new f(this._keys, this._values, getValue);\n }, Map.prototype.entries = function () {\n return new f(this._keys, this._values, getEntry);\n }, Map.prototype[\"@@iterator\"] = function () {\n return this.entries();\n }, Map.prototype[v] = function () {\n return this.entries();\n }, Map.prototype._find = function (d, g) {\n return this._cacheKey !== d && (this._cacheIndex = this._keys.indexOf(this._cacheKey = d)), this._cacheIndex < 0 && g && (this._cacheIndex = this._keys.length, this._keys.push(d), this._values.push(void 0)), this._cacheIndex;\n }, Map;\n }();\n function getKey(d, g) {\n return d;\n }\n function getValue(d, g) {\n return g;\n }\n function getEntry(d, g) {\n return [d, g];\n }\n }\n function CreateSetPolyfill() {\n return function () {\n function Set() {\n this._map = new b();\n }\n return Object.defineProperty(Set.prototype, \"size\", {\n get: function () {\n return this._map.size;\n },\n enumerable: !0,\n configurable: !0\n }), Set.prototype.has = function (d) {\n return this._map.has(d);\n }, Set.prototype.add = function (d) {\n return this._map.set(d, d), this;\n }, Set.prototype.delete = function (d) {\n return this._map.delete(d);\n }, Set.prototype.clear = function () {\n this._map.clear();\n }, Set.prototype.keys = function () {\n return this._map.keys();\n }, Set.prototype.values = function () {\n return this._map.values();\n }, Set.prototype.entries = function () {\n return this._map.entries();\n }, Set.prototype[\"@@iterator\"] = function () {\n return this.keys();\n }, Set.prototype[v] = function () {\n return this.keys();\n }, Set;\n }();\n }\n function CreateWeakMapPolyfill() {\n var d = 16,\n f = C.create(),\n m = CreateUniqueKey();\n return function () {\n function WeakMap() {\n this._key = CreateUniqueKey();\n }\n return WeakMap.prototype.has = function (d) {\n var g = GetOrCreateWeakMapTable(d, !1);\n return void 0 !== g && C.has(g, this._key);\n }, WeakMap.prototype.get = function (d) {\n var g = GetOrCreateWeakMapTable(d, !1);\n return void 0 !== g ? C.get(g, this._key) : void 0;\n }, WeakMap.prototype.set = function (d, g) {\n return GetOrCreateWeakMapTable(d, !0)[this._key] = g, this;\n }, WeakMap.prototype.delete = function (d) {\n var g = GetOrCreateWeakMapTable(d, !1);\n return void 0 !== g && delete g[this._key];\n }, WeakMap.prototype.clear = function () {\n this._key = CreateUniqueKey();\n }, WeakMap;\n }();\n function CreateUniqueKey() {\n var d;\n do {\n d = \"@@WeakMap@@\" + CreateUUID();\n } while (C.has(f, d));\n return f[d] = !0, d;\n }\n function GetOrCreateWeakMapTable(d, f) {\n if (!g.call(d, m)) {\n if (!f) return;\n Object.defineProperty(d, m, {\n value: C.create()\n });\n }\n return d[m];\n }\n function FillRandomBytes(d, g) {\n for (var f = 0; f < g; ++f) d[f] = 255 * Math.random() | 0;\n return d;\n }\n function GenRandomBytes(d) {\n return \"function\" == typeof Uint8Array ? \"undefined\" != typeof crypto ? crypto.getRandomValues(new Uint8Array(d)) : \"undefined\" != typeof msCrypto ? msCrypto.getRandomValues(new Uint8Array(d)) : FillRandomBytes(new Uint8Array(d), d) : FillRandomBytes(new Array(d), d);\n }\n function CreateUUID() {\n var g = GenRandomBytes(d);\n g[6] = 79 & g[6] | 64, g[8] = 191 & g[8] | 128;\n for (var f = \"\", m = 0; m < d; ++m) {\n var v = g[m];\n 4 !== m && 6 !== m && 8 !== m || (f += \"-\"), v < 16 && (f += \"0\"), f += v.toString(16).toLowerCase();\n }\n return f;\n }\n }\n function MakeDictionary(d) {\n return d.__ = void 0, delete d.__, d;\n }\n d(\"decorate\", decorate), d(\"metadata\", metadata), d(\"defineMetadata\", defineMetadata), d(\"hasMetadata\", hasMetadata), d(\"hasOwnMetadata\", hasOwnMetadata), d(\"getMetadata\", getMetadata), d(\"getOwnMetadata\", getOwnMetadata), d(\"getMetadataKeys\", getMetadataKeys), d(\"getOwnMetadataKeys\", getOwnMetadataKeys), d(\"deleteMetadata\", deleteMetadata);\n });\n }(m || (m = {}));\n var y = createCommonjsModule(function (d, g) {\n (function () {\n var f,\n m = \"4.17.21\",\n y = 200,\n S = \"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",\n _ = \"Expected a function\",\n C = \"Invalid `variable` option passed into `_.template`\",\n T = \"__lodash_hash_undefined__\",\n E = 500,\n b = \"__lodash_placeholder__\",\n I = 1,\n P = 2,\n R = 4,\n A = 1,\n M = 2,\n w = 1,\n O = 2,\n D = 4,\n N = 8,\n L = 16,\n k = 32,\n x = 64,\n F = 128,\n U = 256,\n H = 512,\n V = 30,\n j = \"...\",\n B = 800,\n W = 16,\n G = 1,\n q = 2,\n z = 3,\n K = 1 / 0,\n J = 9007199254740991,\n $ = 17976931348623157e292,\n Q = NaN,\n Y = 4294967295,\n X = Y - 1,\n Z = Y >>> 1,\n ee = [[\"ary\", F], [\"bind\", w], [\"bindKey\", O], [\"curry\", N], [\"curryRight\", L], [\"flip\", H], [\"partial\", k], [\"partialRight\", x], [\"rearg\", U]],\n te = \"[object Arguments]\",\n ie = \"[object Array]\",\n ne = \"[object AsyncFunction]\",\n re = \"[object Boolean]\",\n oe = \"[object Date]\",\n ae = \"[object DOMException]\",\n se = \"[object Error]\",\n le = \"[object Function]\",\n ce = \"[object GeneratorFunction]\",\n de = \"[object Map]\",\n ue = \"[object Number]\",\n pe = \"[object Null]\",\n he = \"[object Object]\",\n ge = \"[object Promise]\",\n fe = \"[object Proxy]\",\n me = \"[object RegExp]\",\n ve = \"[object Set]\",\n ye = \"[object String]\",\n Se = \"[object Symbol]\",\n _e = \"[object Undefined]\",\n Ce = \"[object WeakMap]\",\n Te = \"[object WeakSet]\",\n Ee = \"[object ArrayBuffer]\",\n be = \"[object DataView]\",\n Ie = \"[object Float32Array]\",\n Pe = \"[object Float64Array]\",\n Re = \"[object Int8Array]\",\n Ae = \"[object Int16Array]\",\n Me = \"[object Int32Array]\",\n we = \"[object Uint8Array]\",\n Oe = \"[object Uint8ClampedArray]\",\n De = \"[object Uint16Array]\",\n Ne = \"[object Uint32Array]\",\n Le = /\\b__p \\+= '';/g,\n ke = /\\b(__p \\+=) '' \\+/g,\n xe = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,\n Fe = /&(?:amp|lt|gt|quot|#39);/g,\n Ue = /[&<>\"']/g,\n He = RegExp(Fe.source),\n Ve = RegExp(Ue.source),\n je = /<%-([\\s\\S]+?)%>/g,\n Be = /<%([\\s\\S]+?)%>/g,\n We = /<%=([\\s\\S]+?)%>/g,\n Ge = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n qe = /^\\w*$/,\n ze = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,\n Ke = /[\\\\^$.*+?()[\\]{}|]/g,\n Je = RegExp(Ke.source),\n $e = /^\\s+/,\n Qe = /\\s/,\n Ye = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n Xe = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n Ze = /,? & /,\n et = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,\n tt = /[()=,{}\\[\\]\\/\\s]/,\n it = /\\\\(\\\\)?/g,\n nt = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,\n rt = /\\w*$/,\n ot = /^[-+]0x[0-9a-f]+$/i,\n at = /^0b[01]+$/i,\n st = /^\\[object .+?Constructor\\]$/,\n lt = /^0o[0-7]+$/i,\n ct = /^(?:0|[1-9]\\d*)$/,\n dt = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,\n ut = /($^)/,\n pt = /['\\n\\r\\u2028\\u2029\\\\]/g,\n ht = \"\\\\ud800-\\\\udfff\",\n gt = \"\\\\u0300-\\\\u036f\" + \"\\\\ufe20-\\\\ufe2f\" + \"\\\\u20d0-\\\\u20ff\",\n ft = \"\\\\u2700-\\\\u27bf\",\n mt = \"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",\n vt = \"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",\n yt = \"\\\\ufe0e\\\\ufe0f\",\n St = \"\\\\xac\\\\xb1\\\\xd7\\\\xf7\" + \"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\" + \"\\\\u2000-\\\\u206f\" + \" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",\n _t = \"['’]\",\n Ct = \"[\" + ht + \"]\",\n Tt = \"[\" + St + \"]\",\n Et = \"[\" + gt + \"]\",\n bt = \"\\\\d+\",\n It = \"[\" + ft + \"]\",\n Pt = \"[\" + mt + \"]\",\n Rt = \"[^\" + ht + St + bt + ft + mt + vt + \"]\",\n At = \"\\\\ud83c[\\\\udffb-\\\\udfff]\",\n Mt = \"[^\" + ht + \"]\",\n wt = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",\n Ot = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",\n Dt = \"[\" + vt + \"]\",\n Nt = \"\\\\u200d\",\n Lt = \"(?:\" + Pt + \"|\" + Rt + \")\",\n kt = \"(?:\" + Dt + \"|\" + Rt + \")\",\n xt = \"(?:\" + _t + \"(?:d|ll|m|re|s|t|ve))?\",\n Ft = \"(?:\" + _t + \"(?:D|LL|M|RE|S|T|VE))?\",\n Ut = \"(?:\" + Et + \"|\" + At + \")\" + \"?\",\n Ht = \"[\" + yt + \"]?\",\n Vt = \"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",\n jt = \"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\n Bt = Ht + Ut + (\"(?:\" + Nt + \"(?:\" + [Mt, wt, Ot].join(\"|\") + \")\" + Ht + Ut + \")*\"),\n Wt = \"(?:\" + [It, wt, Ot].join(\"|\") + \")\" + Bt,\n Gt = \"(?:\" + [Mt + Et + \"?\", Et, wt, Ot, Ct].join(\"|\") + \")\",\n qt = RegExp(_t, \"g\"),\n zt = RegExp(Et, \"g\"),\n Kt = RegExp(At + \"(?=\" + At + \")|\" + Gt + Bt, \"g\"),\n Jt = RegExp([Dt + \"?\" + Pt + \"+\" + xt + \"(?=\" + [Tt, Dt, \"$\"].join(\"|\") + \")\", kt + \"+\" + Ft + \"(?=\" + [Tt, Dt + Lt, \"$\"].join(\"|\") + \")\", Dt + \"?\" + Lt + \"+\" + xt, Dt + \"+\" + Ft, jt, Vt, bt, Wt].join(\"|\"), \"g\"),\n $t = RegExp(\"[\" + Nt + ht + gt + yt + \"]\"),\n Qt = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,\n Yt = [\"Array\", \"Buffer\", \"DataView\", \"Date\", \"Error\", \"Float32Array\", \"Float64Array\", \"Function\", \"Int8Array\", \"Int16Array\", \"Int32Array\", \"Map\", \"Math\", \"Object\", \"Promise\", \"RegExp\", \"Set\", \"String\", \"Symbol\", \"TypeError\", \"Uint8Array\", \"Uint8ClampedArray\", \"Uint16Array\", \"Uint32Array\", \"WeakMap\", \"_\", \"clearTimeout\", \"isFinite\", \"parseInt\", \"setTimeout\"],\n Xt = -1,\n Zt = {};\n Zt[Ie] = Zt[Pe] = Zt[Re] = Zt[Ae] = Zt[Me] = Zt[we] = Zt[Oe] = Zt[De] = Zt[Ne] = !0, Zt[te] = Zt[ie] = Zt[Ee] = Zt[re] = Zt[be] = Zt[oe] = Zt[se] = Zt[le] = Zt[de] = Zt[ue] = Zt[he] = Zt[me] = Zt[ve] = Zt[ye] = Zt[Ce] = !1;\n var ei = {};\n ei[te] = ei[ie] = ei[Ee] = ei[be] = ei[re] = ei[oe] = ei[Ie] = ei[Pe] = ei[Re] = ei[Ae] = ei[Me] = ei[de] = ei[ue] = ei[he] = ei[me] = ei[ve] = ei[ye] = ei[Se] = ei[we] = ei[Oe] = ei[De] = ei[Ne] = !0, ei[se] = ei[le] = ei[Ce] = !1;\n var ti = {\n \"À\": \"A\",\n \"Á\": \"A\",\n \"Â\": \"A\",\n \"Ã\": \"A\",\n \"Ä\": \"A\",\n \"Å\": \"A\",\n \"à\": \"a\",\n \"á\": \"a\",\n \"â\": \"a\",\n \"ã\": \"a\",\n \"ä\": \"a\",\n \"å\": \"a\",\n \"Ç\": \"C\",\n \"ç\": \"c\",\n \"Ð\": \"D\",\n \"ð\": \"d\",\n \"È\": \"E\",\n \"É\": \"E\",\n \"Ê\": \"E\",\n \"Ë\": \"E\",\n \"è\": \"e\",\n \"é\": \"e\",\n \"ê\": \"e\",\n \"ë\": \"e\",\n \"Ì\": \"I\",\n \"Í\": \"I\",\n \"Î\": \"I\",\n \"Ï\": \"I\",\n \"ì\": \"i\",\n \"í\": \"i\",\n \"î\": \"i\",\n \"ï\": \"i\",\n \"Ñ\": \"N\",\n \"ñ\": \"n\",\n \"Ò\": \"O\",\n \"Ó\": \"O\",\n \"Ô\": \"O\",\n \"Õ\": \"O\",\n \"Ö\": \"O\",\n \"Ø\": \"O\",\n \"ò\": \"o\",\n \"ó\": \"o\",\n \"ô\": \"o\",\n \"õ\": \"o\",\n \"ö\": \"o\",\n \"ø\": \"o\",\n \"Ù\": \"U\",\n \"Ú\": \"U\",\n \"Û\": \"U\",\n \"Ü\": \"U\",\n \"ù\": \"u\",\n \"ú\": \"u\",\n \"û\": \"u\",\n \"ü\": \"u\",\n \"Ý\": \"Y\",\n \"ý\": \"y\",\n \"ÿ\": \"y\",\n \"Æ\": \"Ae\",\n \"æ\": \"ae\",\n \"Þ\": \"Th\",\n \"þ\": \"th\",\n \"ß\": \"ss\",\n \"Ā\": \"A\",\n \"Ă\": \"A\",\n \"Ą\": \"A\",\n \"ā\": \"a\",\n \"ă\": \"a\",\n \"ą\": \"a\",\n \"Ć\": \"C\",\n \"Ĉ\": \"C\",\n \"Ċ\": \"C\",\n \"Č\": \"C\",\n \"ć\": \"c\",\n \"ĉ\": \"c\",\n \"ċ\": \"c\",\n \"č\": \"c\",\n \"Ď\": \"D\",\n \"Đ\": \"D\",\n \"ď\": \"d\",\n \"đ\": \"d\",\n \"Ē\": \"E\",\n \"Ĕ\": \"E\",\n \"Ė\": \"E\",\n \"Ę\": \"E\",\n \"Ě\": \"E\",\n \"ē\": \"e\",\n \"ĕ\": \"e\",\n \"ė\": \"e\",\n \"ę\": \"e\",\n \"ě\": \"e\",\n \"Ĝ\": \"G\",\n \"Ğ\": \"G\",\n \"Ġ\": \"G\",\n \"Ģ\": \"G\",\n \"ĝ\": \"g\",\n \"ğ\": \"g\",\n \"ġ\": \"g\",\n \"ģ\": \"g\",\n \"Ĥ\": \"H\",\n \"Ħ\": \"H\",\n \"ĥ\": \"h\",\n \"ħ\": \"h\",\n \"Ĩ\": \"I\",\n \"Ī\": \"I\",\n \"Ĭ\": \"I\",\n \"Į\": \"I\",\n \"İ\": \"I\",\n \"ĩ\": \"i\",\n \"ī\": \"i\",\n \"ĭ\": \"i\",\n \"į\": \"i\",\n \"ı\": \"i\",\n \"Ĵ\": \"J\",\n \"ĵ\": \"j\",\n \"Ķ\": \"K\",\n \"ķ\": \"k\",\n \"ĸ\": \"k\",\n \"Ĺ\": \"L\",\n \"Ļ\": \"L\",\n \"Ľ\": \"L\",\n \"Ŀ\": \"L\",\n \"Ł\": \"L\",\n \"ĺ\": \"l\",\n \"ļ\": \"l\",\n \"ľ\": \"l\",\n \"ŀ\": \"l\",\n \"ł\": \"l\",\n \"Ń\": \"N\",\n \"Ņ\": \"N\",\n \"Ň\": \"N\",\n \"Ŋ\": \"N\",\n \"ń\": \"n\",\n \"ņ\": \"n\",\n \"ň\": \"n\",\n \"ŋ\": \"n\",\n \"Ō\": \"O\",\n \"Ŏ\": \"O\",\n \"Ő\": \"O\",\n \"ō\": \"o\",\n \"ŏ\": \"o\",\n \"ő\": \"o\",\n \"Ŕ\": \"R\",\n \"Ŗ\": \"R\",\n \"Ř\": \"R\",\n \"ŕ\": \"r\",\n \"ŗ\": \"r\",\n \"ř\": \"r\",\n \"Ś\": \"S\",\n \"Ŝ\": \"S\",\n \"Ş\": \"S\",\n \"Š\": \"S\",\n \"ś\": \"s\",\n \"ŝ\": \"s\",\n \"ş\": \"s\",\n \"š\": \"s\",\n \"Ţ\": \"T\",\n \"Ť\": \"T\",\n \"Ŧ\": \"T\",\n \"ţ\": \"t\",\n \"ť\": \"t\",\n \"ŧ\": \"t\",\n \"Ũ\": \"U\",\n \"Ū\": \"U\",\n \"Ŭ\": \"U\",\n \"Ů\": \"U\",\n \"Ű\": \"U\",\n \"Ų\": \"U\",\n \"ũ\": \"u\",\n \"ū\": \"u\",\n \"ŭ\": \"u\",\n \"ů\": \"u\",\n \"ű\": \"u\",\n \"ų\": \"u\",\n \"Ŵ\": \"W\",\n \"ŵ\": \"w\",\n \"Ŷ\": \"Y\",\n \"ŷ\": \"y\",\n \"Ÿ\": \"Y\",\n \"Ź\": \"Z\",\n \"Ż\": \"Z\",\n \"Ž\": \"Z\",\n \"ź\": \"z\",\n \"ż\": \"z\",\n \"ž\": \"z\",\n \"IJ\": \"IJ\",\n \"ij\": \"ij\",\n \"Œ\": \"Oe\",\n \"œ\": \"oe\",\n \"ʼn\": \"'n\",\n \"ſ\": \"s\"\n },\n ii = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n },\n ni = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \""\": '\"',\n \"'\": \"'\"\n },\n ri = {\n \"\\\\\": \"\\\\\",\n \"'\": \"'\",\n \"\\n\": \"n\",\n \"\\r\": \"r\",\n \"\\u2028\": \"u2028\",\n \"\\u2029\": \"u2029\"\n },\n oi = parseFloat,\n ai = parseInt,\n si = \"object\" == typeof v && v && v.Object === Object && v,\n li = \"object\" == typeof self && self && self.Object === Object && self,\n ci = si || li || Function(\"return this\")(),\n di = g && !g.nodeType && g,\n ui = di && d && !d.nodeType && d,\n pi = ui && ui.exports === di,\n hi = pi && si.process,\n gi = function () {\n try {\n var d = ui && ui.require && ui.require(\"util\").types;\n return d || hi && hi.binding && hi.binding(\"util\");\n } catch (d) {}\n }(),\n fi = gi && gi.isArrayBuffer,\n mi = gi && gi.isDate,\n vi = gi && gi.isMap,\n yi = gi && gi.isRegExp,\n Si = gi && gi.isSet,\n _i = gi && gi.isTypedArray;\n function apply(d, g, f) {\n switch (f.length) {\n case 0:\n return d.call(g);\n case 1:\n return d.call(g, f[0]);\n case 2:\n return d.call(g, f[0], f[1]);\n case 3:\n return d.call(g, f[0], f[1], f[2]);\n }\n return d.apply(g, f);\n }\n function arrayAggregator(d, g, f, m) {\n for (var v = -1, y = null == d ? 0 : d.length; ++v < y;) {\n var S = d[v];\n g(m, S, f(S), d);\n }\n return m;\n }\n function arrayEach(d, g) {\n for (var f = -1, m = null == d ? 0 : d.length; ++f < m && !1 !== g(d[f], f, d););\n return d;\n }\n function arrayEachRight(d, g) {\n for (var f = null == d ? 0 : d.length; f-- && !1 !== g(d[f], f, d););\n return d;\n }\n function arrayEvery(d, g) {\n for (var f = -1, m = null == d ? 0 : d.length; ++f < m;) if (!g(d[f], f, d)) return !1;\n return !0;\n }\n function arrayFilter(d, g) {\n for (var f = -1, m = null == d ? 0 : d.length, v = 0, y = []; ++f < m;) {\n var S = d[f];\n g(S, f, d) && (y[v++] = S);\n }\n return y;\n }\n function arrayIncludes(d, g) {\n return !!(null == d ? 0 : d.length) && baseIndexOf(d, g, 0) > -1;\n }\n function arrayIncludesWith(d, g, f) {\n for (var m = -1, v = null == d ? 0 : d.length; ++m < v;) if (f(g, d[m])) return !0;\n return !1;\n }\n function arrayMap(d, g) {\n for (var f = -1, m = null == d ? 0 : d.length, v = Array(m); ++f < m;) v[f] = g(d[f], f, d);\n return v;\n }\n function arrayPush(d, g) {\n for (var f = -1, m = g.length, v = d.length; ++f < m;) d[v + f] = g[f];\n return d;\n }\n function arrayReduce(d, g, f, m) {\n var v = -1,\n y = null == d ? 0 : d.length;\n for (m && y && (f = d[++v]); ++v < y;) f = g(f, d[v], v, d);\n return f;\n }\n function arrayReduceRight(d, g, f, m) {\n var v = null == d ? 0 : d.length;\n for (m && v && (f = d[--v]); v--;) f = g(f, d[v], v, d);\n return f;\n }\n function arraySome(d, g) {\n for (var f = -1, m = null == d ? 0 : d.length; ++f < m;) if (g(d[f], f, d)) return !0;\n return !1;\n }\n var Ci = baseProperty(\"length\");\n function asciiToArray(d) {\n return d.split(\"\");\n }\n function asciiWords(d) {\n return d.match(et) || [];\n }\n function baseFindKey(d, g, f) {\n var m;\n return f(d, function (d, f, v) {\n if (g(d, f, v)) return m = f, !1;\n }), m;\n }\n function baseFindIndex(d, g, f, m) {\n for (var v = d.length, y = f + (m ? 1 : -1); m ? y-- : ++y < v;) if (g(d[y], y, d)) return y;\n return -1;\n }\n function baseIndexOf(d, g, f) {\n return g == g ? strictIndexOf(d, g, f) : baseFindIndex(d, baseIsNaN, f);\n }\n function baseIndexOfWith(d, g, f, m) {\n for (var v = f - 1, y = d.length; ++v < y;) if (m(d[v], g)) return v;\n return -1;\n }\n function baseIsNaN(d) {\n return d != d;\n }\n function baseMean(d, g) {\n var f = null == d ? 0 : d.length;\n return f ? baseSum(d, g) / f : Q;\n }\n function baseProperty(d) {\n return function (g) {\n return null == g ? f : g[d];\n };\n }\n function basePropertyOf(d) {\n return function (g) {\n return null == d ? f : d[g];\n };\n }\n function baseReduce(d, g, f, m, v) {\n return v(d, function (d, v, y) {\n f = m ? (m = !1, d) : g(f, d, v, y);\n }), f;\n }\n function baseSortBy(d, g) {\n var f = d.length;\n for (d.sort(g); f--;) d[f] = d[f].value;\n return d;\n }\n function baseSum(d, g) {\n for (var m, v = -1, y = d.length; ++v < y;) {\n var S = g(d[v]);\n S !== f && (m = m === f ? S : m + S);\n }\n return m;\n }\n function baseTimes(d, g) {\n for (var f = -1, m = Array(d); ++f < d;) m[f] = g(f);\n return m;\n }\n function baseToPairs(d, g) {\n return arrayMap(g, function (g) {\n return [g, d[g]];\n });\n }\n function baseTrim(d) {\n return d ? d.slice(0, trimmedEndIndex(d) + 1).replace($e, \"\") : d;\n }\n function baseUnary(d) {\n return function (g) {\n return d(g);\n };\n }\n function baseValues(d, g) {\n return arrayMap(g, function (g) {\n return d[g];\n });\n }\n function cacheHas(d, g) {\n return d.has(g);\n }\n function charsStartIndex(d, g) {\n for (var f = -1, m = d.length; ++f < m && baseIndexOf(g, d[f], 0) > -1;);\n return f;\n }\n function charsEndIndex(d, g) {\n for (var f = d.length; f-- && baseIndexOf(g, d[f], 0) > -1;);\n return f;\n }\n function countHolders(d, g) {\n for (var f = d.length, m = 0; f--;) d[f] === g && ++m;\n return m;\n }\n var Ti = basePropertyOf(ti),\n Ei = basePropertyOf(ii);\n function escapeStringChar(d) {\n return \"\\\\\" + ri[d];\n }\n function getValue(d, g) {\n return null == d ? f : d[g];\n }\n function hasUnicode(d) {\n return $t.test(d);\n }\n function hasUnicodeWord(d) {\n return Qt.test(d);\n }\n function iteratorToArray(d) {\n for (var g, f = []; !(g = d.next()).done;) f.push(g.value);\n return f;\n }\n function mapToArray(d) {\n var g = -1,\n f = Array(d.size);\n return d.forEach(function (d, m) {\n f[++g] = [m, d];\n }), f;\n }\n function overArg(d, g) {\n return function (f) {\n return d(g(f));\n };\n }\n function replaceHolders(d, g) {\n for (var f = -1, m = d.length, v = 0, y = []; ++f < m;) {\n var S = d[f];\n S !== g && S !== b || (d[f] = b, y[v++] = f);\n }\n return y;\n }\n function setToArray(d) {\n var g = -1,\n f = Array(d.size);\n return d.forEach(function (d) {\n f[++g] = d;\n }), f;\n }\n function setToPairs(d) {\n var g = -1,\n f = Array(d.size);\n return d.forEach(function (d) {\n f[++g] = [d, d];\n }), f;\n }\n function strictIndexOf(d, g, f) {\n for (var m = f - 1, v = d.length; ++m < v;) if (d[m] === g) return m;\n return -1;\n }\n function strictLastIndexOf(d, g, f) {\n for (var m = f + 1; m--;) if (d[m] === g) return m;\n return m;\n }\n function stringSize(d) {\n return hasUnicode(d) ? unicodeSize(d) : Ci(d);\n }\n function stringToArray(d) {\n return hasUnicode(d) ? unicodeToArray(d) : asciiToArray(d);\n }\n function trimmedEndIndex(d) {\n for (var g = d.length; g-- && Qe.test(d.charAt(g)););\n return g;\n }\n var bi = basePropertyOf(ni);\n function unicodeSize(d) {\n for (var g = Kt.lastIndex = 0; Kt.test(d);) ++g;\n return g;\n }\n function unicodeToArray(d) {\n return d.match(Kt) || [];\n }\n function unicodeWords(d) {\n return d.match(Jt) || [];\n }\n var Ii = function runInContext(d) {\n var g,\n v = (d = null == d ? ci : Pi.defaults(ci.Object(), d, Pi.pick(ci, Yt))).Array,\n Qe = d.Date,\n et = d.Error,\n ht = d.Function,\n gt = d.Math,\n ft = d.Object,\n mt = d.RegExp,\n vt = d.String,\n yt = d.TypeError,\n St = v.prototype,\n _t = ht.prototype,\n Ct = ft.prototype,\n Tt = d[\"__core-js_shared__\"],\n Et = _t.toString,\n bt = Ct.hasOwnProperty,\n It = 0,\n Pt = (g = /[^.]+$/.exec(Tt && Tt.keys && Tt.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + g : \"\",\n Rt = Ct.toString,\n At = Et.call(ft),\n Mt = ci._,\n wt = mt(\"^\" + Et.call(bt).replace(Ke, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"),\n Ot = pi ? d.Buffer : f,\n Dt = d.Symbol,\n Nt = d.Uint8Array,\n Lt = Ot ? Ot.allocUnsafe : f,\n kt = overArg(ft.getPrototypeOf, ft),\n xt = ft.create,\n Ft = Ct.propertyIsEnumerable,\n Ut = St.splice,\n Ht = Dt ? Dt.isConcatSpreadable : f,\n Vt = Dt ? Dt.iterator : f,\n jt = Dt ? Dt.toStringTag : f,\n Bt = function () {\n try {\n var d = getNative(ft, \"defineProperty\");\n return d({}, \"\", {}), d;\n } catch (d) {}\n }(),\n Wt = d.clearTimeout !== ci.clearTimeout && d.clearTimeout,\n Gt = Qe && Qe.now !== ci.Date.now && Qe.now,\n Kt = d.setTimeout !== ci.setTimeout && d.setTimeout,\n Jt = gt.ceil,\n $t = gt.floor,\n Qt = ft.getOwnPropertySymbols,\n ti = Ot ? Ot.isBuffer : f,\n ii = d.isFinite,\n ni = St.join,\n ri = overArg(ft.keys, ft),\n si = gt.max,\n li = gt.min,\n di = Qe.now,\n ui = d.parseInt,\n hi = gt.random,\n gi = St.reverse,\n Ci = getNative(d, \"DataView\"),\n Ii = getNative(d, \"Map\"),\n Ri = getNative(d, \"Promise\"),\n Ai = getNative(d, \"Set\"),\n Mi = getNative(d, \"WeakMap\"),\n wi = getNative(ft, \"create\"),\n Oi = Mi && new Mi(),\n Di = {},\n Ni = toSource(Ci),\n Li = toSource(Ii),\n ki = toSource(Ri),\n xi = toSource(Ai),\n Fi = toSource(Mi),\n Ui = Dt ? Dt.prototype : f,\n Hi = Ui ? Ui.valueOf : f,\n Vi = Ui ? Ui.toString : f;\n function lodash(d) {\n if (isObjectLike(d) && !qn(d) && !(d instanceof LazyWrapper)) {\n if (d instanceof LodashWrapper) return d;\n if (bt.call(d, \"__wrapped__\")) return wrapperClone(d);\n }\n return new LodashWrapper(d);\n }\n var ji = function () {\n function object() {}\n return function (d) {\n if (!isObject(d)) return {};\n if (xt) return xt(d);\n object.prototype = d;\n var g = new object();\n return object.prototype = f, g;\n };\n }();\n function baseLodash() {}\n function LodashWrapper(d, g) {\n this.__wrapped__ = d, this.__actions__ = [], this.__chain__ = !!g, this.__index__ = 0, this.__values__ = f;\n }\n function LazyWrapper(d) {\n this.__wrapped__ = d, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Y, this.__views__ = [];\n }\n function lazyClone() {\n var d = new LazyWrapper(this.__wrapped__);\n return d.__actions__ = copyArray(this.__actions__), d.__dir__ = this.__dir__, d.__filtered__ = this.__filtered__, d.__iteratees__ = copyArray(this.__iteratees__), d.__takeCount__ = this.__takeCount__, d.__views__ = copyArray(this.__views__), d;\n }\n function lazyReverse() {\n if (this.__filtered__) {\n var d = new LazyWrapper(this);\n d.__dir__ = -1, d.__filtered__ = !0;\n } else (d = this.clone()).__dir__ *= -1;\n return d;\n }\n function lazyValue() {\n var d = this.__wrapped__.value(),\n g = this.__dir__,\n f = qn(d),\n m = g < 0,\n v = f ? d.length : 0,\n y = getView(0, v, this.__views__),\n S = y.start,\n _ = y.end,\n C = _ - S,\n T = m ? _ : S - 1,\n E = this.__iteratees__,\n b = E.length,\n I = 0,\n P = li(C, this.__takeCount__);\n if (!f || !m && v == C && P == C) return baseWrapperValue(d, this.__actions__);\n var R = [];\n e: for (; C-- && I < P;) {\n for (var A = -1, M = d[T += g]; ++A < b;) {\n var w = E[A],\n O = w.iteratee,\n D = w.type,\n N = O(M);\n if (D == q) M = N;else if (!N) {\n if (D == G) continue e;\n break e;\n }\n }\n R[I++] = M;\n }\n return R;\n }\n function Hash(d) {\n var g = -1,\n f = null == d ? 0 : d.length;\n for (this.clear(); ++g < f;) {\n var m = d[g];\n this.set(m[0], m[1]);\n }\n }\n function hashClear() {\n this.__data__ = wi ? wi(null) : {}, this.size = 0;\n }\n function hashDelete(d) {\n var g = this.has(d) && delete this.__data__[d];\n return this.size -= g ? 1 : 0, g;\n }\n function hashGet(d) {\n var g = this.__data__;\n if (wi) {\n var m = g[d];\n return m === T ? f : m;\n }\n return bt.call(g, d) ? g[d] : f;\n }\n function hashHas(d) {\n var g = this.__data__;\n return wi ? g[d] !== f : bt.call(g, d);\n }\n function hashSet(d, g) {\n var m = this.__data__;\n return this.size += this.has(d) ? 0 : 1, m[d] = wi && g === f ? T : g, this;\n }\n function ListCache(d) {\n var g = -1,\n f = null == d ? 0 : d.length;\n for (this.clear(); ++g < f;) {\n var m = d[g];\n this.set(m[0], m[1]);\n }\n }\n function listCacheClear() {\n this.__data__ = [], this.size = 0;\n }\n function listCacheDelete(d) {\n var g = this.__data__,\n f = assocIndexOf(g, d);\n return !(f < 0) && (f == g.length - 1 ? g.pop() : Ut.call(g, f, 1), --this.size, !0);\n }\n function listCacheGet(d) {\n var g = this.__data__,\n m = assocIndexOf(g, d);\n return m < 0 ? f : g[m][1];\n }\n function listCacheHas(d) {\n return assocIndexOf(this.__data__, d) > -1;\n }\n function listCacheSet(d, g) {\n var f = this.__data__,\n m = assocIndexOf(f, d);\n return m < 0 ? (++this.size, f.push([d, g])) : f[m][1] = g, this;\n }\n function MapCache(d) {\n var g = -1,\n f = null == d ? 0 : d.length;\n for (this.clear(); ++g < f;) {\n var m = d[g];\n this.set(m[0], m[1]);\n }\n }\n function mapCacheClear() {\n this.size = 0, this.__data__ = {\n hash: new Hash(),\n map: new (Ii || ListCache)(),\n string: new Hash()\n };\n }\n function mapCacheDelete(d) {\n var g = getMapData(this, d).delete(d);\n return this.size -= g ? 1 : 0, g;\n }\n function mapCacheGet(d) {\n return getMapData(this, d).get(d);\n }\n function mapCacheHas(d) {\n return getMapData(this, d).has(d);\n }\n function mapCacheSet(d, g) {\n var f = getMapData(this, d),\n m = f.size;\n return f.set(d, g), this.size += f.size == m ? 0 : 1, this;\n }\n function SetCache(d) {\n var g = -1,\n f = null == d ? 0 : d.length;\n for (this.__data__ = new MapCache(); ++g < f;) this.add(d[g]);\n }\n function setCacheAdd(d) {\n return this.__data__.set(d, T), this;\n }\n function setCacheHas(d) {\n return this.__data__.has(d);\n }\n function Stack(d) {\n var g = this.__data__ = new ListCache(d);\n this.size = g.size;\n }\n function stackClear() {\n this.__data__ = new ListCache(), this.size = 0;\n }\n function stackDelete(d) {\n var g = this.__data__,\n f = g.delete(d);\n return this.size = g.size, f;\n }\n function stackGet(d) {\n return this.__data__.get(d);\n }\n function stackHas(d) {\n return this.__data__.has(d);\n }\n function stackSet(d, g) {\n var f = this.__data__;\n if (f instanceof ListCache) {\n var m = f.__data__;\n if (!Ii || m.length < y - 1) return m.push([d, g]), this.size = ++f.size, this;\n f = this.__data__ = new MapCache(m);\n }\n return f.set(d, g), this.size = f.size, this;\n }\n function arrayLikeKeys(d, g) {\n var f = qn(d),\n m = !f && Gn(d),\n v = !f && !m && Kn(d),\n y = !f && !m && !v && Xn(d),\n S = f || m || v || y,\n _ = S ? baseTimes(d.length, vt) : [],\n C = _.length;\n for (var T in d) !g && !bt.call(d, T) || S && (\"length\" == T || v && (\"offset\" == T || \"parent\" == T) || y && (\"buffer\" == T || \"byteLength\" == T || \"byteOffset\" == T) || isIndex(T, C)) || _.push(T);\n return _;\n }\n function arraySample(d) {\n var g = d.length;\n return g ? d[baseRandom(0, g - 1)] : f;\n }\n function arraySampleSize(d, g) {\n return shuffleSelf(copyArray(d), baseClamp(g, 0, d.length));\n }\n function arrayShuffle(d) {\n return shuffleSelf(copyArray(d));\n }\n function assignMergeValue(d, g, m) {\n (m !== f && !eq(d[g], m) || m === f && !(g in d)) && baseAssignValue(d, g, m);\n }\n function assignValue(d, g, m) {\n var v = d[g];\n bt.call(d, g) && eq(v, m) && (m !== f || g in d) || baseAssignValue(d, g, m);\n }\n function assocIndexOf(d, g) {\n for (var f = d.length; f--;) if (eq(d[f][0], g)) return f;\n return -1;\n }\n function baseAggregator(d, g, f, m) {\n return Bi(d, function (d, v, y) {\n g(m, d, f(d), y);\n }), m;\n }\n function baseAssign(d, g) {\n return d && copyObject(g, keys(g), d);\n }\n function baseAssignIn(d, g) {\n return d && copyObject(g, keysIn(g), d);\n }\n function baseAssignValue(d, g, f) {\n \"__proto__\" == g && Bt ? Bt(d, g, {\n configurable: !0,\n enumerable: !0,\n value: f,\n writable: !0\n }) : d[g] = f;\n }\n function baseAt(d, g) {\n for (var m = -1, y = g.length, S = v(y), _ = null == d; ++m < y;) S[m] = _ ? f : get(d, g[m]);\n return S;\n }\n function baseClamp(d, g, m) {\n return d == d && (m !== f && (d = d <= m ? d : m), g !== f && (d = d >= g ? d : g)), d;\n }\n function baseClone(d, g, m, v, y, S) {\n var _,\n C = g & I,\n T = g & P,\n E = g & R;\n if (m && (_ = y ? m(d, v, y, S) : m(d)), _ !== f) return _;\n if (!isObject(d)) return d;\n var b = qn(d);\n if (b) {\n if (_ = initCloneArray(d), !C) return copyArray(d, _);\n } else {\n var A = en(d),\n M = A == le || A == ce;\n if (Kn(d)) return cloneBuffer(d, C);\n if (A == he || A == te || M && !y) {\n if (_ = T || M ? {} : initCloneObject(d), !C) return T ? copySymbolsIn(d, baseAssignIn(_, d)) : copySymbols(d, baseAssign(_, d));\n } else {\n if (!ei[A]) return y ? d : {};\n _ = initCloneByTag(d, A, C);\n }\n }\n S || (S = new Stack());\n var w = S.get(d);\n if (w) return w;\n S.set(d, _), Yn(d) ? d.forEach(function (f) {\n _.add(baseClone(f, g, m, f, d, S));\n }) : $n(d) && d.forEach(function (f, v) {\n _.set(v, baseClone(f, g, m, v, d, S));\n });\n var O = b ? f : (E ? T ? getAllKeysIn : getAllKeys : T ? keysIn : keys)(d);\n return arrayEach(O || d, function (f, v) {\n O && (f = d[v = f]), assignValue(_, v, baseClone(f, g, m, v, d, S));\n }), _;\n }\n function baseConforms(d) {\n var g = keys(d);\n return function (f) {\n return baseConformsTo(f, d, g);\n };\n }\n function baseConformsTo(d, g, m) {\n var v = m.length;\n if (null == d) return !v;\n for (d = ft(d); v--;) {\n var y = m[v],\n S = g[y],\n _ = d[y];\n if (_ === f && !(y in d) || !S(_)) return !1;\n }\n return !0;\n }\n function baseDelay(d, g, m) {\n if (\"function\" != typeof d) throw new yt(_);\n return rn(function () {\n d.apply(f, m);\n }, g);\n }\n function baseDifference(d, g, f, m) {\n var v = -1,\n S = arrayIncludes,\n _ = !0,\n C = d.length,\n T = [],\n E = g.length;\n if (!C) return T;\n f && (g = arrayMap(g, baseUnary(f))), m ? (S = arrayIncludesWith, _ = !1) : g.length >= y && (S = cacheHas, _ = !1, g = new SetCache(g));\n e: for (; ++v < C;) {\n var b = d[v],\n I = null == f ? b : f(b);\n if (b = m || 0 !== b ? b : 0, _ && I == I) {\n for (var P = E; P--;) if (g[P] === I) continue e;\n T.push(b);\n } else S(g, I, m) || T.push(b);\n }\n return T;\n }\n lodash.templateSettings = {\n escape: je,\n evaluate: Be,\n interpolate: We,\n variable: \"\",\n imports: {\n _: lodash\n }\n }, lodash.prototype = baseLodash.prototype, lodash.prototype.constructor = lodash, LodashWrapper.prototype = ji(baseLodash.prototype), LodashWrapper.prototype.constructor = LodashWrapper, LazyWrapper.prototype = ji(baseLodash.prototype), LazyWrapper.prototype.constructor = LazyWrapper, Hash.prototype.clear = hashClear, Hash.prototype.delete = hashDelete, Hash.prototype.get = hashGet, Hash.prototype.has = hashHas, Hash.prototype.set = hashSet, ListCache.prototype.clear = listCacheClear, ListCache.prototype.delete = listCacheDelete, ListCache.prototype.get = listCacheGet, ListCache.prototype.has = listCacheHas, ListCache.prototype.set = listCacheSet, MapCache.prototype.clear = mapCacheClear, MapCache.prototype.delete = mapCacheDelete, MapCache.prototype.get = mapCacheGet, MapCache.prototype.has = mapCacheHas, MapCache.prototype.set = mapCacheSet, SetCache.prototype.add = SetCache.prototype.push = setCacheAdd, SetCache.prototype.has = setCacheHas, Stack.prototype.clear = stackClear, Stack.prototype.delete = stackDelete, Stack.prototype.get = stackGet, Stack.prototype.has = stackHas, Stack.prototype.set = stackSet;\n var Bi = createBaseEach(baseForOwn),\n Wi = createBaseEach(baseForOwnRight, !0);\n function baseEvery(d, g) {\n var f = !0;\n return Bi(d, function (d, m, v) {\n return f = !!g(d, m, v);\n }), f;\n }\n function baseExtremum(d, g, m) {\n for (var v = -1, y = d.length; ++v < y;) {\n var S = d[v],\n _ = g(S);\n if (null != _ && (C === f ? _ == _ && !isSymbol(_) : m(_, C))) var C = _,\n T = S;\n }\n return T;\n }\n function baseFill(d, g, m, v) {\n var y = d.length;\n for ((m = toInteger(m)) < 0 && (m = -m > y ? 0 : y + m), (v = v === f || v > y ? y : toInteger(v)) < 0 && (v += y), v = m > v ? 0 : toLength(v); m < v;) d[m++] = g;\n return d;\n }\n function baseFilter(d, g) {\n var f = [];\n return Bi(d, function (d, m, v) {\n g(d, m, v) && f.push(d);\n }), f;\n }\n function baseFlatten(d, g, f, m, v) {\n var y = -1,\n S = d.length;\n for (f || (f = isFlattenable), v || (v = []); ++y < S;) {\n var _ = d[y];\n g > 0 && f(_) ? g > 1 ? baseFlatten(_, g - 1, f, m, v) : arrayPush(v, _) : m || (v[v.length] = _);\n }\n return v;\n }\n var Gi = createBaseFor(),\n qi = createBaseFor(!0);\n function baseForOwn(d, g) {\n return d && Gi(d, g, keys);\n }\n function baseForOwnRight(d, g) {\n return d && qi(d, g, keys);\n }\n function baseFunctions(d, g) {\n return arrayFilter(g, function (g) {\n return isFunction(d[g]);\n });\n }\n function baseGet(d, g) {\n for (var m = 0, v = (g = castPath(g, d)).length; null != d && m < v;) d = d[toKey(g[m++])];\n return m && m == v ? d : f;\n }\n function baseGetAllKeys(d, g, f) {\n var m = g(d);\n return qn(d) ? m : arrayPush(m, f(d));\n }\n function baseGetTag(d) {\n return null == d ? d === f ? _e : pe : jt && jt in ft(d) ? getRawTag(d) : objectToString(d);\n }\n function baseGt(d, g) {\n return d > g;\n }\n function baseHas(d, g) {\n return null != d && bt.call(d, g);\n }\n function baseHasIn(d, g) {\n return null != d && g in ft(d);\n }\n function baseInRange(d, g, f) {\n return d >= li(g, f) && d < si(g, f);\n }\n function baseIntersection(d, g, m) {\n for (var y = m ? arrayIncludesWith : arrayIncludes, S = d[0].length, _ = d.length, C = _, T = v(_), E = 1 / 0, b = []; C--;) {\n var I = d[C];\n C && g && (I = arrayMap(I, baseUnary(g))), E = li(I.length, E), T[C] = !m && (g || S >= 120 && I.length >= 120) ? new SetCache(C && I) : f;\n }\n I = d[0];\n var P = -1,\n R = T[0];\n e: for (; ++P < S && b.length < E;) {\n var A = I[P],\n M = g ? g(A) : A;\n if (A = m || 0 !== A ? A : 0, !(R ? cacheHas(R, M) : y(b, M, m))) {\n for (C = _; --C;) {\n var w = T[C];\n if (!(w ? cacheHas(w, M) : y(d[C], M, m))) continue e;\n }\n R && R.push(M), b.push(A);\n }\n }\n return b;\n }\n function baseInverter(d, g, f, m) {\n return baseForOwn(d, function (d, v, y) {\n g(m, f(d), v, y);\n }), m;\n }\n function baseInvoke(d, g, m) {\n var v = null == (d = parent(d, g = castPath(g, d))) ? d : d[toKey(last(g))];\n return null == v ? f : apply(v, d, m);\n }\n function baseIsArguments(d) {\n return isObjectLike(d) && baseGetTag(d) == te;\n }\n function baseIsArrayBuffer(d) {\n return isObjectLike(d) && baseGetTag(d) == Ee;\n }\n function baseIsDate(d) {\n return isObjectLike(d) && baseGetTag(d) == oe;\n }\n function baseIsEqual(d, g, f, m, v) {\n return d === g || (null == d || null == g || !isObjectLike(d) && !isObjectLike(g) ? d != d && g != g : baseIsEqualDeep(d, g, f, m, baseIsEqual, v));\n }\n function baseIsEqualDeep(d, g, f, m, v, y) {\n var S = qn(d),\n _ = qn(g),\n C = S ? ie : en(d),\n T = _ ? ie : en(g),\n E = (C = C == te ? he : C) == he,\n b = (T = T == te ? he : T) == he,\n I = C == T;\n if (I && Kn(d)) {\n if (!Kn(g)) return !1;\n S = !0, E = !1;\n }\n if (I && !E) return y || (y = new Stack()), S || Xn(d) ? equalArrays(d, g, f, m, v, y) : equalByTag(d, g, C, f, m, v, y);\n if (!(f & A)) {\n var P = E && bt.call(d, \"__wrapped__\"),\n R = b && bt.call(g, \"__wrapped__\");\n if (P || R) {\n var M = P ? d.value() : d,\n w = R ? g.value() : g;\n return y || (y = new Stack()), v(M, w, f, m, y);\n }\n }\n return !!I && (y || (y = new Stack()), equalObjects(d, g, f, m, v, y));\n }\n function baseIsMap(d) {\n return isObjectLike(d) && en(d) == de;\n }\n function baseIsMatch(d, g, m, v) {\n var y = m.length,\n S = y,\n _ = !v;\n if (null == d) return !S;\n for (d = ft(d); y--;) {\n var C = m[y];\n if (_ && C[2] ? C[1] !== d[C[0]] : !(C[0] in d)) return !1;\n }\n for (; ++y < S;) {\n var T = (C = m[y])[0],\n E = d[T],\n b = C[1];\n if (_ && C[2]) {\n if (E === f && !(T in d)) return !1;\n } else {\n var I = new Stack();\n if (v) var P = v(E, b, T, d, g, I);\n if (!(P === f ? baseIsEqual(b, E, A | M, v, I) : P)) return !1;\n }\n }\n return !0;\n }\n function baseIsNative(d) {\n return !(!isObject(d) || isMasked(d)) && (isFunction(d) ? wt : st).test(toSource(d));\n }\n function baseIsRegExp(d) {\n return isObjectLike(d) && baseGetTag(d) == me;\n }\n function baseIsSet(d) {\n return isObjectLike(d) && en(d) == ve;\n }\n function baseIsTypedArray(d) {\n return isObjectLike(d) && isLength(d.length) && !!Zt[baseGetTag(d)];\n }\n function baseIteratee(d) {\n return \"function\" == typeof d ? d : null == d ? identity : \"object\" == typeof d ? qn(d) ? baseMatchesProperty(d[0], d[1]) : baseMatches(d) : property(d);\n }\n function baseKeys(d) {\n if (!isPrototype(d)) return ri(d);\n var g = [];\n for (var f in ft(d)) bt.call(d, f) && \"constructor\" != f && g.push(f);\n return g;\n }\n function baseKeysIn(d) {\n if (!isObject(d)) return nativeKeysIn(d);\n var g = isPrototype(d),\n f = [];\n for (var m in d) (\"constructor\" != m || !g && bt.call(d, m)) && f.push(m);\n return f;\n }\n function baseLt(d, g) {\n return d < g;\n }\n function baseMap(d, g) {\n var f = -1,\n m = isArrayLike(d) ? v(d.length) : [];\n return Bi(d, function (d, v, y) {\n m[++f] = g(d, v, y);\n }), m;\n }\n function baseMatches(d) {\n var g = getMatchData(d);\n return 1 == g.length && g[0][2] ? matchesStrictComparable(g[0][0], g[0][1]) : function (f) {\n return f === d || baseIsMatch(f, d, g);\n };\n }\n function baseMatchesProperty(d, g) {\n return isKey(d) && isStrictComparable(g) ? matchesStrictComparable(toKey(d), g) : function (m) {\n var v = get(m, d);\n return v === f && v === g ? hasIn(m, d) : baseIsEqual(g, v, A | M);\n };\n }\n function baseMerge(d, g, m, v, y) {\n d !== g && Gi(g, function (S, _) {\n if (y || (y = new Stack()), isObject(S)) baseMergeDeep(d, g, _, m, baseMerge, v, y);else {\n var C = v ? v(safeGet(d, _), S, _ + \"\", d, g, y) : f;\n C === f && (C = S), assignMergeValue(d, _, C);\n }\n }, keysIn);\n }\n function baseMergeDeep(d, g, m, v, y, S, _) {\n var C = safeGet(d, m),\n T = safeGet(g, m),\n E = _.get(T);\n if (E) assignMergeValue(d, m, E);else {\n var b = S ? S(C, T, m + \"\", d, g, _) : f,\n I = b === f;\n if (I) {\n var P = qn(T),\n R = !P && Kn(T),\n A = !P && !R && Xn(T);\n b = T, P || R || A ? qn(C) ? b = C : isArrayLikeObject(C) ? b = copyArray(C) : R ? (I = !1, b = cloneBuffer(T, !0)) : A ? (I = !1, b = cloneTypedArray(T, !0)) : b = [] : isPlainObject(T) || Gn(T) ? (b = C, Gn(C) ? b = toPlainObject(C) : isObject(C) && !isFunction(C) || (b = initCloneObject(T))) : I = !1;\n }\n I && (_.set(T, b), y(b, T, v, S, _), _.delete(T)), assignMergeValue(d, m, b);\n }\n }\n function baseNth(d, g) {\n var m = d.length;\n if (m) return isIndex(g += g < 0 ? m : 0, m) ? d[g] : f;\n }\n function baseOrderBy(d, g, f) {\n g = g.length ? arrayMap(g, function (d) {\n return qn(d) ? function (g) {\n return baseGet(g, 1 === d.length ? d[0] : d);\n } : d;\n }) : [identity];\n var m = -1;\n g = arrayMap(g, baseUnary(getIteratee()));\n var v = baseMap(d, function (d, f, v) {\n var y = arrayMap(g, function (g) {\n return g(d);\n });\n return {\n criteria: y,\n index: ++m,\n value: d\n };\n });\n return baseSortBy(v, function (d, g) {\n return compareMultiple(d, g, f);\n });\n }\n function basePick(d, g) {\n return basePickBy(d, g, function (g, f) {\n return hasIn(d, f);\n });\n }\n function basePickBy(d, g, f) {\n for (var m = -1, v = g.length, y = {}; ++m < v;) {\n var S = g[m],\n _ = baseGet(d, S);\n f(_, S) && baseSet(y, castPath(S, d), _);\n }\n return y;\n }\n function basePropertyDeep(d) {\n return function (g) {\n return baseGet(g, d);\n };\n }\n function basePullAll(d, g, f, m) {\n var v = m ? baseIndexOfWith : baseIndexOf,\n y = -1,\n S = g.length,\n _ = d;\n for (d === g && (g = copyArray(g)), f && (_ = arrayMap(d, baseUnary(f))); ++y < S;) for (var C = 0, T = g[y], E = f ? f(T) : T; (C = v(_, E, C, m)) > -1;) _ !== d && Ut.call(_, C, 1), Ut.call(d, C, 1);\n return d;\n }\n function basePullAt(d, g) {\n for (var f = d ? g.length : 0, m = f - 1; f--;) {\n var v = g[f];\n if (f == m || v !== y) {\n var y = v;\n isIndex(v) ? Ut.call(d, v, 1) : baseUnset(d, v);\n }\n }\n return d;\n }\n function baseRandom(d, g) {\n return d + $t(hi() * (g - d + 1));\n }\n function baseRange(d, g, f, m) {\n for (var y = -1, S = si(Jt((g - d) / (f || 1)), 0), _ = v(S); S--;) _[m ? S : ++y] = d, d += f;\n return _;\n }\n function baseRepeat(d, g) {\n var f = \"\";\n if (!d || g < 1 || g > J) return f;\n do {\n g % 2 && (f += d), (g = $t(g / 2)) && (d += d);\n } while (g);\n return f;\n }\n function baseRest(d, g) {\n return on(overRest(d, g, identity), d + \"\");\n }\n function baseSample(d) {\n return arraySample(values(d));\n }\n function baseSampleSize(d, g) {\n var f = values(d);\n return shuffleSelf(f, baseClamp(g, 0, f.length));\n }\n function baseSet(d, g, m, v) {\n if (!isObject(d)) return d;\n for (var y = -1, S = (g = castPath(g, d)).length, _ = S - 1, C = d; null != C && ++y < S;) {\n var T = toKey(g[y]),\n E = m;\n if (\"__proto__\" === T || \"constructor\" === T || \"prototype\" === T) return d;\n if (y != _) {\n var b = C[T];\n (E = v ? v(b, T, C) : f) === f && (E = isObject(b) ? b : isIndex(g[y + 1]) ? [] : {});\n }\n assignValue(C, T, E), C = C[T];\n }\n return d;\n }\n var zi = Oi ? function (d, g) {\n return Oi.set(d, g), d;\n } : identity,\n Ki = Bt ? function (d, g) {\n return Bt(d, \"toString\", {\n configurable: !0,\n enumerable: !1,\n value: constant(g),\n writable: !0\n });\n } : identity;\n function baseShuffle(d) {\n return shuffleSelf(values(d));\n }\n function baseSlice(d, g, f) {\n var m = -1,\n y = d.length;\n g < 0 && (g = -g > y ? 0 : y + g), (f = f > y ? y : f) < 0 && (f += y), y = g > f ? 0 : f - g >>> 0, g >>>= 0;\n for (var S = v(y); ++m < y;) S[m] = d[m + g];\n return S;\n }\n function baseSome(d, g) {\n var f;\n return Bi(d, function (d, m, v) {\n return !(f = g(d, m, v));\n }), !!f;\n }\n function baseSortedIndex(d, g, f) {\n var m = 0,\n v = null == d ? m : d.length;\n if (\"number\" == typeof g && g == g && v <= Z) {\n for (; m < v;) {\n var y = m + v >>> 1,\n S = d[y];\n null !== S && !isSymbol(S) && (f ? S <= g : S < g) ? m = y + 1 : v = y;\n }\n return v;\n }\n return baseSortedIndexBy(d, g, identity, f);\n }\n function baseSortedIndexBy(d, g, m, v) {\n var y = 0,\n S = null == d ? 0 : d.length;\n if (0 === S) return 0;\n for (var _ = (g = m(g)) != g, C = null === g, T = isSymbol(g), E = g === f; y < S;) {\n var b = $t((y + S) / 2),\n I = m(d[b]),\n P = I !== f,\n R = null === I,\n A = I == I,\n M = isSymbol(I);\n if (_) var w = v || A;else w = E ? A && (v || P) : C ? A && P && (v || !R) : T ? A && P && !R && (v || !M) : !R && !M && (v ? I <= g : I < g);\n w ? y = b + 1 : S = b;\n }\n return li(S, X);\n }\n function baseSortedUniq(d, g) {\n for (var f = -1, m = d.length, v = 0, y = []; ++f < m;) {\n var S = d[f],\n _ = g ? g(S) : S;\n if (!f || !eq(_, C)) {\n var C = _;\n y[v++] = 0 === S ? 0 : S;\n }\n }\n return y;\n }\n function baseToNumber(d) {\n return \"number\" == typeof d ? d : isSymbol(d) ? Q : +d;\n }\n function baseToString(d) {\n if (\"string\" == typeof d) return d;\n if (qn(d)) return arrayMap(d, baseToString) + \"\";\n if (isSymbol(d)) return Vi ? Vi.call(d) : \"\";\n var g = d + \"\";\n return \"0\" == g && 1 / d == -K ? \"-0\" : g;\n }\n function baseUniq(d, g, f) {\n var m = -1,\n v = arrayIncludes,\n S = d.length,\n _ = !0,\n C = [],\n T = C;\n if (f) _ = !1, v = arrayIncludesWith;else if (S >= y) {\n var E = g ? null : Qi(d);\n if (E) return setToArray(E);\n _ = !1, v = cacheHas, T = new SetCache();\n } else T = g ? [] : C;\n e: for (; ++m < S;) {\n var b = d[m],\n I = g ? g(b) : b;\n if (b = f || 0 !== b ? b : 0, _ && I == I) {\n for (var P = T.length; P--;) if (T[P] === I) continue e;\n g && T.push(I), C.push(b);\n } else v(T, I, f) || (T !== C && T.push(I), C.push(b));\n }\n return C;\n }\n function baseUnset(d, g) {\n return null == (d = parent(d, g = castPath(g, d))) || delete d[toKey(last(g))];\n }\n function baseUpdate(d, g, f, m) {\n return baseSet(d, g, f(baseGet(d, g)), m);\n }\n function baseWhile(d, g, f, m) {\n for (var v = d.length, y = m ? v : -1; (m ? y-- : ++y < v) && g(d[y], y, d););\n return f ? baseSlice(d, m ? 0 : y, m ? y + 1 : v) : baseSlice(d, m ? y + 1 : 0, m ? v : y);\n }\n function baseWrapperValue(d, g) {\n var f = d;\n return f instanceof LazyWrapper && (f = f.value()), arrayReduce(g, function (d, g) {\n return g.func.apply(g.thisArg, arrayPush([d], g.args));\n }, f);\n }\n function baseXor(d, g, f) {\n var m = d.length;\n if (m < 2) return m ? baseUniq(d[0]) : [];\n for (var y = -1, S = v(m); ++y < m;) for (var _ = d[y], C = -1; ++C < m;) C != y && (S[y] = baseDifference(S[y] || _, d[C], g, f));\n return baseUniq(baseFlatten(S, 1), g, f);\n }\n function baseZipObject(d, g, m) {\n for (var v = -1, y = d.length, S = g.length, _ = {}; ++v < y;) {\n var C = v < S ? g[v] : f;\n m(_, d[v], C);\n }\n return _;\n }\n function castArrayLikeObject(d) {\n return isArrayLikeObject(d) ? d : [];\n }\n function castFunction(d) {\n return \"function\" == typeof d ? d : identity;\n }\n function castPath(d, g) {\n return qn(d) ? d : isKey(d, g) ? [d] : an(toString(d));\n }\n var Ji = baseRest;\n function castSlice(d, g, m) {\n var v = d.length;\n return m = m === f ? v : m, !g && m >= v ? d : baseSlice(d, g, m);\n }\n var $i = Wt || function (d) {\n return ci.clearTimeout(d);\n };\n function cloneBuffer(d, g) {\n if (g) return d.slice();\n var f = d.length,\n m = Lt ? Lt(f) : new d.constructor(f);\n return d.copy(m), m;\n }\n function cloneArrayBuffer(d) {\n var g = new d.constructor(d.byteLength);\n return new Nt(g).set(new Nt(d)), g;\n }\n function cloneDataView(d, g) {\n var f = g ? cloneArrayBuffer(d.buffer) : d.buffer;\n return new d.constructor(f, d.byteOffset, d.byteLength);\n }\n function cloneRegExp(d) {\n var g = new d.constructor(d.source, rt.exec(d));\n return g.lastIndex = d.lastIndex, g;\n }\n function cloneSymbol(d) {\n return Hi ? ft(Hi.call(d)) : {};\n }\n function cloneTypedArray(d, g) {\n var f = g ? cloneArrayBuffer(d.buffer) : d.buffer;\n return new d.constructor(f, d.byteOffset, d.length);\n }\n function compareAscending(d, g) {\n if (d !== g) {\n var m = d !== f,\n v = null === d,\n y = d == d,\n S = isSymbol(d),\n _ = g !== f,\n C = null === g,\n T = g == g,\n E = isSymbol(g);\n if (!C && !E && !S && d > g || S && _ && T && !C && !E || v && _ && T || !m && T || !y) return 1;\n if (!v && !S && !E && d < g || E && m && y && !v && !S || C && m && y || !_ && y || !T) return -1;\n }\n return 0;\n }\n function compareMultiple(d, g, f) {\n for (var m = -1, v = d.criteria, y = g.criteria, S = v.length, _ = f.length; ++m < S;) {\n var C = compareAscending(v[m], y[m]);\n if (C) return m >= _ ? C : C * (\"desc\" == f[m] ? -1 : 1);\n }\n return d.index - g.index;\n }\n function composeArgs(d, g, f, m) {\n for (var y = -1, S = d.length, _ = f.length, C = -1, T = g.length, E = si(S - _, 0), b = v(T + E), I = !m; ++C < T;) b[C] = g[C];\n for (; ++y < _;) (I || y < S) && (b[f[y]] = d[y]);\n for (; E--;) b[C++] = d[y++];\n return b;\n }\n function composeArgsRight(d, g, f, m) {\n for (var y = -1, S = d.length, _ = -1, C = f.length, T = -1, E = g.length, b = si(S - C, 0), I = v(b + E), P = !m; ++y < b;) I[y] = d[y];\n for (var R = y; ++T < E;) I[R + T] = g[T];\n for (; ++_ < C;) (P || y < S) && (I[R + f[_]] = d[y++]);\n return I;\n }\n function copyArray(d, g) {\n var f = -1,\n m = d.length;\n for (g || (g = v(m)); ++f < m;) g[f] = d[f];\n return g;\n }\n function copyObject(d, g, m, v) {\n var y = !m;\n m || (m = {});\n for (var S = -1, _ = g.length; ++S < _;) {\n var C = g[S],\n T = v ? v(m[C], d[C], C, m, d) : f;\n T === f && (T = d[C]), y ? baseAssignValue(m, C, T) : assignValue(m, C, T);\n }\n return m;\n }\n function copySymbols(d, g) {\n return copyObject(d, Xi(d), g);\n }\n function copySymbolsIn(d, g) {\n return copyObject(d, Zi(d), g);\n }\n function createAggregator(d, g) {\n return function (f, m) {\n var v = qn(f) ? arrayAggregator : baseAggregator,\n y = g ? g() : {};\n return v(f, d, getIteratee(m, 2), y);\n };\n }\n function createAssigner(d) {\n return baseRest(function (g, m) {\n var v = -1,\n y = m.length,\n S = y > 1 ? m[y - 1] : f,\n _ = y > 2 ? m[2] : f;\n for (S = d.length > 3 && \"function\" == typeof S ? (y--, S) : f, _ && isIterateeCall(m[0], m[1], _) && (S = y < 3 ? f : S, y = 1), g = ft(g); ++v < y;) {\n var C = m[v];\n C && d(g, C, v, S);\n }\n return g;\n });\n }\n function createBaseEach(d, g) {\n return function (f, m) {\n if (null == f) return f;\n if (!isArrayLike(f)) return d(f, m);\n for (var v = f.length, y = g ? v : -1, S = ft(f); (g ? y-- : ++y < v) && !1 !== m(S[y], y, S););\n return f;\n };\n }\n function createBaseFor(d) {\n return function (g, f, m) {\n for (var v = -1, y = ft(g), S = m(g), _ = S.length; _--;) {\n var C = S[d ? _ : ++v];\n if (!1 === f(y[C], C, y)) break;\n }\n return g;\n };\n }\n function createBind(d, g, f) {\n var m = g & w,\n v = createCtor(d);\n function wrapper() {\n return (this && this !== ci && this instanceof wrapper ? v : d).apply(m ? f : this, arguments);\n }\n return wrapper;\n }\n function createCaseFirst(d) {\n return function (g) {\n var m = hasUnicode(g = toString(g)) ? stringToArray(g) : f,\n v = m ? m[0] : g.charAt(0),\n y = m ? castSlice(m, 1).join(\"\") : g.slice(1);\n return v[d]() + y;\n };\n }\n function createCompounder(d) {\n return function (g) {\n return arrayReduce(words(deburr(g).replace(qt, \"\")), d, \"\");\n };\n }\n function createCtor(d) {\n return function () {\n var g = arguments;\n switch (g.length) {\n case 0:\n return new d();\n case 1:\n return new d(g[0]);\n case 2:\n return new d(g[0], g[1]);\n case 3:\n return new d(g[0], g[1], g[2]);\n case 4:\n return new d(g[0], g[1], g[2], g[3]);\n case 5:\n return new d(g[0], g[1], g[2], g[3], g[4]);\n case 6:\n return new d(g[0], g[1], g[2], g[3], g[4], g[5]);\n case 7:\n return new d(g[0], g[1], g[2], g[3], g[4], g[5], g[6]);\n }\n var f = ji(d.prototype),\n m = d.apply(f, g);\n return isObject(m) ? m : f;\n };\n }\n function createCurry(d, g, m) {\n var y = createCtor(d);\n function wrapper() {\n for (var S = arguments.length, _ = v(S), C = S, T = getHolder(wrapper); C--;) _[C] = arguments[C];\n var E = S < 3 && _[0] !== T && _[S - 1] !== T ? [] : replaceHolders(_, T);\n return (S -= E.length) < m ? createRecurry(d, g, createHybrid, wrapper.placeholder, f, _, E, f, f, m - S) : apply(this && this !== ci && this instanceof wrapper ? y : d, this, _);\n }\n return wrapper;\n }\n function createFind(d) {\n return function (g, m, v) {\n var y = ft(g);\n if (!isArrayLike(g)) {\n var S = getIteratee(m, 3);\n g = keys(g), m = function (d) {\n return S(y[d], d, y);\n };\n }\n var _ = d(g, m, v);\n return _ > -1 ? y[S ? g[_] : _] : f;\n };\n }\n function createFlow(d) {\n return flatRest(function (g) {\n var m = g.length,\n v = m,\n y = LodashWrapper.prototype.thru;\n for (d && g.reverse(); v--;) {\n var S = g[v];\n if (\"function\" != typeof S) throw new yt(_);\n if (y && !C && \"wrapper\" == getFuncName(S)) var C = new LodashWrapper([], !0);\n }\n for (v = C ? v : m; ++v < m;) {\n var T = getFuncName(S = g[v]),\n E = \"wrapper\" == T ? Yi(S) : f;\n C = E && isLaziable(E[0]) && E[1] == (F | N | k | U) && !E[4].length && 1 == E[9] ? C[getFuncName(E[0])].apply(C, E[3]) : 1 == S.length && isLaziable(S) ? C[T]() : C.thru(S);\n }\n return function () {\n var d = arguments,\n f = d[0];\n if (C && 1 == d.length && qn(f)) return C.plant(f).value();\n for (var v = 0, y = m ? g[v].apply(this, d) : f; ++v < m;) y = g[v].call(this, y);\n return y;\n };\n });\n }\n function createHybrid(d, g, m, y, S, _, C, T, E, b) {\n var I = g & F,\n P = g & w,\n R = g & O,\n A = g & (N | L),\n M = g & H,\n D = R ? f : createCtor(d);\n function wrapper() {\n for (var f = arguments.length, w = v(f), O = f; O--;) w[O] = arguments[O];\n if (A) var N = getHolder(wrapper),\n L = countHolders(w, N);\n if (y && (w = composeArgs(w, y, S, A)), _ && (w = composeArgsRight(w, _, C, A)), f -= L, A && f < b) {\n var k = replaceHolders(w, N);\n return createRecurry(d, g, createHybrid, wrapper.placeholder, m, w, k, T, E, b - f);\n }\n var x = P ? m : this,\n F = R ? x[d] : d;\n return f = w.length, T ? w = reorder(w, T) : M && f > 1 && w.reverse(), I && E < f && (w.length = E), this && this !== ci && this instanceof wrapper && (F = D || createCtor(F)), F.apply(x, w);\n }\n return wrapper;\n }\n function createInverter(d, g) {\n return function (f, m) {\n return baseInverter(f, d, g(m), {});\n };\n }\n function createMathOperation(d, g) {\n return function (m, v) {\n var y;\n if (m === f && v === f) return g;\n if (m !== f && (y = m), v !== f) {\n if (y === f) return v;\n \"string\" == typeof m || \"string\" == typeof v ? (m = baseToString(m), v = baseToString(v)) : (m = baseToNumber(m), v = baseToNumber(v)), y = d(m, v);\n }\n return y;\n };\n }\n function createOver(d) {\n return flatRest(function (g) {\n return g = arrayMap(g, baseUnary(getIteratee())), baseRest(function (f) {\n var m = this;\n return d(g, function (d) {\n return apply(d, m, f);\n });\n });\n });\n }\n function createPadding(d, g) {\n var m = (g = g === f ? \" \" : baseToString(g)).length;\n if (m < 2) return m ? baseRepeat(g, d) : g;\n var v = baseRepeat(g, Jt(d / stringSize(g)));\n return hasUnicode(g) ? castSlice(stringToArray(v), 0, d).join(\"\") : v.slice(0, d);\n }\n function createPartial(d, g, f, m) {\n var y = g & w,\n S = createCtor(d);\n function wrapper() {\n for (var g = -1, _ = arguments.length, C = -1, T = m.length, E = v(T + _), b = this && this !== ci && this instanceof wrapper ? S : d; ++C < T;) E[C] = m[C];\n for (; _--;) E[C++] = arguments[++g];\n return apply(b, y ? f : this, E);\n }\n return wrapper;\n }\n function createRange(d) {\n return function (g, m, v) {\n return v && \"number\" != typeof v && isIterateeCall(g, m, v) && (m = v = f), g = toFinite(g), m === f ? (m = g, g = 0) : m = toFinite(m), baseRange(g, m, v = v === f ? g < m ? 1 : -1 : toFinite(v), d);\n };\n }\n function createRelationalOperation(d) {\n return function (g, f) {\n return \"string\" == typeof g && \"string\" == typeof f || (g = toNumber(g), f = toNumber(f)), d(g, f);\n };\n }\n function createRecurry(d, g, m, v, y, S, _, C, T, E) {\n var b = g & N;\n g |= b ? k : x, (g &= ~(b ? x : k)) & D || (g &= ~(w | O));\n var I = [d, g, y, b ? S : f, b ? _ : f, b ? f : S, b ? f : _, C, T, E],\n P = m.apply(f, I);\n return isLaziable(d) && nn(P, I), P.placeholder = v, setWrapToString(P, d, g);\n }\n function createRound(d) {\n var g = gt[d];\n return function (d, f) {\n if (d = toNumber(d), (f = null == f ? 0 : li(toInteger(f), 292)) && ii(d)) {\n var m = (toString(d) + \"e\").split(\"e\");\n return +((m = (toString(g(m[0] + \"e\" + (+m[1] + f))) + \"e\").split(\"e\"))[0] + \"e\" + (+m[1] - f));\n }\n return g(d);\n };\n }\n var Qi = Ai && 1 / setToArray(new Ai([, -0]))[1] == K ? function (d) {\n return new Ai(d);\n } : noop;\n function createToPairs(d) {\n return function (g) {\n var f = en(g);\n return f == de ? mapToArray(g) : f == ve ? setToPairs(g) : baseToPairs(g, d(g));\n };\n }\n function createWrap(d, g, m, v, y, S, C, T) {\n var E = g & O;\n if (!E && \"function\" != typeof d) throw new yt(_);\n var b = v ? v.length : 0;\n if (b || (g &= ~(k | x), v = y = f), C = C === f ? C : si(toInteger(C), 0), T = T === f ? T : toInteger(T), b -= y ? y.length : 0, g & x) {\n var I = v,\n P = y;\n v = y = f;\n }\n var R = E ? f : Yi(d),\n A = [d, g, m, v, y, I, P, S, C, T];\n if (R && mergeData(A, R), d = A[0], g = A[1], m = A[2], v = A[3], y = A[4], !(T = A[9] = A[9] === f ? E ? 0 : d.length : si(A[9] - b, 0)) && g & (N | L) && (g &= ~(N | L)), g && g != w) M = g == N || g == L ? createCurry(d, g, T) : g != k && g != (w | k) || y.length ? createHybrid.apply(f, A) : createPartial(d, g, m, v);else var M = createBind(d, g, m);\n return setWrapToString((R ? zi : nn)(M, A), d, g);\n }\n function customDefaultsAssignIn(d, g, m, v) {\n return d === f || eq(d, Ct[m]) && !bt.call(v, m) ? g : d;\n }\n function customDefaultsMerge(d, g, m, v, y, S) {\n return isObject(d) && isObject(g) && (S.set(g, d), baseMerge(d, g, f, customDefaultsMerge, S), S.delete(g)), d;\n }\n function customOmitClone(d) {\n return isPlainObject(d) ? f : d;\n }\n function equalArrays(d, g, m, v, y, S) {\n var _ = m & A,\n C = d.length,\n T = g.length;\n if (C != T && !(_ && T > C)) return !1;\n var E = S.get(d),\n b = S.get(g);\n if (E && b) return E == g && b == d;\n var I = -1,\n P = !0,\n R = m & M ? new SetCache() : f;\n for (S.set(d, g), S.set(g, d); ++I < C;) {\n var w = d[I],\n O = g[I];\n if (v) var D = _ ? v(O, w, I, g, d, S) : v(w, O, I, d, g, S);\n if (D !== f) {\n if (D) continue;\n P = !1;\n break;\n }\n if (R) {\n if (!arraySome(g, function (d, g) {\n if (!cacheHas(R, g) && (w === d || y(w, d, m, v, S))) return R.push(g);\n })) {\n P = !1;\n break;\n }\n } else if (w !== O && !y(w, O, m, v, S)) {\n P = !1;\n break;\n }\n }\n return S.delete(d), S.delete(g), P;\n }\n function equalByTag(d, g, f, m, v, y, S) {\n switch (f) {\n case be:\n if (d.byteLength != g.byteLength || d.byteOffset != g.byteOffset) return !1;\n d = d.buffer, g = g.buffer;\n case Ee:\n return !(d.byteLength != g.byteLength || !y(new Nt(d), new Nt(g)));\n case re:\n case oe:\n case ue:\n return eq(+d, +g);\n case se:\n return d.name == g.name && d.message == g.message;\n case me:\n case ye:\n return d == g + \"\";\n case de:\n var _ = mapToArray;\n case ve:\n var C = m & A;\n if (_ || (_ = setToArray), d.size != g.size && !C) return !1;\n var T = S.get(d);\n if (T) return T == g;\n m |= M, S.set(d, g);\n var E = equalArrays(_(d), _(g), m, v, y, S);\n return S.delete(d), E;\n case Se:\n if (Hi) return Hi.call(d) == Hi.call(g);\n }\n return !1;\n }\n function equalObjects(d, g, m, v, y, S) {\n var _ = m & A,\n C = getAllKeys(d),\n T = C.length;\n if (T != getAllKeys(g).length && !_) return !1;\n for (var E = T; E--;) {\n var b = C[E];\n if (!(_ ? b in g : bt.call(g, b))) return !1;\n }\n var I = S.get(d),\n P = S.get(g);\n if (I && P) return I == g && P == d;\n var R = !0;\n S.set(d, g), S.set(g, d);\n for (var M = _; ++E < T;) {\n var w = d[b = C[E]],\n O = g[b];\n if (v) var D = _ ? v(O, w, b, g, d, S) : v(w, O, b, d, g, S);\n if (!(D === f ? w === O || y(w, O, m, v, S) : D)) {\n R = !1;\n break;\n }\n M || (M = \"constructor\" == b);\n }\n if (R && !M) {\n var N = d.constructor,\n L = g.constructor;\n N == L || !(\"constructor\" in d) || !(\"constructor\" in g) || \"function\" == typeof N && N instanceof N && \"function\" == typeof L && L instanceof L || (R = !1);\n }\n return S.delete(d), S.delete(g), R;\n }\n function flatRest(d) {\n return on(overRest(d, f, flatten), d + \"\");\n }\n function getAllKeys(d) {\n return baseGetAllKeys(d, keys, Xi);\n }\n function getAllKeysIn(d) {\n return baseGetAllKeys(d, keysIn, Zi);\n }\n var Yi = Oi ? function (d) {\n return Oi.get(d);\n } : noop;\n function getFuncName(d) {\n for (var g = d.name + \"\", f = Di[g], m = bt.call(Di, g) ? f.length : 0; m--;) {\n var v = f[m],\n y = v.func;\n if (null == y || y == d) return v.name;\n }\n return g;\n }\n function getHolder(d) {\n return (bt.call(lodash, \"placeholder\") ? lodash : d).placeholder;\n }\n function getIteratee() {\n var d = lodash.iteratee || iteratee;\n return d = d === iteratee ? baseIteratee : d, arguments.length ? d(arguments[0], arguments[1]) : d;\n }\n function getMapData(d, g) {\n var f = d.__data__;\n return isKeyable(g) ? f[\"string\" == typeof g ? \"string\" : \"hash\"] : f.map;\n }\n function getMatchData(d) {\n for (var g = keys(d), f = g.length; f--;) {\n var m = g[f],\n v = d[m];\n g[f] = [m, v, isStrictComparable(v)];\n }\n return g;\n }\n function getNative(d, g) {\n var m = getValue(d, g);\n return baseIsNative(m) ? m : f;\n }\n function getRawTag(d) {\n var g = bt.call(d, jt),\n m = d[jt];\n try {\n d[jt] = f;\n var v = !0;\n } catch (d) {}\n var y = Rt.call(d);\n return v && (g ? d[jt] = m : delete d[jt]), y;\n }\n var Xi = Qt ? function (d) {\n return null == d ? [] : (d = ft(d), arrayFilter(Qt(d), function (g) {\n return Ft.call(d, g);\n }));\n } : stubArray,\n Zi = Qt ? function (d) {\n for (var g = []; d;) arrayPush(g, Xi(d)), d = kt(d);\n return g;\n } : stubArray,\n en = baseGetTag;\n function getView(d, g, f) {\n for (var m = -1, v = f.length; ++m < v;) {\n var y = f[m],\n S = y.size;\n switch (y.type) {\n case \"drop\":\n d += S;\n break;\n case \"dropRight\":\n g -= S;\n break;\n case \"take\":\n g = li(g, d + S);\n break;\n case \"takeRight\":\n d = si(d, g - S);\n }\n }\n return {\n start: d,\n end: g\n };\n }\n function getWrapDetails(d) {\n var g = d.match(Xe);\n return g ? g[1].split(Ze) : [];\n }\n function hasPath(d, g, f) {\n for (var m = -1, v = (g = castPath(g, d)).length, y = !1; ++m < v;) {\n var S = toKey(g[m]);\n if (!(y = null != d && f(d, S))) break;\n d = d[S];\n }\n return y || ++m != v ? y : !!(v = null == d ? 0 : d.length) && isLength(v) && isIndex(S, v) && (qn(d) || Gn(d));\n }\n function initCloneArray(d) {\n var g = d.length,\n f = new d.constructor(g);\n return g && \"string\" == typeof d[0] && bt.call(d, \"index\") && (f.index = d.index, f.input = d.input), f;\n }\n function initCloneObject(d) {\n return \"function\" != typeof d.constructor || isPrototype(d) ? {} : ji(kt(d));\n }\n function initCloneByTag(d, g, f) {\n var m = d.constructor;\n switch (g) {\n case Ee:\n return cloneArrayBuffer(d);\n case re:\n case oe:\n return new m(+d);\n case be:\n return cloneDataView(d, f);\n case Ie:\n case Pe:\n case Re:\n case Ae:\n case Me:\n case we:\n case Oe:\n case De:\n case Ne:\n return cloneTypedArray(d, f);\n case de:\n return new m();\n case ue:\n case ye:\n return new m(d);\n case me:\n return cloneRegExp(d);\n case ve:\n return new m();\n case Se:\n return cloneSymbol(d);\n }\n }\n function insertWrapDetails(d, g) {\n var f = g.length;\n if (!f) return d;\n var m = f - 1;\n return g[m] = (f > 1 ? \"& \" : \"\") + g[m], g = g.join(f > 2 ? \", \" : \" \"), d.replace(Ye, \"{\\n/* [wrapped with \" + g + \"] */\\n\");\n }\n function isFlattenable(d) {\n return qn(d) || Gn(d) || !!(Ht && d && d[Ht]);\n }\n function isIndex(d, g) {\n var f = typeof d;\n return !!(g = null == g ? J : g) && (\"number\" == f || \"symbol\" != f && ct.test(d)) && d > -1 && d % 1 == 0 && d < g;\n }\n function isIterateeCall(d, g, f) {\n if (!isObject(f)) return !1;\n var m = typeof g;\n return !!(\"number\" == m ? isArrayLike(f) && isIndex(g, f.length) : \"string\" == m && g in f) && eq(f[g], d);\n }\n function isKey(d, g) {\n if (qn(d)) return !1;\n var f = typeof d;\n return !(\"number\" != f && \"symbol\" != f && \"boolean\" != f && null != d && !isSymbol(d)) || qe.test(d) || !Ge.test(d) || null != g && d in ft(g);\n }\n function isKeyable(d) {\n var g = typeof d;\n return \"string\" == g || \"number\" == g || \"symbol\" == g || \"boolean\" == g ? \"__proto__\" !== d : null === d;\n }\n function isLaziable(d) {\n var g = getFuncName(d),\n f = lodash[g];\n if (\"function\" != typeof f || !(g in LazyWrapper.prototype)) return !1;\n if (d === f) return !0;\n var m = Yi(f);\n return !!m && d === m[0];\n }\n function isMasked(d) {\n return !!Pt && Pt in d;\n }\n (Ci && en(new Ci(new ArrayBuffer(1))) != be || Ii && en(new Ii()) != de || Ri && en(Ri.resolve()) != ge || Ai && en(new Ai()) != ve || Mi && en(new Mi()) != Ce) && (en = function (d) {\n var g = baseGetTag(d),\n m = g == he ? d.constructor : f,\n v = m ? toSource(m) : \"\";\n if (v) switch (v) {\n case Ni:\n return be;\n case Li:\n return de;\n case ki:\n return ge;\n case xi:\n return ve;\n case Fi:\n return Ce;\n }\n return g;\n });\n var tn = Tt ? isFunction : stubFalse;\n function isPrototype(d) {\n var g = d && d.constructor;\n return d === (\"function\" == typeof g && g.prototype || Ct);\n }\n function isStrictComparable(d) {\n return d == d && !isObject(d);\n }\n function matchesStrictComparable(d, g) {\n return function (m) {\n return null != m && m[d] === g && (g !== f || d in ft(m));\n };\n }\n function memoizeCapped(d) {\n var g = memoize(d, function (d) {\n return f.size === E && f.clear(), d;\n }),\n f = g.cache;\n return g;\n }\n function mergeData(d, g) {\n var f = d[1],\n m = g[1],\n v = f | m,\n y = v < (w | O | F),\n S = m == F && f == N || m == F && f == U && d[7].length <= g[8] || m == (F | U) && g[7].length <= g[8] && f == N;\n if (!y && !S) return d;\n m & w && (d[2] = g[2], v |= f & w ? 0 : D);\n var _ = g[3];\n if (_) {\n var C = d[3];\n d[3] = C ? composeArgs(C, _, g[4]) : _, d[4] = C ? replaceHolders(d[3], b) : g[4];\n }\n return (_ = g[5]) && (C = d[5], d[5] = C ? composeArgsRight(C, _, g[6]) : _, d[6] = C ? replaceHolders(d[5], b) : g[6]), (_ = g[7]) && (d[7] = _), m & F && (d[8] = null == d[8] ? g[8] : li(d[8], g[8])), null == d[9] && (d[9] = g[9]), d[0] = g[0], d[1] = v, d;\n }\n function nativeKeysIn(d) {\n var g = [];\n if (null != d) for (var f in ft(d)) g.push(f);\n return g;\n }\n function objectToString(d) {\n return Rt.call(d);\n }\n function overRest(d, g, m) {\n return g = si(g === f ? d.length - 1 : g, 0), function () {\n for (var f = arguments, y = -1, S = si(f.length - g, 0), _ = v(S); ++y < S;) _[y] = f[g + y];\n y = -1;\n for (var C = v(g + 1); ++y < g;) C[y] = f[y];\n return C[g] = m(_), apply(d, this, C);\n };\n }\n function parent(d, g) {\n return g.length < 2 ? d : baseGet(d, baseSlice(g, 0, -1));\n }\n function reorder(d, g) {\n for (var m = d.length, v = li(g.length, m), y = copyArray(d); v--;) {\n var S = g[v];\n d[v] = isIndex(S, m) ? y[S] : f;\n }\n return d;\n }\n function safeGet(d, g) {\n if ((\"constructor\" !== g || \"function\" != typeof d[g]) && \"__proto__\" != g) return d[g];\n }\n var nn = shortOut(zi),\n rn = Kt || function (d, g) {\n return ci.setTimeout(d, g);\n },\n on = shortOut(Ki);\n function setWrapToString(d, g, f) {\n var m = g + \"\";\n return on(d, insertWrapDetails(m, updateWrapDetails(getWrapDetails(m), f)));\n }\n function shortOut(d) {\n var g = 0,\n m = 0;\n return function () {\n var v = di(),\n y = W - (v - m);\n if (m = v, y > 0) {\n if (++g >= B) return arguments[0];\n } else g = 0;\n return d.apply(f, arguments);\n };\n }\n function shuffleSelf(d, g) {\n var m = -1,\n v = d.length,\n y = v - 1;\n for (g = g === f ? v : g; ++m < g;) {\n var S = baseRandom(m, y),\n _ = d[S];\n d[S] = d[m], d[m] = _;\n }\n return d.length = g, d;\n }\n var an = memoizeCapped(function (d) {\n var g = [];\n return 46 === d.charCodeAt(0) && g.push(\"\"), d.replace(ze, function (d, f, m, v) {\n g.push(m ? v.replace(it, \"$1\") : f || d);\n }), g;\n });\n function toKey(d) {\n if (\"string\" == typeof d || isSymbol(d)) return d;\n var g = d + \"\";\n return \"0\" == g && 1 / d == -K ? \"-0\" : g;\n }\n function toSource(d) {\n if (null != d) {\n try {\n return Et.call(d);\n } catch (d) {}\n try {\n return d + \"\";\n } catch (d) {}\n }\n return \"\";\n }\n function updateWrapDetails(d, g) {\n return arrayEach(ee, function (f) {\n var m = \"_.\" + f[0];\n g & f[1] && !arrayIncludes(d, m) && d.push(m);\n }), d.sort();\n }\n function wrapperClone(d) {\n if (d instanceof LazyWrapper) return d.clone();\n var g = new LodashWrapper(d.__wrapped__, d.__chain__);\n return g.__actions__ = copyArray(d.__actions__), g.__index__ = d.__index__, g.__values__ = d.__values__, g;\n }\n function chunk(d, g, m) {\n g = (m ? isIterateeCall(d, g, m) : g === f) ? 1 : si(toInteger(g), 0);\n var y = null == d ? 0 : d.length;\n if (!y || g < 1) return [];\n for (var S = 0, _ = 0, C = v(Jt(y / g)); S < y;) C[_++] = baseSlice(d, S, S += g);\n return C;\n }\n function compact(d) {\n for (var g = -1, f = null == d ? 0 : d.length, m = 0, v = []; ++g < f;) {\n var y = d[g];\n y && (v[m++] = y);\n }\n return v;\n }\n function concat() {\n var d = arguments.length;\n if (!d) return [];\n for (var g = v(d - 1), f = arguments[0], m = d; m--;) g[m - 1] = arguments[m];\n return arrayPush(qn(f) ? copyArray(f) : [f], baseFlatten(g, 1));\n }\n var sn = baseRest(function (d, g) {\n return isArrayLikeObject(d) ? baseDifference(d, baseFlatten(g, 1, isArrayLikeObject, !0)) : [];\n }),\n ln = baseRest(function (d, g) {\n var m = last(g);\n return isArrayLikeObject(m) && (m = f), isArrayLikeObject(d) ? baseDifference(d, baseFlatten(g, 1, isArrayLikeObject, !0), getIteratee(m, 2)) : [];\n }),\n cn = baseRest(function (d, g) {\n var m = last(g);\n return isArrayLikeObject(m) && (m = f), isArrayLikeObject(d) ? baseDifference(d, baseFlatten(g, 1, isArrayLikeObject, !0), f, m) : [];\n });\n function drop(d, g, m) {\n var v = null == d ? 0 : d.length;\n return v ? baseSlice(d, (g = m || g === f ? 1 : toInteger(g)) < 0 ? 0 : g, v) : [];\n }\n function dropRight(d, g, m) {\n var v = null == d ? 0 : d.length;\n return v ? baseSlice(d, 0, (g = v - (g = m || g === f ? 1 : toInteger(g))) < 0 ? 0 : g) : [];\n }\n function dropRightWhile(d, g) {\n return d && d.length ? baseWhile(d, getIteratee(g, 3), !0, !0) : [];\n }\n function dropWhile(d, g) {\n return d && d.length ? baseWhile(d, getIteratee(g, 3), !0) : [];\n }\n function fill(d, g, f, m) {\n var v = null == d ? 0 : d.length;\n return v ? (f && \"number\" != typeof f && isIterateeCall(d, g, f) && (f = 0, m = v), baseFill(d, g, f, m)) : [];\n }\n function findIndex(d, g, f) {\n var m = null == d ? 0 : d.length;\n if (!m) return -1;\n var v = null == f ? 0 : toInteger(f);\n return v < 0 && (v = si(m + v, 0)), baseFindIndex(d, getIteratee(g, 3), v);\n }\n function findLastIndex(d, g, m) {\n var v = null == d ? 0 : d.length;\n if (!v) return -1;\n var y = v - 1;\n return m !== f && (y = toInteger(m), y = m < 0 ? si(v + y, 0) : li(y, v - 1)), baseFindIndex(d, getIteratee(g, 3), y, !0);\n }\n function flatten(d) {\n return (null == d ? 0 : d.length) ? baseFlatten(d, 1) : [];\n }\n function flattenDeep(d) {\n return (null == d ? 0 : d.length) ? baseFlatten(d, K) : [];\n }\n function flattenDepth(d, g) {\n return (null == d ? 0 : d.length) ? baseFlatten(d, g = g === f ? 1 : toInteger(g)) : [];\n }\n function fromPairs(d) {\n for (var g = -1, f = null == d ? 0 : d.length, m = {}; ++g < f;) {\n var v = d[g];\n m[v[0]] = v[1];\n }\n return m;\n }\n function head(d) {\n return d && d.length ? d[0] : f;\n }\n function indexOf(d, g, f) {\n var m = null == d ? 0 : d.length;\n if (!m) return -1;\n var v = null == f ? 0 : toInteger(f);\n return v < 0 && (v = si(m + v, 0)), baseIndexOf(d, g, v);\n }\n function initial(d) {\n return (null == d ? 0 : d.length) ? baseSlice(d, 0, -1) : [];\n }\n var dn = baseRest(function (d) {\n var g = arrayMap(d, castArrayLikeObject);\n return g.length && g[0] === d[0] ? baseIntersection(g) : [];\n }),\n un = baseRest(function (d) {\n var g = last(d),\n m = arrayMap(d, castArrayLikeObject);\n return g === last(m) ? g = f : m.pop(), m.length && m[0] === d[0] ? baseIntersection(m, getIteratee(g, 2)) : [];\n }),\n pn = baseRest(function (d) {\n var g = last(d),\n m = arrayMap(d, castArrayLikeObject);\n return (g = \"function\" == typeof g ? g : f) && m.pop(), m.length && m[0] === d[0] ? baseIntersection(m, f, g) : [];\n });\n function join(d, g) {\n return null == d ? \"\" : ni.call(d, g);\n }\n function last(d) {\n var g = null == d ? 0 : d.length;\n return g ? d[g - 1] : f;\n }\n function lastIndexOf(d, g, m) {\n var v = null == d ? 0 : d.length;\n if (!v) return -1;\n var y = v;\n return m !== f && (y = (y = toInteger(m)) < 0 ? si(v + y, 0) : li(y, v - 1)), g == g ? strictLastIndexOf(d, g, y) : baseFindIndex(d, baseIsNaN, y, !0);\n }\n function nth(d, g) {\n return d && d.length ? baseNth(d, toInteger(g)) : f;\n }\n var hn = baseRest(pullAll);\n function pullAll(d, g) {\n return d && d.length && g && g.length ? basePullAll(d, g) : d;\n }\n function pullAllBy(d, g, f) {\n return d && d.length && g && g.length ? basePullAll(d, g, getIteratee(f, 2)) : d;\n }\n function pullAllWith(d, g, m) {\n return d && d.length && g && g.length ? basePullAll(d, g, f, m) : d;\n }\n var gn = flatRest(function (d, g) {\n var f = null == d ? 0 : d.length,\n m = baseAt(d, g);\n return basePullAt(d, arrayMap(g, function (d) {\n return isIndex(d, f) ? +d : d;\n }).sort(compareAscending)), m;\n });\n function remove(d, g) {\n var f = [];\n if (!d || !d.length) return f;\n var m = -1,\n v = [],\n y = d.length;\n for (g = getIteratee(g, 3); ++m < y;) {\n var S = d[m];\n g(S, m, d) && (f.push(S), v.push(m));\n }\n return basePullAt(d, v), f;\n }\n function reverse(d) {\n return null == d ? d : gi.call(d);\n }\n function slice(d, g, m) {\n var v = null == d ? 0 : d.length;\n return v ? (m && \"number\" != typeof m && isIterateeCall(d, g, m) ? (g = 0, m = v) : (g = null == g ? 0 : toInteger(g), m = m === f ? v : toInteger(m)), baseSlice(d, g, m)) : [];\n }\n function sortedIndex(d, g) {\n return baseSortedIndex(d, g);\n }\n function sortedIndexBy(d, g, f) {\n return baseSortedIndexBy(d, g, getIteratee(f, 2));\n }\n function sortedIndexOf(d, g) {\n var f = null == d ? 0 : d.length;\n if (f) {\n var m = baseSortedIndex(d, g);\n if (m < f && eq(d[m], g)) return m;\n }\n return -1;\n }\n function sortedLastIndex(d, g) {\n return baseSortedIndex(d, g, !0);\n }\n function sortedLastIndexBy(d, g, f) {\n return baseSortedIndexBy(d, g, getIteratee(f, 2), !0);\n }\n function sortedLastIndexOf(d, g) {\n if (null == d ? 0 : d.length) {\n var f = baseSortedIndex(d, g, !0) - 1;\n if (eq(d[f], g)) return f;\n }\n return -1;\n }\n function sortedUniq(d) {\n return d && d.length ? baseSortedUniq(d) : [];\n }\n function sortedUniqBy(d, g) {\n return d && d.length ? baseSortedUniq(d, getIteratee(g, 2)) : [];\n }\n function tail(d) {\n var g = null == d ? 0 : d.length;\n return g ? baseSlice(d, 1, g) : [];\n }\n function take(d, g, m) {\n return d && d.length ? baseSlice(d, 0, (g = m || g === f ? 1 : toInteger(g)) < 0 ? 0 : g) : [];\n }\n function takeRight(d, g, m) {\n var v = null == d ? 0 : d.length;\n return v ? baseSlice(d, (g = v - (g = m || g === f ? 1 : toInteger(g))) < 0 ? 0 : g, v) : [];\n }\n function takeRightWhile(d, g) {\n return d && d.length ? baseWhile(d, getIteratee(g, 3), !1, !0) : [];\n }\n function takeWhile(d, g) {\n return d && d.length ? baseWhile(d, getIteratee(g, 3)) : [];\n }\n var fn = baseRest(function (d) {\n return baseUniq(baseFlatten(d, 1, isArrayLikeObject, !0));\n }),\n mn = baseRest(function (d) {\n var g = last(d);\n return isArrayLikeObject(g) && (g = f), baseUniq(baseFlatten(d, 1, isArrayLikeObject, !0), getIteratee(g, 2));\n }),\n vn = baseRest(function (d) {\n var g = last(d);\n return g = \"function\" == typeof g ? g : f, baseUniq(baseFlatten(d, 1, isArrayLikeObject, !0), f, g);\n });\n function uniq(d) {\n return d && d.length ? baseUniq(d) : [];\n }\n function uniqBy(d, g) {\n return d && d.length ? baseUniq(d, getIteratee(g, 2)) : [];\n }\n function uniqWith(d, g) {\n return g = \"function\" == typeof g ? g : f, d && d.length ? baseUniq(d, f, g) : [];\n }\n function unzip(d) {\n if (!d || !d.length) return [];\n var g = 0;\n return d = arrayFilter(d, function (d) {\n if (isArrayLikeObject(d)) return g = si(d.length, g), !0;\n }), baseTimes(g, function (g) {\n return arrayMap(d, baseProperty(g));\n });\n }\n function unzipWith(d, g) {\n if (!d || !d.length) return [];\n var m = unzip(d);\n return null == g ? m : arrayMap(m, function (d) {\n return apply(g, f, d);\n });\n }\n var yn = baseRest(function (d, g) {\n return isArrayLikeObject(d) ? baseDifference(d, g) : [];\n }),\n Sn = baseRest(function (d) {\n return baseXor(arrayFilter(d, isArrayLikeObject));\n }),\n _n = baseRest(function (d) {\n var g = last(d);\n return isArrayLikeObject(g) && (g = f), baseXor(arrayFilter(d, isArrayLikeObject), getIteratee(g, 2));\n }),\n Cn = baseRest(function (d) {\n var g = last(d);\n return g = \"function\" == typeof g ? g : f, baseXor(arrayFilter(d, isArrayLikeObject), f, g);\n }),\n Tn = baseRest(unzip);\n function zipObject(d, g) {\n return baseZipObject(d || [], g || [], assignValue);\n }\n function zipObjectDeep(d, g) {\n return baseZipObject(d || [], g || [], baseSet);\n }\n var En = baseRest(function (d) {\n var g = d.length,\n m = g > 1 ? d[g - 1] : f;\n return m = \"function\" == typeof m ? (d.pop(), m) : f, unzipWith(d, m);\n });\n function chain(d) {\n var g = lodash(d);\n return g.__chain__ = !0, g;\n }\n function tap(d, g) {\n return g(d), d;\n }\n function thru(d, g) {\n return g(d);\n }\n var bn = flatRest(function (d) {\n var g = d.length,\n m = g ? d[0] : 0,\n v = this.__wrapped__,\n interceptor = function (g) {\n return baseAt(g, d);\n };\n return !(g > 1 || this.__actions__.length) && v instanceof LazyWrapper && isIndex(m) ? ((v = v.slice(m, +m + (g ? 1 : 0))).__actions__.push({\n func: thru,\n args: [interceptor],\n thisArg: f\n }), new LodashWrapper(v, this.__chain__).thru(function (d) {\n return g && !d.length && d.push(f), d;\n })) : this.thru(interceptor);\n });\n function wrapperChain() {\n return chain(this);\n }\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n function wrapperNext() {\n this.__values__ === f && (this.__values__ = toArray(this.value()));\n var d = this.__index__ >= this.__values__.length;\n return {\n done: d,\n value: d ? f : this.__values__[this.__index__++]\n };\n }\n function wrapperToIterator() {\n return this;\n }\n function wrapperPlant(d) {\n for (var g, m = this; m instanceof baseLodash;) {\n var v = wrapperClone(m);\n v.__index__ = 0, v.__values__ = f, g ? y.__wrapped__ = v : g = v;\n var y = v;\n m = m.__wrapped__;\n }\n return y.__wrapped__ = d, g;\n }\n function wrapperReverse() {\n var d = this.__wrapped__;\n if (d instanceof LazyWrapper) {\n var g = d;\n return this.__actions__.length && (g = new LazyWrapper(this)), (g = g.reverse()).__actions__.push({\n func: thru,\n args: [reverse],\n thisArg: f\n }), new LodashWrapper(g, this.__chain__);\n }\n return this.thru(reverse);\n }\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n var In = createAggregator(function (d, g, f) {\n bt.call(d, f) ? ++d[f] : baseAssignValue(d, f, 1);\n });\n function every(d, g, m) {\n var v = qn(d) ? arrayEvery : baseEvery;\n return m && isIterateeCall(d, g, m) && (g = f), v(d, getIteratee(g, 3));\n }\n function filter(d, g) {\n return (qn(d) ? arrayFilter : baseFilter)(d, getIteratee(g, 3));\n }\n var Pn = createFind(findIndex),\n Rn = createFind(findLastIndex);\n function flatMap(d, g) {\n return baseFlatten(map(d, g), 1);\n }\n function flatMapDeep(d, g) {\n return baseFlatten(map(d, g), K);\n }\n function flatMapDepth(d, g, m) {\n return m = m === f ? 1 : toInteger(m), baseFlatten(map(d, g), m);\n }\n function forEach(d, g) {\n return (qn(d) ? arrayEach : Bi)(d, getIteratee(g, 3));\n }\n function forEachRight(d, g) {\n return (qn(d) ? arrayEachRight : Wi)(d, getIteratee(g, 3));\n }\n var An = createAggregator(function (d, g, f) {\n bt.call(d, f) ? d[f].push(g) : baseAssignValue(d, f, [g]);\n });\n function includes(d, g, f, m) {\n d = isArrayLike(d) ? d : values(d), f = f && !m ? toInteger(f) : 0;\n var v = d.length;\n return f < 0 && (f = si(v + f, 0)), isString(d) ? f <= v && d.indexOf(g, f) > -1 : !!v && baseIndexOf(d, g, f) > -1;\n }\n var Mn = baseRest(function (d, g, f) {\n var m = -1,\n y = \"function\" == typeof g,\n S = isArrayLike(d) ? v(d.length) : [];\n return Bi(d, function (d) {\n S[++m] = y ? apply(g, d, f) : baseInvoke(d, g, f);\n }), S;\n }),\n wn = createAggregator(function (d, g, f) {\n baseAssignValue(d, f, g);\n });\n function map(d, g) {\n return (qn(d) ? arrayMap : baseMap)(d, getIteratee(g, 3));\n }\n function orderBy(d, g, m, v) {\n return null == d ? [] : (qn(g) || (g = null == g ? [] : [g]), qn(m = v ? f : m) || (m = null == m ? [] : [m]), baseOrderBy(d, g, m));\n }\n var On = createAggregator(function (d, g, f) {\n d[f ? 0 : 1].push(g);\n }, function () {\n return [[], []];\n });\n function reduce(d, g, f) {\n var m = qn(d) ? arrayReduce : baseReduce,\n v = arguments.length < 3;\n return m(d, getIteratee(g, 4), f, v, Bi);\n }\n function reduceRight(d, g, f) {\n var m = qn(d) ? arrayReduceRight : baseReduce,\n v = arguments.length < 3;\n return m(d, getIteratee(g, 4), f, v, Wi);\n }\n function reject(d, g) {\n return (qn(d) ? arrayFilter : baseFilter)(d, negate(getIteratee(g, 3)));\n }\n function sample(d) {\n return (qn(d) ? arraySample : baseSample)(d);\n }\n function sampleSize(d, g, m) {\n return g = (m ? isIterateeCall(d, g, m) : g === f) ? 1 : toInteger(g), (qn(d) ? arraySampleSize : baseSampleSize)(d, g);\n }\n function shuffle(d) {\n return (qn(d) ? arrayShuffle : baseShuffle)(d);\n }\n function size(d) {\n if (null == d) return 0;\n if (isArrayLike(d)) return isString(d) ? stringSize(d) : d.length;\n var g = en(d);\n return g == de || g == ve ? d.size : baseKeys(d).length;\n }\n function some(d, g, m) {\n var v = qn(d) ? arraySome : baseSome;\n return m && isIterateeCall(d, g, m) && (g = f), v(d, getIteratee(g, 3));\n }\n var Dn = baseRest(function (d, g) {\n if (null == d) return [];\n var f = g.length;\n return f > 1 && isIterateeCall(d, g[0], g[1]) ? g = [] : f > 2 && isIterateeCall(g[0], g[1], g[2]) && (g = [g[0]]), baseOrderBy(d, baseFlatten(g, 1), []);\n }),\n Nn = Gt || function () {\n return ci.Date.now();\n };\n function after(d, g) {\n if (\"function\" != typeof g) throw new yt(_);\n return d = toInteger(d), function () {\n if (--d < 1) return g.apply(this, arguments);\n };\n }\n function ary(d, g, m) {\n return g = m ? f : g, g = d && null == g ? d.length : g, createWrap(d, F, f, f, f, f, g);\n }\n function before(d, g) {\n var m;\n if (\"function\" != typeof g) throw new yt(_);\n return d = toInteger(d), function () {\n return --d > 0 && (m = g.apply(this, arguments)), d <= 1 && (g = f), m;\n };\n }\n var Ln = baseRest(function (d, g, f) {\n var m = w;\n if (f.length) {\n var v = replaceHolders(f, getHolder(Ln));\n m |= k;\n }\n return createWrap(d, m, g, f, v);\n }),\n kn = baseRest(function (d, g, f) {\n var m = w | O;\n if (f.length) {\n var v = replaceHolders(f, getHolder(kn));\n m |= k;\n }\n return createWrap(g, m, d, f, v);\n });\n function curry(d, g, m) {\n var v = createWrap(d, N, f, f, f, f, f, g = m ? f : g);\n return v.placeholder = curry.placeholder, v;\n }\n function curryRight(d, g, m) {\n var v = createWrap(d, L, f, f, f, f, f, g = m ? f : g);\n return v.placeholder = curryRight.placeholder, v;\n }\n function debounce(d, g, m) {\n var v,\n y,\n S,\n C,\n T,\n E,\n b = 0,\n I = !1,\n P = !1,\n R = !0;\n if (\"function\" != typeof d) throw new yt(_);\n function invokeFunc(g) {\n var m = v,\n S = y;\n return v = y = f, b = g, C = d.apply(S, m);\n }\n function leadingEdge(d) {\n return b = d, T = rn(timerExpired, g), I ? invokeFunc(d) : C;\n }\n function remainingWait(d) {\n var f = g - (d - E);\n return P ? li(f, S - (d - b)) : f;\n }\n function shouldInvoke(d) {\n var m = d - E;\n return E === f || m >= g || m < 0 || P && d - b >= S;\n }\n function timerExpired() {\n var d = Nn();\n if (shouldInvoke(d)) return trailingEdge(d);\n T = rn(timerExpired, remainingWait(d));\n }\n function trailingEdge(d) {\n return T = f, R && v ? invokeFunc(d) : (v = y = f, C);\n }\n function cancel() {\n T !== f && $i(T), b = 0, v = E = y = T = f;\n }\n function flush() {\n return T === f ? C : trailingEdge(Nn());\n }\n function debounced() {\n var d = Nn(),\n m = shouldInvoke(d);\n if (v = arguments, y = this, E = d, m) {\n if (T === f) return leadingEdge(E);\n if (P) return $i(T), T = rn(timerExpired, g), invokeFunc(E);\n }\n return T === f && (T = rn(timerExpired, g)), C;\n }\n return g = toNumber(g) || 0, isObject(m) && (I = !!m.leading, S = (P = \"maxWait\" in m) ? si(toNumber(m.maxWait) || 0, g) : S, R = \"trailing\" in m ? !!m.trailing : R), debounced.cancel = cancel, debounced.flush = flush, debounced;\n }\n var xn = baseRest(function (d, g) {\n return baseDelay(d, 1, g);\n }),\n Fn = baseRest(function (d, g, f) {\n return baseDelay(d, toNumber(g) || 0, f);\n });\n function flip(d) {\n return createWrap(d, H);\n }\n function memoize(d, g) {\n if (\"function\" != typeof d || null != g && \"function\" != typeof g) throw new yt(_);\n var memoized = function () {\n var f = arguments,\n m = g ? g.apply(this, f) : f[0],\n v = memoized.cache;\n if (v.has(m)) return v.get(m);\n var y = d.apply(this, f);\n return memoized.cache = v.set(m, y) || v, y;\n };\n return memoized.cache = new (memoize.Cache || MapCache)(), memoized;\n }\n function negate(d) {\n if (\"function\" != typeof d) throw new yt(_);\n return function () {\n var g = arguments;\n switch (g.length) {\n case 0:\n return !d.call(this);\n case 1:\n return !d.call(this, g[0]);\n case 2:\n return !d.call(this, g[0], g[1]);\n case 3:\n return !d.call(this, g[0], g[1], g[2]);\n }\n return !d.apply(this, g);\n };\n }\n function once(d) {\n return before(2, d);\n }\n memoize.Cache = MapCache;\n var Un = Ji(function (d, g) {\n var f = (g = 1 == g.length && qn(g[0]) ? arrayMap(g[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(g, 1), baseUnary(getIteratee()))).length;\n return baseRest(function (m) {\n for (var v = -1, y = li(m.length, f); ++v < y;) m[v] = g[v].call(this, m[v]);\n return apply(d, this, m);\n });\n }),\n Hn = baseRest(function (d, g) {\n var m = replaceHolders(g, getHolder(Hn));\n return createWrap(d, k, f, g, m);\n }),\n Vn = baseRest(function (d, g) {\n var m = replaceHolders(g, getHolder(Vn));\n return createWrap(d, x, f, g, m);\n }),\n jn = flatRest(function (d, g) {\n return createWrap(d, U, f, f, f, g);\n });\n function rest(d, g) {\n if (\"function\" != typeof d) throw new yt(_);\n return baseRest(d, g = g === f ? g : toInteger(g));\n }\n function spread(d, g) {\n if (\"function\" != typeof d) throw new yt(_);\n return g = null == g ? 0 : si(toInteger(g), 0), baseRest(function (f) {\n var m = f[g],\n v = castSlice(f, 0, g);\n return m && arrayPush(v, m), apply(d, this, v);\n });\n }\n function throttle(d, g, f) {\n var m = !0,\n v = !0;\n if (\"function\" != typeof d) throw new yt(_);\n return isObject(f) && (m = \"leading\" in f ? !!f.leading : m, v = \"trailing\" in f ? !!f.trailing : v), debounce(d, g, {\n leading: m,\n maxWait: g,\n trailing: v\n });\n }\n function unary(d) {\n return ary(d, 1);\n }\n function wrap(d, g) {\n return Hn(castFunction(g), d);\n }\n function castArray() {\n if (!arguments.length) return [];\n var d = arguments[0];\n return qn(d) ? d : [d];\n }\n function clone(d) {\n return baseClone(d, R);\n }\n function cloneWith(d, g) {\n return baseClone(d, R, g = \"function\" == typeof g ? g : f);\n }\n function cloneDeep(d) {\n return baseClone(d, I | R);\n }\n function cloneDeepWith(d, g) {\n return baseClone(d, I | R, g = \"function\" == typeof g ? g : f);\n }\n function conformsTo(d, g) {\n return null == g || baseConformsTo(d, g, keys(g));\n }\n function eq(d, g) {\n return d === g || d != d && g != g;\n }\n var Bn = createRelationalOperation(baseGt),\n Wn = createRelationalOperation(function (d, g) {\n return d >= g;\n }),\n Gn = baseIsArguments(function () {\n return arguments;\n }()) ? baseIsArguments : function (d) {\n return isObjectLike(d) && bt.call(d, \"callee\") && !Ft.call(d, \"callee\");\n },\n qn = v.isArray,\n zn = fi ? baseUnary(fi) : baseIsArrayBuffer;\n function isArrayLike(d) {\n return null != d && isLength(d.length) && !isFunction(d);\n }\n function isArrayLikeObject(d) {\n return isObjectLike(d) && isArrayLike(d);\n }\n function isBoolean(d) {\n return !0 === d || !1 === d || isObjectLike(d) && baseGetTag(d) == re;\n }\n var Kn = ti || stubFalse,\n Jn = mi ? baseUnary(mi) : baseIsDate;\n function isElement(d) {\n return isObjectLike(d) && 1 === d.nodeType && !isPlainObject(d);\n }\n function isEmpty(d) {\n if (null == d) return !0;\n if (isArrayLike(d) && (qn(d) || \"string\" == typeof d || \"function\" == typeof d.splice || Kn(d) || Xn(d) || Gn(d))) return !d.length;\n var g = en(d);\n if (g == de || g == ve) return !d.size;\n if (isPrototype(d)) return !baseKeys(d).length;\n for (var f in d) if (bt.call(d, f)) return !1;\n return !0;\n }\n function isEqual(d, g) {\n return baseIsEqual(d, g);\n }\n function isEqualWith(d, g, m) {\n var v = (m = \"function\" == typeof m ? m : f) ? m(d, g) : f;\n return v === f ? baseIsEqual(d, g, f, m) : !!v;\n }\n function isError(d) {\n if (!isObjectLike(d)) return !1;\n var g = baseGetTag(d);\n return g == se || g == ae || \"string\" == typeof d.message && \"string\" == typeof d.name && !isPlainObject(d);\n }\n function isFinite(d) {\n return \"number\" == typeof d && ii(d);\n }\n function isFunction(d) {\n if (!isObject(d)) return !1;\n var g = baseGetTag(d);\n return g == le || g == ce || g == ne || g == fe;\n }\n function isInteger(d) {\n return \"number\" == typeof d && d == toInteger(d);\n }\n function isLength(d) {\n return \"number\" == typeof d && d > -1 && d % 1 == 0 && d <= J;\n }\n function isObject(d) {\n var g = typeof d;\n return null != d && (\"object\" == g || \"function\" == g);\n }\n function isObjectLike(d) {\n return null != d && \"object\" == typeof d;\n }\n var $n = vi ? baseUnary(vi) : baseIsMap;\n function isMatch(d, g) {\n return d === g || baseIsMatch(d, g, getMatchData(g));\n }\n function isMatchWith(d, g, m) {\n return m = \"function\" == typeof m ? m : f, baseIsMatch(d, g, getMatchData(g), m);\n }\n function isNaN(d) {\n return isNumber(d) && d != +d;\n }\n function isNative(d) {\n if (tn(d)) throw new et(S);\n return baseIsNative(d);\n }\n function isNull(d) {\n return null === d;\n }\n function isNil(d) {\n return null == d;\n }\n function isNumber(d) {\n return \"number\" == typeof d || isObjectLike(d) && baseGetTag(d) == ue;\n }\n function isPlainObject(d) {\n if (!isObjectLike(d) || baseGetTag(d) != he) return !1;\n var g = kt(d);\n if (null === g) return !0;\n var f = bt.call(g, \"constructor\") && g.constructor;\n return \"function\" == typeof f && f instanceof f && Et.call(f) == At;\n }\n var Qn = yi ? baseUnary(yi) : baseIsRegExp;\n function isSafeInteger(d) {\n return isInteger(d) && d >= -J && d <= J;\n }\n var Yn = Si ? baseUnary(Si) : baseIsSet;\n function isString(d) {\n return \"string\" == typeof d || !qn(d) && isObjectLike(d) && baseGetTag(d) == ye;\n }\n function isSymbol(d) {\n return \"symbol\" == typeof d || isObjectLike(d) && baseGetTag(d) == Se;\n }\n var Xn = _i ? baseUnary(_i) : baseIsTypedArray;\n function isUndefined(d) {\n return d === f;\n }\n function isWeakMap(d) {\n return isObjectLike(d) && en(d) == Ce;\n }\n function isWeakSet(d) {\n return isObjectLike(d) && baseGetTag(d) == Te;\n }\n var Zn = createRelationalOperation(baseLt),\n er = createRelationalOperation(function (d, g) {\n return d <= g;\n });\n function toArray(d) {\n if (!d) return [];\n if (isArrayLike(d)) return isString(d) ? stringToArray(d) : copyArray(d);\n if (Vt && d[Vt]) return iteratorToArray(d[Vt]());\n var g = en(d);\n return (g == de ? mapToArray : g == ve ? setToArray : values)(d);\n }\n function toFinite(d) {\n return d ? (d = toNumber(d)) === K || d === -K ? (d < 0 ? -1 : 1) * $ : d == d ? d : 0 : 0 === d ? d : 0;\n }\n function toInteger(d) {\n var g = toFinite(d),\n f = g % 1;\n return g == g ? f ? g - f : g : 0;\n }\n function toLength(d) {\n return d ? baseClamp(toInteger(d), 0, Y) : 0;\n }\n function toNumber(d) {\n if (\"number\" == typeof d) return d;\n if (isSymbol(d)) return Q;\n if (isObject(d)) {\n var g = \"function\" == typeof d.valueOf ? d.valueOf() : d;\n d = isObject(g) ? g + \"\" : g;\n }\n if (\"string\" != typeof d) return 0 === d ? d : +d;\n d = baseTrim(d);\n var f = at.test(d);\n return f || lt.test(d) ? ai(d.slice(2), f ? 2 : 8) : ot.test(d) ? Q : +d;\n }\n function toPlainObject(d) {\n return copyObject(d, keysIn(d));\n }\n function toSafeInteger(d) {\n return d ? baseClamp(toInteger(d), -J, J) : 0 === d ? d : 0;\n }\n function toString(d) {\n return null == d ? \"\" : baseToString(d);\n }\n var tr = createAssigner(function (d, g) {\n if (isPrototype(g) || isArrayLike(g)) copyObject(g, keys(g), d);else for (var f in g) bt.call(g, f) && assignValue(d, f, g[f]);\n }),\n ir = createAssigner(function (d, g) {\n copyObject(g, keysIn(g), d);\n }),\n nr = createAssigner(function (d, g, f, m) {\n copyObject(g, keysIn(g), d, m);\n }),\n rr = createAssigner(function (d, g, f, m) {\n copyObject(g, keys(g), d, m);\n }),\n or = flatRest(baseAt);\n function create(d, g) {\n var f = ji(d);\n return null == g ? f : baseAssign(f, g);\n }\n var ar = baseRest(function (d, g) {\n d = ft(d);\n var m = -1,\n v = g.length,\n y = v > 2 ? g[2] : f;\n for (y && isIterateeCall(g[0], g[1], y) && (v = 1); ++m < v;) for (var S = g[m], _ = keysIn(S), C = -1, T = _.length; ++C < T;) {\n var E = _[C],\n b = d[E];\n (b === f || eq(b, Ct[E]) && !bt.call(d, E)) && (d[E] = S[E]);\n }\n return d;\n }),\n sr = baseRest(function (d) {\n return d.push(f, customDefaultsMerge), apply(pr, f, d);\n });\n function findKey(d, g) {\n return baseFindKey(d, getIteratee(g, 3), baseForOwn);\n }\n function findLastKey(d, g) {\n return baseFindKey(d, getIteratee(g, 3), baseForOwnRight);\n }\n function forIn(d, g) {\n return null == d ? d : Gi(d, getIteratee(g, 3), keysIn);\n }\n function forInRight(d, g) {\n return null == d ? d : qi(d, getIteratee(g, 3), keysIn);\n }\n function forOwn(d, g) {\n return d && baseForOwn(d, getIteratee(g, 3));\n }\n function forOwnRight(d, g) {\n return d && baseForOwnRight(d, getIteratee(g, 3));\n }\n function functions(d) {\n return null == d ? [] : baseFunctions(d, keys(d));\n }\n function functionsIn(d) {\n return null == d ? [] : baseFunctions(d, keysIn(d));\n }\n function get(d, g, m) {\n var v = null == d ? f : baseGet(d, g);\n return v === f ? m : v;\n }\n function has(d, g) {\n return null != d && hasPath(d, g, baseHas);\n }\n function hasIn(d, g) {\n return null != d && hasPath(d, g, baseHasIn);\n }\n var lr = createInverter(function (d, g, f) {\n null != g && \"function\" != typeof g.toString && (g = Rt.call(g)), d[g] = f;\n }, constant(identity)),\n cr = createInverter(function (d, g, f) {\n null != g && \"function\" != typeof g.toString && (g = Rt.call(g)), bt.call(d, g) ? d[g].push(f) : d[g] = [f];\n }, getIteratee),\n dr = baseRest(baseInvoke);\n function keys(d) {\n return isArrayLike(d) ? arrayLikeKeys(d) : baseKeys(d);\n }\n function keysIn(d) {\n return isArrayLike(d) ? arrayLikeKeys(d, !0) : baseKeysIn(d);\n }\n function mapKeys(d, g) {\n var f = {};\n return g = getIteratee(g, 3), baseForOwn(d, function (d, m, v) {\n baseAssignValue(f, g(d, m, v), d);\n }), f;\n }\n function mapValues(d, g) {\n var f = {};\n return g = getIteratee(g, 3), baseForOwn(d, function (d, m, v) {\n baseAssignValue(f, m, g(d, m, v));\n }), f;\n }\n var ur = createAssigner(function (d, g, f) {\n baseMerge(d, g, f);\n }),\n pr = createAssigner(function (d, g, f, m) {\n baseMerge(d, g, f, m);\n }),\n hr = flatRest(function (d, g) {\n var f = {};\n if (null == d) return f;\n var m = !1;\n g = arrayMap(g, function (g) {\n return g = castPath(g, d), m || (m = g.length > 1), g;\n }), copyObject(d, getAllKeysIn(d), f), m && (f = baseClone(f, I | P | R, customOmitClone));\n for (var v = g.length; v--;) baseUnset(f, g[v]);\n return f;\n });\n function omitBy(d, g) {\n return pickBy(d, negate(getIteratee(g)));\n }\n var gr = flatRest(function (d, g) {\n return null == d ? {} : basePick(d, g);\n });\n function pickBy(d, g) {\n if (null == d) return {};\n var f = arrayMap(getAllKeysIn(d), function (d) {\n return [d];\n });\n return g = getIteratee(g), basePickBy(d, f, function (d, f) {\n return g(d, f[0]);\n });\n }\n function result(d, g, m) {\n var v = -1,\n y = (g = castPath(g, d)).length;\n for (y || (y = 1, d = f); ++v < y;) {\n var S = null == d ? f : d[toKey(g[v])];\n S === f && (v = y, S = m), d = isFunction(S) ? S.call(d) : S;\n }\n return d;\n }\n function set(d, g, f) {\n return null == d ? d : baseSet(d, g, f);\n }\n function setWith(d, g, m, v) {\n return v = \"function\" == typeof v ? v : f, null == d ? d : baseSet(d, g, m, v);\n }\n var fr = createToPairs(keys),\n mr = createToPairs(keysIn);\n function transform(d, g, f) {\n var m = qn(d),\n v = m || Kn(d) || Xn(d);\n if (g = getIteratee(g, 4), null == f) {\n var y = d && d.constructor;\n f = v ? m ? new y() : [] : isObject(d) && isFunction(y) ? ji(kt(d)) : {};\n }\n return (v ? arrayEach : baseForOwn)(d, function (d, m, v) {\n return g(f, d, m, v);\n }), f;\n }\n function unset(d, g) {\n return null == d || baseUnset(d, g);\n }\n function update(d, g, f) {\n return null == d ? d : baseUpdate(d, g, castFunction(f));\n }\n function updateWith(d, g, m, v) {\n return v = \"function\" == typeof v ? v : f, null == d ? d : baseUpdate(d, g, castFunction(m), v);\n }\n function values(d) {\n return null == d ? [] : baseValues(d, keys(d));\n }\n function valuesIn(d) {\n return null == d ? [] : baseValues(d, keysIn(d));\n }\n function clamp(d, g, m) {\n return m === f && (m = g, g = f), m !== f && (m = (m = toNumber(m)) == m ? m : 0), g !== f && (g = (g = toNumber(g)) == g ? g : 0), baseClamp(toNumber(d), g, m);\n }\n function inRange(d, g, m) {\n return g = toFinite(g), m === f ? (m = g, g = 0) : m = toFinite(m), baseInRange(d = toNumber(d), g, m);\n }\n function random(d, g, m) {\n if (m && \"boolean\" != typeof m && isIterateeCall(d, g, m) && (g = m = f), m === f && (\"boolean\" == typeof g ? (m = g, g = f) : \"boolean\" == typeof d && (m = d, d = f)), d === f && g === f ? (d = 0, g = 1) : (d = toFinite(d), g === f ? (g = d, d = 0) : g = toFinite(g)), d > g) {\n var v = d;\n d = g, g = v;\n }\n if (m || d % 1 || g % 1) {\n var y = hi();\n return li(d + y * (g - d + oi(\"1e-\" + ((y + \"\").length - 1))), g);\n }\n return baseRandom(d, g);\n }\n var vr = createCompounder(function (d, g, f) {\n return g = g.toLowerCase(), d + (f ? capitalize(g) : g);\n });\n function capitalize(d) {\n return br(toString(d).toLowerCase());\n }\n function deburr(d) {\n return (d = toString(d)) && d.replace(dt, Ti).replace(zt, \"\");\n }\n function endsWith(d, g, m) {\n d = toString(d), g = baseToString(g);\n var v = d.length,\n y = m = m === f ? v : baseClamp(toInteger(m), 0, v);\n return (m -= g.length) >= 0 && d.slice(m, y) == g;\n }\n function escape(d) {\n return (d = toString(d)) && Ve.test(d) ? d.replace(Ue, Ei) : d;\n }\n function escapeRegExp(d) {\n return (d = toString(d)) && Je.test(d) ? d.replace(Ke, \"\\\\$&\") : d;\n }\n var yr = createCompounder(function (d, g, f) {\n return d + (f ? \"-\" : \"\") + g.toLowerCase();\n }),\n Sr = createCompounder(function (d, g, f) {\n return d + (f ? \" \" : \"\") + g.toLowerCase();\n }),\n _r = createCaseFirst(\"toLowerCase\");\n function pad(d, g, f) {\n d = toString(d);\n var m = (g = toInteger(g)) ? stringSize(d) : 0;\n if (!g || m >= g) return d;\n var v = (g - m) / 2;\n return createPadding($t(v), f) + d + createPadding(Jt(v), f);\n }\n function padEnd(d, g, f) {\n d = toString(d);\n var m = (g = toInteger(g)) ? stringSize(d) : 0;\n return g && m < g ? d + createPadding(g - m, f) : d;\n }\n function padStart(d, g, f) {\n d = toString(d);\n var m = (g = toInteger(g)) ? stringSize(d) : 0;\n return g && m < g ? createPadding(g - m, f) + d : d;\n }\n function parseInt(d, g, f) {\n return f || null == g ? g = 0 : g && (g = +g), ui(toString(d).replace($e, \"\"), g || 0);\n }\n function repeat(d, g, m) {\n return g = (m ? isIterateeCall(d, g, m) : g === f) ? 1 : toInteger(g), baseRepeat(toString(d), g);\n }\n function replace() {\n var d = arguments,\n g = toString(d[0]);\n return d.length < 3 ? g : g.replace(d[1], d[2]);\n }\n var Cr = createCompounder(function (d, g, f) {\n return d + (f ? \"_\" : \"\") + g.toLowerCase();\n });\n function split(d, g, m) {\n return m && \"number\" != typeof m && isIterateeCall(d, g, m) && (g = m = f), (m = m === f ? Y : m >>> 0) ? (d = toString(d)) && (\"string\" == typeof g || null != g && !Qn(g)) && !(g = baseToString(g)) && hasUnicode(d) ? castSlice(stringToArray(d), 0, m) : d.split(g, m) : [];\n }\n var Tr = createCompounder(function (d, g, f) {\n return d + (f ? \" \" : \"\") + br(g);\n });\n function startsWith(d, g, f) {\n return d = toString(d), f = null == f ? 0 : baseClamp(toInteger(f), 0, d.length), g = baseToString(g), d.slice(f, f + g.length) == g;\n }\n function template(d, g, m) {\n var v = lodash.templateSettings;\n m && isIterateeCall(d, g, m) && (g = f), d = toString(d), g = nr({}, g, v, customDefaultsAssignIn);\n var y,\n S,\n _ = nr({}, g.imports, v.imports, customDefaultsAssignIn),\n T = keys(_),\n E = baseValues(_, T),\n b = 0,\n I = g.interpolate || ut,\n P = \"__p += '\",\n R = mt((g.escape || ut).source + \"|\" + I.source + \"|\" + (I === We ? nt : ut).source + \"|\" + (g.evaluate || ut).source + \"|$\", \"g\"),\n A = \"//# sourceURL=\" + (bt.call(g, \"sourceURL\") ? (g.sourceURL + \"\").replace(/\\s/g, \" \") : \"lodash.templateSources[\" + ++Xt + \"]\") + \"\\n\";\n d.replace(R, function (g, f, m, v, _, C) {\n return m || (m = v), P += d.slice(b, C).replace(pt, escapeStringChar), f && (y = !0, P += \"' +\\n__e(\" + f + \") +\\n'\"), _ && (S = !0, P += \"';\\n\" + _ + \";\\n__p += '\"), m && (P += \"' +\\n((__t = (\" + m + \")) == null ? '' : __t) +\\n'\"), b = C + g.length, g;\n }), P += \"';\\n\";\n var M = bt.call(g, \"variable\") && g.variable;\n if (M) {\n if (tt.test(M)) throw new et(C);\n } else P = \"with (obj) {\\n\" + P + \"\\n}\\n\";\n P = (S ? P.replace(Le, \"\") : P).replace(ke, \"$1\").replace(xe, \"$1;\"), P = \"function(\" + (M || \"obj\") + \") {\\n\" + (M ? \"\" : \"obj || (obj = {});\\n\") + \"var __t, __p = ''\" + (y ? \", __e = _.escape\" : \"\") + (S ? \", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\" : \";\\n\") + P + \"return __p\\n}\";\n var w = Ir(function () {\n return ht(T, A + \"return \" + P).apply(f, E);\n });\n if (w.source = P, isError(w)) throw w;\n return w;\n }\n function toLower(d) {\n return toString(d).toLowerCase();\n }\n function toUpper(d) {\n return toString(d).toUpperCase();\n }\n function trim(d, g, m) {\n if ((d = toString(d)) && (m || g === f)) return baseTrim(d);\n if (!d || !(g = baseToString(g))) return d;\n var v = stringToArray(d),\n y = stringToArray(g);\n return castSlice(v, charsStartIndex(v, y), charsEndIndex(v, y) + 1).join(\"\");\n }\n function trimEnd(d, g, m) {\n if ((d = toString(d)) && (m || g === f)) return d.slice(0, trimmedEndIndex(d) + 1);\n if (!d || !(g = baseToString(g))) return d;\n var v = stringToArray(d);\n return castSlice(v, 0, charsEndIndex(v, stringToArray(g)) + 1).join(\"\");\n }\n function trimStart(d, g, m) {\n if ((d = toString(d)) && (m || g === f)) return d.replace($e, \"\");\n if (!d || !(g = baseToString(g))) return d;\n var v = stringToArray(d);\n return castSlice(v, charsStartIndex(v, stringToArray(g))).join(\"\");\n }\n function truncate(d, g) {\n var m = V,\n v = j;\n if (isObject(g)) {\n var y = \"separator\" in g ? g.separator : y;\n m = \"length\" in g ? toInteger(g.length) : m, v = \"omission\" in g ? baseToString(g.omission) : v;\n }\n var S = (d = toString(d)).length;\n if (hasUnicode(d)) {\n var _ = stringToArray(d);\n S = _.length;\n }\n if (m >= S) return d;\n var C = m - stringSize(v);\n if (C < 1) return v;\n var T = _ ? castSlice(_, 0, C).join(\"\") : d.slice(0, C);\n if (y === f) return T + v;\n if (_ && (C += T.length - C), Qn(y)) {\n if (d.slice(C).search(y)) {\n var E,\n b = T;\n for (y.global || (y = mt(y.source, toString(rt.exec(y)) + \"g\")), y.lastIndex = 0; E = y.exec(b);) var I = E.index;\n T = T.slice(0, I === f ? C : I);\n }\n } else if (d.indexOf(baseToString(y), C) != C) {\n var P = T.lastIndexOf(y);\n P > -1 && (T = T.slice(0, P));\n }\n return T + v;\n }\n function unescape(d) {\n return (d = toString(d)) && He.test(d) ? d.replace(Fe, bi) : d;\n }\n var Er = createCompounder(function (d, g, f) {\n return d + (f ? \" \" : \"\") + g.toUpperCase();\n }),\n br = createCaseFirst(\"toUpperCase\");\n function words(d, g, m) {\n return d = toString(d), (g = m ? f : g) === f ? hasUnicodeWord(d) ? unicodeWords(d) : asciiWords(d) : d.match(g) || [];\n }\n var Ir = baseRest(function (d, g) {\n try {\n return apply(d, f, g);\n } catch (d) {\n return isError(d) ? d : new et(d);\n }\n }),\n Pr = flatRest(function (d, g) {\n return arrayEach(g, function (g) {\n g = toKey(g), baseAssignValue(d, g, Ln(d[g], d));\n }), d;\n });\n function cond(d) {\n var g = null == d ? 0 : d.length,\n f = getIteratee();\n return d = g ? arrayMap(d, function (d) {\n if (\"function\" != typeof d[1]) throw new yt(_);\n return [f(d[0]), d[1]];\n }) : [], baseRest(function (f) {\n for (var m = -1; ++m < g;) {\n var v = d[m];\n if (apply(v[0], this, f)) return apply(v[1], this, f);\n }\n });\n }\n function conforms(d) {\n return baseConforms(baseClone(d, I));\n }\n function constant(d) {\n return function () {\n return d;\n };\n }\n function defaultTo(d, g) {\n return null == d || d != d ? g : d;\n }\n var Rr = createFlow(),\n Ar = createFlow(!0);\n function identity(d) {\n return d;\n }\n function iteratee(d) {\n return baseIteratee(\"function\" == typeof d ? d : baseClone(d, I));\n }\n function matches(d) {\n return baseMatches(baseClone(d, I));\n }\n function matchesProperty(d, g) {\n return baseMatchesProperty(d, baseClone(g, I));\n }\n var Mr = baseRest(function (d, g) {\n return function (f) {\n return baseInvoke(f, d, g);\n };\n }),\n wr = baseRest(function (d, g) {\n return function (f) {\n return baseInvoke(d, f, g);\n };\n });\n function mixin(d, g, f) {\n var m = keys(g),\n v = baseFunctions(g, m);\n null != f || isObject(g) && (v.length || !m.length) || (f = g, g = d, d = this, v = baseFunctions(g, keys(g)));\n var y = !(isObject(f) && \"chain\" in f && !f.chain),\n S = isFunction(d);\n return arrayEach(v, function (f) {\n var m = g[f];\n d[f] = m, S && (d.prototype[f] = function () {\n var g = this.__chain__;\n if (y || g) {\n var f = d(this.__wrapped__);\n return (f.__actions__ = copyArray(this.__actions__)).push({\n func: m,\n args: arguments,\n thisArg: d\n }), f.__chain__ = g, f;\n }\n return m.apply(d, arrayPush([this.value()], arguments));\n });\n }), d;\n }\n function noConflict() {\n return ci._ === this && (ci._ = Mt), this;\n }\n function noop() {}\n function nthArg(d) {\n return d = toInteger(d), baseRest(function (g) {\n return baseNth(g, d);\n });\n }\n var Or = createOver(arrayMap),\n Dr = createOver(arrayEvery),\n Nr = createOver(arraySome);\n function property(d) {\n return isKey(d) ? baseProperty(toKey(d)) : basePropertyDeep(d);\n }\n function propertyOf(d) {\n return function (g) {\n return null == d ? f : baseGet(d, g);\n };\n }\n var Lr = createRange(),\n kr = createRange(!0);\n function stubArray() {\n return [];\n }\n function stubFalse() {\n return !1;\n }\n function stubObject() {\n return {};\n }\n function stubString() {\n return \"\";\n }\n function stubTrue() {\n return !0;\n }\n function times(d, g) {\n if ((d = toInteger(d)) < 1 || d > J) return [];\n var f = Y,\n m = li(d, Y);\n g = getIteratee(g), d -= Y;\n for (var v = baseTimes(m, g); ++f < d;) g(f);\n return v;\n }\n function toPath(d) {\n return qn(d) ? arrayMap(d, toKey) : isSymbol(d) ? [d] : copyArray(an(toString(d)));\n }\n function uniqueId(d) {\n var g = ++It;\n return toString(d) + g;\n }\n var xr = createMathOperation(function (d, g) {\n return d + g;\n }, 0),\n Fr = createRound(\"ceil\"),\n Ur = createMathOperation(function (d, g) {\n return d / g;\n }, 1),\n Hr = createRound(\"floor\");\n function max(d) {\n return d && d.length ? baseExtremum(d, identity, baseGt) : f;\n }\n function maxBy(d, g) {\n return d && d.length ? baseExtremum(d, getIteratee(g, 2), baseGt) : f;\n }\n function mean(d) {\n return baseMean(d, identity);\n }\n function meanBy(d, g) {\n return baseMean(d, getIteratee(g, 2));\n }\n function min(d) {\n return d && d.length ? baseExtremum(d, identity, baseLt) : f;\n }\n function minBy(d, g) {\n return d && d.length ? baseExtremum(d, getIteratee(g, 2), baseLt) : f;\n }\n var Vr,\n jr = createMathOperation(function (d, g) {\n return d * g;\n }, 1),\n Br = createRound(\"round\"),\n Wr = createMathOperation(function (d, g) {\n return d - g;\n }, 0);\n function sum(d) {\n return d && d.length ? baseSum(d, identity) : 0;\n }\n function sumBy(d, g) {\n return d && d.length ? baseSum(d, getIteratee(g, 2)) : 0;\n }\n return lodash.after = after, lodash.ary = ary, lodash.assign = tr, lodash.assignIn = ir, lodash.assignInWith = nr, lodash.assignWith = rr, lodash.at = or, lodash.before = before, lodash.bind = Ln, lodash.bindAll = Pr, lodash.bindKey = kn, lodash.castArray = castArray, lodash.chain = chain, lodash.chunk = chunk, lodash.compact = compact, lodash.concat = concat, lodash.cond = cond, lodash.conforms = conforms, lodash.constant = constant, lodash.countBy = In, lodash.create = create, lodash.curry = curry, lodash.curryRight = curryRight, lodash.debounce = debounce, lodash.defaults = ar, lodash.defaultsDeep = sr, lodash.defer = xn, lodash.delay = Fn, lodash.difference = sn, lodash.differenceBy = ln, lodash.differenceWith = cn, lodash.drop = drop, lodash.dropRight = dropRight, lodash.dropRightWhile = dropRightWhile, lodash.dropWhile = dropWhile, lodash.fill = fill, lodash.filter = filter, lodash.flatMap = flatMap, lodash.flatMapDeep = flatMapDeep, lodash.flatMapDepth = flatMapDepth, lodash.flatten = flatten, lodash.flattenDeep = flattenDeep, lodash.flattenDepth = flattenDepth, lodash.flip = flip, lodash.flow = Rr, lodash.flowRight = Ar, lodash.fromPairs = fromPairs, lodash.functions = functions, lodash.functionsIn = functionsIn, lodash.groupBy = An, lodash.initial = initial, lodash.intersection = dn, lodash.intersectionBy = un, lodash.intersectionWith = pn, lodash.invert = lr, lodash.invertBy = cr, lodash.invokeMap = Mn, lodash.iteratee = iteratee, lodash.keyBy = wn, lodash.keys = keys, lodash.keysIn = keysIn, lodash.map = map, lodash.mapKeys = mapKeys, lodash.mapValues = mapValues, lodash.matches = matches, lodash.matchesProperty = matchesProperty, lodash.memoize = memoize, lodash.merge = ur, lodash.mergeWith = pr, lodash.method = Mr, lodash.methodOf = wr, lodash.mixin = mixin, lodash.negate = negate, lodash.nthArg = nthArg, lodash.omit = hr, lodash.omitBy = omitBy, lodash.once = once, lodash.orderBy = orderBy, lodash.over = Or, lodash.overArgs = Un, lodash.overEvery = Dr, lodash.overSome = Nr, lodash.partial = Hn, lodash.partialRight = Vn, lodash.partition = On, lodash.pick = gr, lodash.pickBy = pickBy, lodash.property = property, lodash.propertyOf = propertyOf, lodash.pull = hn, lodash.pullAll = pullAll, lodash.pullAllBy = pullAllBy, lodash.pullAllWith = pullAllWith, lodash.pullAt = gn, lodash.range = Lr, lodash.rangeRight = kr, lodash.rearg = jn, lodash.reject = reject, lodash.remove = remove, lodash.rest = rest, lodash.reverse = reverse, lodash.sampleSize = sampleSize, lodash.set = set, lodash.setWith = setWith, lodash.shuffle = shuffle, lodash.slice = slice, lodash.sortBy = Dn, lodash.sortedUniq = sortedUniq, lodash.sortedUniqBy = sortedUniqBy, lodash.split = split, lodash.spread = spread, lodash.tail = tail, lodash.take = take, lodash.takeRight = takeRight, lodash.takeRightWhile = takeRightWhile, lodash.takeWhile = takeWhile, lodash.tap = tap, lodash.throttle = throttle, lodash.thru = thru, lodash.toArray = toArray, lodash.toPairs = fr, lodash.toPairsIn = mr, lodash.toPath = toPath, lodash.toPlainObject = toPlainObject, lodash.transform = transform, lodash.unary = unary, lodash.union = fn, lodash.unionBy = mn, lodash.unionWith = vn, lodash.uniq = uniq, lodash.uniqBy = uniqBy, lodash.uniqWith = uniqWith, lodash.unset = unset, lodash.unzip = unzip, lodash.unzipWith = unzipWith, lodash.update = update, lodash.updateWith = updateWith, lodash.values = values, lodash.valuesIn = valuesIn, lodash.without = yn, lodash.words = words, lodash.wrap = wrap, lodash.xor = Sn, lodash.xorBy = _n, lodash.xorWith = Cn, lodash.zip = Tn, lodash.zipObject = zipObject, lodash.zipObjectDeep = zipObjectDeep, lodash.zipWith = En, lodash.entries = fr, lodash.entriesIn = mr, lodash.extend = ir, lodash.extendWith = nr, mixin(lodash, lodash), lodash.add = xr, lodash.attempt = Ir, lodash.camelCase = vr, lodash.capitalize = capitalize, lodash.ceil = Fr, lodash.clamp = clamp, lodash.clone = clone, lodash.cloneDeep = cloneDeep, lodash.cloneDeepWith = cloneDeepWith, lodash.cloneWith = cloneWith, lodash.conformsTo = conformsTo, lodash.deburr = deburr, lodash.defaultTo = defaultTo, lodash.divide = Ur, lodash.endsWith = endsWith, lodash.eq = eq, lodash.escape = escape, lodash.escapeRegExp = escapeRegExp, lodash.every = every, lodash.find = Pn, lodash.findIndex = findIndex, lodash.findKey = findKey, lodash.findLast = Rn, lodash.findLastIndex = findLastIndex, lodash.findLastKey = findLastKey, lodash.floor = Hr, lodash.forEach = forEach, lodash.forEachRight = forEachRight, lodash.forIn = forIn, lodash.forInRight = forInRight, lodash.forOwn = forOwn, lodash.forOwnRight = forOwnRight, lodash.get = get, lodash.gt = Bn, lodash.gte = Wn, lodash.has = has, lodash.hasIn = hasIn, lodash.head = head, lodash.identity = identity, lodash.includes = includes, lodash.indexOf = indexOf, lodash.inRange = inRange, lodash.invoke = dr, lodash.isArguments = Gn, lodash.isArray = qn, lodash.isArrayBuffer = zn, lodash.isArrayLike = isArrayLike, lodash.isArrayLikeObject = isArrayLikeObject, lodash.isBoolean = isBoolean, lodash.isBuffer = Kn, lodash.isDate = Jn, lodash.isElement = isElement, lodash.isEmpty = isEmpty, lodash.isEqual = isEqual, lodash.isEqualWith = isEqualWith, lodash.isError = isError, lodash.isFinite = isFinite, lodash.isFunction = isFunction, lodash.isInteger = isInteger, lodash.isLength = isLength, lodash.isMap = $n, lodash.isMatch = isMatch, lodash.isMatchWith = isMatchWith, lodash.isNaN = isNaN, lodash.isNative = isNative, lodash.isNil = isNil, lodash.isNull = isNull, lodash.isNumber = isNumber, lodash.isObject = isObject, lodash.isObjectLike = isObjectLike, lodash.isPlainObject = isPlainObject, lodash.isRegExp = Qn, lodash.isSafeInteger = isSafeInteger, lodash.isSet = Yn, lodash.isString = isString, lodash.isSymbol = isSymbol, lodash.isTypedArray = Xn, lodash.isUndefined = isUndefined, lodash.isWeakMap = isWeakMap, lodash.isWeakSet = isWeakSet, lodash.join = join, lodash.kebabCase = yr, lodash.last = last, lodash.lastIndexOf = lastIndexOf, lodash.lowerCase = Sr, lodash.lowerFirst = _r, lodash.lt = Zn, lodash.lte = er, lodash.max = max, lodash.maxBy = maxBy, lodash.mean = mean, lodash.meanBy = meanBy, lodash.min = min, lodash.minBy = minBy, lodash.stubArray = stubArray, lodash.stubFalse = stubFalse, lodash.stubObject = stubObject, lodash.stubString = stubString, lodash.stubTrue = stubTrue, lodash.multiply = jr, lodash.nth = nth, lodash.noConflict = noConflict, lodash.noop = noop, lodash.now = Nn, lodash.pad = pad, lodash.padEnd = padEnd, lodash.padStart = padStart, lodash.parseInt = parseInt, lodash.random = random, lodash.reduce = reduce, lodash.reduceRight = reduceRight, lodash.repeat = repeat, lodash.replace = replace, lodash.result = result, lodash.round = Br, lodash.runInContext = runInContext, lodash.sample = sample, lodash.size = size, lodash.snakeCase = Cr, lodash.some = some, lodash.sortedIndex = sortedIndex, lodash.sortedIndexBy = sortedIndexBy, lodash.sortedIndexOf = sortedIndexOf, lodash.sortedLastIndex = sortedLastIndex, lodash.sortedLastIndexBy = sortedLastIndexBy, lodash.sortedLastIndexOf = sortedLastIndexOf, lodash.startCase = Tr, lodash.startsWith = startsWith, lodash.subtract = Wr, lodash.sum = sum, lodash.sumBy = sumBy, lodash.template = template, lodash.times = times, lodash.toFinite = toFinite, lodash.toInteger = toInteger, lodash.toLength = toLength, lodash.toLower = toLower, lodash.toNumber = toNumber, lodash.toSafeInteger = toSafeInteger, lodash.toString = toString, lodash.toUpper = toUpper, lodash.trim = trim, lodash.trimEnd = trimEnd, lodash.trimStart = trimStart, lodash.truncate = truncate, lodash.unescape = unescape, lodash.uniqueId = uniqueId, lodash.upperCase = Er, lodash.upperFirst = br, lodash.each = forEach, lodash.eachRight = forEachRight, lodash.first = head, mixin(lodash, (Vr = {}, baseForOwn(lodash, function (d, g) {\n bt.call(lodash.prototype, g) || (Vr[g] = d);\n }), Vr), {\n chain: !1\n }), lodash.VERSION = m, arrayEach([\"bind\", \"bindKey\", \"curry\", \"curryRight\", \"partial\", \"partialRight\"], function (d) {\n lodash[d].placeholder = lodash;\n }), arrayEach([\"drop\", \"take\"], function (d, g) {\n LazyWrapper.prototype[d] = function (m) {\n m = m === f ? 1 : si(toInteger(m), 0);\n var v = this.__filtered__ && !g ? new LazyWrapper(this) : this.clone();\n return v.__filtered__ ? v.__takeCount__ = li(m, v.__takeCount__) : v.__views__.push({\n size: li(m, Y),\n type: d + (v.__dir__ < 0 ? \"Right\" : \"\")\n }), v;\n }, LazyWrapper.prototype[d + \"Right\"] = function (g) {\n return this.reverse()[d](g).reverse();\n };\n }), arrayEach([\"filter\", \"map\", \"takeWhile\"], function (d, g) {\n var f = g + 1,\n m = f == G || f == z;\n LazyWrapper.prototype[d] = function (d) {\n var g = this.clone();\n return g.__iteratees__.push({\n iteratee: getIteratee(d, 3),\n type: f\n }), g.__filtered__ = g.__filtered__ || m, g;\n };\n }), arrayEach([\"head\", \"last\"], function (d, g) {\n var f = \"take\" + (g ? \"Right\" : \"\");\n LazyWrapper.prototype[d] = function () {\n return this[f](1).value()[0];\n };\n }), arrayEach([\"initial\", \"tail\"], function (d, g) {\n var f = \"drop\" + (g ? \"\" : \"Right\");\n LazyWrapper.prototype[d] = function () {\n return this.__filtered__ ? new LazyWrapper(this) : this[f](1);\n };\n }), LazyWrapper.prototype.compact = function () {\n return this.filter(identity);\n }, LazyWrapper.prototype.find = function (d) {\n return this.filter(d).head();\n }, LazyWrapper.prototype.findLast = function (d) {\n return this.reverse().find(d);\n }, LazyWrapper.prototype.invokeMap = baseRest(function (d, g) {\n return \"function\" == typeof d ? new LazyWrapper(this) : this.map(function (f) {\n return baseInvoke(f, d, g);\n });\n }), LazyWrapper.prototype.reject = function (d) {\n return this.filter(negate(getIteratee(d)));\n }, LazyWrapper.prototype.slice = function (d, g) {\n d = toInteger(d);\n var m = this;\n return m.__filtered__ && (d > 0 || g < 0) ? new LazyWrapper(m) : (d < 0 ? m = m.takeRight(-d) : d && (m = m.drop(d)), g !== f && (m = (g = toInteger(g)) < 0 ? m.dropRight(-g) : m.take(g - d)), m);\n }, LazyWrapper.prototype.takeRightWhile = function (d) {\n return this.reverse().takeWhile(d).reverse();\n }, LazyWrapper.prototype.toArray = function () {\n return this.take(Y);\n }, baseForOwn(LazyWrapper.prototype, function (d, g) {\n var m = /^(?:filter|find|map|reject)|While$/.test(g),\n v = /^(?:head|last)$/.test(g),\n y = lodash[v ? \"take\" + (\"last\" == g ? \"Right\" : \"\") : g],\n S = v || /^find/.test(g);\n y && (lodash.prototype[g] = function () {\n var g = this.__wrapped__,\n _ = v ? [1] : arguments,\n C = g instanceof LazyWrapper,\n T = _[0],\n E = C || qn(g),\n interceptor = function (d) {\n var g = y.apply(lodash, arrayPush([d], _));\n return v && b ? g[0] : g;\n };\n E && m && \"function\" == typeof T && 1 != T.length && (C = E = !1);\n var b = this.__chain__,\n I = !!this.__actions__.length,\n P = S && !b,\n R = C && !I;\n if (!S && E) {\n g = R ? g : new LazyWrapper(this);\n var A = d.apply(g, _);\n return A.__actions__.push({\n func: thru,\n args: [interceptor],\n thisArg: f\n }), new LodashWrapper(A, b);\n }\n return P && R ? d.apply(this, _) : (A = this.thru(interceptor), P ? v ? A.value()[0] : A.value() : A);\n });\n }), arrayEach([\"pop\", \"push\", \"shift\", \"sort\", \"splice\", \"unshift\"], function (d) {\n var g = St[d],\n f = /^(?:push|sort|unshift)$/.test(d) ? \"tap\" : \"thru\",\n m = /^(?:pop|shift)$/.test(d);\n lodash.prototype[d] = function () {\n var d = arguments;\n if (m && !this.__chain__) {\n var v = this.value();\n return g.apply(qn(v) ? v : [], d);\n }\n return this[f](function (f) {\n return g.apply(qn(f) ? f : [], d);\n });\n };\n }), baseForOwn(LazyWrapper.prototype, function (d, g) {\n var f = lodash[g];\n if (f) {\n var m = f.name + \"\";\n bt.call(Di, m) || (Di[m] = []), Di[m].push({\n name: g,\n func: f\n });\n }\n }), Di[createHybrid(f, O).name] = [{\n name: \"wrapper\",\n func: f\n }], LazyWrapper.prototype.clone = lazyClone, LazyWrapper.prototype.reverse = lazyReverse, LazyWrapper.prototype.value = lazyValue, lodash.prototype.at = bn, lodash.prototype.chain = wrapperChain, lodash.prototype.commit = wrapperCommit, lodash.prototype.next = wrapperNext, lodash.prototype.plant = wrapperPlant, lodash.prototype.reverse = wrapperReverse, lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue, lodash.prototype.first = lodash.prototype.head, Vt && (lodash.prototype[Vt] = wrapperToIterator), lodash;\n },\n Pi = Ii();\n ui ? ((ui.exports = Pi)._ = Pi, di._ = Pi) : ci._ = Pi;\n }).call(v);\n }),\n S = createCommonjsModule(function (d, g) {\n function vsprintf(d, g) {\n var f = 0;\n return d.replace(/%[dixs%]/g, function (d) {\n var m = 0;\n if (\"%\" !== d[m++]) return \"\";\n var v = d[m++];\n return \"%\" === v ? \"%\" : \"s\" === v || \"d\" === v || \"i\" === v ? g[f++] : \"x\" === v ? g[f++].toString(16) : d;\n });\n }\n function sprintf(d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n return vsprintf(d, g);\n }\n /*!\r\n \t * AufLog.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2016-12-29\r\n \t * Copyright 2016 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), function (d) {\n d[d.Trace = 10] = \"Trace\", d[d.Debug6 = 16] = \"Debug6\", d[d.Debug5 = 18] = \"Debug5\", d[d.Debug4 = 20] = \"Debug4\", d[d.Debug3 = 30] = \"Debug3\", d[d.Debug2 = 40] = \"Debug2\", d[d.Debug1 = 50] = \"Debug1\", d[d.Warning = 60] = \"Warning\", d[d.Error = 70] = \"Error\", d[d.Fatal = 80] = \"Fatal\", d[d.MetaData = 90] = \"MetaData\";\n }(g.LogLevel || (g.LogLevel = {})), function (d) {\n d[d.UseDefault = 0] = \"UseDefault\", d[d.Compress = 1] = \"Compress\", d[d.Disabled = 2] = \"Disabled\";\n }(g.LogFileCompression || (g.LogFileCompression = {})), function (d) {\n d[d.Raw = 0] = \"Raw\", d[d.Base64 = 1] = \"Base64\";\n }(g.LogFileEncoding || (g.LogFileEncoding = {})), function (d) {\n d[d.Unencrypted = 0] = \"Unencrypted\", d[d.Encrypted = 1] = \"Encrypted\";\n }(g.LogFileEncryption || (g.LogFileEncryption = {})), function (d) {\n d[d.PEM = 0] = \"PEM\", d[d.DER = 1] = \"DER\", d[d.BER = 2] = \"BER\";\n }(g.CertStoreFormat || (g.CertStoreFormat = {})), function (d) {\n d[d.InsertFront = 8] = \"InsertFront\";\n }(g.AppenderFlags || (g.AppenderFlags = {})), g.vsprintf = vsprintf, g.sprintf = sprintf;\n }),\n _ = createCommonjsModule(function (d, g) {\n /*!\r\n \t * LogFactory.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2016-12-29\r\n \t * Copyright 2016 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n var f,\n m,\n y = v && v.__extends || (f = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, g) {\n d.__proto__ = g;\n } || function (d, g) {\n for (var f in g) g.hasOwnProperty(f) && (d[f] = g[f]);\n }, function (d, g) {\n function __() {\n this.constructor = d;\n }\n f(d, g), d.prototype = null === g ? Object.create(g) : (__.prototype = g.prototype, new __());\n });\n function hash(d) {\n if (null === d) return -1;\n for (var g = 0, f = d.length - 1; f >= 0; f--) g = 37 * g + d.charCodeAt(f) | 0;\n var m = \"__auf_literal:\";\n for (f = m.length - 1; f >= 0; f--) g = 37 * g + m.charCodeAt(f) | 0;\n return g;\n }\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), function (d) {\n d[d.Unsafe = 0] = \"Unsafe\", d[d.Safe = 1] = \"Safe\", d[d.Inherited_Unsafe = 2] = \"Inherited_Unsafe\", d[d.Inherited_Safe = 3] = \"Inherited_Safe\", d[d.Blacklisted_Unsafe = 4] = \"Blacklisted_Unsafe\";\n }(m || (m = {}));\n var _,\n C = function () {\n function LogComponentImpl(d, g) {\n this._level = S.LogLevel.Debug4, this._threshold = 255, this._safe = m.Inherited_Unsafe, this._name = d, g && (this._level = g.level(), this._safe = g.safe() ? m.Inherited_Safe : m.Inherited_Unsafe, this._extendedInfo = g.extendedInfo());\n }\n return LogComponentImpl.prototype.name = function () {\n return this._name;\n }, LogComponentImpl.prototype.safe = function () {\n return this._safe === m.Safe || this._safe === m.Inherited_Safe;\n }, LogComponentImpl.prototype.safety = function () {\n return this._safe;\n }, LogComponentImpl.prototype.setSafety = function (d) {\n this._safe = d;\n }, LogComponentImpl.prototype.description = function () {\n return this._desc;\n }, LogComponentImpl.prototype.setDescription = function (d) {\n this._desc = d;\n }, LogComponentImpl.prototype.level = function () {\n return this._level;\n }, LogComponentImpl.prototype.setLevel = function (d) {\n _.setLevel(this, d);\n }, LogComponentImpl.prototype._setLevel = function (d) {\n this._level = d;\n }, LogComponentImpl.prototype._setThreshold = function (d) {\n this._threshold = d;\n }, LogComponentImpl.prototype.isEnabled = function (d) {\n return this._threshold <= d;\n }, LogComponentImpl.prototype.setExtendedInfo = function (d) {\n this._extendedInfo = d;\n }, LogComponentImpl.prototype.extendedInfo = function () {\n return this._extendedInfo;\n }, LogComponentImpl.prototype.trace = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Trace, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug6 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug6, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug5 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug5, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug4 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug4, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug3 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug3, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug2 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug2, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.debug1 = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Debug1, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.warn = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Warning, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.error = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Error, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.fatal = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.Fatal, hash(d), d].concat(g));\n }, LogComponentImpl.prototype.meta = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n _.log.apply(_, [this, S.LogLevel.MetaData, hash(d), d].concat(g));\n }, LogComponentImpl;\n }(),\n T = function () {\n function LogFactory() {}\n return LogFactory.instance = function () {\n return _;\n }, LogFactory.levelToString = function (d) {\n return d <= S.LogLevel.Trace ? \"TRACE\" : d <= S.LogLevel.Debug6 ? \"DEBUG6\" : d <= S.LogLevel.Debug5 ? \"DEBUG5\" : d <= S.LogLevel.Debug4 ? \"DEBUG4\" : d <= S.LogLevel.Debug3 ? \"DEBUG3\" : d <= S.LogLevel.Debug2 ? \"DEBUG2\" : d <= S.LogLevel.Debug1 ? \"DEBUG1\" : d <= S.LogLevel.Warning ? \"WARN\" : d <= S.LogLevel.Error ? \"ERROR\" : d <= S.LogLevel.Fatal ? \"FATAL\" : (S.LogLevel.MetaData, \"META\");\n }, LogFactory.levelFromString = function (d) {\n return this._levelFromString[d] || parseInt(d, 10);\n }, LogFactory;\n }();\n function findLevel(d, g) {\n for (var f = g.name(); f.length > 0;) {\n if (d[f]) return d[f];\n var m = f.lastIndexOf(\".\");\n f = m < 0 ? \"\" : f.substr(0, m);\n }\n return d[\"\"] ? d[\"\"] : S.LogLevel.Debug4;\n }\n function findThreshold(d, g) {\n var f = 255;\n return g.forEach(function (g) {\n var m = 255;\n g.appender.levels() ? m = Math.min(m, findLevel(g.appender.levels(), d)) : g.appender.receiveAll() || (m = Math.min(m, d.level())), f = Math.min(f, m);\n }), f;\n }\n function appenderMatches(d, g, f) {\n return !!d.appender.receiveAll() || (d.appender.levels() ? f >= findLevel(d.appender.levels(), g) : f >= g.level());\n }\n T._levelFromString = {\n TRACE: S.LogLevel.Trace,\n DEBUG6: S.LogLevel.Debug6,\n DEBUG5: S.LogLevel.Debug5,\n DEBUG4: S.LogLevel.Debug4,\n DEBUG3: S.LogLevel.Debug3,\n DEBUG2: S.LogLevel.Debug2,\n DEBUG1: S.LogLevel.Debug1,\n WARN: S.LogLevel.Warning,\n ERROR: S.LogLevel.Error,\n FATAL: S.LogLevel.Fatal,\n META: S.LogLevel.MetaData\n }, g.LogFactory = T;\n var E = function (d) {\n function LogFactoryImpl() {\n var g = d.call(this) || this;\n return g._nextId = 0, g._appenders = [], g._components = {}, g._componentBlacklist = [], g._components[\"\"] = new C(\"\", null), g;\n }\n return y(LogFactoryImpl, d), LogFactoryImpl.prototype.toHex = function (d) {\n return (4294967296 + d).toString(16).substr(-8);\n }, LogFactoryImpl.prototype.addAppender = function (d, g) {\n void 0 === g && (g = 0);\n var f = this._nextId++;\n return g & S.AppenderFlags.InsertFront ? this._appenders.unshift({\n appender: d,\n handle: f\n }) : this._appenders.push({\n appender: d,\n handle: f\n }), this.recalcComponentThresholds(), f;\n }, LogFactoryImpl.prototype.removeAppender = function (d) {\n for (var g = 0; g < this._appenders.length; g++) if (this._appenders[g].handle === d) {\n this._appenders.splice(g, 1);\n break;\n }\n this.recalcComponentThresholds();\n }, LogFactoryImpl.prototype.log = function (d, g, f, m) {\n for (var v = [], y = 4; y < arguments.length; y++) v[y - 4] = arguments[y];\n try {\n if (d.isEnabled(g)) {\n var S = {\n timestamp: new Date().getTime(),\n component: d,\n level: g\n };\n this._appenders.forEach(function (y) {\n appenderMatches(y, d, g) && y.appender.log(S, f, m, v);\n });\n }\n } catch (d) {}\n }, LogFactoryImpl.prototype.parent = function (d) {\n for (;;) {\n var g = d.lastIndexOf(\".\");\n if (d = g >= 0 ? d.substr(0, g) : \"\", this._components[d]) return this._components[d];\n }\n }, LogFactoryImpl.prototype.children = function (d) {\n var g = [];\n for (var f in this._components) this.parent(f).name() === d && g.push(this._components[f]);\n return g;\n }, LogFactoryImpl.prototype.component = function (d) {\n if (this._components[d]) return this._components[d];\n var g = new C(d, this.parent(d));\n this._components[d] = g;\n var f = findThreshold(g, this._appenders);\n return g._setThreshold(f), g;\n }, LogFactoryImpl.prototype.rootComponent = function () {\n return this.component(\"\");\n }, LogFactoryImpl.prototype.setSafetyRecursive = function (d, g) {\n var f = this;\n this.children(d).forEach(function (d) {\n d.safety() !== m.Inherited_Safe && d.safety() !== m.Inherited_Unsafe || (d.setSafety(g), f.setSafetyRecursive(d.name(), g));\n });\n }, LogFactoryImpl.prototype.declareComponentSafe = function (d, g) {\n var f = this.component(d);\n -1 !== this._componentBlacklist.indexOf(f.name()) ? f.setSafety(m.Blacklisted_Unsafe) : f.setSafety(g ? m.Safe : m.Unsafe), this.setSafetyRecursive(d, g ? m.Inherited_Safe : m.Inherited_Unsafe);\n }, LogFactoryImpl.prototype.declareComponentDescription = function (d, g) {\n this.component(d).setDescription(g);\n }, LogFactoryImpl.prototype.setExtendedInfoRecursive = function (d, g) {\n var f = this;\n this.children(d).forEach(function (d) {\n void 0 === d.extendedInfo() && (d.setExtendedInfo(g), f.setExtendedInfoRecursive(d.name(), g));\n });\n }, LogFactoryImpl.prototype.declareComponentExtendedInfo = function (d, g) {\n var f = this.component(d);\n f.setExtendedInfo(g), this.setExtendedInfoRecursive(f.name(), g);\n }, LogFactoryImpl.prototype.recalcComponentThresholds = function () {\n for (var d in this._components) {\n var g = this._components[d],\n f = findThreshold(g, this._appenders);\n g._setThreshold(f);\n }\n }, LogFactoryImpl.prototype.setLevel = function (d, g) {\n if (\"\" === d.name()) for (var f in this._components) {\n (y = this._components[f])._setLevel(g);\n var m = findThreshold(y, this._appenders);\n y._setThreshold(m);\n } else {\n var v = d.name() + \".\";\n d._setLevel(g);\n m = findThreshold(d, this._appenders);\n for (var f in d._setThreshold(m), this._components) {\n var y;\n if ((y = this._components[f]).name().substr(0, v.length) === v) {\n y._setLevel(g);\n var S = findThreshold(y, this._appenders);\n y._setThreshold(S);\n }\n }\n }\n }, LogFactoryImpl.prototype.setComponentBlacklist = function (d) {\n for (var g in this._componentBlacklist = d, this._components) {\n var f = this._components[g];\n -1 !== this._componentBlacklist.indexOf(f.name()) && f.setSafety(m.Blacklisted_Unsafe);\n }\n }, LogFactoryImpl;\n }(T);\n _ = new E();\n }),\n C = createCommonjsModule(function (d, g) {\n function fromThenable(d) {\n var g = Defer();\n return d.then(function (d) {\n g.resolve(d);\n }, function (d) {\n g.reject(d);\n }), g.promise().thenAsync(function (d) {\n return d;\n });\n }\n function isThenable(d) {\n return null != d && \"function\" == typeof d.then;\n }\n function isCancelable(d) {\n return null != d && \"function\" == typeof d.cancel;\n }\n function run(d, f) {\n if (!g.config.catchExceptions) return d();\n try {\n return d();\n } catch (d) {\n return f(d);\n }\n }\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), g.config = {\n exceptionsToConsole: !0,\n catchExceptions: !0,\n traceEnabled: !1,\n exceptionHandler: void 0,\n unhandledErrorHandler: function (d) {\n throw d;\n }\n }, g.fromThenable = fromThenable;\n var f,\n m = [],\n v = \"undefined\" != typeof setImmediate;\n function asyncCallback(d) {\n m.push(d), 1 === m.length && (v ? setImmediate(resolveAsyncCallbacks) : setTimeout(resolveAsyncCallbacks, 0));\n }\n function resolveAsyncCallbacks() {\n var d = m;\n m = [];\n for (var g = 0; g < d.length; g++) d[g]();\n }\n function all(d) {\n if (0 === d.length) return Resolved([]);\n var g,\n m = Defer(),\n v = d.length,\n y = Array(d.length);\n m.onCancel(function (g) {\n d.forEach(function (d) {\n isCancelable(d) && f.SyncTask.cancelOtherInternal(d, g);\n });\n });\n var checkFinish = function () {\n 0 == --v && (void 0 !== g ? m.reject(g) : m.resolve(y));\n };\n return d.forEach(function (d, f) {\n isThenable(d) ? d.then(function (d) {\n y[f] = d, checkFinish();\n }, function (d) {\n void 0 === g && (g = void 0 === d || d), checkFinish();\n }) : (y[f] = d, checkFinish());\n }), m.promise();\n }\n function Defer() {\n return new f.SyncTask();\n }\n function Resolved(d) {\n return new f.SyncTask().resolve(d).promise();\n }\n function Rejected(d) {\n return new f.SyncTask().reject(d).promise();\n }\n function race(d) {\n var g = Defer(),\n m = !1;\n return g.onCancel(function (g) {\n d.forEach(function (d) {\n isCancelable(d) && f.SyncTask.cancelOtherInternal(d, g);\n });\n }), d.forEach(function (d) {\n isThenable(d) ? d.then(function (d) {\n m || (m = !0, g.resolve(d));\n }, function (d) {\n m || (m = !0, g.reject(d));\n }) : m || (m = !0, g.resolve(d));\n }), g.promise();\n }\n function raceTimer(d, g) {\n var f = Defer(),\n m = setTimeout(function () {\n f.resolve({\n timedOut: !0\n });\n }, g);\n return race([d.then(function (d) {\n return clearTimeout(m), {\n timedOut: !1,\n result: d\n };\n }), f.promise()]);\n }\n g.asyncCallback = asyncCallback, function (d) {\n var f = function () {\n function SyncTask() {\n this._completedSuccess = !1, this._completedFail = !1, this._traceEnabled = !1, this._cancelCallbacks = [], this._wasCanceled = !1, this._wasExplicitlyCanceled = !1, this._resolving = !1, this._storedCallbackSets = [], this._mustHandleError = !0;\n }\n return SyncTask.prototype._addCallbackSet = function (d, g) {\n var f = this,\n m = new SyncTask();\n return m.onCancel(function (g) {\n d.wasCanceled = !0, d.cancelContext = g, f._cancelInternal(g);\n }), d.task = m, this._storedCallbackSets.push(d), g ? this._mustHandleError = !1 : m._mustHandleError = !1, this._resolving || (this._completedSuccess ? this._resolveSuccesses() : this._completedFail && this._resolveFailures()), m.promise();\n }, SyncTask.prototype.onCancel = function (d) {\n return this._completedSuccess || this._completedFail || (this._wasCanceled ? d(this._cancelContext) : this._cancelCallbacks.push(d)), this;\n }, SyncTask.prototype.then = function (d, g) {\n return this._addCallbackSet({\n successFunc: d,\n failFunc: g\n }, !0);\n }, SyncTask.prototype.thenAsync = function (d, g) {\n return this._addCallbackSet({\n successFunc: d,\n failFunc: g,\n asyncCallback: !0\n }, !0);\n }, SyncTask.prototype.catch = function (d) {\n return this._addCallbackSet({\n failFunc: d\n }, !0);\n }, SyncTask.prototype.always = function (d) {\n return this._addCallbackSet({\n successFunc: d,\n failFunc: d\n }, !0);\n }, SyncTask.prototype.setTracingEnabled = function (d) {\n return this._traceEnabled = d, this;\n }, SyncTask.prototype.finally = function (d) {\n return this._addCallbackSet({\n successFunc: d,\n failFunc: d\n }, !1), this;\n }, SyncTask.prototype.done = function (d) {\n return this._addCallbackSet({\n successFunc: d\n }, !1), this;\n }, SyncTask.prototype.fail = function (d) {\n return this._addCallbackSet({\n failFunc: d\n }, !1), this;\n }, SyncTask.prototype.resolve = function (d) {\n return this._checkState(!0), this._completedSuccess = !0, this._storedResolution = d, this._cancelCallbacks = [], this._resolveSuccesses(), this;\n }, SyncTask.prototype.reject = function (d) {\n return this._checkState(!1), this._completedFail = !0, this._storedErrResolution = d, this._cancelCallbacks = [], this._resolveFailures(), SyncTask._enforceErrorHandled(this), this;\n }, SyncTask.prototype._checkState = function (d) {\n if (this._completedSuccess || this._completedFail) {\n this._completeStack && console.error(this._completeStack.message, this._completeStack.stack);\n var f = \"Failed to \" + (d ? \"resolve\" : \"reject\") + \": the task is already \" + (this._completedSuccess ? \"resolved\" : \"rejected\");\n throw new Error(f);\n }\n (g.config.traceEnabled || this._traceEnabled) && (this._completeStack = new Error(\"resolve\"));\n }, SyncTask._enforceErrorHandled = function (d) {\n d._mustHandleError && (SyncTask._rejectedTasks.push(d), SyncTask._enforceErrorHandledTimer || (SyncTask._enforceErrorHandledTimer = setTimeout(function () {\n SyncTask._enforceErrorHandledTimer = void 0;\n var d = SyncTask._rejectedTasks;\n SyncTask._rejectedTasks = [], d.forEach(function (d, f) {\n d._mustHandleError && g.config.unhandledErrorHandler(d._storedErrResolution);\n });\n }, 0)));\n }, SyncTask.prototype.cancel = function (d) {\n if (this._wasExplicitlyCanceled) throw new Error(\"Already Canceled\");\n this._wasExplicitlyCanceled = !0, this._cancelInternal(d);\n }, SyncTask.prototype._cancelInternal = function (d) {\n var g = this;\n if (!this._wasCanceled) {\n this._wasCanceled = !0, this._cancelContext = d;\n var f = this._cancelCallbacks;\n this._cancelCallbacks = [], f.length > 0 && f.forEach(function (d) {\n g._completedSuccess || g._completedFail || d(g._cancelContext);\n });\n }\n }, SyncTask.cancelOtherInternal = function (d, g) {\n var f = d;\n f._storedCallbackSets && f._cancelInternal ? f._cancelInternal(g) : d.cancel(g);\n }, SyncTask.prototype.promise = function () {\n return this;\n }, SyncTask.prototype._resolveSuccesses = function () {\n var d = this;\n for (this._resolving = !0; this._storedCallbackSets.length;) {\n var g = this._storedCallbackSets;\n this._storedCallbackSets = [], g.forEach(function (g) {\n g.asyncCallback ? asyncCallback(function () {\n return d._resolveSuccessCallback(g);\n }) : d._resolveSuccessCallback(g);\n });\n }\n this._resolving = !1;\n }, SyncTask.prototype._resolveSuccessCallback = function (d) {\n var g = this;\n d.successFunc ? run(function () {\n var f = d.successFunc(g._storedResolution);\n isCancelable(f) && (d.wasCanceled ? SyncTask.cancelOtherInternal(f, d.cancelContext) : d.task.onCancel(function (d) {\n return SyncTask.cancelOtherInternal(f, d);\n })), isThenable(f) ? f.then(function (g) {\n d.task.resolve(g);\n }, function (g) {\n d.task.reject(g);\n }) : d.task.resolve(f);\n }, function (f) {\n g._handleException(f, \"SyncTask caught exception in success block: \" + f.toString()), d.task.reject(f);\n }) : d.task.resolve(this._storedResolution);\n }, SyncTask.prototype._resolveFailures = function () {\n var d = this;\n for (this._resolving = !0; this._storedCallbackSets.length;) {\n var g = this._storedCallbackSets;\n this._storedCallbackSets = [], g.forEach(function (g) {\n g.asyncCallback ? asyncCallback(function () {\n return d._resolveFailureCallback(g);\n }) : d._resolveFailureCallback(g);\n });\n }\n this._resolving = !1;\n }, SyncTask.prototype._resolveFailureCallback = function (d) {\n var g = this;\n d.failFunc ? run(function () {\n var f = d.failFunc(g._storedErrResolution);\n isCancelable(f) && (d.wasCanceled ? SyncTask.cancelOtherInternal(f, d.cancelContext) : d.task.onCancel(function (d) {\n return SyncTask.cancelOtherInternal(f, d);\n })), isThenable(f) ? f.then(function (g) {\n d.task.resolve(g);\n }, function (g) {\n d.task.reject(g);\n }) : d.task.resolve(f);\n }, function (f) {\n g._handleException(f, \"SyncTask caught exception in failure block: \" + f.toString()), d.task.reject(f);\n }) : d.task.reject(this._storedErrResolution);\n }, SyncTask.prototype._handleException = function (d, f) {\n g.config.exceptionsToConsole && console.error(f), g.config.exceptionHandler && g.config.exceptionHandler(d);\n }, SyncTask.prototype.toEs6Promise = function () {\n var d = this;\n return new Promise(function (g, f) {\n return d.then(g, f);\n });\n }, SyncTask._rejectedTasks = [], SyncTask;\n }();\n d.SyncTask = f;\n }(f || (f = {})), g.all = all, g.Defer = Defer, g.Resolved = Resolved, g.Rejected = Rejected, g.race = race, g.raceTimer = raceTimer;\n }),\n T = createCommonjsModule(function (d, g) {\n /*!\r\n \t * Appenders.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2016-12-29\r\n \t * Copyright 2016 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n var f,\n m = v && v.__extends || (f = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, g) {\n d.__proto__ = g;\n } || function (d, g) {\n for (var f in g) g.hasOwnProperty(f) && (d[f] = g[f]);\n }, function (d, g) {\n function __() {\n this.constructor = d;\n }\n f(d, g), d.prototype = null === g ? Object.create(g) : (__.prototype = g.prototype, new __());\n });\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n });\n var y,\n C = function () {\n function AbstractLogAppender(d) {\n this._formatter = d || new T();\n }\n return AbstractLogAppender.prototype.formatter = function () {\n return this._formatter;\n }, AbstractLogAppender.prototype.receiveAll = function () {\n return !1;\n }, AbstractLogAppender.prototype.levels = function () {\n return null;\n }, AbstractLogAppender;\n }();\n function toHex(d) {\n return (4294967296 + d).toString(16).substr(-8);\n }\n function pad(d, g) {\n return (1e12 + d).toString(10).substr(-g);\n }\n g.AbstractLogAppender = C, function (d) {\n d[d.Timestamp = 1] = \"Timestamp\", d[d.Component = 4] = \"Component\", d[d.Level = 8] = \"Level\", d[d.FullDate = 32] = \"FullDate\", d[d.LogId = 64] = \"LogId\";\n }(y = g.SLF_Flags || (g.SLF_Flags = {}));\n var T = function () {\n function StandardLogFormatter(d) {\n void 0 === d && (d = 4294967295), this._flags = d;\n }\n return StandardLogFormatter.prototype.format = function (d, g, f, m) {\n var v = \"\";\n if (this._flags & y.FullDate) v += new Date(d.timestamp).toISOString() + \" \";else if (this._flags & y.Timestamp) {\n var C = new Date(d.timestamp);\n v += pad(C.getHours(), 2) + \":\" + pad(C.getMinutes(), 2) + \":\" + pad(C.getSeconds(), 2) + \".\" + pad(C.getMilliseconds(), 2) + \" \";\n }\n return this._flags & y.LogId && (v += \"[#\" + toHex(g) + \"-\" + (d.component.safe() ? \"S\" : \"u\") + \"] \"), this._flags & y.Level && (v += \"[\" + _.LogFactory.levelToString(d.level) + \"] \"), this._flags & y.Component && (v += \"[\" + d.component.name() + \"] \"), f || \"\" === f ? v + S.vsprintf(f, m) : v + toHex(g) + \": \" + m.join(\" \");\n }, StandardLogFormatter;\n }();\n g.StandardLogFormatter = T;\n var E = console,\n b = console.log || function () {},\n I = console.info || b,\n P = console.warn || I,\n R = console.error || P,\n A = function (d) {\n function ConsoleAppender() {\n return null !== d && d.apply(this, arguments) || this;\n }\n return m(ConsoleAppender, d), ConsoleAppender.prototype.log = function (d, g, f, m) {\n m = m.slice(0);\n var v = d.level <= S.LogLevel.Debug3 ? b : d.level <= S.LogLevel.Debug1 ? I : d.level <= S.LogLevel.Warning ? P : R;\n if (-1 === g) {\n var y = this.formatter().format(d, g, \"\", []);\n \"string\" == typeof m[0] && (y += m.shift()), v.apply(E, [y].concat(m));\n } else {\n for (var _ = void 0, C = []; _ = f.match(/\\s*%@\\s*$/);) f = f.substr(0, f.length - _[0].length), C.unshift(m.pop());\n y = this.formatter().format(d, g, f, m);\n v.apply(E, [y].concat(C));\n }\n }, ConsoleAppender;\n }(C);\n g.ConsoleAppender = A;\n var M = function () {\n function ChainedLogAppender(d) {\n this._chained = d;\n }\n return ChainedLogAppender.prototype.log = function (d, g, f, m) {\n this._chained.log(d, g, f, m);\n }, ChainedLogAppender.prototype.receiveAll = function () {\n return this._chained.receiveAll();\n }, ChainedLogAppender.prototype.levels = function () {\n return this._chained.levels();\n }, ChainedLogAppender;\n }();\n g.ChainedLogAppender = M;\n var w = function (d) {\n function LevelWrappedAppender(g, f) {\n var m = d.call(this, g) || this;\n return m._levels = f, m;\n }\n return m(LevelWrappedAppender, d), LevelWrappedAppender.prototype.levels = function () {\n return this._levels;\n }, LevelWrappedAppender;\n }(M);\n function wrapAppenderWithLogLevels(d, g) {\n return new w(d, g);\n }\n g.wrapAppenderWithLogLevels = wrapAppenderWithLogLevels;\n }),\n E = createCommonjsModule(function (d, g) {\n /*!\r\n \t * RootToolsManager.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2016-12-29\r\n \t * Copyright 2016 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n var f,\n m = v && v.__extends || (f = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, g) {\n d.__proto__ = g;\n } || function (d, g) {\n for (var f in g) g.hasOwnProperty(f) && (d[f] = g[f]);\n }, function (d, g) {\n function __() {\n this.constructor = d;\n }\n f(d, g), d.prototype = null === g ? Object.create(g) : (__.prototype = g.prototype, new __());\n });\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n });\n var y = _.LogFactory.instance().component(\"RootToolsManager\");\n _.LogFactory.instance().declareComponentSafe(\"RootToolsManager\", !0);\n var E,\n b = \"638b8ba2bae14e07aa5d73ddb5d5e5c5-297b8412-5df3-4a83-83c4-7b76c6c5d3f0-7104\";\n !function (d) {\n d[d.InternalBuild = 0] = \"InternalBuild\", d[d.PublicBuild = 1] = \"PublicBuild\";\n }(E = g.BuildType || (g.BuildType = {}));\n var I = E.InternalBuild;\n function setBuildType(d) {\n var g = I;\n return I = d, g;\n }\n function toHex(d) {\n return (4294967296 + d).toString(16).substr(-8);\n }\n function map(d, g) {\n var f = [];\n for (var m in d) f.push(g(m, d[m]));\n return f;\n }\n function arrayEquals(d, g, f) {\n if (null == d) return null == g || 0 === g.length;\n if (null == g) return null == d || 0 === d.length;\n if (d.length === g.length) {\n for (var m = 0; m < d.length; m++) if (!f(d[m], g[m])) return !1;\n return !0;\n }\n return !1;\n }\n function matcherEquals(d, g) {\n return null == d ? null == g : null == g ? null == d : d.arg === g.arg && d.op === g.op && d.value === g.value;\n }\n function conditionEquals(d, g) {\n return null == d ? null == g || 0 === g.logId : null == g ? null == d || 0 === d.logId : d.logId === g.logId && d.name === g.name && arrayEquals(d.matchers, g.matchers, matcherEquals);\n }\n function filterEqualsToNativeFilter(d, g) {\n return null == d ? null == g : null == g ? null == d : d.component === g.component && d.parsedLevel === g.level;\n }\n function filterEquals(d, g) {\n return null == d ? null == g : null == g ? null == d : d.component === g.component && d.level === g.level;\n }\n function formatArgs(d) {\n for (var g = [], f = 0; f < d.length; f++) \"string\" == typeof d[f] || \"number\" == typeof d[f] ? g.push(d[f]) : g.push(JSON.stringify(d[f]));\n return g;\n }\n g.setBuildType = setBuildType;\n var P = function (d) {\n function Trigger(g, f, m) {\n var v = d.call(this) || this;\n return v._unmetConditions = [], v._rtMan = g, v._triggerCallback = f, v._ecsConfig = m, v.resetConditions(), v;\n }\n return m(Trigger, d), Trigger.prototype.config = function () {\n return this._ecsConfig;\n }, Trigger.prototype.configEquals = function (d) {\n return this._ecsConfig.includeUnsafe === d.includeUnsafe && this._ecsConfig.mutualSubmissionType === d.mutualSubmissionType && this._ecsConfig.name === d.name && this._ecsConfig.reenableAfterTriggering === d.reenableAfterTriggering && this._ecsConfig.experimentTarget === d.experimentTarget && conditionEquals(this._ecsConfig.resetCondition, d.resetCondition) && arrayEquals(this._ecsConfig.conditions, d.conditions, conditionEquals) && arrayEquals(this._ecsConfig.filters, d.filters, filterEquals);\n }, Trigger.prototype.nativeConfigEquals = function (d) {\n return this._ecsConfig.includeUnsafe === d.includeUnsafe && this._ecsConfig.name === d.name && this._ecsConfig.reenableAfterTriggering === d.reenableAfterTriggering && conditionEquals(this._ecsConfig.resetCondition, d.resetCondition) && arrayEquals(this._ecsConfig.conditions, d.conditions, conditionEquals) && arrayEquals(this._ecsConfig.filters, d.filters, filterEqualsToNativeFilter);\n }, Trigger.prototype.needReset = function (d) {\n return !this.configEquals(d);\n }, Trigger.prototype.resetConditions = function () {\n this._unmetConditions = [];\n for (var d = 0; d < this._ecsConfig.conditions.length; d++) this._unmetConditions.push(d);\n }, Trigger.prototype.matcherMatches = function (d, g) {\n if (d.arg >= g.length) return !1;\n var f = g[d.arg],\n m = \"string\" == typeof f ? d.value : parseInt(d.value, 10);\n return \"=\" === d.op || \"==\" === d.op ? f === m : \"!=\" === d.op ? f !== m : \"<\" === d.op ? f < m : \"<=\" === d.op ? f <= m : \">\" === d.op ? f > m : \">=\" === d.op ? f >= m : \"CONTAINS\" === d.op.toUpperCase() && (\"\" + f).indexOf(d.value) >= 0;\n }, Trigger.prototype.conditionMatches = function (d, g, f) {\n if (g !== d.logId) return !1;\n if (d.matchers) for (var m = 0; m < d.matchers.length; m++) if (!this.matcherMatches(d.matchers[m], f)) return !1;\n return !0;\n }, Trigger.prototype.log = function (d, g, f, m) {\n if (0 !== this._unmetConditions.length && d.component !== y) {\n var v = this._ecsConfig;\n v.resetCondition && this.conditionMatches(v.resetCondition, g, m) && (y.debug4(\"LogTrigger %s: resetCondition met\", v.name), this.resetConditions());\n for (var S = 0; S < this._unmetConditions.length; S++) {\n var _ = this._unmetConditions[S];\n if (this.conditionMatches(v.conditions[_], g, m)) {\n y.debug4(\"LogTrigger %s: condition %s met\", v.name, v.conditions[_].name), this._unmetConditions.splice(S, 1);\n break;\n }\n }\n 0 === this._unmetConditions.length && (y.debug1(\"LogTrigger %s has triggered, trying to send the log\", v.name), this._triggerCallback.call(this._rtMan, v), v.reenableAfterTriggering && this.resetConditions());\n }\n }, Trigger.prototype.receiveAll = function () {\n return !0;\n }, Trigger;\n }(T.AbstractLogAppender),\n R = function (d) {\n function CircularBuffer(g, f, m) {\n var v = d.call(this) || this;\n return v._circularBuffer = [], v._circularBufferMaxSize = 0, v._onBufferOverflow = null, v._circularBuffer = [], v._circularBufferMaxSize = f, v._includeUnsafe = g, v._onBufferOverflow = m || function () {\n return v._circularBuffer.shift();\n }, v;\n }\n return m(CircularBuffer, d), CircularBuffer.prototype.log = function (d, g, f, m) {\n if ((this._includeUnsafe || d.component.safe()) && !(this._circularBuffer.length > this._circularBufferMaxSize)) {\n var v = {\n md: d,\n logId: g,\n messages: formatArgs(m)\n };\n this._circularBuffer.push(v), this._circularBuffer.length > this._circularBufferMaxSize && this._onBufferOverflow();\n }\n }, CircularBuffer.prototype.visitReverseOrder = function (d) {\n for (var g = this._circularBuffer.length - 1; g >= 0; g--) {\n var f = this._circularBuffer[g];\n if (!d(f.md, f.logId, f.messages)) return;\n }\n }, CircularBuffer.prototype.visitForwardOrder = function (d) {\n for (var g = 0; g < this._circularBuffer.length; g++) {\n var f = this._circularBuffer[g];\n if (!d(f.md, f.logId, f.messages)) return;\n }\n }, CircularBuffer.prototype.needReset = function (d, g) {\n return d !== this._includeUnsafe || g !== this._circularBufferMaxSize;\n }, CircularBuffer.prototype.dumpLogBuffer = function (d, g, f) {\n var m = this,\n v = new A(d.reverse),\n y = d.filter.map(function (d) {\n return {\n component: \"root\" === d.component ? \"\" : d.component,\n parsedLevel: d.level\n };\n }),\n S = f || {\n matchedLines: 0,\n totalLines: 0\n };\n return (d.reverse ? this.visitReverseOrder : this.visitForwardOrder).apply(this, [function (d, f, _) {\n return S.totalLines++, m.filterMatches(d, f, _, y) && (S.matchedLines++, v.log(d.component, d.timestamp, d.level, f, _)), !g || v._data.length < g;\n }]), v.close(), v.data();\n }, CircularBuffer.prototype.filterMatches = function (d, g, f, m) {\n for (var v = 0; v < m.length; v++) if ((\"\" === m[v].component || d.component.name() === m[v].component || d.component.name().substr(0, m[v].component.length) === m[v].component && \".\" === d.component.name().charAt(m[v].component.length)) && d.level >= m[v].parsedLevel) return !0;\n return !1;\n }, CircularBuffer.prototype.clear = function () {\n this._circularBuffer = [];\n }, CircularBuffer.prototype.size = function () {\n return this._circularBuffer.length;\n }, CircularBuffer.prototype.empty = function () {\n return 0 === this.size();\n }, CircularBuffer.prototype.capacity = function () {\n return this._circularBufferMaxSize;\n }, CircularBuffer;\n }(T.AbstractLogAppender);\n g.CircularBuffer = R;\n var A = function () {\n function BinaryLogFormatter(d) {\n this._reverse = d, this._first = !0, this._pending = [], this._components = {}, this._componentCount = 0, this._lastts = 0, this._base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", this._data = \"ULOG2\" + String.fromCharCode(33) + String.fromCharCode(32), this._data += d ? String.fromCharCode(34) : String.fromCharCode(32), this._data += String.fromCharCode(32);\n }\n return BinaryLogFormatter.prototype._add8 = function (d) {\n if (this._pending.push(255 & d), 3 === this._pending.length) {\n var g = (this._pending[0] << 16) + (this._pending[1] << 8) + (this._pending[2] << 0),\n f = this._base64chars[g >> 18 & 63] + this._base64chars[g >> 12 & 63] + this._base64chars[g >> 6 & 63] + this._base64chars[g >> 0 & 63];\n this._data += f, this._pending = [];\n }\n }, BinaryLogFormatter.prototype._add16 = function (d) {\n this._add8(d >> 8 & 255), this._add8(d >> 0 & 255);\n }, BinaryLogFormatter.prototype._add32 = function (d) {\n this._add8(d >> 24 & 255), this._add8(d >> 16 & 255), this._add8(d >> 8 & 255), this._add8(d >> 0 & 255);\n }, BinaryLogFormatter.prototype._add64 = function (d) {\n this._add32(d / 4294967296 | 0), this._add32(0 | d);\n }, BinaryLogFormatter.prototype._addS = function (d) {\n for (var g = 0; g < d.length; g++) this._add8(d.charCodeAt(g));\n this._add8(0);\n }, BinaryLogFormatter.prototype._close = function () {\n for (; this._pending.length;) this._add8(0);\n }, BinaryLogFormatter.prototype.log = function (d, g, f, m, v) {\n var y = this._components[d.name()];\n y || (y = ++this._componentCount, this._components[d.name()] = y, this._add8(2), this._add16(y), this._addS(d.name()), this._addS(\"\"), this._addS(\"\"), this._add8(d.safe() ? 1 : 0));\n var S = 128;\n this._first && (S |= 2);\n var _ = g - this._lastts;\n this._lastts = g, _ > -128 && _ < 128 && (S |= 1), this._add8(S), 1 & S ? this._add8(_) : this._add64(1e3 * g), this._first && (this._add32(1), this._add8(0), this._add16(0)), this._add16(y), this._add8(f), this._add32(m), this._add8(v.length);\n for (var C = 0; C < v.length; C++) this._add8(8), this._addS(\"\" + v[C]);\n this._first = !1;\n }, BinaryLogFormatter.prototype.close = function () {\n this._add8(7), this._close();\n }, BinaryLogFormatter.prototype.data = function () {\n return this._data;\n }, BinaryLogFormatter.prototype.empty = function () {\n return this._first;\n }, BinaryLogFormatter;\n }(),\n M = function (d) {\n function DumperBuffer(g, f, m, v) {\n var y = d.call(this) || this;\n return y._capacity = g, y._onBufferOverflow = f, y._enableThrottling = m, y._maxVerbosityLevel = v, y._outputFormatter = new A(!1), y._linesStored = 0, y._throttling = !1, y._linesThrottled = 0, y;\n }\n return m(DumperBuffer, d), DumperBuffer.prototype.log = function (d, g, f, m) {\n this._maxVerbosityLevel && d.level < this._maxVerbosityLevel || (this._throttling ? this._linesThrottled++ : (this._linesStored++, this._outputFormatter.log(d.component, d.timestamp, d.level, g, formatArgs(m))), this._linesStored > this._capacity && (this._enableThrottling ? this._throttling || (this._throttling = !0) : this._onBufferOverflow()));\n }, DumperBuffer.prototype.dumpAndReset = function () {\n if (this._outputFormatter.empty()) return \"\";\n this._linesThrottled > 0 && this._outputFormatter.log(y, new Date().getTime(), S.LogLevel.Fatal, -1, [\"RooToolsManager: Log buffer overflow! \" + this._linesThrottled + \" lines thrown away\"]), this._outputFormatter.close();\n var d = this._outputFormatter.data();\n return this.clearBuffer(), d;\n }, DumperBuffer.prototype.empty = function () {\n return this._outputFormatter.empty();\n }, DumperBuffer.prototype.clearBuffer = function () {\n this._outputFormatter = new A(!1), this._linesStored = 0, this._linesThrottled = 0, this._throttling = !1;\n }, DumperBuffer.prototype.capacity = function () {\n return this._capacity;\n }, DumperBuffer.prototype.throttlingEnabled = function () {\n return this._enableThrottling;\n }, DumperBuffer.prototype.size = function () {\n return this._linesStored;\n }, DumperBuffer.prototype.maxVerbosityLevel = function () {\n return this._maxVerbosityLevel;\n }, DumperBuffer;\n }(T.AbstractLogAppender);\n function validateExperimentTarget(d) {\n return \"Native\" === d || \"JavaScript\" === d || \"Mixed\" === d;\n }\n g.DumperBuffer = M;\n var w = function () {\n function RootToolsManagerImpl() {\n this._maxUploadSize = 0, this._jsToNativeBuffer = null, this._jsToNativeBufferHandle = null, this._jsToNativeFlushTimer = null, this._jsToNativeFlushInterval = 0, this._triggers = {}, this._defaultBuffers = [{\n size: 2097152,\n level: S.LogLevel.Debug4\n }], this._defaultKillswitch = {\n blacklist: [],\n whitelist: []\n }, this._defaultBlacklists = {\n component: [],\n logline: []\n }, this._localLogLevels = {}, this._defaultExperimentTarget = \"Mixed\", this._BRBCallback = null;\n }\n return RootToolsManagerImpl.prototype.setDelegate = function (d) {\n this._glue = d, this.registerListeners();\n }, RootToolsManagerImpl.prototype.isDelegateSet = function () {\n return null != this._glue;\n }, RootToolsManagerImpl.prototype.setNativeFunctions = function (d) {\n this._native && this._native.log_config.removeLogTriggerListener(this), this._native = d, this._native && this._native.log_config.addLogTriggerListener(this);\n }, RootToolsManagerImpl.prototype.applyLogLevels = function () {\n var d = {};\n for (var g in this._localLogLevels) d[g] = this._localLogLevels[g];\n d[\"\"] = d.root || S.LogLevel.Debug4, delete d.root;\n var f = map(d, function (d, g) {\n return {\n component: d,\n level: g\n };\n });\n f.sort(function (d, g) {\n return d.component.length - g.component.length;\n }), f.forEach(function (d) {\n return _.LogFactory.instance().component(d.component).setLevel(d.level);\n }), this._native && this._native.log_config.setLogLevelConfig(f);\n }, RootToolsManagerImpl.prototype.setLocalLogLevelConfig = function (d) {\n this._localLogLevels = d, this.applyLogLevels();\n }, RootToolsManagerImpl.prototype.parseMatcher = function (d) {\n return null == d || null == d.arg || null == d.op || null == d.value ? null : {\n arg: d.arg,\n op: d.op,\n value: d.value\n };\n }, RootToolsManagerImpl.prototype.parseCondition = function (d) {\n if (null == d || null == d.logId) return null;\n if (d.matchers && !(d.matchers instanceof Array)) return null;\n var g = {\n name: d.name || toHex(d.logId),\n logId: d.logId,\n matchers: []\n };\n if (d.matchers && d.matchers.length) for (var f = 0, m = d.matchers; f < m.length; f++) {\n var v = m[f],\n y = this.parseMatcher(v);\n y && g.matchers.push(y);\n }\n return g;\n }, RootToolsManagerImpl.prototype.parseFilter = function (d) {\n return null == d || null == d.component || 0 === d.component.length ? null : {\n component: d.component,\n level: d.level,\n parsedLevel: _.LogFactory.levelFromString(d.level)\n };\n }, RootToolsManagerImpl.prototype.parseConfig = function (d, g, f) {\n if (null == d) return null;\n if (!(d.conditions instanceof Array) || 0 == d.conditions.length) return null;\n if (!(d.filters instanceof Array) || 0 == d.filters.length) return null;\n if (d.resetCondition && !this.parseCondition(d.resetCondition)) return null;\n for (var m = {\n name: d.name || g + \"->\" + f,\n ecsNs: g,\n reenableAfterTriggering: d.reenableAfterTriggering || !1,\n mutualSubmissionType: d.mutualSubmissionType || \"\",\n includeUnsafe: I !== E.PublicBuild && (d.includeUnsafe || !1),\n experimentTarget: validateExperimentTarget(d.experimentTarget) && d.experimentTarget || this._defaultExperimentTarget,\n conditions: [],\n resetCondition: null == d.resetCondition ? d.resetCondition : this.parseCondition(d.resetCondition),\n filters: []\n }, v = 0, y = d.conditions; v < y.length; v++) {\n var S = y[v],\n _ = this.parseCondition(S);\n _ && m.conditions.push(_);\n }\n for (var C = 0, T = d.filters; C < T.length; C++) {\n var b = T[C],\n P = this.parseFilter(b);\n P && m.filters.push(P);\n }\n return 0 === m.conditions.length ? null : m;\n }, RootToolsManagerImpl.prototype.isExperimentListed = function (d, g, f, m) {\n return !!d && (!(!m || !d.some(function (d) {\n return \"*\" === d.namespace;\n })) || d.some(function (d) {\n return d.namespace === g && (d.experiment === f || \"*\" == d.experiment);\n }));\n }, RootToolsManagerImpl.prototype.isExperimentAllowed = function (d, g, f) {\n return !this.isExperimentListed(d.blacklist, g, f, !0) || this.isExperimentListed(d.whitelist, g, f, !1);\n }, RootToolsManagerImpl.prototype.findTrigger = function (d, g) {\n for (var f in d) if (d[f].configEquals(g)) return f;\n return null;\n }, RootToolsManagerImpl.prototype.findTriggerByNativeConfig = function (d, g) {\n for (var f in d) if (d[f].nativeConfigEquals(g)) return f;\n return null;\n }, RootToolsManagerImpl.prototype.OnEcsChange = function () {\n var d = this;\n function forEachAsync(d, g, f) {\n return g < d.length ? f(d[g]).then(function () {\n return forEachAsync(d, g + 1, f);\n }) : C.Resolved();\n }\n return null == this._glue ? C.Resolved() : this._glue.fetchEcsConfig(\"SkypeRootTools\", \"ULBaseline\").then(function (g) {\n y.debug4(\"Reloading ULBaseline config - new config: %@\", g), g || (y.warn(\"No ULBaseline config\"), g = {}), d._maxUploadSize = g.logUpload && g.logUpload.maxSize || 1024;\n var f = [],\n m = d._triggers;\n d._triggers = {};\n var v = (g.logUpload && g.logUpload.maxSize || 1024) / 100,\n C = g.circularBuffer && g.circularBuffer.enabled,\n E = g.circularBuffer && g.circularBuffer.buffers || d._defaultBuffers,\n b = g.circularBuffer && g.circularBuffer.storeUnsafe;\n d._defaultExperimentTarget = validateExperimentTarget(g.defaultExperimentTarget) && g.defaultExperimentTarget || \"Mixed\";\n var I = g.killswitch || d._defaultKillswitch,\n A = g.blacklists || d._defaultBlacklists;\n A.component.length > 0 && _.LogFactory.instance().setComponentBlacklist(A.component);\n var M = {};\n (g.componentLevels || []).forEach(function (d) {\n return M[d.component] = d.level;\n }), forEachAsync(g.configPaths || [], 0, function (g) {\n return d._glue.fetchEcsConfig(g.ns, g.key).then(function (v) {\n var S = v instanceof Array ? v : [v];\n y.debug4(\"Reloading ECS config for %s->%s - new config: %@\", g.ns, g.key, S);\n for (var _ = 0, T = S; _ < T.length; _++) {\n var E = T[_];\n if (null != E) {\n var P = d.parseConfig(E, g.ns, g.key);\n if (null != P) {\n if (\"JavaScript\" === P.experimentTarget || \"Mixed\" === P.experimentTarget) {\n if (y.debug2(\"Parsed ECS config for %s->%s - %@\", g.ns, g.key, P), d.isExperimentAllowed(I, g.ns, P.name)) {\n y.debug2(\"Allowing %s->%s:%s according to killswitch\", g.ns, g.key, P.name), C = !0;\n var R = d.findTrigger(m, P);\n null != R ? (y.debug2(\"Triggers updated, keeping trigger %s\", P.name), d._triggers[R] = m[R], delete m[R]) : f.push(P), P.filters && P.filters.forEach(function (d) {\n return M[d.component] = Math.min(M[d.component] || 255, d.parsedLevel);\n }), P.includeUnsafe && (b = !0);\n } else y.debug2(\"Disallowing %s->%s according to killswitch\", g.ns, g.key);\n } else y.debug4(\"Skipping %s->%s, targeted for %s\", g.ns, g.key, P);\n } else y.error(\"Failed to parse ECS config for %s->%s\", g.ns, g.key);\n }\n }\n });\n }).always(function () {\n for (var g in d.applyLogLevels(), m) y.debug2(\"Triggers updated, removing trigger %s\", m[g].config().name), _.LogFactory.instance().removeAppender(+g);\n if (f.forEach(function (g) {\n y.debug2(\"Triggers updated, adding trigger %s\", g.name);\n var f = new P(d, d._triggered, g),\n m = _.LogFactory.instance().addAppender(f);\n d._triggers[String(m)] = f;\n }), M[\"\"] = M.root || S.LogLevel.Debug4, delete M.root, !d._circularBuffer || C && !d._circularBuffer.needReset(b, v) ? d._circularBuffer && (Object.keys(m).length > 0 || f.length > 0 ? (y.debug2(\"Buffer updated, reapplying log levels, removing log levels wrapper\"), _.LogFactory.instance().removeAppender(d._circularBufferHandle), d._circularBufferHandle = null) : y.debug2(\"Buffer updated, no change\")) : (y.debug2(\"Buffer updated, removing existing buffer\"), _.LogFactory.instance().removeAppender(d._circularBufferHandle), d._circularBuffer = null, d._circularBufferHandle = null), C && (d._circularBuffer || (y.debug2(\"Buffer updated, adding new buffer (storeUnsafe=%d,maxSize=%s)\", b, v), d._circularBuffer = new R(b, v)), null == d._circularBufferHandle && (y.debug2(\"Creating log level wrapper\"), d._circularBufferHandle = _.LogFactory.instance().addAppender(T.wrapAppenderWithLogLevels(d._circularBuffer, M), S.AppenderFlags.InsertFront))), d._native) {\n var I = map(M, function (d, g) {\n return {\n component: d,\n level: g\n };\n });\n I.sort(function (d, g) {\n return d.component.length - g.component.length;\n }), d._native.log_config.setLogBufferConfig(C, {\n storeUnsafe: b,\n buffers: E\n }, I);\n var A = [];\n for (var w in d._triggers) {\n var O = d._triggers[w].config();\n A.push({\n name: O.name,\n ecsNs: O.ecsNs,\n conditions: O.conditions,\n resetCondition: O.resetCondition,\n includeUnsafe: O.includeUnsafe,\n reenableAfterTriggering: O.reenableAfterTriggering,\n filters: O.filters.map(function (d) {\n return {\n component: d.component,\n level: d.parsedLevel\n };\n }),\n dumpFile: !1,\n metadata: {}\n });\n }\n d._native.log_config.setLogTriggerConfig(A, {});\n }\n });\n });\n }, RootToolsManagerImpl.prototype._send = function (d, g) {\n null != this._glue && (this._glue.sendTelemetry(b, {\n logTriggerName: d.name,\n logEcsNs: d.ecsNs,\n logdata: g\n }), y.debug4(\"LogSender::send, sent %d bytes\", g.length));\n }, RootToolsManagerImpl.prototype.triggered = function (d, g) {}, RootToolsManagerImpl.prototype.triggeredPartially = function (d, g, f, m, v) {\n var y = this.findTriggerByNativeConfig(this._triggers, d);\n if (y) {\n var S = {\n level: g.level,\n component: _.LogFactory.instance().component(g.component),\n timestamp: g.timestamp\n };\n this._triggers[y].log(S, f, m, v);\n }\n }, RootToolsManagerImpl.prototype.reset = function (d) {\n var g = this.findTriggerByNativeConfig(this._triggers, d);\n g && this._triggers[g].resetConditions();\n }, RootToolsManagerImpl.prototype.dumpLogBuffer = function (d, g) {\n if (this._circularBuffer) {\n var f = {\n matchedLines: 0,\n totalLines: 0\n },\n m = this._circularBuffer.dumpLogBuffer(d, this._maxUploadSize, f);\n if (y.debug4(\"dumpLogBuffer: dumped %d of %d lines, size of payload: %d\", f.matchedLines, f.totalLines, null != m ? m.length : 0), this._native) {\n var v = C.Defer();\n return this._native.log_config.mergeAndDumpLogBuffer(m, d, g, function (d) {\n return v.resolve(d);\n }), v.promise();\n }\n return C.Resolved(m);\n }\n return y.warn(\"dumpLogBuffer: no log buffer enabled\"), C.Rejected();\n }, RootToolsManagerImpl.prototype._triggered = function (d) {\n var g = this,\n f = {\n compression: S.LogFileCompression.Compress,\n encoding: S.LogFileEncoding.Base64,\n encryption: S.LogFileEncryption.Encrypted,\n maxRotations: 0,\n maxSize: this._maxUploadSize,\n reverse: !0\n },\n m = {\n includeUnsafe: d.includeUnsafe,\n filter: d.filters.map(function (d) {\n return {\n component: d.component,\n level: d.parsedLevel\n };\n }),\n reverse: !0\n };\n this.dumpLogBuffer(m, f).then(function (f) {\n return g._send(d, f);\n });\n }, RootToolsManagerImpl.prototype.sendBRBEvent = function (d) {\n try {\n if (y.debug2(\"sendBRBEvent %s\", JSON.stringify(d)), null != this._glue && \"function\" == typeof this._glue.sendLoggingEventToNative) {\n var g = {\n eventType: \"uploadBRB\",\n mutualSubmissionType: \"call\",\n payload: d\n };\n this._glue.sendLoggingEventToNative(JSON.stringify(g), \"\");\n }\n } catch (d) {\n y.error(\"sendBRBEvent %s: %s\", d.name, d.message);\n }\n }, RootToolsManagerImpl.prototype.setBRBCallback = function (d) {\n y.debug2(\"setBRBCallback\"), null != this._glue ? \"function\" == typeof this._glue.setNativeLoggingEventCallback ? this._BRBCallback = d : y.warn(\"setBRBCallback: RootToolsManagerDelegate missing setNativeLoggingEventCallback method\") : y.warn(\"setBRBCallback: RootToolsManagerDelegate is not set\");\n }, RootToolsManagerImpl.prototype.registerListeners = function () {\n var d = this;\n null != this._glue && \"function\" == typeof this._glue.setNativeLoggingEventCallback ? this._glue.setNativeLoggingEventCallback(function (g, f) {\n return d.handleNativeLoggingEvent(g, f);\n }) : y.warn(\"registerListeners: RootToolsManagerDelegate missing setNativeLoggingEventCallback method\");\n }, RootToolsManagerImpl.prototype.handleNativeLoggingEvent = function (d, g) {\n try {\n y.debug2(\"Native Log event message: %s aux: %s\", d, g);\n var f = JSON.parse(d);\n if (f.eventType && \"uploadBRB\" === f.eventType) {\n if (\"function\" != typeof this._BRBCallback) return void y.warn(\"BRBCallback not set, ignoring native event\");\n y.debug4(\"Sending BRB callback: %@\", f.payload), this._BRBCallback(f.payload);\n } else f.eventType && \"jsLogFileConfiguration\" === f.eventType && this.handleLogFileConfigEvent(f);\n } catch (d) {\n y.error(\"handleNativeLoggingEvent %s: %s\", d.name, d.message);\n }\n }, RootToolsManagerImpl.prototype.handleLogFileConfigEvent = function (d) {\n if (d.payload) {\n var g = d.payload;\n if (g.enabled) {\n if (g.chunkSize && g.flushInterval) {\n var f = {\n chunkSize: g.chunkSize,\n flushInterval: g.flushInterval,\n enableThrottling: g.enableThrottling,\n maxVerbosityLevel: g.maxVerbosityLevel\n };\n this.startJsToNativeLogging(f);\n }\n } else this.flushDisableJsToNativeLogging();\n }\n }, RootToolsManagerImpl.prototype.logExternalForDDL = function (d, g) {\n try {\n if (y.debug2(\"logExternalForDDL %s %s\", d, g), null != this._glue && \"function\" == typeof this._glue.sendLoggingEventToNative) {\n var f = {\n eventType: \"logInSClog\",\n payload: {\n message: d,\n parameters: g\n }\n };\n this._glue.sendLoggingEventToNative(JSON.stringify(f), \"\");\n } else y.warn(\"ignoring logExternalForDDL, delegate misconfigured\");\n } catch (d) {\n y.error(\"logExternalForDDL %s: %s\", d.name, d.message);\n }\n }, RootToolsManagerImpl.prototype.startJsToNativeLogging = function (d) {\n var g = this,\n f = d.chunkSize,\n m = d.flushInterval,\n v = d.enableThrottling,\n S = this._getVerbosityLevelFromConfig(d.maxVerbosityLevel);\n if (this._jsToNativeBuffer) {\n if (this._jsToNativeBuffer.capacity() === f && this._jsToNativeFlushInterval === m && this._jsToNativeBuffer.throttlingEnabled() === v && this._jsToNativeBuffer.maxVerbosityLevel() === S) return void y.debug1(\"Same JS2Native settings received - doing nothing\");\n y.debug1(\"Reapplying js to native settings\"), this.flushDisableJsToNativeLogging();\n }\n this._jsToNativeBuffer = new M(f, function () {\n g.onJsToNativeBufferReady(g._jsToNativeBuffer);\n }, v, S), this.setJsToNativeFlushTimeout(m), this._jsToNativeFlushInterval = m, this._jsToNativeBufferHandle = _.LogFactory.instance().addAppender(this._jsToNativeBuffer);\n }, RootToolsManagerImpl.prototype._getVerbosityLevelFromConfig = function (d) {\n return d ? _.LogFactory.levelFromString(d) : null;\n }, RootToolsManagerImpl.prototype.flushDisableJsToNativeLogging = function () {\n this._jsToNativeBuffer && this.onJsToNativeBufferReady(this._jsToNativeBuffer), this.plainDisableJsToNativeLogging();\n }, RootToolsManagerImpl.prototype.plainDisableJsToNativeLogging = function () {\n this.clearJsToNativeFlushTimeout(), this._jsToNativeBufferHandle && (_.LogFactory.instance().removeAppender(this._jsToNativeBufferHandle), this._jsToNativeBufferHandle = 0, this._jsToNativeBuffer = null, y.debug1(\"Disabling forwarding JS logs to native\"));\n }, RootToolsManagerImpl.prototype.onJsToNativeBufferReady = function (d) {\n null != this._glue && \"function\" == typeof this._glue.sendLoggingEventToNative ? (this.clearJsToNativeFlushTimeout(), this.dumpJsToNativeBuffer(d), this.setJsToNativeFlushTimeout(this._jsToNativeFlushInterval)) : this.plainDisableJsToNativeLogging();\n }, RootToolsManagerImpl.prototype.dumpJsToNativeBuffer = function (d) {\n if (!d.empty()) {\n var g = d.dumpAndReset(),\n f = {\n eventType: \"writeLogData\"\n };\n this._glue.sendLoggingEventToNative(JSON.stringify(f), g);\n }\n }, RootToolsManagerImpl.prototype.clearJsToNativeFlushTimeout = function () {\n this._jsToNativeFlushTimer && (clearTimeout(this._jsToNativeFlushTimer), this._jsToNativeFlushTimer = null);\n }, RootToolsManagerImpl.prototype.setJsToNativeFlushTimeout = function (d) {\n var g = this;\n !this._jsToNativeFlushTimer && d && (this._jsToNativeFlushTimer = setTimeout(function () {\n g._jsToNativeFlushTimer = null, g.onJsToNativeBufferReady(g._jsToNativeBuffer);\n }, d));\n }, RootToolsManagerImpl.prototype.stopAsyncOperations = function () {\n this.flushDisableJsToNativeLogging();\n }, RootToolsManagerImpl;\n }();\n g.RootToolsManager = new w();\n }),\n b = createCommonjsModule(function (d, g) {\n /*!\r\n \t * pii.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2017-01-16\r\n \t * Copyright 2017 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n });\n var DefaultTagger = function (d) {\n return d;\n },\n f = !0,\n m = DefaultTagger,\n v = {},\n y = 0;\n function addName(d) {\n return v[d] = \"u\" + ++y;\n }\n var S,\n _ = /^([0-9][0-9]?):([^<>\\*\\{\\}&'\\\"\\/\\\\?^`|~\\s]+)$/;\n !function (d) {\n d[d.MSA = 1] = \"MSA\", d[d.S4B_Bridge = 2] = \"S4B_Bridge\", d[d.PSTN = 4] = \"PSTN\", d[d.SkypeId = 8] = \"SkypeId\", d[d.Thread = 19] = \"Thread\", d[d.LegacyShortCircuit = 20] = \"LegacyShortCircuit\", d[d.OneToOneTextMessage = 21] = \"OneToOneTextMessage\", d[d.GroupTextMessage = 22] = \"GroupTextMessage\", d[d.Bot = 28] = \"Bot\", d[d.InternalSkype = 48] = \"InternalSkype\";\n }(S || (S = {}));\n var C = [S.Thread, S.InternalSkype, S.Bot];\n function enableAnonymization(d) {\n f = d;\n }\n function useTagger(d) {\n m = d || DefaultTagger;\n }\n g.enableAnonymization = enableAnonymization, g.useTagger = useTagger, function (d) {\n function untaggedUserName(d) {\n return f ? d ? v[d] || addName(d) : null : d;\n }\n function UserName(d) {\n var g = untaggedUserName(d);\n return m(g);\n }\n function Mri(d) {\n var g,\n f = d.match(_);\n if (f) {\n var v = Number(f[1]),\n y = f[2];\n g = -1 != C.indexOf(v) ? d : v + \":\" + untaggedUserName(y);\n } else g = untaggedUserName(d);\n return m(g);\n }\n function Omit(d) {\n var g;\n return g = f ? \"number\" == typeof d ? 19229 : \"string\" == typeof d ? d.charAt(0) + \"...\" : null : d, m(g);\n }\n d.UserName = UserName, d.Mri = Mri, d.Omit = Omit;\n }(g.pii || (g.pii = {}));\n }),\n I = createCommonjsModule(function (d, g) {\n /*!\r\n \t * index.ts\r\n \t * AUF\r\n \t *\r\n \t * Created by Johan Blumenberg on 2016-12-29\r\n \t * Copyright 2016 Microsoft. All rights reserved.\r\n \t *\r\n \t */\n function __export(d) {\n for (var f in d) g.hasOwnProperty(f) || (g[f] = d[f]);\n }\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), __export(S), __export(_), __export(E), __export(T), __export(b);\n }),\n P = createCommonjsModule(function (d, g) {\n !function webpackUniversalModuleDefinition(g, f) {\n d.exports = f(y, I);\n }(window, function (d, g) {\n return function () {\n var f = {\n 10532: function (d, g) {\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n });\n var Module = function (d) {\n var g, f;\n void 0 === d && (d = {}), (d = void 0 !== d ? d : {}).ready = new Promise(function (d, m) {\n g = d, f = m;\n });\n var m,\n v,\n y = Object.assign({}, d),\n S = \"./this.program\",\n _ = !0,\n C = \"\";\n function locateFile(g) {\n return d.locateFile ? d.locateFile(g, C) : C + g;\n }\n \"undefined\" != typeof document && document.currentScript && (C = document.currentScript.src), C = 0 !== C.indexOf(\"blob:\") ? C.substr(0, C.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1) : \"\", m = function (d) {\n var g = new XMLHttpRequest();\n return g.open(\"GET\", d, !1), g.send(null), g.responseText;\n }, v = function (d, g, f) {\n var m = new XMLHttpRequest();\n m.open(\"GET\", d, !0), m.responseType = \"arraybuffer\", m.onload = function () {\n 200 == m.status || 0 == m.status && m.response ? g(m.response) : f();\n }, m.onerror = f, m.send(null);\n };\n var T,\n E,\n b = d.print || console.log.bind(console),\n I = d.printErr || console.warn.bind(console);\n Object.assign(d, y), y = null, d.arguments && d.arguments, d.thisProgram && (S = d.thisProgram), d.quit && d.quit, d.wasmBinary && (T = d.wasmBinary), d.noExitRuntime, \"object\" != typeof WebAssembly && abort(\"no native wasm support detected\");\n var P = !1;\n function assert(d, g) {\n d || abort(g);\n }\n var R,\n A,\n M,\n w,\n O,\n D = \"undefined\" != typeof TextDecoder ? new TextDecoder(\"utf8\") : void 0;\n function UTF8ArrayToString(d, g, f) {\n for (var m = g + f, v = g; d[v] && !(v >= m);) ++v;\n if (v - g > 16 && d.buffer && D) return D.decode(d.subarray(g, v));\n for (var y = \"\"; g < v;) {\n var S = d[g++];\n if (128 & S) {\n var _ = 63 & d[g++];\n if (192 != (224 & S)) {\n var C = 63 & d[g++];\n if ((S = 224 == (240 & S) ? (15 & S) << 12 | _ << 6 | C : (7 & S) << 18 | _ << 12 | C << 6 | 63 & d[g++]) < 65536) y += String.fromCharCode(S);else {\n var T = S - 65536;\n y += String.fromCharCode(55296 | T >> 10, 56320 | 1023 & T);\n }\n } else y += String.fromCharCode((31 & S) << 6 | _);\n } else y += String.fromCharCode(S);\n }\n return y;\n }\n function UTF8ToString(d, g) {\n return d ? UTF8ArrayToString(A, d, g) : \"\";\n }\n function stringToUTF8Array(d, g, f, m) {\n if (!(m > 0)) return 0;\n for (var v = f, y = f + m - 1, S = 0; S < d.length; ++S) {\n var _ = d.charCodeAt(S);\n if (_ >= 55296 && _ <= 57343 && (_ = 65536 + ((1023 & _) << 10) | 1023 & d.charCodeAt(++S)), _ <= 127) {\n if (f >= y) break;\n g[f++] = _;\n } else if (_ <= 2047) {\n if (f + 1 >= y) break;\n g[f++] = 192 | _ >> 6, g[f++] = 128 | 63 & _;\n } else if (_ <= 65535) {\n if (f + 2 >= y) break;\n g[f++] = 224 | _ >> 12, g[f++] = 128 | _ >> 6 & 63, g[f++] = 128 | 63 & _;\n } else {\n if (f + 3 >= y) break;\n g[f++] = 240 | _ >> 18, g[f++] = 128 | _ >> 12 & 63, g[f++] = 128 | _ >> 6 & 63, g[f++] = 128 | 63 & _;\n }\n }\n return g[f] = 0, f - v;\n }\n function lengthBytesUTF8(d) {\n for (var g = 0, f = 0; f < d.length; ++f) {\n var m = d.charCodeAt(f);\n m <= 127 ? g++ : m <= 2047 ? g += 2 : m >= 55296 && m <= 57343 ? (g += 4, ++f) : g += 3;\n }\n return g;\n }\n function updateMemoryViews() {\n var g = E.buffer;\n d.HEAP8 = R = new Int8Array(g), d.HEAP16 = new Int16Array(g), d.HEAP32 = M = new Int32Array(g), d.HEAPU8 = A = new Uint8Array(g), d.HEAPU16 = new Uint16Array(g), d.HEAPU32 = w = new Uint32Array(g), d.HEAPF32 = new Float32Array(g), d.HEAPF64 = new Float64Array(g);\n }\n var N = [],\n L = [],\n k = [];\n function preRun() {\n if (d.preRun) for (\"function\" == typeof d.preRun && (d.preRun = [d.preRun]); d.preRun.length;) addOnPreRun(d.preRun.shift());\n callRuntimeCallbacks(N);\n }\n function initRuntime() {\n d.noFSInit || Q.init.initialized || Q.init(), Q.ignorePermissions = !1, J.init(), callRuntimeCallbacks(L);\n }\n function postRun() {\n if (d.postRun) for (\"function\" == typeof d.postRun && (d.postRun = [d.postRun]); d.postRun.length;) addOnPostRun(d.postRun.shift());\n callRuntimeCallbacks(k);\n }\n function addOnPreRun(d) {\n N.unshift(d);\n }\n function addOnInit(d) {\n L.unshift(d);\n }\n function addOnPostRun(d) {\n k.unshift(d);\n }\n var x = 0,\n F = null;\n function getUniqueRunDependency(d) {\n return d;\n }\n function addRunDependency(g) {\n x++, d.monitorRunDependencies && d.monitorRunDependencies(x);\n }\n function removeRunDependency(g) {\n if (x--, d.monitorRunDependencies && d.monitorRunDependencies(x), 0 == x && F) {\n var f = F;\n F = null, f();\n }\n }\n function abort(g) {\n d.onAbort && d.onAbort(g), I(g = \"Aborted(\" + g + \")\"), P = !0, g += \". Build with -sASSERTIONS for more info.\";\n var m = new WebAssembly.RuntimeError(g);\n throw f(m), m;\n }\n var U,\n H,\n V,\n j = \"data:application/octet-stream;base64,\";\n function isDataURI(d) {\n return d.startsWith(j);\n }\n function getBinary(d) {\n try {\n if (d == U && T) return new Uint8Array(T);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (d) {\n abort(d);\n }\n }\n function getBinaryPromise(d) {\n return !T && _ && \"function\" == typeof fetch ? fetch(d, {\n credentials: \"same-origin\"\n }).then(function (g) {\n if (!g.ok) throw \"failed to load wasm binary file at '\" + d + \"'\";\n return g.arrayBuffer();\n }).catch(function () {\n return getBinary(d);\n }) : Promise.resolve().then(function () {\n return getBinary(d);\n });\n }\n function instantiateArrayBuffer(d, g, f) {\n return getBinaryPromise(d).then(function (d) {\n return WebAssembly.instantiate(d, g);\n }).then(function (d) {\n return d;\n }).then(f, function (d) {\n I(\"failed to asynchronously prepare wasm: \" + d), abort(d);\n });\n }\n function instantiateAsync(d, g, f, m) {\n return d || \"function\" != typeof WebAssembly.instantiateStreaming || isDataURI(g) || \"function\" != typeof fetch ? instantiateArrayBuffer(g, f, m) : fetch(g, {\n credentials: \"same-origin\"\n }).then(function (d) {\n return WebAssembly.instantiateStreaming(d, f).then(m, function (d) {\n return I(\"wasm streaming compile failed: \" + d), I(\"falling back to ArrayBuffer instantiation\"), instantiateArrayBuffer(g, f, m);\n });\n });\n }\n function createWasm() {\n var g = {\n a: oe\n };\n function receiveInstance(g, f) {\n var m = g.exports;\n return d.asm = m, E = d.asm.q, updateMemoryViews(), O = d.asm.t, addOnInit(d.asm.r), removeRunDependency(), m;\n }\n function receiveInstantiationResult(d) {\n receiveInstance(d.instance);\n }\n if (addRunDependency(), d.instantiateWasm) try {\n return d.instantiateWasm(g, receiveInstance);\n } catch (d) {\n I(\"Module.instantiateWasm callback failed with error: \" + d), f(d);\n }\n return instantiateAsync(T, U, g, receiveInstantiationResult).catch(f), {};\n }\n function callRuntimeCallbacks(g) {\n for (; g.length > 0;) g.shift()(d);\n }\n function ___assert_fail(d, g, f, m) {\n abort(\"Assertion failed: \" + UTF8ToString(d) + \", at: \" + [g ? UTF8ToString(g) : \"unknown filename\", f, m ? UTF8ToString(m) : \"unknown function\"]);\n }\n d.locateFile ? isDataURI(U = \"UMSTranscoder.wasm\") || (U = locateFile(U)) : U = new URL(\"UMSTranscoder.wasm\").href;\n var B = !0;\n function __emscripten_get_now_is_monotonic() {\n return B;\n }\n function readI53FromI64(d) {\n return w[d >> 2] + 4294967296 * M[d + 4 >> 2];\n }\n function __isLeapYear(d) {\n return d % 4 == 0 && (d % 100 != 0 || d % 400 == 0);\n }\n var W = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335],\n G = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n function __yday_from_date(d) {\n return (__isLeapYear(d.getFullYear()) ? W : G)[d.getMonth()] + d.getDate() - 1;\n }\n function __localtime_js(d, g) {\n var f = new Date(1e3 * readI53FromI64(d));\n M[g >> 2] = f.getSeconds(), M[g + 4 >> 2] = f.getMinutes(), M[g + 8 >> 2] = f.getHours(), M[g + 12 >> 2] = f.getDate(), M[g + 16 >> 2] = f.getMonth(), M[g + 20 >> 2] = f.getFullYear() - 1900, M[g + 24 >> 2] = f.getDay();\n var m = 0 | __yday_from_date(f);\n M[g + 28 >> 2] = m, M[g + 36 >> 2] = -60 * f.getTimezoneOffset();\n var v = new Date(f.getFullYear(), 0, 1),\n y = new Date(f.getFullYear(), 6, 1).getTimezoneOffset(),\n S = v.getTimezoneOffset(),\n _ = 0 | (y != S && f.getTimezoneOffset() == Math.min(S, y));\n M[g + 32 >> 2] = _;\n }\n function allocateUTF8(d) {\n var g = lengthBytesUTF8(d) + 1,\n f = ae(g);\n return f && stringToUTF8Array(d, R, f, g), f;\n }\n function __tzset_js(d, g, f) {\n var m = new Date().getFullYear(),\n v = new Date(m, 0, 1),\n y = new Date(m, 6, 1),\n S = v.getTimezoneOffset(),\n _ = y.getTimezoneOffset(),\n C = Math.max(S, _);\n function extractZone(d) {\n var g = d.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return g ? g[1] : \"GMT\";\n }\n w[d >> 2] = 60 * C, M[g >> 2] = Number(S != _);\n var T = extractZone(v),\n E = extractZone(y),\n b = allocateUTF8(T),\n I = allocateUTF8(E);\n _ < S ? (w[f >> 2] = b, w[f + 4 >> 2] = I) : (w[f >> 2] = I, w[f + 4 >> 2] = b);\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n function _emscripten_memcpy_big(d, g, f) {\n A.copyWithin(d, g, g + f);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(d) {\n var g = E.buffer;\n try {\n return E.grow(d - g.byteLength + 65535 >>> 16), updateMemoryViews(), 1;\n } catch (d) {}\n }\n function _emscripten_resize_heap(d) {\n var g = A.length;\n d >>>= 0;\n var f = getHeapMax();\n if (d > f) return !1;\n for (var alignUp = function (d, g) {\n return d + (g - d % g) % g;\n }, m = 1; m <= 4; m *= 2) {\n var v = g * (1 + .2 / m);\n if (v = Math.min(v, d + 100663296), emscripten_realloc_buffer(Math.min(f, alignUp(Math.max(d, v), 65536)))) return !0;\n }\n return !1;\n }\n var q = {};\n function getExecutableName() {\n return S || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var d = {\n USER: \"web_user\",\n LOGNAME: \"web_user\",\n PATH: \"/\",\n PWD: \"/\",\n HOME: \"/home/web_user\",\n LANG: (\"object\" == typeof navigator && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\",\n _: getExecutableName()\n };\n for (var g in q) void 0 === q[g] ? delete d[g] : d[g] = q[g];\n var f = [];\n for (var g in d) f.push(g + \"=\" + d[g]);\n getEnvStrings.strings = f;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(d, g, f) {\n for (var m = 0; m < d.length; ++m) R[g++ >> 0] = d.charCodeAt(m);\n f || (R[g >> 0] = 0);\n }\n var z = {\n isAbs: function (d) {\n return \"/\" === d.charAt(0);\n },\n splitPath: function (d) {\n return /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(d).slice(1);\n },\n normalizeArray: function (d, g) {\n for (var f = 0, m = d.length - 1; m >= 0; m--) {\n var v = d[m];\n \".\" === v ? d.splice(m, 1) : \"..\" === v ? (d.splice(m, 1), f++) : f && (d.splice(m, 1), f--);\n }\n if (g) for (; f; f--) d.unshift(\"..\");\n return d;\n },\n normalize: function (d) {\n var g = z.isAbs(d),\n f = \"/\" === d.substr(-1);\n return (d = z.normalizeArray(d.split(\"/\").filter(function (d) {\n return !!d;\n }), !g).join(\"/\")) || g || (d = \".\"), d && f && (d += \"/\"), (g ? \"/\" : \"\") + d;\n },\n dirname: function (d) {\n var g = z.splitPath(d),\n f = g[0],\n m = g[1];\n return f || m ? (m && (m = m.substr(0, m.length - 1)), f + m) : \".\";\n },\n basename: function (d) {\n if (\"/\" === d) return \"/\";\n var g = (d = (d = z.normalize(d)).replace(/\\/$/, \"\")).lastIndexOf(\"/\");\n return -1 === g ? d : d.substr(g + 1);\n },\n join: function () {\n var d = Array.prototype.slice.call(arguments);\n return z.normalize(d.join(\"/\"));\n },\n join2: function (d, g) {\n return z.normalize(d + \"/\" + g);\n }\n };\n function getRandomDevice() {\n if (\"object\" == typeof crypto && \"function\" == typeof crypto.getRandomValues) {\n var d = new Uint8Array(1);\n return function () {\n return crypto.getRandomValues(d), d[0];\n };\n }\n return function () {\n return abort(\"randomDevice\");\n };\n }\n var K = {\n resolve: function () {\n for (var d = \"\", g = !1, f = arguments.length - 1; f >= -1 && !g; f--) {\n var m = f >= 0 ? arguments[f] : Q.cwd();\n if (\"string\" != typeof m) throw new TypeError(\"Arguments to path.resolve must be strings\");\n if (!m) return \"\";\n d = m + \"/\" + d, g = z.isAbs(m);\n }\n return (g ? \"/\" : \"\") + (d = z.normalizeArray(d.split(\"/\").filter(function (d) {\n return !!d;\n }), !g).join(\"/\")) || \".\";\n },\n relative: function (d, g) {\n function trim(d) {\n for (var g = 0; g < d.length && \"\" === d[g]; g++);\n for (var f = d.length - 1; f >= 0 && \"\" === d[f]; f--);\n return g > f ? [] : d.slice(g, f - g + 1);\n }\n d = K.resolve(d).substr(1), g = K.resolve(g).substr(1);\n for (var f = trim(d.split(\"/\")), m = trim(g.split(\"/\")), v = Math.min(f.length, m.length), y = v, S = 0; S < v; S++) if (f[S] !== m[S]) {\n y = S;\n break;\n }\n var _ = [];\n for (S = y; S < f.length; S++) _.push(\"..\");\n return (_ = _.concat(m.slice(y))).join(\"/\");\n }\n };\n function intArrayFromString(d, g, f) {\n var m = f > 0 ? f : lengthBytesUTF8(d) + 1,\n v = new Array(m),\n y = stringToUTF8Array(d, v, 0, v.length);\n return g && (v.length = y), v;\n }\n var J = {\n ttys: [],\n init: function () {},\n shutdown: function () {},\n register: function (d, g) {\n J.ttys[d] = {\n input: [],\n output: [],\n ops: g\n }, Q.registerDevice(d, J.stream_ops);\n },\n stream_ops: {\n open: function (d) {\n var g = J.ttys[d.node.rdev];\n if (!g) throw new Q.ErrnoError(43);\n d.tty = g, d.seekable = !1;\n },\n close: function (d) {\n d.tty.ops.fsync(d.tty);\n },\n fsync: function (d) {\n d.tty.ops.fsync(d.tty);\n },\n read: function (d, g, f, m, v) {\n if (!d.tty || !d.tty.ops.get_char) throw new Q.ErrnoError(60);\n for (var y = 0, S = 0; S < m; S++) {\n var _;\n try {\n _ = d.tty.ops.get_char(d.tty);\n } catch (d) {\n throw new Q.ErrnoError(29);\n }\n if (void 0 === _ && 0 === y) throw new Q.ErrnoError(6);\n if (null == _) break;\n y++, g[f + S] = _;\n }\n return y && (d.node.timestamp = Date.now()), y;\n },\n write: function (d, g, f, m, v) {\n if (!d.tty || !d.tty.ops.put_char) throw new Q.ErrnoError(60);\n try {\n for (var y = 0; y < m; y++) d.tty.ops.put_char(d.tty, g[f + y]);\n } catch (d) {\n throw new Q.ErrnoError(29);\n }\n return m && (d.node.timestamp = Date.now()), y;\n }\n },\n default_tty_ops: {\n get_char: function (d) {\n if (!d.input.length) {\n var g = null;\n if (\"undefined\" != typeof window && \"function\" == typeof window.prompt ? null !== (g = window.prompt(\"Input: \")) && (g += \"\\n\") : \"function\" == typeof readline && null !== (g = readline()) && (g += \"\\n\"), !g) return null;\n d.input = intArrayFromString(g, !0);\n }\n return d.input.shift();\n },\n put_char: function (d, g) {\n null === g || 10 === g ? (b(UTF8ArrayToString(d.output, 0)), d.output = []) : 0 != g && d.output.push(g);\n },\n fsync: function (d) {\n d.output && d.output.length > 0 && (b(UTF8ArrayToString(d.output, 0)), d.output = []);\n }\n },\n default_tty1_ops: {\n put_char: function (d, g) {\n null === g || 10 === g ? (I(UTF8ArrayToString(d.output, 0)), d.output = []) : 0 != g && d.output.push(g);\n },\n fsync: function (d) {\n d.output && d.output.length > 0 && (I(UTF8ArrayToString(d.output, 0)), d.output = []);\n }\n }\n };\n function mmapAlloc(d) {\n abort();\n }\n var $ = {\n ops_table: null,\n mount: function (d) {\n return $.createNode(null, \"/\", 16895, 0);\n },\n createNode: function (d, g, f, m) {\n if (Q.isBlkdev(f) || Q.isFIFO(f)) throw new Q.ErrnoError(63);\n $.ops_table || ($.ops_table = {\n dir: {\n node: {\n getattr: $.node_ops.getattr,\n setattr: $.node_ops.setattr,\n lookup: $.node_ops.lookup,\n mknod: $.node_ops.mknod,\n rename: $.node_ops.rename,\n unlink: $.node_ops.unlink,\n rmdir: $.node_ops.rmdir,\n readdir: $.node_ops.readdir,\n symlink: $.node_ops.symlink\n },\n stream: {\n llseek: $.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: $.node_ops.getattr,\n setattr: $.node_ops.setattr\n },\n stream: {\n llseek: $.stream_ops.llseek,\n read: $.stream_ops.read,\n write: $.stream_ops.write,\n allocate: $.stream_ops.allocate,\n mmap: $.stream_ops.mmap,\n msync: $.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: $.node_ops.getattr,\n setattr: $.node_ops.setattr,\n readlink: $.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: $.node_ops.getattr,\n setattr: $.node_ops.setattr\n },\n stream: Q.chrdev_stream_ops\n }\n });\n var v = Q.createNode(d, g, f, m);\n return Q.isDir(v.mode) ? (v.node_ops = $.ops_table.dir.node, v.stream_ops = $.ops_table.dir.stream, v.contents = {}) : Q.isFile(v.mode) ? (v.node_ops = $.ops_table.file.node, v.stream_ops = $.ops_table.file.stream, v.usedBytes = 0, v.contents = null) : Q.isLink(v.mode) ? (v.node_ops = $.ops_table.link.node, v.stream_ops = $.ops_table.link.stream) : Q.isChrdev(v.mode) && (v.node_ops = $.ops_table.chrdev.node, v.stream_ops = $.ops_table.chrdev.stream), v.timestamp = Date.now(), d && (d.contents[g] = v, d.timestamp = v.timestamp), v;\n },\n getFileDataAsTypedArray: function (d) {\n return d.contents ? d.contents.subarray ? d.contents.subarray(0, d.usedBytes) : new Uint8Array(d.contents) : new Uint8Array(0);\n },\n expandFileStorage: function (d, g) {\n var f = d.contents ? d.contents.length : 0;\n if (!(f >= g)) {\n var m = 1048576;\n g = Math.max(g, f * (f < m ? 2 : 1.125) >>> 0), 0 != f && (g = Math.max(g, 256));\n var v = d.contents;\n d.contents = new Uint8Array(g), d.usedBytes > 0 && d.contents.set(v.subarray(0, d.usedBytes), 0);\n }\n },\n resizeFileStorage: function (d, g) {\n if (d.usedBytes != g) if (0 == g) d.contents = null, d.usedBytes = 0;else {\n var f = d.contents;\n d.contents = new Uint8Array(g), f && d.contents.set(f.subarray(0, Math.min(g, d.usedBytes))), d.usedBytes = g;\n }\n },\n node_ops: {\n getattr: function (d) {\n var g = {};\n return g.dev = Q.isChrdev(d.mode) ? d.id : 1, g.ino = d.id, g.mode = d.mode, g.nlink = 1, g.uid = 0, g.gid = 0, g.rdev = d.rdev, Q.isDir(d.mode) ? g.size = 4096 : Q.isFile(d.mode) ? g.size = d.usedBytes : Q.isLink(d.mode) ? g.size = d.link.length : g.size = 0, g.atime = new Date(d.timestamp), g.mtime = new Date(d.timestamp), g.ctime = new Date(d.timestamp), g.blksize = 4096, g.blocks = Math.ceil(g.size / g.blksize), g;\n },\n setattr: function (d, g) {\n void 0 !== g.mode && (d.mode = g.mode), void 0 !== g.timestamp && (d.timestamp = g.timestamp), void 0 !== g.size && $.resizeFileStorage(d, g.size);\n },\n lookup: function (d, g) {\n throw Q.genericErrors[44];\n },\n mknod: function (d, g, f, m) {\n return $.createNode(d, g, f, m);\n },\n rename: function (d, g, f) {\n if (Q.isDir(d.mode)) {\n var m;\n try {\n m = Q.lookupNode(g, f);\n } catch (d) {}\n if (m) for (var v in m.contents) throw new Q.ErrnoError(55);\n }\n delete d.parent.contents[d.name], d.parent.timestamp = Date.now(), d.name = f, g.contents[f] = d, g.timestamp = d.parent.timestamp, d.parent = g;\n },\n unlink: function (d, g) {\n delete d.contents[g], d.timestamp = Date.now();\n },\n rmdir: function (d, g) {\n var f = Q.lookupNode(d, g);\n for (var m in f.contents) throw new Q.ErrnoError(55);\n delete d.contents[g], d.timestamp = Date.now();\n },\n readdir: function (d) {\n var g = [\".\", \"..\"];\n for (var f in d.contents) d.contents.hasOwnProperty(f) && g.push(f);\n return g;\n },\n symlink: function (d, g, f) {\n var m = $.createNode(d, g, 41471, 0);\n return m.link = f, m;\n },\n readlink: function (d) {\n if (!Q.isLink(d.mode)) throw new Q.ErrnoError(28);\n return d.link;\n }\n },\n stream_ops: {\n read: function (d, g, f, m, v) {\n var y = d.node.contents;\n if (v >= d.node.usedBytes) return 0;\n var S = Math.min(d.node.usedBytes - v, m);\n if (S > 8 && y.subarray) g.set(y.subarray(v, v + S), f);else for (var _ = 0; _ < S; _++) g[f + _] = y[v + _];\n return S;\n },\n write: function (d, g, f, m, v, y) {\n if (g.buffer === R.buffer && (y = !1), !m) return 0;\n var S = d.node;\n if (S.timestamp = Date.now(), g.subarray && (!S.contents || S.contents.subarray)) {\n if (y) return S.contents = g.subarray(f, f + m), S.usedBytes = m, m;\n if (0 === S.usedBytes && 0 === v) return S.contents = g.slice(f, f + m), S.usedBytes = m, m;\n if (v + m <= S.usedBytes) return S.contents.set(g.subarray(f, f + m), v), m;\n }\n if ($.expandFileStorage(S, v + m), S.contents.subarray && g.subarray) S.contents.set(g.subarray(f, f + m), v);else for (var _ = 0; _ < m; _++) S.contents[v + _] = g[f + _];\n return S.usedBytes = Math.max(S.usedBytes, v + m), m;\n },\n llseek: function (d, g, f) {\n var m = g;\n if (1 === f ? m += d.position : 2 === f && Q.isFile(d.node.mode) && (m += d.node.usedBytes), m < 0) throw new Q.ErrnoError(28);\n return m;\n },\n allocate: function (d, g, f) {\n $.expandFileStorage(d.node, g + f), d.node.usedBytes = Math.max(d.node.usedBytes, g + f);\n },\n mmap: function (d, g, f, m, v) {\n if (!Q.isFile(d.node.mode)) throw new Q.ErrnoError(43);\n var y,\n S,\n _ = d.node.contents;\n if (2 & v || _.buffer !== R.buffer) {\n if ((f > 0 || f + g < _.length) && (_ = _.subarray ? _.subarray(f, f + g) : Array.prototype.slice.call(_, f, f + g)), S = !0, !(y = mmapAlloc())) throw new Q.ErrnoError(48);\n R.set(_, y);\n } else S = !1, y = _.byteOffset;\n return {\n ptr: y,\n allocated: S\n };\n },\n msync: function (d, g, f, m, v) {\n return $.stream_ops.write(d, g, 0, m, f, !1), 0;\n }\n }\n };\n function asyncLoad(d, g, f, m) {\n var y = m ? \"\" : getUniqueRunDependency(\"al \" + d);\n v(d, function (f) {\n assert(f, 'Loading data file \"' + d + '\" failed (no arrayBuffer).'), g(new Uint8Array(f)), y && removeRunDependency();\n }, function (g) {\n if (!f) throw 'Loading data file \"' + d + '\" failed.';\n f();\n }), y && addRunDependency();\n }\n var Q = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: !1,\n ignorePermissions: !0,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: function (d, g) {\n if (void 0 === g && (g = {}), !(d = K.resolve(d))) return {\n path: \"\",\n node: null\n };\n var f = {\n follow_mount: !0,\n recurse_count: 0\n };\n if ((g = Object.assign(f, g)).recurse_count > 8) throw new Q.ErrnoError(32);\n for (var m = d.split(\"/\").filter(function (d) {\n return !!d;\n }), v = Q.root, y = \"/\", S = 0; S < m.length; S++) {\n var _ = S === m.length - 1;\n if (_ && g.parent) break;\n if (v = Q.lookupNode(v, m[S]), y = z.join2(y, m[S]), Q.isMountpoint(v) && (!_ || _ && g.follow_mount) && (v = v.mounted.root), !_ || g.follow) for (var C = 0; Q.isLink(v.mode);) {\n var T = Q.readlink(y);\n if (y = K.resolve(z.dirname(y), T), v = Q.lookupPath(y, {\n recurse_count: g.recurse_count + 1\n }).node, C++ > 40) throw new Q.ErrnoError(32);\n }\n }\n return {\n path: y,\n node: v\n };\n },\n getPath: function (d) {\n for (var g;;) {\n if (Q.isRoot(d)) {\n var f = d.mount.mountpoint;\n return g ? \"/\" !== f[f.length - 1] ? f + \"/\" + g : f + g : f;\n }\n g = g ? d.name + \"/\" + g : d.name, d = d.parent;\n }\n },\n hashName: function (d, g) {\n for (var f = 0, m = 0; m < g.length; m++) f = (f << 5) - f + g.charCodeAt(m) | 0;\n return (d + f >>> 0) % Q.nameTable.length;\n },\n hashAddNode: function (d) {\n var g = Q.hashName(d.parent.id, d.name);\n d.name_next = Q.nameTable[g], Q.nameTable[g] = d;\n },\n hashRemoveNode: function (d) {\n var g = Q.hashName(d.parent.id, d.name);\n if (Q.nameTable[g] === d) Q.nameTable[g] = d.name_next;else for (var f = Q.nameTable[g]; f;) {\n if (f.name_next === d) {\n f.name_next = d.name_next;\n break;\n }\n f = f.name_next;\n }\n },\n lookupNode: function (d, g) {\n var f = Q.mayLookup(d);\n if (f) throw new Q.ErrnoError(f, d);\n for (var m = Q.hashName(d.id, g), v = Q.nameTable[m]; v; v = v.name_next) {\n var y = v.name;\n if (v.parent.id === d.id && y === g) return v;\n }\n return Q.lookup(d, g);\n },\n createNode: function (d, g, f, m) {\n var v = new Q.FSNode(d, g, f, m);\n return Q.hashAddNode(v), v;\n },\n destroyNode: function (d) {\n Q.hashRemoveNode(d);\n },\n isRoot: function (d) {\n return d === d.parent;\n },\n isMountpoint: function (d) {\n return !!d.mounted;\n },\n isFile: function (d) {\n return 32768 == (61440 & d);\n },\n isDir: function (d) {\n return 16384 == (61440 & d);\n },\n isLink: function (d) {\n return 40960 == (61440 & d);\n },\n isChrdev: function (d) {\n return 8192 == (61440 & d);\n },\n isBlkdev: function (d) {\n return 24576 == (61440 & d);\n },\n isFIFO: function (d) {\n return 4096 == (61440 & d);\n },\n isSocket: function (d) {\n return 49152 == (49152 & d);\n },\n flagModes: {\n r: 0,\n \"r+\": 2,\n w: 577,\n \"w+\": 578,\n a: 1089,\n \"a+\": 1090\n },\n modeStringToFlags: function (d) {\n var g = Q.flagModes[d];\n if (void 0 === g) throw new Error(\"Unknown file open mode: \" + d);\n return g;\n },\n flagsToPermissionString: function (d) {\n var g = [\"r\", \"w\", \"rw\"][3 & d];\n return 512 & d && (g += \"w\"), g;\n },\n nodePermissions: function (d, g) {\n return Q.ignorePermissions || (!g.includes(\"r\") || 292 & d.mode) && (!g.includes(\"w\") || 146 & d.mode) && (!g.includes(\"x\") || 73 & d.mode) ? 0 : 2;\n },\n mayLookup: function (d) {\n var g = Q.nodePermissions(d, \"x\");\n return g || (d.node_ops.lookup ? 0 : 2);\n },\n mayCreate: function (d, g) {\n try {\n return Q.lookupNode(d, g), 20;\n } catch (d) {}\n return Q.nodePermissions(d, \"wx\");\n },\n mayDelete: function (d, g, f) {\n var m;\n try {\n m = Q.lookupNode(d, g);\n } catch (d) {\n return d.errno;\n }\n var v = Q.nodePermissions(d, \"wx\");\n if (v) return v;\n if (f) {\n if (!Q.isDir(m.mode)) return 54;\n if (Q.isRoot(m) || Q.getPath(m) === Q.cwd()) return 10;\n } else if (Q.isDir(m.mode)) return 31;\n return 0;\n },\n mayOpen: function (d, g) {\n return d ? Q.isLink(d.mode) ? 32 : Q.isDir(d.mode) && (\"r\" !== Q.flagsToPermissionString(g) || 512 & g) ? 31 : Q.nodePermissions(d, Q.flagsToPermissionString(g)) : 44;\n },\n MAX_OPEN_FDS: 4096,\n nextfd: function (d, g) {\n void 0 === d && (d = 0), void 0 === g && (g = Q.MAX_OPEN_FDS);\n for (var f = d; f <= g; f++) if (!Q.streams[f]) return f;\n throw new Q.ErrnoError(33);\n },\n getStream: function (d) {\n return Q.streams[d];\n },\n createStream: function (d, g, f) {\n Q.FSStream || (Q.FSStream = function () {\n this.shared = {};\n }, Q.FSStream.prototype = {}, Object.defineProperties(Q.FSStream.prototype, {\n object: {\n get: function () {\n return this.node;\n },\n set: function (d) {\n this.node = d;\n }\n },\n isRead: {\n get: function () {\n return 1 != (2097155 & this.flags);\n }\n },\n isWrite: {\n get: function () {\n return 0 != (2097155 & this.flags);\n }\n },\n isAppend: {\n get: function () {\n return 1024 & this.flags;\n }\n },\n flags: {\n get: function () {\n return this.shared.flags;\n },\n set: function (d) {\n this.shared.flags = d;\n }\n },\n position: {\n get: function () {\n return this.shared.position;\n },\n set: function (d) {\n this.shared.position = d;\n }\n }\n })), d = Object.assign(new Q.FSStream(), d);\n var m = Q.nextfd(g, f);\n return d.fd = m, Q.streams[m] = d, d;\n },\n closeStream: function (d) {\n Q.streams[d] = null;\n },\n chrdev_stream_ops: {\n open: function (d) {\n var g = Q.getDevice(d.node.rdev);\n d.stream_ops = g.stream_ops, d.stream_ops.open && d.stream_ops.open(d);\n },\n llseek: function () {\n throw new Q.ErrnoError(70);\n }\n },\n major: function (d) {\n return d >> 8;\n },\n minor: function (d) {\n return 255 & d;\n },\n makedev: function (d, g) {\n return d << 8 | g;\n },\n registerDevice: function (d, g) {\n Q.devices[d] = {\n stream_ops: g\n };\n },\n getDevice: function (d) {\n return Q.devices[d];\n },\n getMounts: function (d) {\n for (var g = [], f = [d]; f.length;) {\n var m = f.pop();\n g.push(m), f.push.apply(f, m.mounts);\n }\n return g;\n },\n syncfs: function (d, g) {\n \"function\" == typeof d && (g = d, d = !1), Q.syncFSRequests++, Q.syncFSRequests > 1 && I(\"warning: \" + Q.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var f = Q.getMounts(Q.root.mount),\n m = 0;\n function doCallback(d) {\n return Q.syncFSRequests--, g(d);\n }\n function done(d) {\n if (d) return done.errored ? void 0 : (done.errored = !0, doCallback(d));\n ++m >= f.length && doCallback(null);\n }\n f.forEach(function (g) {\n if (!g.type.syncfs) return done(null);\n g.type.syncfs(g, d, done);\n });\n },\n mount: function (d, g, f) {\n var m,\n v = \"/\" === f,\n y = !f;\n if (v && Q.root) throw new Q.ErrnoError(10);\n if (!v && !y) {\n var S = Q.lookupPath(f, {\n follow_mount: !1\n });\n if (f = S.path, m = S.node, Q.isMountpoint(m)) throw new Q.ErrnoError(10);\n if (!Q.isDir(m.mode)) throw new Q.ErrnoError(54);\n }\n var _ = {\n type: d,\n opts: g,\n mountpoint: f,\n mounts: []\n },\n C = d.mount(_);\n return C.mount = _, _.root = C, v ? Q.root = C : m && (m.mounted = _, m.mount && m.mount.mounts.push(_)), C;\n },\n unmount: function (d) {\n var g = Q.lookupPath(d, {\n follow_mount: !1\n });\n if (!Q.isMountpoint(g.node)) throw new Q.ErrnoError(28);\n var f = g.node,\n m = f.mounted,\n v = Q.getMounts(m);\n Object.keys(Q.nameTable).forEach(function (d) {\n for (var g = Q.nameTable[d]; g;) {\n var f = g.name_next;\n v.includes(g.mount) && Q.destroyNode(g), g = f;\n }\n }), f.mounted = null;\n var y = f.mount.mounts.indexOf(m);\n f.mount.mounts.splice(y, 1);\n },\n lookup: function (d, g) {\n return d.node_ops.lookup(d, g);\n },\n mknod: function (d, g, f) {\n var m = Q.lookupPath(d, {\n parent: !0\n }).node,\n v = z.basename(d);\n if (!v || \".\" === v || \"..\" === v) throw new Q.ErrnoError(28);\n var y = Q.mayCreate(m, v);\n if (y) throw new Q.ErrnoError(y);\n if (!m.node_ops.mknod) throw new Q.ErrnoError(63);\n return m.node_ops.mknod(m, v, g, f);\n },\n create: function (d, g) {\n return g = void 0 !== g ? g : 438, g &= 4095, g |= 32768, Q.mknod(d, g, 0);\n },\n mkdir: function (d, g) {\n return g = void 0 !== g ? g : 511, g &= 1023, g |= 16384, Q.mknod(d, g, 0);\n },\n mkdirTree: function (d, g) {\n for (var f = d.split(\"/\"), m = \"\", v = 0; v < f.length; ++v) if (f[v]) {\n m += \"/\" + f[v];\n try {\n Q.mkdir(m, g);\n } catch (d) {\n if (20 != d.errno) throw d;\n }\n }\n },\n mkdev: function (d, g, f) {\n return void 0 === f && (f = g, g = 438), g |= 8192, Q.mknod(d, g, f);\n },\n symlink: function (d, g) {\n if (!K.resolve(d)) throw new Q.ErrnoError(44);\n var f = Q.lookupPath(g, {\n parent: !0\n }).node;\n if (!f) throw new Q.ErrnoError(44);\n var m = z.basename(g),\n v = Q.mayCreate(f, m);\n if (v) throw new Q.ErrnoError(v);\n if (!f.node_ops.symlink) throw new Q.ErrnoError(63);\n return f.node_ops.symlink(f, m, d);\n },\n rename: function (d, g) {\n var f,\n m,\n v = z.dirname(d),\n y = z.dirname(g),\n S = z.basename(d),\n _ = z.basename(g);\n if (f = Q.lookupPath(d, {\n parent: !0\n }).node, m = Q.lookupPath(g, {\n parent: !0\n }).node, !f || !m) throw new Q.ErrnoError(44);\n if (f.mount !== m.mount) throw new Q.ErrnoError(75);\n var C,\n T = Q.lookupNode(f, S),\n E = K.relative(d, y);\n if (\".\" !== E.charAt(0)) throw new Q.ErrnoError(28);\n if (\".\" !== (E = K.relative(g, v)).charAt(0)) throw new Q.ErrnoError(55);\n try {\n C = Q.lookupNode(m, _);\n } catch (d) {}\n if (T !== C) {\n var b = Q.isDir(T.mode),\n I = Q.mayDelete(f, S, b);\n if (I) throw new Q.ErrnoError(I);\n if (I = C ? Q.mayDelete(m, _, b) : Q.mayCreate(m, _)) throw new Q.ErrnoError(I);\n if (!f.node_ops.rename) throw new Q.ErrnoError(63);\n if (Q.isMountpoint(T) || C && Q.isMountpoint(C)) throw new Q.ErrnoError(10);\n if (m !== f && (I = Q.nodePermissions(f, \"w\"))) throw new Q.ErrnoError(I);\n Q.hashRemoveNode(T);\n try {\n f.node_ops.rename(T, m, _);\n } catch (d) {\n throw d;\n } finally {\n Q.hashAddNode(T);\n }\n }\n },\n rmdir: function (d) {\n var g = Q.lookupPath(d, {\n parent: !0\n }).node,\n f = z.basename(d),\n m = Q.lookupNode(g, f),\n v = Q.mayDelete(g, f, !0);\n if (v) throw new Q.ErrnoError(v);\n if (!g.node_ops.rmdir) throw new Q.ErrnoError(63);\n if (Q.isMountpoint(m)) throw new Q.ErrnoError(10);\n g.node_ops.rmdir(g, f), Q.destroyNode(m);\n },\n readdir: function (d) {\n var g = Q.lookupPath(d, {\n follow: !0\n }).node;\n if (!g.node_ops.readdir) throw new Q.ErrnoError(54);\n return g.node_ops.readdir(g);\n },\n unlink: function (d) {\n var g = Q.lookupPath(d, {\n parent: !0\n }).node;\n if (!g) throw new Q.ErrnoError(44);\n var f = z.basename(d),\n m = Q.lookupNode(g, f),\n v = Q.mayDelete(g, f, !1);\n if (v) throw new Q.ErrnoError(v);\n if (!g.node_ops.unlink) throw new Q.ErrnoError(63);\n if (Q.isMountpoint(m)) throw new Q.ErrnoError(10);\n g.node_ops.unlink(g, f), Q.destroyNode(m);\n },\n readlink: function (d) {\n var g = Q.lookupPath(d).node;\n if (!g) throw new Q.ErrnoError(44);\n if (!g.node_ops.readlink) throw new Q.ErrnoError(28);\n return K.resolve(Q.getPath(g.parent), g.node_ops.readlink(g));\n },\n stat: function (d, g) {\n var f = Q.lookupPath(d, {\n follow: !g\n }).node;\n if (!f) throw new Q.ErrnoError(44);\n if (!f.node_ops.getattr) throw new Q.ErrnoError(63);\n return f.node_ops.getattr(f);\n },\n lstat: function (d) {\n return Q.stat(d, !0);\n },\n chmod: function (d, g, f) {\n var m;\n if (!(m = \"string\" == typeof d ? Q.lookupPath(d, {\n follow: !f\n }).node : d).node_ops.setattr) throw new Q.ErrnoError(63);\n m.node_ops.setattr(m, {\n mode: 4095 & g | -4096 & m.mode,\n timestamp: Date.now()\n });\n },\n lchmod: function (d, g) {\n Q.chmod(d, g, !0);\n },\n fchmod: function (d, g) {\n var f = Q.getStream(d);\n if (!f) throw new Q.ErrnoError(8);\n Q.chmod(f.node, g);\n },\n chown: function (d, g, f, m) {\n var v;\n if (!(v = \"string\" == typeof d ? Q.lookupPath(d, {\n follow: !m\n }).node : d).node_ops.setattr) throw new Q.ErrnoError(63);\n v.node_ops.setattr(v, {\n timestamp: Date.now()\n });\n },\n lchown: function (d, g, f) {\n Q.chown(d, g, f, !0);\n },\n fchown: function (d, g, f) {\n var m = Q.getStream(d);\n if (!m) throw new Q.ErrnoError(8);\n Q.chown(m.node, g, f);\n },\n truncate: function (d, g) {\n if (g < 0) throw new Q.ErrnoError(28);\n var f;\n if (!(f = \"string\" == typeof d ? Q.lookupPath(d, {\n follow: !0\n }).node : d).node_ops.setattr) throw new Q.ErrnoError(63);\n if (Q.isDir(f.mode)) throw new Q.ErrnoError(31);\n if (!Q.isFile(f.mode)) throw new Q.ErrnoError(28);\n var m = Q.nodePermissions(f, \"w\");\n if (m) throw new Q.ErrnoError(m);\n f.node_ops.setattr(f, {\n size: g,\n timestamp: Date.now()\n });\n },\n ftruncate: function (d, g) {\n var f = Q.getStream(d);\n if (!f) throw new Q.ErrnoError(8);\n if (0 == (2097155 & f.flags)) throw new Q.ErrnoError(28);\n Q.truncate(f.node, g);\n },\n utime: function (d, g, f) {\n var m = Q.lookupPath(d, {\n follow: !0\n }).node;\n m.node_ops.setattr(m, {\n timestamp: Math.max(g, f)\n });\n },\n open: function (g, f, m) {\n if (\"\" === g) throw new Q.ErrnoError(44);\n var v;\n if (m = void 0 === m ? 438 : m, m = 64 & (f = \"string\" == typeof f ? Q.modeStringToFlags(f) : f) ? 4095 & m | 32768 : 0, \"object\" == typeof g) v = g;else {\n g = z.normalize(g);\n try {\n v = Q.lookupPath(g, {\n follow: !(131072 & f)\n }).node;\n } catch (d) {}\n }\n var y = !1;\n if (64 & f) if (v) {\n if (128 & f) throw new Q.ErrnoError(20);\n } else v = Q.mknod(g, m, 0), y = !0;\n if (!v) throw new Q.ErrnoError(44);\n if (Q.isChrdev(v.mode) && (f &= -513), 65536 & f && !Q.isDir(v.mode)) throw new Q.ErrnoError(54);\n if (!y) {\n var S = Q.mayOpen(v, f);\n if (S) throw new Q.ErrnoError(S);\n }\n 512 & f && !y && Q.truncate(v, 0), f &= -131713;\n var _ = Q.createStream({\n node: v,\n path: Q.getPath(v),\n flags: f,\n seekable: !0,\n position: 0,\n stream_ops: v.stream_ops,\n ungotten: [],\n error: !1\n });\n return _.stream_ops.open && _.stream_ops.open(_), !d.logReadFiles || 1 & f || (Q.readFiles || (Q.readFiles = {}), g in Q.readFiles || (Q.readFiles[g] = 1)), _;\n },\n close: function (d) {\n if (Q.isClosed(d)) throw new Q.ErrnoError(8);\n d.getdents && (d.getdents = null);\n try {\n d.stream_ops.close && d.stream_ops.close(d);\n } catch (d) {\n throw d;\n } finally {\n Q.closeStream(d.fd);\n }\n d.fd = null;\n },\n isClosed: function (d) {\n return null === d.fd;\n },\n llseek: function (d, g, f) {\n if (Q.isClosed(d)) throw new Q.ErrnoError(8);\n if (!d.seekable || !d.stream_ops.llseek) throw new Q.ErrnoError(70);\n if (0 != f && 1 != f && 2 != f) throw new Q.ErrnoError(28);\n return d.position = d.stream_ops.llseek(d, g, f), d.ungotten = [], d.position;\n },\n read: function (d, g, f, m, v) {\n if (m < 0 || v < 0) throw new Q.ErrnoError(28);\n if (Q.isClosed(d)) throw new Q.ErrnoError(8);\n if (1 == (2097155 & d.flags)) throw new Q.ErrnoError(8);\n if (Q.isDir(d.node.mode)) throw new Q.ErrnoError(31);\n if (!d.stream_ops.read) throw new Q.ErrnoError(28);\n var y = void 0 !== v;\n if (y) {\n if (!d.seekable) throw new Q.ErrnoError(70);\n } else v = d.position;\n var S = d.stream_ops.read(d, g, f, m, v);\n return y || (d.position += S), S;\n },\n write: function (d, g, f, m, v, y) {\n if (m < 0 || v < 0) throw new Q.ErrnoError(28);\n if (Q.isClosed(d)) throw new Q.ErrnoError(8);\n if (0 == (2097155 & d.flags)) throw new Q.ErrnoError(8);\n if (Q.isDir(d.node.mode)) throw new Q.ErrnoError(31);\n if (!d.stream_ops.write) throw new Q.ErrnoError(28);\n d.seekable && 1024 & d.flags && Q.llseek(d, 0, 2);\n var S = void 0 !== v;\n if (S) {\n if (!d.seekable) throw new Q.ErrnoError(70);\n } else v = d.position;\n var _ = d.stream_ops.write(d, g, f, m, v, y);\n return S || (d.position += _), _;\n },\n allocate: function (d, g, f) {\n if (Q.isClosed(d)) throw new Q.ErrnoError(8);\n if (g < 0 || f <= 0) throw new Q.ErrnoError(28);\n if (0 == (2097155 & d.flags)) throw new Q.ErrnoError(8);\n if (!Q.isFile(d.node.mode) && !Q.isDir(d.node.mode)) throw new Q.ErrnoError(43);\n if (!d.stream_ops.allocate) throw new Q.ErrnoError(138);\n d.stream_ops.allocate(d, g, f);\n },\n mmap: function (d, g, f, m, v) {\n if (0 != (2 & m) && 0 == (2 & v) && 2 != (2097155 & d.flags)) throw new Q.ErrnoError(2);\n if (1 == (2097155 & d.flags)) throw new Q.ErrnoError(2);\n if (!d.stream_ops.mmap) throw new Q.ErrnoError(43);\n return d.stream_ops.mmap(d, g, f, m, v);\n },\n msync: function (d, g, f, m, v) {\n return d.stream_ops.msync ? d.stream_ops.msync(d, g, f, m, v) : 0;\n },\n munmap: function (d) {\n return 0;\n },\n ioctl: function (d, g, f) {\n if (!d.stream_ops.ioctl) throw new Q.ErrnoError(59);\n return d.stream_ops.ioctl(d, g, f);\n },\n readFile: function (d, g) {\n if (void 0 === g && (g = {}), g.flags = g.flags || 0, g.encoding = g.encoding || \"binary\", \"utf8\" !== g.encoding && \"binary\" !== g.encoding) throw new Error('Invalid encoding type \"' + g.encoding + '\"');\n var f,\n m = Q.open(d, g.flags),\n v = Q.stat(d).size,\n y = new Uint8Array(v);\n return Q.read(m, y, 0, v, 0), \"utf8\" === g.encoding ? f = UTF8ArrayToString(y, 0) : \"binary\" === g.encoding && (f = y), Q.close(m), f;\n },\n writeFile: function (d, g, f) {\n void 0 === f && (f = {}), f.flags = f.flags || 577;\n var m = Q.open(d, f.flags, f.mode);\n if (\"string\" == typeof g) {\n var v = new Uint8Array(lengthBytesUTF8(g) + 1),\n y = stringToUTF8Array(g, v, 0, v.length);\n Q.write(m, v, 0, y, void 0, f.canOwn);\n } else {\n if (!ArrayBuffer.isView(g)) throw new Error(\"Unsupported data type\");\n Q.write(m, g, 0, g.byteLength, void 0, f.canOwn);\n }\n Q.close(m);\n },\n cwd: function () {\n return Q.currentPath;\n },\n chdir: function (d) {\n var g = Q.lookupPath(d, {\n follow: !0\n });\n if (null === g.node) throw new Q.ErrnoError(44);\n if (!Q.isDir(g.node.mode)) throw new Q.ErrnoError(54);\n var f = Q.nodePermissions(g.node, \"x\");\n if (f) throw new Q.ErrnoError(f);\n Q.currentPath = g.path;\n },\n createDefaultDirectories: function () {\n Q.mkdir(\"/tmp\"), Q.mkdir(\"/home\"), Q.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: function () {\n Q.mkdir(\"/dev\"), Q.registerDevice(Q.makedev(1, 3), {\n read: function () {\n return 0;\n },\n write: function (d, g, f, m, v) {\n return m;\n }\n }), Q.mkdev(\"/dev/null\", Q.makedev(1, 3)), J.register(Q.makedev(5, 0), J.default_tty_ops), J.register(Q.makedev(6, 0), J.default_tty1_ops), Q.mkdev(\"/dev/tty\", Q.makedev(5, 0)), Q.mkdev(\"/dev/tty1\", Q.makedev(6, 0));\n var d = getRandomDevice();\n Q.createDevice(\"/dev\", \"random\", d), Q.createDevice(\"/dev\", \"urandom\", d), Q.mkdir(\"/dev/shm\"), Q.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: function () {\n Q.mkdir(\"/proc\");\n var d = Q.mkdir(\"/proc/self\");\n Q.mkdir(\"/proc/self/fd\"), Q.mount({\n mount: function () {\n var g = Q.createNode(d, \"fd\", 16895, 73);\n return g.node_ops = {\n lookup: function (d, g) {\n var f = +g,\n m = Q.getStream(f);\n if (!m) throw new Q.ErrnoError(8);\n var v = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: function () {\n return m.path;\n }\n }\n };\n return v.parent = v, v;\n }\n }, g;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: function () {\n d.stdin ? Q.createDevice(\"/dev\", \"stdin\", d.stdin) : Q.symlink(\"/dev/tty\", \"/dev/stdin\"), d.stdout ? Q.createDevice(\"/dev\", \"stdout\", null, d.stdout) : Q.symlink(\"/dev/tty\", \"/dev/stdout\"), d.stderr ? Q.createDevice(\"/dev\", \"stderr\", null, d.stderr) : Q.symlink(\"/dev/tty1\", \"/dev/stderr\"), Q.open(\"/dev/stdin\", 0), Q.open(\"/dev/stdout\", 1), Q.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: function () {\n Q.ErrnoError || (Q.ErrnoError = function ErrnoError(d, g) {\n this.name = \"ErrnoError\", this.node = g, this.setErrno = function (d) {\n this.errno = d;\n }, this.setErrno(d), this.message = \"FS error\";\n }, Q.ErrnoError.prototype = new Error(), Q.ErrnoError.prototype.constructor = Q.ErrnoError, [44].forEach(function (d) {\n Q.genericErrors[d] = new Q.ErrnoError(d), Q.genericErrors[d].stack = \"\";\n }));\n },\n staticInit: function () {\n Q.ensureErrnoError(), Q.nameTable = new Array(4096), Q.mount($, {}, \"/\"), Q.createDefaultDirectories(), Q.createDefaultDevices(), Q.createSpecialDirectories(), Q.filesystems = {\n MEMFS: $\n };\n },\n init: function (g, f, m) {\n Q.init.initialized = !0, Q.ensureErrnoError(), d.stdin = g || d.stdin, d.stdout = f || d.stdout, d.stderr = m || d.stderr, Q.createStandardStreams();\n },\n quit: function () {\n Q.init.initialized = !1;\n for (var d = 0; d < Q.streams.length; d++) {\n var g = Q.streams[d];\n g && Q.close(g);\n }\n },\n getMode: function (d, g) {\n var f = 0;\n return d && (f |= 365), g && (f |= 146), f;\n },\n findObject: function (d, g) {\n var f = Q.analyzePath(d, g);\n return f.exists ? f.object : null;\n },\n analyzePath: function (d, g) {\n try {\n d = (m = Q.lookupPath(d, {\n follow: !g\n })).path;\n } catch (d) {}\n var f = {\n isRoot: !1,\n exists: !1,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: !1,\n parentPath: null,\n parentObject: null\n };\n try {\n var m = Q.lookupPath(d, {\n parent: !0\n });\n f.parentExists = !0, f.parentPath = m.path, f.parentObject = m.node, f.name = z.basename(d), m = Q.lookupPath(d, {\n follow: !g\n }), f.exists = !0, f.path = m.path, f.object = m.node, f.name = m.node.name, f.isRoot = \"/\" === m.path;\n } catch (d) {\n f.error = d.errno;\n }\n return f;\n },\n createPath: function (d, g, f, m) {\n d = \"string\" == typeof d ? d : Q.getPath(d);\n for (var v = g.split(\"/\").reverse(); v.length;) {\n var y = v.pop();\n if (y) {\n var S = z.join2(d, y);\n try {\n Q.mkdir(S);\n } catch (d) {}\n d = S;\n }\n }\n return S;\n },\n createFile: function (d, g, f, m, v) {\n var y = z.join2(\"string\" == typeof d ? d : Q.getPath(d), g),\n S = Q.getMode(m, v);\n return Q.create(y, S);\n },\n createDataFile: function (d, g, f, m, v, y) {\n var S = g;\n d && (d = \"string\" == typeof d ? d : Q.getPath(d), S = g ? z.join2(d, g) : d);\n var _ = Q.getMode(m, v),\n C = Q.create(S, _);\n if (f) {\n if (\"string\" == typeof f) {\n for (var T = new Array(f.length), E = 0, b = f.length; E < b; ++E) T[E] = f.charCodeAt(E);\n f = T;\n }\n Q.chmod(C, 146 | _);\n var I = Q.open(C, 577);\n Q.write(I, f, 0, f.length, 0, y), Q.close(I), Q.chmod(C, _);\n }\n return C;\n },\n createDevice: function (d, g, f, m) {\n var v = z.join2(\"string\" == typeof d ? d : Q.getPath(d), g),\n y = Q.getMode(!!f, !!m);\n Q.createDevice.major || (Q.createDevice.major = 64);\n var S = Q.makedev(Q.createDevice.major++, 0);\n return Q.registerDevice(S, {\n open: function (d) {\n d.seekable = !1;\n },\n close: function (d) {\n m && m.buffer && m.buffer.length && m(10);\n },\n read: function (d, g, m, v, y) {\n for (var S = 0, _ = 0; _ < v; _++) {\n var C;\n try {\n C = f();\n } catch (d) {\n throw new Q.ErrnoError(29);\n }\n if (void 0 === C && 0 === S) throw new Q.ErrnoError(6);\n if (null == C) break;\n S++, g[m + _] = C;\n }\n return S && (d.node.timestamp = Date.now()), S;\n },\n write: function (d, g, f, v, y) {\n for (var S = 0; S < v; S++) try {\n m(g[f + S]);\n } catch (d) {\n throw new Q.ErrnoError(29);\n }\n return v && (d.node.timestamp = Date.now()), S;\n }\n }), Q.mkdev(v, y, S);\n },\n forceLoadFile: function (d) {\n if (d.isDevice || d.isFolder || d.link || d.contents) return !0;\n if (\"undefined\" != typeof XMLHttpRequest) throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");\n if (!m) throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n try {\n d.contents = intArrayFromString(m(d.url), !0), d.usedBytes = d.contents.length;\n } catch (d) {\n throw new Q.ErrnoError(29);\n }\n },\n createLazyFile: function (d, g, f, m, v) {\n function LazyUint8Array() {\n this.lengthKnown = !1, this.chunks = [];\n }\n if (LazyUint8Array.prototype.get = function LazyUint8Array_get(d) {\n if (!(d > this.length - 1 || d < 0)) {\n var g = d % this.chunkSize,\n f = d / this.chunkSize | 0;\n return this.getter(f)[g];\n }\n }, LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(d) {\n this.getter = d;\n }, LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var d = new XMLHttpRequest();\n if (d.open(\"HEAD\", f, !1), d.send(null), !(d.status >= 200 && d.status < 300 || 304 === d.status)) throw new Error(\"Couldn't load \" + f + \". Status: \" + d.status);\n var g,\n m = Number(d.getResponseHeader(\"Content-length\")),\n v = (g = d.getResponseHeader(\"Accept-Ranges\")) && \"bytes\" === g,\n y = (g = d.getResponseHeader(\"Content-Encoding\")) && \"gzip\" === g,\n S = 1048576;\n v || (S = m);\n var doXHR = function (d, g) {\n if (d > g) throw new Error(\"invalid range (\" + d + \", \" + g + \") or no bytes requested!\");\n if (g > m - 1) throw new Error(\"only \" + m + \" bytes available! programmer error!\");\n var v = new XMLHttpRequest();\n if (v.open(\"GET\", f, !1), m !== S && v.setRequestHeader(\"Range\", \"bytes=\" + d + \"-\" + g), v.responseType = \"arraybuffer\", v.overrideMimeType && v.overrideMimeType(\"text/plain; charset=x-user-defined\"), v.send(null), !(v.status >= 200 && v.status < 300 || 304 === v.status)) throw new Error(\"Couldn't load \" + f + \". Status: \" + v.status);\n return void 0 !== v.response ? new Uint8Array(v.response || []) : intArrayFromString(v.responseText || \"\", !0);\n },\n _ = this;\n _.setDataGetter(function (d) {\n var g = d * S,\n f = (d + 1) * S - 1;\n if (f = Math.min(f, m - 1), void 0 === _.chunks[d] && (_.chunks[d] = doXHR(g, f)), void 0 === _.chunks[d]) throw new Error(\"doXHR failed!\");\n return _.chunks[d];\n }), !y && m || (S = m = 1, m = this.getter(0).length, S = m, b(\"LazyFiles on gzip forces download of the whole file when length is accessed\")), this._length = m, this._chunkSize = S, this.lengthKnown = !0;\n }, \"undefined\" != typeof XMLHttpRequest) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var y = {\n isDevice: !1,\n url: f\n },\n S = Q.createFile(d, g, y, m, v);\n y.contents ? S.contents = y.contents : y.url && (S.contents = null, S.url = y.url), Object.defineProperties(S, {\n usedBytes: {\n get: function () {\n return this.contents.length;\n }\n }\n });\n var _ = {};\n function writeChunks(d, g, f, m, v) {\n var y = d.node.contents;\n if (v >= y.length) return 0;\n var S = Math.min(y.length - v, m);\n if (y.slice) for (var _ = 0; _ < S; _++) g[f + _] = y[v + _];else for (_ = 0; _ < S; _++) g[f + _] = y.get(v + _);\n return S;\n }\n return Object.keys(S.stream_ops).forEach(function (d) {\n var g = S.stream_ops[d];\n _[d] = function forceLoadLazyFile() {\n return Q.forceLoadFile(S), g.apply(null, arguments);\n };\n }), _.read = function (d, g, f, m, v) {\n return Q.forceLoadFile(S), writeChunks(d, g, f, m, v);\n }, _.mmap = function (d, g, f, m, v) {\n Q.forceLoadFile(S);\n var y = mmapAlloc();\n if (!y) throw new Q.ErrnoError(48);\n return writeChunks(d, R, y, g, f), {\n ptr: y,\n allocated: !0\n };\n }, S.stream_ops = _, S;\n },\n createPreloadedFile: function (d, g, f, m, v, y, S, _, C, T) {\n var E = g ? K.resolve(z.join2(d, g)) : d;\n function processData(f) {\n function finish(f) {\n T && T(), _ || Q.createDataFile(d, g, f, m, v, C), y && y(), removeRunDependency();\n }\n Browser.handledByPreloadPlugin(f, E, finish, function () {\n S && S(), removeRunDependency();\n }) || finish(f);\n }\n addRunDependency(), \"string\" == typeof f ? asyncLoad(f, function (d) {\n return processData(d);\n }, S) : processData(f);\n },\n indexedDB: function () {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: function () {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: function (d, g, f) {\n void 0 === g && (g = function () {}), void 0 === f && (f = function () {});\n var m = Q.indexedDB();\n try {\n var v = m.open(Q.DB_NAME(), Q.DB_VERSION);\n } catch (d) {\n return f(d);\n }\n v.onupgradeneeded = function () {\n b(\"creating db\"), v.result.createObjectStore(Q.DB_STORE_NAME);\n }, v.onsuccess = function () {\n var m = v.result.transaction([Q.DB_STORE_NAME], \"readwrite\"),\n y = m.objectStore(Q.DB_STORE_NAME),\n S = 0,\n _ = 0,\n C = d.length;\n function finish() {\n 0 == _ ? g() : f();\n }\n d.forEach(function (d) {\n var g = y.put(Q.analyzePath(d).object.contents, d);\n g.onsuccess = function () {\n ++S + _ == C && finish();\n }, g.onerror = function () {\n _++, S + _ == C && finish();\n };\n }), m.onerror = f;\n }, v.onerror = f;\n },\n loadFilesFromDB: function (d, g, f) {\n void 0 === g && (g = function () {}), void 0 === f && (f = function () {});\n var m = Q.indexedDB();\n try {\n var v = m.open(Q.DB_NAME(), Q.DB_VERSION);\n } catch (d) {\n return f(d);\n }\n v.onupgradeneeded = f, v.onsuccess = function () {\n var m = v.result;\n try {\n var y = m.transaction([Q.DB_STORE_NAME], \"readonly\");\n } catch (d) {\n return void f(d);\n }\n var S = y.objectStore(Q.DB_STORE_NAME),\n _ = 0,\n C = 0,\n T = d.length;\n function finish() {\n 0 == C ? g() : f();\n }\n d.forEach(function (d) {\n var g = S.get(d);\n g.onsuccess = function () {\n Q.analyzePath(d).exists && Q.unlink(d), Q.createDataFile(z.dirname(d), z.basename(d), g.result, !0, !0, !0), ++_ + C == T && finish();\n }, g.onerror = function () {\n C++, _ + C == T && finish();\n };\n }), y.onerror = f;\n }, v.onerror = f;\n }\n },\n Y = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function (d, g, f) {\n if (z.isAbs(g)) return g;\n var m;\n if (m = -100 === d ? Q.cwd() : Y.getStreamFromFD(d).path, 0 == g.length) {\n if (!f) throw new Q.ErrnoError(44);\n return m;\n }\n return z.join2(m, g);\n },\n doStat: function (d, g, f) {\n try {\n var m = d(g);\n } catch (d) {\n if (d && d.node && z.normalize(g) !== z.normalize(Q.getPath(d.node))) return -54;\n throw d;\n }\n M[f >> 2] = m.dev, M[f + 8 >> 2] = m.ino, M[f + 12 >> 2] = m.mode, w[f + 16 >> 2] = m.nlink, M[f + 20 >> 2] = m.uid, M[f + 24 >> 2] = m.gid, M[f + 28 >> 2] = m.rdev, V = [m.size >>> 0, (H = m.size, +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[f + 40 >> 2] = V[0], M[f + 44 >> 2] = V[1], M[f + 48 >> 2] = 4096, M[f + 52 >> 2] = m.blocks;\n var v = m.atime.getTime(),\n y = m.mtime.getTime(),\n S = m.ctime.getTime();\n return V = [Math.floor(v / 1e3) >>> 0, (H = Math.floor(v / 1e3), +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[f + 56 >> 2] = V[0], M[f + 60 >> 2] = V[1], w[f + 64 >> 2] = v % 1e3 * 1e3, V = [Math.floor(y / 1e3) >>> 0, (H = Math.floor(y / 1e3), +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[f + 72 >> 2] = V[0], M[f + 76 >> 2] = V[1], w[f + 80 >> 2] = y % 1e3 * 1e3, V = [Math.floor(S / 1e3) >>> 0, (H = Math.floor(S / 1e3), +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[f + 88 >> 2] = V[0], M[f + 92 >> 2] = V[1], w[f + 96 >> 2] = S % 1e3 * 1e3, V = [m.ino >>> 0, (H = m.ino, +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[f + 104 >> 2] = V[0], M[f + 108 >> 2] = V[1], 0;\n },\n doMsync: function (d, g, f, m, v) {\n if (!Q.isFile(g.node.mode)) throw new Q.ErrnoError(43);\n if (2 & m) return 0;\n var y = A.slice(d, d + f);\n Q.msync(g, y, v, f, m);\n },\n varargs: void 0,\n get: function () {\n return Y.varargs += 4, M[Y.varargs - 4 >> 2];\n },\n getStr: function (d) {\n return UTF8ToString(d);\n },\n getStreamFromFD: function (d) {\n var g = Q.getStream(d);\n if (!g) throw new Q.ErrnoError(8);\n return g;\n }\n };\n function _environ_get(d, g) {\n var f = 0;\n return getEnvStrings().forEach(function (m, v) {\n var y = g + f;\n w[d + 4 * v >> 2] = y, writeAsciiToMemory(m, y), f += m.length + 1;\n }), 0;\n }\n function _environ_sizes_get(d, g) {\n var f = getEnvStrings();\n w[d >> 2] = f.length;\n var m = 0;\n return f.forEach(function (d) {\n m += d.length + 1;\n }), w[g >> 2] = m, 0;\n }\n function _fd_close(d) {\n try {\n var g = Y.getStreamFromFD(d);\n return Q.close(g), 0;\n } catch (d) {\n if (void 0 === Q || \"ErrnoError\" !== d.name) throw d;\n return d.errno;\n }\n }\n function doReadv(d, g, f, m) {\n for (var v = 0, y = 0; y < f; y++) {\n var S = w[g >> 2],\n _ = w[g + 4 >> 2];\n g += 8;\n var C = Q.read(d, R, S, _, m);\n if (C < 0) return -1;\n if (v += C, C < _) break;\n void 0 !== m && (m += C);\n }\n return v;\n }\n function _fd_read(d, g, f, m) {\n try {\n var v = doReadv(Y.getStreamFromFD(d), g, f);\n return w[m >> 2] = v, 0;\n } catch (d) {\n if (void 0 === Q || \"ErrnoError\" !== d.name) throw d;\n return d.errno;\n }\n }\n function convertI32PairToI53Checked(d, g) {\n return g + 2097152 >>> 0 < 4194305 - !!d ? (d >>> 0) + 4294967296 * g : NaN;\n }\n function _fd_seek(d, g, f, m, v) {\n try {\n var y = convertI32PairToI53Checked(g, f);\n if (isNaN(y)) return 61;\n var S = Y.getStreamFromFD(d);\n return Q.llseek(S, y, m), V = [S.position >>> 0, (H = S.position, +Math.abs(H) >= 1 ? H > 0 ? (0 | Math.min(+Math.floor(H / 4294967296), 4294967295)) >>> 0 : ~~+Math.ceil((H - +(~~H >>> 0)) / 4294967296) >>> 0 : 0)], M[v >> 2] = V[0], M[v + 4 >> 2] = V[1], S.getdents && 0 === y && 0 === m && (S.getdents = null), 0;\n } catch (d) {\n if (void 0 === Q || \"ErrnoError\" !== d.name) throw d;\n return d.errno;\n }\n }\n function doWritev(d, g, f, m) {\n for (var v = 0, y = 0; y < f; y++) {\n var S = w[g >> 2],\n _ = w[g + 4 >> 2];\n g += 8;\n var C = Q.write(d, R, S, _, m);\n if (C < 0) return -1;\n v += C, void 0 !== m && (m += C);\n }\n return v;\n }\n function _fd_write(d, g, f, m) {\n try {\n var v = doWritev(Y.getStreamFromFD(d), g, f);\n return w[m >> 2] = v, 0;\n } catch (d) {\n if (void 0 === Q || \"ErrnoError\" !== d.name) throw d;\n return d.errno;\n }\n }\n function __arraySum(d, g) {\n for (var f = 0, m = 0; m <= g; f += d[m++]);\n return f;\n }\n var X = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n Z = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n function __addDays(d, g) {\n for (var f = new Date(d.getTime()); g > 0;) {\n var m = __isLeapYear(f.getFullYear()),\n v = f.getMonth(),\n y = (m ? X : Z)[v];\n if (!(g > y - f.getDate())) return f.setDate(f.getDate() + g), f;\n g -= y - f.getDate() + 1, f.setDate(1), v < 11 ? f.setMonth(v + 1) : (f.setMonth(0), f.setFullYear(f.getFullYear() + 1));\n }\n return f;\n }\n function writeArrayToMemory(d, g) {\n R.set(d, g);\n }\n function _strftime(d, g, f, m) {\n var v = M[m + 40 >> 2],\n y = {\n tm_sec: M[m >> 2],\n tm_min: M[m + 4 >> 2],\n tm_hour: M[m + 8 >> 2],\n tm_mday: M[m + 12 >> 2],\n tm_mon: M[m + 16 >> 2],\n tm_year: M[m + 20 >> 2],\n tm_wday: M[m + 24 >> 2],\n tm_yday: M[m + 28 >> 2],\n tm_isdst: M[m + 32 >> 2],\n tm_gmtoff: M[m + 36 >> 2],\n tm_zone: v ? UTF8ToString(v) : \"\"\n },\n S = UTF8ToString(f),\n _ = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var C in _) S = S.replace(new RegExp(C, \"g\"), _[C]);\n var T = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n E = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n function leadingSomething(d, g, f) {\n for (var m = \"number\" == typeof d ? d.toString() : d || \"\"; m.length < g;) m = f[0] + m;\n return m;\n }\n function leadingNulls(d, g) {\n return leadingSomething(d, g, \"0\");\n }\n function compareByDay(d, g) {\n function sgn(d) {\n return d < 0 ? -1 : d > 0 ? 1 : 0;\n }\n var f;\n return 0 === (f = sgn(d.getFullYear() - g.getFullYear())) && 0 === (f = sgn(d.getMonth() - g.getMonth())) && (f = sgn(d.getDate() - g.getDate())), f;\n }\n function getFirstWeekStartDate(d) {\n switch (d.getDay()) {\n case 0:\n return new Date(d.getFullYear() - 1, 11, 29);\n case 1:\n return d;\n case 2:\n return new Date(d.getFullYear(), 0, 3);\n case 3:\n return new Date(d.getFullYear(), 0, 2);\n case 4:\n return new Date(d.getFullYear(), 0, 1);\n case 5:\n return new Date(d.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(d.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(d) {\n var g = __addDays(new Date(d.tm_year + 1900, 0, 1), d.tm_yday),\n f = new Date(g.getFullYear(), 0, 4),\n m = new Date(g.getFullYear() + 1, 0, 4),\n v = getFirstWeekStartDate(f),\n y = getFirstWeekStartDate(m);\n return compareByDay(v, g) <= 0 ? compareByDay(y, g) <= 0 ? g.getFullYear() + 1 : g.getFullYear() : g.getFullYear() - 1;\n }\n var b = {\n \"%a\": function (d) {\n return T[d.tm_wday].substring(0, 3);\n },\n \"%A\": function (d) {\n return T[d.tm_wday];\n },\n \"%b\": function (d) {\n return E[d.tm_mon].substring(0, 3);\n },\n \"%B\": function (d) {\n return E[d.tm_mon];\n },\n \"%C\": function (d) {\n return leadingNulls((d.tm_year + 1900) / 100 | 0, 2);\n },\n \"%d\": function (d) {\n return leadingNulls(d.tm_mday, 2);\n },\n \"%e\": function (d) {\n return leadingSomething(d.tm_mday, 2, \" \");\n },\n \"%g\": function (d) {\n return getWeekBasedYear(d).toString().substring(2);\n },\n \"%G\": function (d) {\n return getWeekBasedYear(d);\n },\n \"%H\": function (d) {\n return leadingNulls(d.tm_hour, 2);\n },\n \"%I\": function (d) {\n var g = d.tm_hour;\n return 0 == g ? g = 12 : g > 12 && (g -= 12), leadingNulls(g, 2);\n },\n \"%j\": function (d) {\n return leadingNulls(d.tm_mday + __arraySum(__isLeapYear(d.tm_year + 1900) ? X : Z, d.tm_mon - 1), 3);\n },\n \"%m\": function (d) {\n return leadingNulls(d.tm_mon + 1, 2);\n },\n \"%M\": function (d) {\n return leadingNulls(d.tm_min, 2);\n },\n \"%n\": function () {\n return \"\\n\";\n },\n \"%p\": function (d) {\n return d.tm_hour >= 0 && d.tm_hour < 12 ? \"AM\" : \"PM\";\n },\n \"%S\": function (d) {\n return leadingNulls(d.tm_sec, 2);\n },\n \"%t\": function () {\n return \"\\t\";\n },\n \"%u\": function (d) {\n return d.tm_wday || 7;\n },\n \"%U\": function (d) {\n var g = d.tm_yday + 7 - d.tm_wday;\n return leadingNulls(Math.floor(g / 7), 2);\n },\n \"%V\": function (d) {\n var g = Math.floor((d.tm_yday + 7 - (d.tm_wday + 6) % 7) / 7);\n if ((d.tm_wday + 371 - d.tm_yday - 2) % 7 <= 2 && g++, g) {\n if (53 == g) {\n var f = (d.tm_wday + 371 - d.tm_yday) % 7;\n 4 == f || 3 == f && __isLeapYear(d.tm_year) || (g = 1);\n }\n } else {\n g = 52;\n var m = (d.tm_wday + 7 - d.tm_yday - 1) % 7;\n (4 == m || 5 == m && __isLeapYear(d.tm_year % 400 - 1)) && g++;\n }\n return leadingNulls(g, 2);\n },\n \"%w\": function (d) {\n return d.tm_wday;\n },\n \"%W\": function (d) {\n var g = d.tm_yday + 7 - (d.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(g / 7), 2);\n },\n \"%y\": function (d) {\n return (d.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function (d) {\n return d.tm_year + 1900;\n },\n \"%z\": function (d) {\n var g = d.tm_gmtoff,\n f = g >= 0;\n return g = (g = Math.abs(g) / 60) / 60 * 100 + g % 60, (f ? \"+\" : \"-\") + String(\"0000\" + g).slice(-4);\n },\n \"%Z\": function (d) {\n return d.tm_zone;\n },\n \"%%\": function () {\n return \"%\";\n }\n };\n for (var C in S = S.replace(/%%/g, \"\\0\\0\"), b) S.includes(C) && (S = S.replace(new RegExp(C, \"g\"), b[C](y)));\n var I = intArrayFromString(S = S.replace(/\\0\\0/g, \"%\"), !1);\n return I.length > g ? 0 : (writeArrayToMemory(I, d), I.length - 1);\n }\n function _strftime_l(d, g, f, m, v) {\n return _strftime(d, g, f, m);\n }\n function uleb128Encode(d, g) {\n d < 128 ? g.push(d) : g.push(d % 128 | 128, d >> 7);\n }\n function sigToWasmTypes(d) {\n for (var g = {\n i: \"i32\",\n j: \"i32\",\n f: \"f32\",\n d: \"f64\",\n p: \"i32\"\n }, f = {\n parameters: [],\n results: \"v\" == d[0] ? [] : [g[d[0]]]\n }, m = 1; m < d.length; ++m) f.parameters.push(g[d[m]]), \"j\" === d[m] && f.parameters.push(\"i32\");\n return f;\n }\n function generateFuncType(d, g) {\n var f = d.slice(0, 1),\n m = d.slice(1),\n v = {\n i: 127,\n p: 127,\n j: 126,\n f: 125,\n d: 124\n };\n g.push(96), uleb128Encode(m.length, g);\n for (var y = 0; y < m.length; ++y) g.push(v[m[y]]);\n \"v\" == f ? g.push(0) : g.push(1, v[f]);\n }\n function convertJsFunctionToWasm(d, g) {\n if (\"function\" == typeof WebAssembly.Function) return new WebAssembly.Function(sigToWasmTypes(g), d);\n var f = [1];\n generateFuncType(g, f);\n var m = [0, 97, 115, 109, 1, 0, 0, 0, 1];\n uleb128Encode(f.length, m), m.push.apply(m, f), m.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0);\n var v = new WebAssembly.Module(new Uint8Array(m));\n return new WebAssembly.Instance(v, {\n e: {\n f: d\n }\n }).exports.f;\n }\n function getWasmTableEntry(d) {\n return O.get(d);\n }\n function updateTableMap(d, g) {\n if (ee) for (var f = d; f < d + g; f++) {\n var m = getWasmTableEntry(f);\n m && ee.set(m, f);\n }\n }\n var ee = void 0;\n function getFunctionAddress(d) {\n return ee || (ee = new WeakMap(), updateTableMap(0, O.length)), ee.get(d) || 0;\n }\n var te = [];\n function getEmptyTableSlot() {\n if (te.length) return te.pop();\n try {\n O.grow(1);\n } catch (d) {\n if (!(d instanceof RangeError)) throw d;\n throw \"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.\";\n }\n return O.length - 1;\n }\n function setWasmTableEntry(d, g) {\n O.set(d, g);\n }\n function addFunction(d, g) {\n var f = getFunctionAddress(d);\n if (f) return f;\n var m = getEmptyTableSlot();\n try {\n setWasmTableEntry(m, d);\n } catch (f) {\n if (!(f instanceof TypeError)) throw f;\n setWasmTableEntry(m, convertJsFunctionToWasm(d, g));\n }\n return ee.set(d, m), m;\n }\n function removeFunction(d) {\n ee.delete(getWasmTableEntry(d)), te.push(d);\n }\n function allocateUTF8OnStack(d) {\n var g = lengthBytesUTF8(d) + 1,\n f = se(g);\n return stringToUTF8Array(d, R, f, g), f;\n }\n var FSNode = function (d, g, f, m) {\n d || (d = this), this.parent = d, this.mount = d.mount, this.mounted = null, this.id = Q.nextInode++, this.name = g, this.mode = f, this.node_ops = {}, this.stream_ops = {}, this.rdev = m;\n },\n ie = 365,\n ne = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function () {\n return (this.mode & ie) === ie;\n },\n set: function (d) {\n d ? this.mode |= ie : this.mode &= ~ie;\n }\n },\n write: {\n get: function () {\n return (this.mode & ne) === ne;\n },\n set: function (d) {\n d ? this.mode |= ne : this.mode &= ~ne;\n }\n },\n isFolder: {\n get: function () {\n return Q.isDir(this.mode);\n }\n },\n isDevice: {\n get: function () {\n return Q.isChrdev(this.mode);\n }\n }\n }), Q.FSNode = FSNode, Q.staticInit();\n var re,\n oe = {\n a: ___assert_fail,\n e: __emscripten_get_now_is_monotonic,\n g: __localtime_js,\n h: __tzset_js,\n b: _abort,\n f: _emscripten_date_now,\n i: _emscripten_memcpy_big,\n d: _emscripten_resize_heap,\n m: _environ_get,\n n: _environ_sizes_get,\n o: _fd_close,\n p: _fd_read,\n k: _fd_seek,\n c: _fd_write,\n j: _strftime,\n l: _strftime_l\n },\n ae = (createWasm(), function () {\n return (ae = d.asm.s).apply(null, arguments);\n }),\n se = (d._CreateTranscoder = function () {\n return (d._CreateTranscoder = d.asm.u).apply(null, arguments);\n }, d._DeleteTranscoder = function () {\n return (d._DeleteTranscoder = d.asm.v).apply(null, arguments);\n }, d._TranscoderSetDecryptionKey = function () {\n return (d._TranscoderSetDecryptionKey = d.asm.w).apply(null, arguments);\n }, d._TranscoderAllocateBuffer = function () {\n return (d._TranscoderAllocateBuffer = d.asm.x).apply(null, arguments);\n }, d._TranscoderConsumeBuffer = function () {\n return (d._TranscoderConsumeBuffer = d.asm.y).apply(null, arguments);\n }, d._TranscoderRunTurn = function () {\n return (d._TranscoderRunTurn = d.asm.z).apply(null, arguments);\n }, d.___errno_location = function () {\n return d.asm.__errno_location.apply(null, arguments);\n }, d.stackAlloc = function () {\n return (se = d.asm.A).apply(null, arguments);\n });\n function run() {\n function doRun() {\n re || (re = !0, d.calledRun = !0, P || (initRuntime(), g(d), d.onRuntimeInitialized && d.onRuntimeInitialized(), postRun()));\n }\n x > 0 || (preRun(), x > 0 || (d.setStatus ? (d.setStatus(\"Running...\"), setTimeout(function () {\n setTimeout(function () {\n d.setStatus(\"\");\n }, 1), doRun();\n }, 1)) : doRun()));\n }\n if (d.UTF8ToString = UTF8ToString, d.addFunction = addFunction, d.removeFunction = removeFunction, d.allocateUTF8OnStack = allocateUTF8OnStack, F = function runCaller() {\n re || run(), re || (F = runCaller);\n }, d.preInit) for (\"function\" == typeof d.preInit && (d.preInit = [d.preInit]); d.preInit.length > 0;) d.preInit.pop()();\n return run(), d.ready;\n };\n g.default = Module;\n },\n 80277: function (d, g, f) {\n f.d(g, {\n YT: function () {\n return v;\n },\n o6: function () {\n return S;\n },\n p8: function () {\n return y;\n },\n qS: function () {\n return m;\n }\n });\n var m = \"\",\n v = \"https://browser.events.data.microsoft.com/OneCollector/1.0/\",\n y = \"version\",\n S = \"properties\";\n },\n 20890: function (d, g, f) {\n f.d(g, {\n Do: function () {\n return getCookieValue;\n },\n IZ: function () {\n return isUint8ArrayAvailable;\n },\n Sn: function () {\n return isValueAssigned;\n },\n Tr: function () {\n return x;\n },\n Vv: function () {\n return getCommonSchemaMetaData;\n },\n cm: function () {\n return createGuid;\n },\n hK: function () {\n return k;\n },\n if: function () {\n return setProcessTelemetryTimings;\n },\n jM: function () {\n return getTenantId;\n },\n l7: function () {\n return extend;\n },\n mJ: function () {\n return isChromium;\n },\n ot: function () {\n return openXhr;\n },\n r7: function () {\n return isLatency;\n },\n vs: function () {\n return R;\n },\n yj: function () {\n return sanitizeProperty;\n }\n });\n var m,\n v = f(91687),\n y = f(92453),\n S = f(85645),\n _ = f(48),\n C = f(90462),\n T = f(21016),\n E = f(4528),\n b = f(93247),\n I = f(80277),\n P = \"3.2.9\",\n R = \"1DS-Web-JS-\" + P,\n A = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\",\n M = \"withCredentials\",\n w = \"timeout\",\n O = ((m = {})[0] = 0, m[2] = 6, m[1] = 1, m[3] = 7, m[4098] = 6, m[4097] = 1, m[4099] = 7, m),\n D = null,\n N = Boolean((0, v.Me)()),\n L = Boolean((0, v.Jj)());\n function isValueAssigned(d) {\n return !(d === I.qS || (0, y.le)(d));\n }\n function getTenantId(d) {\n if (d) {\n var g = d.indexOf(\"-\");\n if (g > -1) return d.substring(0, g);\n }\n return I.qS;\n }\n function isUint8ArrayAvailable() {\n return null === D && (D = !(0, y.o8)(Uint8Array) && !isSafariOrFirefox() && !(0, v.b$)()), D;\n }\n function isLatency(d) {\n return !!(d && (0, y.hj)(d) && d >= 1 && d <= 4);\n }\n function sanitizeProperty(d, g, f) {\n if (!g && !isValueAssigned(g) || \"string\" != typeof d) return null;\n var m = typeof g;\n if (\"string\" === m || \"number\" === m || \"boolean\" === m || (0, y.kJ)(g)) g = {\n value: g\n };else if (\"object\" !== m || C.CY.call(g, \"value\")) {\n if ((0, y.le)(g.value) || g.value === I.qS || !(0, y.HD)(g.value) && !(0, y.hj)(g.value) && !(0, y.jn)(g.value) && !(0, y.kJ)(g.value)) return null;\n } else g = {\n value: f ? JSON.stringify(g) : g\n };\n if ((0, y.kJ)(g.value) && !isArrayValid(g.value)) return null;\n if (!(0, y.le)(g.kind)) {\n if ((0, y.kJ)(g.value) || !isValueKind(g.kind)) return null;\n g.value = g.value.toString();\n }\n return g;\n }\n function getCommonSchemaMetaData(d, g, f) {\n var m = -1;\n if (!(0, y.o8)(d)) if (g > 0 && (32 === g ? m = 8192 : g <= 13 && (m = g << 5)), isDataType(f)) -1 === m && (m = 0), m |= f;else {\n var v = O[getFieldValueType(d)] || -1;\n -1 !== m && -1 !== v ? m |= v : 6 === v && (m = v);\n }\n return m;\n }\n function disableCookies() {\n (0, S.JP)(null).setEnabled(!1);\n }\n function setCookie(d, g, f) {\n (0, S.p7)(null) && (0, S.JP)(null).set(d, g, 86400 * f, null, \"/\");\n }\n function deleteCookie(d) {\n (0, S.p7)(null) && (0, S.JP)(null).del(d);\n }\n function getCookie(d) {\n return (0, S.p7)(null) ? getCookieValue((0, S.JP)(null), d) : I.qS;\n }\n function getCookieValue(d, g, f) {\n var m;\n return void 0 === f && (f = !0), d && (m = d.get(g), f && m && decodeURIComponent && (m = decodeURIComponent(m))), m || I.qS;\n }\n function createGuid(d) {\n void 0 === d && (d = \"D\");\n var g = (0, _.GW)();\n return \"B\" === d ? g = \"{\" + g + \"}\" : \"P\" === d ? g = \"(\" + g + \")\" : \"N\" === d && (g = g.replace(/-/g, I.qS)), g;\n }\n function extend(d, g, f, m, v) {\n var S = {},\n _ = !1,\n T = 0,\n E = arguments.length,\n b = arguments;\n for (\"[object Boolean]\" === Object[C.hB].toString.call(b[0]) && (_ = b[0], T++); T < E; T++) {\n d = b[T];\n (0, y.rW)(d, function (d, g) {\n _ && g && (0, y.Kn)(g) ? (0, y.kJ)(g) ? (S[d] = S[d] || [], (0, y.tO)(g, function (g, f) {\n g && (0, y.Kn)(g) ? S[d][f] = extend(!0, S[d][f], g) : S[d][f] = g;\n })) : S[d] = extend(!0, S[d], g) : S[d] = g;\n });\n }\n return S;\n }\n var k = _.Jj;\n function isValueKind(d) {\n return 0 === d || d > 0 && d <= 13 || 32 === d;\n }\n function isDataType(d) {\n return d >= 0 && d <= 9;\n }\n function isSafariOrFirefox() {\n var d = (0, v.jW)();\n if (!(0, y.o8)(d) && d.userAgent) {\n var g = d.userAgent.toLowerCase();\n if ((g.indexOf(\"safari\") >= 0 || g.indexOf(\"firefox\") >= 0) && g.indexOf(\"chrome\") < 0) return !0;\n }\n return !1;\n }\n function isArrayValid(d) {\n return d.length > 0;\n }\n function setProcessTelemetryTimings(d, g) {\n var f = d;\n f.timings = f.timings || {}, f.timings.processTelemetryStart = f.timings.processTelemetryStart || {}, f.timings.processTelemetryStart[g] = k();\n }\n function getFieldValueType(d) {\n var g = 0;\n if (null != d) {\n var f = typeof d;\n \"string\" === f ? g = 1 : \"number\" === f ? g = 2 : \"boolean\" === f ? g = 3 : f === C.fK && (g = 4, (0, y.kJ)(d) ? (g = 4096, d.length > 0 && (g |= getFieldValueType(d[0]))) : C.CY.call(d, \"value\") && (g = 8192 | getFieldValueType(d.value)));\n }\n return g;\n }\n C.jA, C.fK, C.jA, y.tO, y.UA, y.Mr, y.Xz, y.FY, y.Y6, v.b$, y.HD, y.hj, y.jn, y.mf, y.kJ, y.Kn, y.nd, v.MF, y.Y6, v.cp, S.p7, S.UY, y.l_, T.c9, T.Ib, y.Id, y.rW;\n var x = {\n _canUseCookies: void 0,\n isTypeof: y.Ym,\n isUndefined: y.o8,\n isNullOrUndefined: y.le,\n hasOwnProperty: y.nr,\n isFunction: y.mf,\n isObject: y.Kn,\n isDate: y.J_,\n isArray: y.kJ,\n isError: y.VZ,\n isString: y.HD,\n isNumber: y.hj,\n isBoolean: y.jn,\n toISOString: y.Y6,\n arrForEach: y.tO,\n arrIndexOf: y.UA,\n arrMap: y.Mr,\n arrReduce: y.Xz,\n strTrim: y.nd,\n objCreate: b.pu,\n objKeys: y.FY,\n objDefineAccessors: y.l_,\n addEventHandler: T.Ib,\n dateNow: y.m6,\n isIE: v.w1,\n disableCookies: disableCookies,\n newGuid: _.GW,\n perfNow: _.Jj,\n newId: E.pZ,\n randomValue: E.az,\n random32: E._l,\n mwcRandomSeed: E.CN,\n mwcRandom32: E.F6,\n generateW3CId: _.DO\n };\n function isChromium() {\n return !!(0, v.a8)(\"chrome\");\n }\n function openXhr(d, g, f, m, v, y) {\n function _wrapSetXhrProp(d, g, f) {\n try {\n d[g] = f;\n } catch (d) {}\n }\n void 0 === m && (m = !1), void 0 === v && (v = !1);\n var S = new XMLHttpRequest();\n return m && _wrapSetXhrProp(S, A, m), f && _wrapSetXhrProp(S, M, f), S.open(d, g, !v), f && _wrapSetXhrProp(S, M, f), !v && y && _wrapSetXhrProp(S, w, y), S;\n }\n },\n 13826: function (d, g, f) {\n f.r(g), f.d(g, {\n BaseTelemetryPlugin: function () {\n return x.i;\n },\n LocalStorageChannel: function () {\n return Pe;\n },\n LoggingSeverity: function () {\n return Re.X;\n },\n StorageProviders: function () {\n return w;\n },\n _InternalLogMessage: function () {\n return b.lQ;\n },\n _InternalMessageId: function () {\n return Re.v;\n }\n });\n var m = f(6993),\n v = f(31340),\n y = f(46394),\n S = f(92453),\n _ = S.mf;\n function _createPromiseAllOnResolvedFunction(d, g, f) {\n return function (m) {\n d[g] = m, f();\n };\n }\n var C = function () {\n function ESPromise(d) {\n var g = 0,\n f = null,\n m = [];\n function _enqueue(d, v, y, S) {\n m.push(function () {\n var m;\n try {\n (m = 1 === g ? _(d) ? d(f) : f : _(v) ? v(f) : f) instanceof ESPromise ? m.then(y, S) : 2 !== g || _(v) ? y(m) : S(m);\n } catch (d) {\n return void S(d);\n }\n }), 0 !== g && _processQueue();\n }\n function _processQueue() {\n if (m.length > 0) {\n var d = m.slice();\n m = [], setTimeout(function () {\n for (var g = 0, f = d.length; g < f; ++g) try {\n d[g]();\n } catch (d) {}\n }, 0);\n }\n }\n function _resolve(d) {\n 0 === g && (f = d, g = 1, _processQueue());\n }\n function _reject(d) {\n 0 === g && (f = d, g = 2, _processQueue());\n }\n (0, v.Z)(ESPromise, this, function (d) {\n d.then = function (d, g) {\n return new ESPromise(function (f, m) {\n _enqueue(d, g, f, m);\n });\n }, d.catch = function (g) {\n return d.then(null, g);\n };\n }), function _initialize() {\n if (!_(d)) throw new TypeError(\"ESPromise: resolvedFunc argument is not a Function\");\n try {\n d(_resolve, _reject);\n } catch (d) {\n _reject(d);\n }\n }();\n }\n return ESPromise.resolve = function (d) {\n return d instanceof ESPromise ? d : d && _(d.then) ? new ESPromise(function (g, f) {\n try {\n d.then(g, f);\n } catch (d) {\n f(d);\n }\n }) : new ESPromise(function (g) {\n g(d);\n });\n }, ESPromise.reject = function (d) {\n return new ESPromise(function (g, f) {\n f(d);\n });\n }, ESPromise.all = function (d) {\n if (d && d.length) return new ESPromise(function (g, f) {\n try {\n for (var m = [], v = 0, y = 0; y < d.length; y++) {\n var S = d[y];\n S && _(S.then) ? (v++, S.then(_createPromiseAllOnResolvedFunction(m, y, function () {\n 0 == --v && g(m);\n }), f)) : m[y] = S;\n }\n 0 === v && setTimeout(function () {\n g(m);\n }, 0);\n } catch (d) {\n f(d);\n }\n });\n }, ESPromise.race = function (d) {\n return new ESPromise(function (g, f) {\n if (d && d.length) try {\n for (var _loop_1 = function (m) {\n var v = d[m];\n v && _(v.then) ? v.then(g, f) : setTimeout(function () {\n g(v);\n }, 0);\n }, m = 0; m < d.length; m++) _loop_1(m);\n } catch (d) {\n f(d);\n }\n });\n }, ESPromise;\n }(),\n T = C,\n E = f(93247),\n b = f(84948),\n I = 6e5,\n P = 0,\n R = [],\n A = [],\n M = [];\n function _getTime() {\n return new Date().getTime();\n }\n var w,\n O = function () {\n function ESPromiseScheduler(d, g) {\n var f = 0,\n m = (d || \"\") + \".\" + P;\n function _debugLog(d) {\n var g = (0, E.Rd)();\n g && g.QUnit && console && console.log(\"ESPromiseScheduler[\" + m + \"] \" + d);\n }\n function _warnLog(d) {\n (0, b.jV)(g, \"ESPromiseScheduler[\" + m + \"] \" + d);\n }\n P++, (0, v.Z)(ESPromiseScheduler, this, function (d) {\n var g = null,\n v = 0;\n function _removeQueuedEvent(d, g) {\n for (var f = 0; f < d.length; f++) if (d[f].id === g) return d.splice(f, 1)[0];\n return null;\n }\n d.scheduleEvent = function (d, y, S) {\n var _ = m + \".\" + v;\n v++, y && (_ += \"-(\" + y + \")\");\n var C = _ + \"{\" + f + \"}\";\n f++;\n var E = {\n evt: null,\n tm: _getTime(),\n id: C,\n isRunning: !1,\n isAborted: !1\n };\n return E.evt = g ? _waitForPreviousEvent(E, g) : _startWaitingEvent(E), (g = E).evt._schId = C, E.evt;\n function _abortAndRemoveOldEvents(d) {\n for (var g = _getTime(), f = g - I, m = d.length, v = 0; v < m;) {\n var y = d[v];\n if (y && y.tm < f) {\n var S = null;\n y.abort ? (S = \"Aborting [\" + y.id + \"] due to Excessive runtime (\" + (g - y.tm) + \" ms)\", y.abort(S)) : S = \"Removing [\" + y.id + \"] due to Excessive runtime (\" + (g - y.tm) + \" ms)\", _warnLog(S), d.splice(v, 1), m--;\n } else v++;\n }\n }\n function _cleanup(d, f) {\n var m = !1,\n v = _removeQueuedEvent(R, d);\n if (v || (v = _removeQueuedEvent(M, d), m = !0), v) {\n v.to && (clearTimeout(v.to), v.to = null);\n var y = _getTime() - v.tm;\n f ? m ? _warnLog(\"Timed out event [\" + d + \"] finally complete -- \" + y + \" ms\") : _debugLog(\"Promise [\" + d + \"] Complete -- \" + y + \" ms\") : (M.push(v), _warnLog(\"Event [\" + d + \"] Timed out and removed -- \" + y + \" ms\"));\n } else _debugLog(\"Failed to remove [\" + d + \"] from running queue\");\n g && g.id === d && (g = null), _abortAndRemoveOldEvents(R), _abortAndRemoveOldEvents(A), _abortAndRemoveOldEvents(M);\n }\n function _removeScheduledEvent(d, g) {\n return function (f) {\n return _cleanup(d, !0), g && g(f), f;\n };\n }\n function _waitForFinalResult(d, g, f, m) {\n g.then(function (g) {\n return g instanceof T ? (_debugLog(\"Event [\" + d + \"] returned a promise -- waiting\"), _waitForFinalResult(d, g, f, m), g) : _removeScheduledEvent(d, f)(g);\n }, _removeScheduledEvent(d, m));\n }\n function _createScheduledEvent(d, g) {\n var f = d.id;\n return new T(function (m, v) {\n _debugLog(\"Event [\" + f + \"] Starting -- waited for \" + (d.wTm || \"--\") + \" ms\"), d.isRunning = !0, d.abort = function (g) {\n d.abort = null, d.isAborted = !0, _cleanup(f, !1), v(new Error(g));\n };\n var y = g(f);\n y instanceof T ? (S && (d.to = setTimeout(function () {\n _cleanup(f, !1), v(new Error(\"Timed out after [\" + S + \"] ms\"));\n }, S)), _waitForFinalResult(f, y, function (g) {\n _debugLog(\"Event [\" + f + \"] Resolving after \" + (_getTime() - d.tm) + \" ms\"), m(g);\n }, v)) : (_debugLog(\"Promise [\" + f + \"] Auto completed as the start action did not return a promise\"), m());\n });\n }\n function _startWaitingEvent(g) {\n var f = _getTime();\n return g.wTm = f - g.tm, g.tm = f, g.isAborted ? T.reject(new Error(\"[\" + _ + \"] was aborted\")) : (R.push(g), _createScheduledEvent(g, d));\n }\n function _waitForPreviousEvent(d, g) {\n var f = new T(function (f, m) {\n var v = _getTime() - g.tm,\n y = g.id;\n _debugLog(\"[\" + _ + \"] is waiting for [\" + y + \":\" + v + \" ms] to complete before starting -- [\" + A.length + \"] waiting and [\" + R.length + \"] running\"), d.abort = function (g) {\n d.abort = null, _removeQueuedEvent(A, _), d.isAborted = !0, m(new Error(g));\n }, g.evt.then(function (g) {\n _removeQueuedEvent(A, _), _startWaitingEvent(d).then(f, m);\n }, function (g) {\n _removeQueuedEvent(A, _), _startWaitingEvent(d).then(f, m);\n });\n });\n return A.push(d), f;\n }\n };\n });\n }\n return ESPromiseScheduler.incomplete = function () {\n return R;\n }, ESPromiseScheduler.waitingToStart = function () {\n return A;\n }, ESPromiseScheduler;\n }(),\n D = O,\n N = f(20890),\n L = f(48),\n k = f(91425),\n x = f(63585);\n /**\r\n \t* LocalStorageChannel.ts\r\n \t* @author Nev Wylie (newylie) Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function isValidPersistenceLevel(d) {\n return (0, S.hj)(d) && d >= 1 && d <= 2;\n }\n !function (d) {\n d[d.LocalStorage = 1] = \"LocalStorage\", d[d.SessionStorage = 2] = \"SessionStorage\", d[d.IndexedDb = 3] = \"IndexedDb\";\n }(w || (w = {}));\n var F = f(91687),\n U = \"readwrite\",\n H = \"result\",\n V = \"DBError: Unable to open database\",\n j = \"Database is not open\",\n B = \"DBError: Failed to Open Cursor\",\n W = \"DBError: Failed to delete the database\",\n G = \"DBError: Database does not exist\",\n q = \"DBError: Database upgrade required\",\n z = \"DBError: Feature not supported\",\n K = [\"indexedDB\"],\n J = S.mf,\n $ = S.HD;\n /**\r\n \t* IndexedDbHelper.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _getDbFactory() {\n var d = (0, E.Rd)() || {},\n g = null;\n if (d) try {\n for (var f = 0; f < K.length; f++) if ((g = d[K[f]]) && J(g.open)) return g;\n } catch (d) {\n g = null;\n }\n return g || null;\n }\n function _debugLog(d, g) {\n (0, F.a8)(\"QUnit\") && console && console.log(\"IndexedDbHelper [\" + d + \"] \" + g);\n }\n function _warnLog(d, g, f) {\n d && d.warnToConsole(\"IndexedDbHelper [\" + g + \"] \" + f);\n }\n function _eventReject(d, g, f, m) {\n return function (v) {\n f(new Error(g)), _debugLog(d, \"[\" + m + \"] event rejected\");\n };\n }\n var Q = [];\n function _getDbContext(d, g) {\n for (var f = null, m = 0; m < Q.length; m++) if ((f = Q[m]).name === d) return f;\n return f = {\n name: d,\n sch: new D(\"IndexedDbHelper[\" + d + \"]\", g),\n dbHdl: [],\n add: function (g) {\n f.dbHdl.push(g), _debugLog(d, \"- dbOpened (add) -- hdls [\" + f.dbHdl.length + \"]\");\n },\n remove: function (g) {\n for (var m = f.dbHdl, v = 0; v < m.length; v++) if (m[v] === g) {\n m.splice(v, 1);\n break;\n }\n _debugLog(d, \"- dbClosed (remove) -- hdls [\" + f.dbHdl.length + \"]\");\n },\n isOpen: function () {\n return f.dbHdl.length > 0;\n },\n openHdl: function () {\n return f.dbHdl.length > 0 ? f.dbHdl[0] : null;\n }\n }, Q.push(f), f;\n }\n var Y = function () {\n function IndexedDbHelper(d) {\n (0, v.Z)(IndexedDbHelper, this, function (g) {\n var f = _getDbFactory() || null;\n function _createStoreContext(g, f) {\n var m = g.db.transaction(f, U);\n return m.onabort = function () {\n _warnLog(d, g.dbName, \"txn.onabort\");\n }, m.onerror = function () {\n _warnLog(d, g.dbName, \"txn.onerror\");\n }, m.oncomplete = function () {\n _debugLog(g.dbName, \"txn.oncomplete\");\n }, {\n db: g,\n store: m.objectStore(f),\n tx: m,\n tbl: f,\n openCursor: function (d, m) {\n return _openCursor(g, f, d, m);\n },\n newTransaction: function (d) {\n return _openStore(g, f, d);\n }\n };\n }\n function _openStore(d, g, f) {\n if (!d || !d.db) return T.reject(new Error(j));\n try {\n var m = f(_createStoreContext(d, g));\n return m instanceof T ? m : T.resolve(m);\n } catch (d) {\n return T.reject(d);\n }\n }\n function _openCursor(d, g, f, m) {\n if (!d || !d.db) return T.reject(new Error(j));\n var v = null;\n return f && $(f) ? v = new X(f) : f && f.isMatch && (v = f), new T(function (f, y) {\n var S = [],\n _ = null,\n C = null;\n v && v.keyRange && (C = v.keyRange());\n var T = _createStoreContext(d, g);\n (_ = C ? T.store.openCursor(C) : T.store.openCursor()).onerror = _eventReject(T.db.dbName, B, y, \"openCursor\"), _.onsuccess = function (d) {\n var g = d.target[H];\n if (g) {\n var _ = {\n store: T,\n cursor: g,\n continue: function () {\n g.continue();\n },\n done: function () {\n f(S);\n }\n },\n C = g.value;\n if (!v || v.isMatch(C)) {\n if (m) try {\n switch (m(_, C, S)) {\n case 2:\n f(S);\n break;\n case 1:\n break;\n default:\n _.continue();\n }\n } catch (d) {\n y(d);\n } else S.push(C), _.continue();\n } else _.continue();\n } else f(S);\n };\n });\n }\n function _scheduleEvent(d, g, f, m) {\n return _getDbContext(d).sch.scheduleEvent(f, g, m);\n }\n g.isAvailable = function () {\n return !!f;\n }, g.openDb = function (g, m, v, y) {\n return _scheduleEvent(g, \"openDb\", function (S) {\n return new T(function (_, C) {\n var T = !1;\n function _createDbCtx(d, f, v, y, S) {\n var _ = {\n db: f,\n dbName: g,\n dbVersion: m,\n ctx: null,\n isNew: y,\n txn: v ? v.transaction : null\n };\n return S || (_.openStore = function (d, g) {\n return _openStore(_, d, g);\n }, _.openCursor = function (d, g, f) {\n return _openCursor(_, d, g, f);\n }), _;\n }\n function _databaseUpgrade(d, g) {\n var f = _createDbCtx(null, d, g, !0, !0);\n if (y) T = !0, y(f).then(function () {\n f.txn || (f.txn = g.transaction);\n }, function (d) {\n try {\n g.transaction && g.transaction.abort();\n } finally {\n C(d);\n }\n });else try {\n g.transaction && g.transaction.abort();\n } finally {\n C(new Error(q));\n }\n }\n function _databaseOpen(f, m) {\n var y = _getDbContext(g);\n y.add(f), f.onabort = function (m) {\n _warnLog(d, g, \"onabort -- closing the Db\"), y.remove(f);\n }, f.onerror = function (m) {\n _warnLog(d, g, \"onerror -- closing the Db\"), y.remove(f);\n }, f.onclose = function (m) {\n _warnLog(d, g, \"onclose -- closing the Db\"), y.remove(f);\n }, f.onversionchange = function (m) {\n _warnLog(d, g, \"onversionchange -- force closing the Db\"), f.close(), y.remove(f);\n };\n var S = null,\n E = null;\n y.dbHdl.length > 0 && (E = y.dbHdl[0]), S = _createDbCtx(y, E, m, T);\n try {\n v(S).then(function (d) {\n _(d);\n }, C);\n } catch (d) {\n C(d);\n }\n }\n var E = _getDbContext(g);\n if (null == f) C(new Error(\"No available storage factory\"));else if (E.isOpen()) {\n var b = _createDbCtx(E, E.openHdl(), null, !1);\n v(b).then(_, C);\n } else {\n var I = f.open(g, m);\n I.onblocked = function (f) {\n _warnLog(d, g, \"Db Open Blocked event [\" + S + \"] - \" + (I.error || \"\")), C(new Error(V));\n }, I.onerror = function (f) {\n _warnLog(d, g, \"Db Open Error event [\" + S + \"] - \" + (I.error || \"\")), C(new Error(V));\n }, I.onupgradeneeded = function (d) {\n _debugLog(g, \"Db Open Create/Upgrade needed event [\" + S + \"]\");\n try {\n var f = d.target[H];\n if (!f) return void C(new Error(V));\n _databaseUpgrade(f, I);\n } catch (d) {\n _eventReject(g, V, C, S)(d);\n }\n }, I.onsuccess = function (d) {\n var g = d.target[H];\n g ? _databaseOpen(g, I) : C(new Error(V));\n };\n }\n });\n });\n }, g.closeDb = function (d) {\n _scheduleEvent(d, \"closeDb\", function (g) {\n var f = _getDbContext(d),\n m = f.dbHdl,\n v = m.length;\n if (v > 0) {\n for (var y = 0; y < v; y++) m[y].close();\n f.dbHdl = [];\n }\n return T.resolve(1);\n });\n }, g.deleteDb = function (g) {\n return null == f ? T.resolve(!1) : _scheduleEvent(g, \"deleteDb\", function (m) {\n var v = _getDbContext(g),\n y = v.dbHdl,\n S = y.length;\n if (S > 0) {\n _warnLog(d, g, \"Db is open [\" + S + \"] force closing\");\n for (var _ = 0; _ < S; _++) y[_].close();\n v.dbHdl = [];\n }\n return new T(function (v, y) {\n setTimeout(function () {\n try {\n _debugLog(g, \"[\" + m + \"] starting\");\n var S = f.deleteDatabase(g);\n S.onerror = function (f) {\n _warnLog(d, g, \"[\" + m + \"] error!!\"), y(new Error(W));\n }, S.onblocked = function (f) {\n _warnLog(d, g, \"[\" + m + \"] blocked!!\"), y(new Error(W));\n }, S.onupgradeneeded = function (f) {\n _warnLog(d, g, \"[\" + m + \"] upgrade needed!!\"), y(new Error(W));\n }, S.onsuccess = function (d) {\n _debugLog(g, \"[\" + m + \"] complete\"), v(!0);\n }, _debugLog(g, \"[\" + m + \"] started\");\n } catch (f) {\n _warnLog(d, g, \"[\" + m + \"] threw - \" + f), y(new Error(W + \" - \" + f));\n }\n }, 0);\n });\n });\n }, g.getDbDetails = function (d) {\n return _scheduleEvent(d, \"getDbDetails\", function (g) {\n return null != f && f.databases ? new T(function (g, m) {\n f.databases().then(function (f) {\n for (var v = 0; v < f.length; v++) if (f[v].name === d) return void g(f[v]);\n m(new Error(G));\n }, m);\n }) : T.reject(new Error(z));\n }, 2e3);\n };\n });\n }\n return IndexedDbHelper.__ieDyn = 1, IndexedDbHelper;\n }(),\n X = function () {\n function SimpleQuery(d) {\n var g = [],\n f = null;\n (0, v.Z)(SimpleQuery, this, function (m) {\n m.keyRange = function () {\n return f;\n }, m.parseQuery = function (d) {\n if (g = [], d) for (var v = d.split(\";\"), y = 0; y < v.length; y++) {\n var S = v[y],\n _ = S.indexOf(\"=\");\n if (-1 !== _) {\n var C = S.substring(0, _),\n T = S.substring(_ + 1);\n 0 === C.indexOf(\"#\") && (C = C.substring(1), f || (f = IDBKeyRange.bound(T, T + \"\"))), m.startsWith(C, T);\n }\n }\n }, m.startsWith = function (d, f) {\n g.push({\n name: d,\n value: f,\n type: 0\n });\n }, m.contains = function (d, f) {\n g.push({\n name: d,\n value: f,\n type: 1\n });\n }, m.isMatch = function (d) {\n if (!g || 0 === g.length) return !0;\n if (!d) return !1;\n for (var f = 0; f < g.length; f++) {\n var m = g[f],\n v = d[m.name];\n if (v) if (0 === m.type) {\n if (0 !== v.indexOf(m.value)) return !1;\n } else if (1 === m.type && -1 === v.indexOf(m.value)) return !1;\n }\n return !0;\n }, d && m.parseQuery(d);\n });\n }\n return SimpleQuery.__ieDyn = 1, SimpleQuery;\n }(),\n Z = 10,\n ee = 1,\n te = 6e5,\n ie = 1008e4,\n ne = \"Unknown\",\n re = -1,\n oe = \"DBError: Unable to add event\",\n ae = \"DBError: Unable to update iKey\",\n se = \"AppInsightEvents.1\",\n le = 1,\n ce = \"Evts\",\n de = \"iKey\",\n ue = isValidPersistenceLevel;\n function IndexedDbProvider_getTime() {\n return new Date().getTime();\n }\n function IndexedDbProvider_eventReject(d, g) {\n return function (f) {\n return g(new Error(d));\n };\n }\n function _createDb(d) {\n d.objectStoreNames.contains(ce) || d.createObjectStore(ce, {\n keyPath: \"key\"\n }).createIndex(\"EvntId\", \"key\", {\n unique: !1\n });\n d.objectStoreNames.contains(de) || d.createObjectStore(de, {\n keyPath: \"iKey\"\n }).createIndex(\"iKey\", \"iKey\", {\n unique: !0\n });\n }\n function _updateiKey(d) {\n return d.openStore(de, function (g) {\n return new T(function (f, m) {\n var v = {\n iKey: d.ctx.iKey,\n tm: IndexedDbProvider_getTime()\n },\n y = g.store.put(v);\n y.onsuccess = function (d) {\n f(y.result.toString());\n }, y.onerror = function (d) {\n m(new Error(oe));\n }, y.onerror = IndexedDbProvider_eventReject(ae, m);\n });\n });\n }\n function _orderEventsByPriority(d) {\n for (var g = [], f = 2; f >= 1; f--) for (var m = 0; m < d.length; m++) {\n var v = d[m];\n v && v.evt.persistence === f && g.push(v.evt);\n }\n return g;\n }\n function _addEventByTime(d, g) {\n for (var f = 0; f < d.length; f++) if (g.tm < d[f].tm) return void d.splice(f, 0, g);\n d.push(g);\n }\n function _getKeyIndex(d, g) {\n for (var f = g.length, m = 0; m < f; m++) if (d === g[m].id) return m;\n return -1;\n }\n function _isOldItem(d, g) {\n var f = d.tm;\n return IndexedDbProvider_getTime() - f > g;\n }\n function _cursorContinueEvent(d) {\n return function (g) {\n return d.continue();\n };\n }\n function _cursorDeleteAndContinue(d) {\n var g = d.cursor.delete();\n return g.onerror = _cursorContinueEvent(d), g.onsuccess = _cursorContinueEvent(d), 1;\n }\n function _getAllEventsForiKey(d, g) {\n return d.openCursor(ce, g, function (d, g, f) {\n return f.push(g), 0;\n });\n }\n function _deleteEvents(d, g, f) {\n return d.openCursor(ce, g, function (d, g, m) {\n return f(g) ? (m.push(g), _cursorDeleteAndContinue(d)) : 0;\n });\n }\n function _deleteOrphanedEvents(d) {\n return new T(function (g, f) {\n var m = !1;\n d.openCursor(de, null, function (d, g, f) {\n var v = g.tm;\n return IndexedDbProvider_getTime() - v < ie ? 0 : (m = !0, 2);\n }).then(function () {\n if (m) {\n var v = {};\n _deleteEvents(d, null, function (d) {\n if (!d || !d.evt || !d.evt.iKey) return !0;\n var g = d.tm;\n return IndexedDbProvider_getTime() - g > ie || (v[d.evt.iKey] = 1, !1);\n }).then(function () {\n var m = [];\n d.openCursor(de, null, function (d, g, f) {\n var y = g.tm;\n return IndexedDbProvider_getTime() - y < ie || v[g.iKey] ? 0 : (m.push(g), _cursorDeleteAndContinue(d));\n }).then(function () {\n g(m);\n }, f);\n }, f);\n } else g([]);\n }, f);\n });\n }\n function _moveOldEventsToCurrentStore(d) {\n return d.openCursor(ce, \"#key=\" + d.ctx.iKeyPrefix(), function (g, f) {\n var m = f.key;\n if (0 === m.indexOf(d.ctx.iKeyPrefix()) && -1 === m.indexOf(d.ctx.evtKeyPrefix()) && _isOldItem(f, te)) {\n f.key = d.ctx.evtKeyPrefix() + f.id;\n var v = g.store.store.put(f);\n return v.onerror = _cursorContinueEvent(g), v.onsuccess = function (d) {\n try {\n _cursorDeleteAndContinue(g);\n } catch (d) {\n g.continue();\n }\n }, 1;\n }\n return 0;\n });\n }\n function _checkVersionAndMoveEventsToCurrentStorage(d) {\n return new T(function (g, f) {\n _deleteOrphanedEvents(d).then(function () {\n _moveOldEventsToCurrentStore(d).then(g, g);\n }, f);\n });\n }\n function _dropEventsUpToPersistence(d, g) {\n return new T(function (f, m) {\n var v = 0,\n y = d.ctx.evtKeyPrefix();\n function _resolveWithDroppedEvents() {\n f(v);\n }\n function _dropEvent(d, g) {\n return new T(function (f) {\n var m = d.store.delete(g.key);\n m.onsuccess = function (d) {\n v++, f();\n }, m.onerror = function (d) {\n f();\n };\n });\n }\n function _processCandidates(g) {\n 0 !== g.length ? d.openStore(ce, function (d) {\n for (var f = [], m = 0; m < g.length; m++) f.push(_dropEvent(d, g[m]));\n return T.all(f).then(_resolveWithDroppedEvents, _resolveWithDroppedEvents);\n }) : _resolveWithDroppedEvents();\n }\n d.openCursor(ce, \"#key=\" + y, function (d, f, m) {\n return f.evt.persistence <= g && 0 === f.key.indexOf(y) && (_addEventByTime(m, f), m.length > Z && m.splice(m.length - 1, 1)), 0;\n }).then(_processCandidates, function () {\n f(0);\n });\n });\n }\n var pe = function () {\n function IndexedDbProvider(d) {\n (0, v.Z)(IndexedDbProvider, this, function (g) {\n var f = null,\n m = null,\n v = ne,\n y = null,\n S = null,\n _ = null,\n C = re,\n E = 0;\n function _openDb(d) {\n function _handleDbUpgrade(d) {\n return new T(function (g, f) {\n _createDb(d.db), g();\n });\n }\n function _handleDbOpen(g) {\n return new T(function (f, m) {\n var C = {\n iKey: v,\n storageId: y,\n iKeyPrefix: function () {\n return S;\n },\n evtKeyPrefix: function () {\n return _;\n }\n };\n g.ctx = C, _updateiKey(g).then(function () {\n d(g).then(f, m);\n }, m);\n });\n }\n return f.openDb(m, le, _handleDbOpen, _handleDbUpgrade);\n }\n function _addDbEvent(d, g, f) {\n return new T(function (m, v) {\n function dropEvents(g, f) {\n _dropEventsUpToPersistence(d, g).then(function (d) {\n d > 0 && (E -= d), f(d);\n }, function (d) {\n f(0);\n });\n }\n function resolveAddEvent(d) {\n m(g.evt);\n }\n function _insertNewEvent() {\n d.openStore(ce, function (y) {\n var S = y.store.put(g);\n S.onsuccess = function (v) {\n f && _updateiKey(d).then(resolveAddEvent, resolveAddEvent), E++, m(g.evt);\n }, S.onerror = function (y) {\n function _retryAddEvent(f) {\n 0 === f && v(new Error(oe)), _addDbEvent(d, g, !1).then(function (d) {\n m(g.evt);\n }, function () {\n v(new Error(oe));\n });\n }\n f ? dropEvents(1, function (d) {\n d > 0 ? _retryAddEvent(d) : g.evt.persistence >= 2 ? dropEvents(2, function (d) {\n _retryAddEvent(d);\n }) : v(new Error(oe));\n }) : v(new Error(oe));\n };\n });\n }\n C > 0 && E >= C ? dropEvents(1, function (d) {\n 0 === d ? g.evt.persistence >= 2 ? dropEvents(2, function (d) {\n _insertNewEvent();\n }) : v(new Error(oe)) : _insertNewEvent();\n }) : _insertNewEvent();\n });\n }\n g.id = d, g.initialize = function (d) {\n var E = d.itemCtx.diagLog();\n if (!(f = new Y(E)).isAvailable()) return f = null, !1;\n var b = d.itemCtx.getCfg(),\n I = d.storageConfig || {};\n return m = I.indexedDbName || se, v = b.instrumentationKey || v, y = g.id || d.id || (0, L.GW)(), _ = (S = v + \"::\") + y + \"::\", C = I.maxStorageItems > 0 ? I.maxStorageItems : C, _openDb(function (d) {\n return d.isNew ? T.resolve(!0) : _checkVersionAndMoveEventsToCurrentStorage(d);\n }).then(function (d) {}, function (d) {\n E.warnToConsole(\"IndexedDbProvider failed to initialize - \" + (d || \"\")), f = null;\n }), !0;\n }, g.supportsSyncRequests = function () {\n return !1;\n }, g.getAllEvents = function () {\n return null != f && f.isAvailable() ? _openDb(function (d) {\n return new T(function (g, f) {\n _getAllEventsForiKey(d, \"#key=\" + d.ctx.evtKeyPrefix()).then(function (d) {\n E = d.length, g(_orderEventsByPriority(d));\n }, f);\n });\n }) : T.resolve([]);\n }, g.addEvent = function (d, g, m) {\n return null != f && f.isAvailable() ? (g.id = g.id || (0, L.GW)(), ue(g.persistence) || (g.persistence = 1), _openDb(function (f) {\n var m = d || g.id,\n v = {\n key: f.ctx.evtKeyPrefix() + m,\n id: m,\n evt: g,\n tm: IndexedDbProvider_getTime(),\n v: ee\n };\n return _addDbEvent(f, v, !0);\n })) : T.resolve(g);\n }, g.removeEvents = function (d) {\n if (null == f || !f.isAvailable()) return T.resolve([]);\n var g = [];\n return new T(function (f, m) {\n _openDb(function (f) {\n return f.openCursor(ce, \"#key=\" + f.ctx.iKey, function (f, m, v) {\n if (-1 !== _getKeyIndex(m.id, d)) {\n var y = f.cursor.delete();\n return y.onerror = _cursorContinueEvent(f), y.onsuccess = function () {\n g.push(m.evt), f.continue();\n }, 1;\n }\n return 0;\n });\n }).then(function (d) {\n E -= g.length, f(g);\n }, function (d) {\n E -= g.length, f(g);\n });\n });\n }, g.clear = function () {\n return null != f && f.isAvailable() ? new T(function (d, g) {\n _openDb(function (d) {\n return _deleteEvents(d, \"#key=\" + d.ctx.evtKeyPrefix(), function (g) {\n return 0 === g.key.indexOf(d.ctx.evtKeyPrefix());\n });\n }).then(function (g) {\n E = 0, d(_orderEventsByPriority(g));\n }, g);\n }) : T.resolve([]);\n }, g.teardown = function () {\n f && f.closeDb(m);\n };\n });\n }\n return IndexedDbProvider.__ieDyn = 1, IndexedDbProvider;\n }(),\n he = 10,\n ge = \"3\",\n fe = \"Version\",\n me = 6e5,\n ve = \"AWTEvents\",\n ye = 5e6;\n /**\r\n \t* WebStorageProvider.ts\r\n \t* @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh) Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _isQuotaExceeded(d, g) {\n var f = !1;\n return g instanceof DOMException && (22 !== g.code && \"QuotaExceededError\" !== g.name && 1014 !== g.code && \"NS_ERROR_DOM_QUOTA_REACHED\" !== g.name || d && 0 !== d.length && (f = !0)), f;\n }\n function _getAvailableStorage(d) {\n var g = (0, E.Rd)() || {},\n f = null;\n try {\n if (f = g[d]) {\n var m = \"__storage_test__\";\n f.setItem(m, m), f.removeItem(m);\n }\n } catch (d) {\n _isQuotaExceeded(f, d) || (f = null);\n }\n return f;\n }\n function _forEachMap(d, g) {\n if (d) for (var f = (0, S.FY)(d), m = 0; m < f.length; m++) {\n var v = f[m];\n if (!g(d[v], v)) break;\n }\n }\n function _isMapEmpty(d) {\n var g = !0;\n return _forEachMap(d, function (d, f) {\n return d && (g = !1), g;\n }), g;\n }\n function WebStorageProvider_dropEventsUpToPersistence(d, g) {\n for (var f = 1, m = 0, _loop_1 = function () {\n var d = [],\n v = g[f];\n if (_forEachMap(v, function (g, f) {\n return d.push(f), ++m < he;\n }), m > 0) {\n for (var y = 0; y < d.length; y++) delete v[d[y]];\n return {\n value: !0\n };\n }\n f++;\n }; f <= d && m < he;) {\n var v = _loop_1();\n if (\"object\" == typeof v) return v.value;\n }\n return m > 0;\n }\n var Se = isValidPersistenceLevel,\n _e = function () {\n function WebStorageProvider(d, g) {\n (0, v.Z)(WebStorageProvider, this, function (f) {\n var m = null,\n v = ve,\n y = null,\n S = ge,\n _ = null,\n C = null,\n E = ye,\n b = null,\n I = null;\n function _newStore(d, g) {\n return {\n key: d,\n db: g\n };\n }\n function _fetchStoredDb(d, g) {\n void 0 === g && (g = !0);\n var f = null;\n if (m) {\n var v = m.getItem(d);\n if (v) try {\n f = JSON.parse(v);\n } catch (g) {\n m.removeItem(d);\n }\n }\n return g && !f && (f = {\n events: {\n 1: {},\n 2: {},\n 3: {}\n },\n lastAccessTime: 0\n }), _newStore(d, f);\n }\n function _updateStoredDb(d, g) {\n void 0 === g && (g = !0);\n var f = !0,\n v = d.db;\n if (v) {\n g && (v.lastAccessTime = new Date().getTime());\n for (var y = 1; y <= 2; y++) if (!_isMapEmpty(v.events[y])) {\n f = !1;\n break;\n }\n }\n try {\n if (f) m && m.removeItem(d.key);else {\n var S = JSON.stringify(v);\n if (S.length > E) return !1;\n m && m.setItem(d.key, S);\n }\n } catch (d) {\n return !1;\n }\n return !0;\n }\n function _clearDatabase(d) {\n var g = [],\n f = _fetchStoredDb(d, !1),\n v = f.db;\n if (v) {\n var y = v.events;\n try {\n for (var S = 1; S <= 2; S++) _forEachMap(y[S], function (d, f) {\n return d && g.push(d), !0;\n });\n } catch (d) {}\n m && m.removeItem(f.key);\n }\n return g;\n }\n function _checkVersionAndMoveEventsToCurrentStorage() {\n if (m) {\n for (var d = m.getItem(b), g = [], f = _fetchStoredDb(I), y = !1, _ = 0; _ < m.length; _++) {\n var T = m.key(_);\n if (0 === T.indexOf(v) && T !== b) {\n if (d !== ge) {\n g.push(_newStore(T, null));\n continue;\n }\n var E = _fetchStoredDb(T, !1),\n P = E.db;\n if (P) {\n if (new Date().getTime() - P.lastAccessTime > me) {\n for (var R = 1, _loop_3 = function () {\n var d = P.events[R],\n g = f.db.events[R];\n _forEachMap(d, function (f, m) {\n return ((0, N.jM)(f.iKey) || f.iKey) === C && (g[m] = f, delete d[m]), !0;\n }), R++;\n }; R <= 2;) _loop_3();\n y = !0, g.push(E);\n }\n } else g.push(_newStore(T, null));\n }\n }\n for (_ = 0; _ < g.length; _++) _updateStoredDb(g[_], !1);\n y && _updateStoredDb(f), m.setItem(b, S);\n }\n }\n f.id = g, m = _getAvailableStorage(d) || null, f.initialize = function (d) {\n if (!m) return !1;\n var g = d.storageConfig || {};\n return E = g.maxStorageSizeInBytes > 0 ? g.maxStorageSizeInBytes : E, v = g.storageKey || ve, y = f.id || d.id || (0, L.GW)(), I = v + \".\" + y, b = v + fe, _ = d.itemCtx.getCfg().instrumentationKey, C = (0, N.jM)(_) || _, _checkVersionAndMoveEventsToCurrentStorage(), !0;\n }, f.supportsSyncRequests = function () {\n return !0;\n }, f.getAllEvents = function () {\n try {\n var d = [],\n g = _fetchStoredDb(I, !1).db;\n if (g) for (var f = g.events, m = 2; m >= 1; m--) _forEachMap(f[m], function (g) {\n g && ((0, N.jM)(g.iKey) || g.iKey) === C && d.push(g);\n return !0;\n });\n return T.resolve(d);\n } catch (d) {\n return T.reject(d);\n }\n }, f.addEvent = function (d, g, f) {\n try {\n var m = _fetchStoredDb(I);\n g.id = g.id || (0, L.GW)(), Se(g.persistence) || (g.persistence = 1);\n for (var v = g.persistence, y = g.id, S = m.db.events;;) {\n if (S[v][y] = g, _updateStoredDb(m)) return T.resolve(g);\n if (delete S[v][y], !WebStorageProvider_dropEventsUpToPersistence(v, S)) return T.reject(new Error(\"Unable to free up event space\"));\n }\n } catch (d) {\n return T.reject(d);\n }\n }, f.removeEvents = function (d) {\n try {\n var g = _fetchStoredDb(I, !1),\n f = g.db;\n if (f) {\n var m = f.events;\n try {\n for (var v = 0; v < d.length; ++v) {\n var y = d[v];\n delete m[y.persistence][y.id];\n }\n if (_updateStoredDb(g)) return T.resolve(d);\n } catch (d) {}\n d = _clearDatabase(g.key);\n }\n return T.resolve(d);\n } catch (d) {\n return T.reject(d);\n }\n }, f.clear = function () {\n try {\n var d = [],\n g = _fetchStoredDb(I, !1),\n f = g.db;\n if (f) {\n for (var m = f.events, _loop_2 = function (g) {\n var f = m[g];\n _forEachMap(f, function (g) {\n g && ((0, N.jM)(g.iKey) || g.iKey) === C && (delete f[g.id], d.push(g));\n return !0;\n });\n }, v = 2; v >= 1; v--) _loop_2(v);\n _updateStoredDb(g);\n }\n return T.resolve(d);\n } catch (d) {\n return T.reject(d);\n }\n }, f.teardown = function () {\n try {\n var d = _fetchStoredDb(I, !1),\n g = d.db;\n g && (g.lastAccessTime = 0, _updateStoredDb(d, !1));\n } catch (d) {}\n };\n });\n }\n return WebStorageProvider.__ieDyn = 1, WebStorageProvider;\n }(),\n Ce = \"3.2.9\",\n Te = \"LocalStorage\",\n Ee = 5,\n be = isValidPersistenceLevel,\n Ie = function (d) {\n function LocalStorageChannel() {\n var g = d.call(this) || this;\n return g.identifier = Te, g.priority = 1009, g.version = Ce, (0, v.Z)(LocalStorageChannel, g, function (d, g) {\n var f, m, v, _;\n function _initDefaults() {\n f = !1, m = !1, v = null, _ = [];\n }\n function _queueStorageEvent(d, g) {\n v || (v = new D(\"LocalStorage\")), v.scheduleEvent(function (d) {\n return g(d);\n }, d);\n }\n function _sendStoredEventsToNextPlugin(g) {\n (0, y.Lm)(d.core, function () {\n return \"LocalStorageChannel:_sendStoredEventsToNextPlugin\";\n }, function () {\n _queueStorageEvent(\"sendToNext\", function (f) {\n return g.provider.getAllEvents().then(function (f) {\n for (var m = 0; m < f.length; m++) try {\n var v = f[m];\n ((0, N.jM)(v.iKey) || v.iKey) === g.tenantId && d.processNext(v, g.coreRootCtx.createNew());\n } catch (d) {}\n });\n });\n }, function () {\n return {\n iKeyConfig: g\n };\n });\n }\n function _removeEvents(g, f) {\n (0, y.Lm)(d.core, function () {\n return \"LocalStorageChannel:_removeEvents\";\n }, function () {\n _queueStorageEvent(\"removeEvents\", function (d) {\n var m = [];\n return (0, S.tO)(f, function (d) {\n ((0, N.jM)(d.iKey) || d.iKey) === g.tenantId && m.push(d);\n }), m.length > 0 ? g.provider.removeEvents(m).then(function (d) {}).catch(function (d) {}) : T.resolve();\n });\n }, function () {\n return {\n iKeyConfig: g,\n events: f\n };\n });\n }\n function _shouldCacheEvent(d, g) {\n return !(g.sync || g.persistence < d.minPersistenceCacheLevel);\n }\n function _tryGetIndexedDbProvider(d) {\n var g = new pe();\n return g.initialize(d) || (g = null), g;\n }\n function _tryGetWebStorageProvider(d, g) {\n var f = new _e(d);\n return f.initialize(g) || (f = null), f;\n }\n function _initializeProvider(d) {\n for (var g = d.storageConfig.providers, f = null, m = 0; !f && m < g.length && m < Ee;) switch (g[m++]) {\n case w.LocalStorage:\n f = _tryGetWebStorageProvider(\"localStorage\", d);\n break;\n case w.SessionStorage:\n f = _tryGetWebStorageProvider(\"sessionStorage\", d);\n break;\n case w.IndexedDb:\n f = _tryGetIndexedDbProvider(d);\n }\n return f;\n }\n function _getCoreItemCtx(g, f, m, v) {\n g && (g.extensionConfig = g.extensionConfig || []), !v && f && (v = f.getProcessTelContext().getNext());\n var y = null,\n S = d._getTelCtx().getNext();\n return S && (y = S.getPlugin()), new k.Vi(v, g, f, y);\n }\n function _createIkeyConfig(g, f, m, v) {\n var y = d.identifier,\n S = g.extensionConfig = g.extensionConfig || [],\n C = S[y] = S[y] || {};\n C.providers || (C.providers = [w.LocalStorage, w.IndexedDb]);\n var T = _getCoreItemCtx(g, f, m, v),\n E = {\n itemCtx: T,\n storageConfig: C,\n id: d.id\n },\n b = _initializeProvider(E);\n if (b) {\n var I = {\n iKey: g.instrumentationKey,\n tenantId: (0, N.jM)(g.instrumentationKey) || g.instrumentationKey,\n minPersistenceCacheLevel: 1,\n coreRootCtx: T,\n providerContext: E,\n provider: b\n };\n be(C.minPersistenceLevel || -1) && (I.minPersistenceCacheLevel = C.minPersistenceLevel), _.push(I), f.addNotificationListener({\n eventsSent: function (d) {\n _removeEvents(I, d);\n },\n eventsDiscarded: function (d, g) {\n _removeEvents(I, d);\n }\n }), _sendStoredEventsToNextPlugin(I);\n }\n }\n _initDefaults(), d.initialize = function (d, m, S, _) {\n (0, y.Lm)(m, function () {\n return \"LocalStorageChannel.initialize\";\n }, function () {\n f || (g.initialize(d, m, S), g.setInitialized(!1), f = !0, v = new D(\"LocalStorage\", m.logger)), _createIkeyConfig(d, m, S, _);\n }, function () {\n return {\n coreConfig: d,\n core: m,\n extensions: S,\n pluginChain: _\n };\n });\n }, d.processTelemetry = function (g, v) {\n var y = g;\n if (f && !m) {\n v = d._getTelCtx(v), (0, N.if)(g, d.identifier);\n var C = null;\n (0, S.tO)(_, function (d) {\n d.iKey === g.iKey && (C = d);\n });\n var T = C ? C.provider : null;\n if (y.sync || !T) return void d.processNext(y, v);\n y.id = y.id || (0, L.GW)(), isValidPersistenceLevel(y.persistence) || (y.persistence = 1), _shouldCacheEvent(C, y) && _queueStorageEvent(\"processTelemetry\", function (d) {\n return T.addEvent(y.id, y, v);\n });\n }\n d.processNext(y, v);\n }, d.pause = function () {\n m = !0;\n }, d.resume = function () {\n (0, y.Lm)(d.core, function () {\n return \"LocalStorageChannel:resume\";\n }, function () {\n m = !1, (0, S.tO)(_, function (d) {\n d.provider && _sendStoredEventsToNextPlugin(d);\n });\n });\n }, d._doTeardown = function (d, g) {\n (0, S.tO)(_, function (d) {\n var g = d.provider;\n g && g.teardown();\n }), _initDefaults();\n }, d.flush = function (d, g) {};\n }), g;\n }\n return (0, m.ne)(LocalStorageChannel, d), LocalStorageChannel.__ieDyn = 1, LocalStorageChannel;\n }(x.i),\n Pe = Ie,\n Re = f(40661);\n },\n 44797: function (d, g, f) {\n f.r(g), f.d(g, {\n AppExtensionKeys: function () {\n return D;\n },\n AppInsightsCore: function () {\n return Ve;\n },\n Application: function () {\n return J;\n },\n ApplicationInsights: function () {\n return Hi;\n },\n ApplicationInsightsManager: function () {\n return Ui;\n },\n BE_PROFILE: function () {\n return qe;\n },\n BaseTelemetryPlugin: function () {\n return S.i;\n },\n Cloud: function () {\n return pi;\n },\n CoreUtils: function () {\n return y.Tr;\n },\n Device: function () {\n return hi;\n },\n DeviceExtKeys: function () {\n return j;\n },\n DiagnosticLogger: function () {\n return _e.AQ;\n },\n EventLatency: function () {\n return Bi;\n },\n EventPersistence: function () {\n return Wi;\n },\n EventsDiscardedReason: function () {\n return Be;\n },\n Extensions: function () {\n return O;\n },\n InternalAppInsightsCore: function () {\n return Fe;\n },\n Loc: function () {\n return fi;\n },\n LoggingSeverity: function () {\n return Vi.X;\n },\n MinChannelPriorty: function () {\n return qi;\n },\n NRT_PROFILE: function () {\n return Ge;\n },\n NotificationManager: function () {\n return Se;\n },\n OSExtKeys: function () {\n return k;\n },\n OperatingSystem: function () {\n return se;\n },\n OverridePropertiesPlugin: function () {\n return me;\n },\n PostChannel: function () {\n return ai;\n },\n PropertiesPlugin: function () {\n return Li;\n },\n RT_PROFILE: function () {\n return We;\n },\n Session: function () {\n return ci;\n },\n TelemetryContext: function () {\n return Oi;\n },\n TraceLevel: function () {\n return Gi;\n },\n UserExtensionKeys: function () {\n return L;\n },\n ValueKind: function () {\n return ji;\n },\n WebExtensionKeys: function () {\n return N;\n },\n _InternalLogMessage: function () {\n return _e.lQ;\n },\n _InternalMessageId: function () {\n return Vi.v;\n },\n cookieAvailable: function () {\n return q.p7;\n },\n defaultFlightIdNameSpaces: function () {\n return K;\n },\n getISOString: function () {\n return _.Y6;\n },\n isArray: function () {\n return _.kJ;\n },\n isBeaconsSupported: function () {\n return z.MF;\n },\n isBoolean: function () {\n return _.jn;\n },\n isLatency: function () {\n return y.r7;\n },\n isNumber: function () {\n return _.hj;\n },\n isReactNative: function () {\n return z.b$;\n },\n isString: function () {\n return _.HD;\n },\n isUint8ArrayAvailable: function () {\n return y.IZ;\n },\n isValueAssigned: function () {\n return y.Sn;\n }\n });\n var m = f(6993),\n v = f(31340),\n y = f(20890),\n S = f(63585),\n _ = f(92453),\n C = f(25041),\n T = \"device\",\n E = \"locale\",\n b = \"ver\",\n I = \"browser\",\n P = \"browserVer\",\n R = \"popSample\",\n A = \"eventFlags\",\n M = \"name\",\n w = \"serviceName\",\n O = (0, C.cc)({\n UserExt: [0, \"user\"],\n DeviceExt: [1, T],\n TraceExt: [2, \"trace\"],\n WebExt: [3, \"web\"],\n AppExt: [4, \"app\"],\n OSExt: [5, \"os\"],\n SdkExt: [6, \"sdk\"],\n IntWebExt: [7, \"intweb\"],\n UtcExt: [8, \"utc\"],\n LocExt: [9, \"loc\"],\n CloudExt: [10, \"cloud\"],\n DtExt: [11, \"dt\"]\n }),\n D = (0, C.cc)({\n id: [0, \"id\"],\n ver: [1, b],\n appName: [2, M],\n locale: [3, E],\n expId: [4, \"expId\"],\n env: [5, \"env\"]\n }),\n N = (0, C.cc)({\n domain: [0, \"domain\"],\n browser: [1, I],\n browserVer: [2, P],\n screenRes: [3, \"screenRes\"],\n userConsent: [4, \"userConsent\"],\n consentDetails: [5, \"consentDetails\"]\n }),\n L = (0, C.cc)({\n locale: [0, E],\n localId: [1, \"localId\"],\n id: [2, \"id\"]\n }),\n k = (0, C.cc)({\n osName: [0, M],\n ver: [1, b]\n }),\n x = (0, C.cc)({\n ver: [0, b],\n seq: [1, \"seq\"],\n installId: [2, \"installId\"],\n epoch: [3, \"epoch\"]\n }),\n F = (0, C.cc)({\n msfpc: [0, \"msfpc\"],\n anid: [1, \"anid\"],\n serviceName: [2, w]\n }),\n U = (0, C.cc)({\n popSample: [0, R],\n eventFlags: [1, A]\n }),\n H = (0, C.cc)({\n tz: [0, \"tz\"]\n }),\n V = (0, C.cc)({\n sessionId: [0, \"sesId\"]\n }),\n j = (0, C.cc)({\n localId: [0, \"localId\"],\n deviceClass: [1, \"deviceClass\"],\n make: [2, \"make\"],\n model: [3, \"model\"]\n }),\n B = (0, C.cc)({\n role: [0, \"role\"],\n roleInstance: [1, \"roleInstance\"],\n roleVer: [2, \"roleVer\"]\n }),\n W = (0, C.cc)({\n traceId: [0, \"traceID\"],\n traceName: [1, M],\n parentId: [2, \"parentID\"]\n }),\n G = (0, C.cc)({\n traceId: [0, \"traceId\"],\n spanId: [1, \"spanId\"],\n traceFlags: [2, \"traceFlags\"]\n }),\n q = f(85645),\n z = f(91687),\n K = [\"AX\", \"EX\", \"SF\", \"CS\", \"CF\", \"CT\", \"CU\", \"DC\", \"DF\", \"H5\", \"HL\", \"WS\", \"WP\"];\n function _validateAppExpId(d, g) {\n void 0 === g && (g = K);\n var f = null;\n if (d) for (var m = d.split(\",\"), v = 0; v < m.length; v++) _isValidAppFlightId(m[v], g) && (f ? f += \",\" + m[v] : f = m[v]);\n return f;\n }\n function _isValidAppFlightId(d, g) {\n if (void 0 === g && (g = K), !d || d.length < 4) return !1;\n for (var f = !1, m = 256, v = d.substring(0, 3).toString().toUpperCase(), y = 0; y < g.length; y++) if (g[y] + \":\" === v && d.length <= m) {\n f = !0;\n break;\n }\n return f;\n }\n function _getExpId() {\n return this.getExpId();\n }\n var J = function () {\n function Application(d, g) {\n var f = null,\n m = K.slice(0),\n S = \"Treatments\",\n _ = (0, q.JP)(g),\n C = d;\n (0, v.Z)(Application, this, function (g) {\n if ((0, z.Nv)()) {\n var v = (0, z.Me)().documentElement;\n v && (g.locale = v.lang);\n }\n function _getMetaDataFromDOM(d) {\n var g,\n f = {},\n m = (0, z.Me)();\n if (m) {\n g = m && m.querySelectorAll(\"meta\");\n for (var v = 0; v < g.length; v++) {\n var y = g[v];\n if (y.name) if (0 === y.name.toLowerCase().indexOf(d)) f[y.name.replace(d, \"\")] = y.content;\n }\n }\n return f;\n }\n function _setAppExpId(d) {\n d !== f && (f = _validateAppExpId(d, m));\n }\n function _readExpIdFromCookie() {\n return _setAppExpId((0, y.Do)(_, S)), f;\n }\n function _readExpIdFromCoreData(d) {\n return _setAppExpId(d), f;\n }\n g.env = d.env ? d.env : _getMetaDataFromDOM(\"awa-\").env, g.getExpId = function () {\n return C.expId ? _readExpIdFromCoreData(C.expId) : _readExpIdFromCookie();\n };\n });\n }\n return Application.validateAppExpId = _validateAppExpId, Application._staticInit = void (0, _.l_)(Application.prototype, \"expId\", _getExpId), Application;\n }(),\n $ = function () {\n function BaseContext(d) {\n this._setOverride = function (g, f) {\n d.setOverride(g, f);\n }, this._getOverride = function (g) {\n return d.getOverride(g);\n };\n }\n return BaseContext;\n }(),\n Q = function (d) {\n function ApplicationContext(g, f) {\n var m = d.call(this, g) || this,\n v = m;\n return v.setId = function (d) {\n v._setOverride(D.id, d);\n }, v.getId = function () {\n return v._getOverride(D.id);\n }, v.setVer = function (d) {\n v._setOverride(D.ver, d);\n }, v.getVer = function () {\n return v._getOverride(D.ver);\n }, v.setName = function (d) {\n v._setOverride(D.appName, d);\n }, v.getName = function () {\n return v._getOverride(D.appName);\n }, v.setLocale = function (d) {\n v._setOverride(D.locale, d);\n }, v.getLocale = function () {\n return v._getOverride(D.locale);\n }, v.setEnv = function (d) {\n v._setOverride(D.env, d);\n }, v.getEnv = function () {\n return v._getOverride(D.env);\n }, v.setExpId = function (d) {\n v._setOverride(D.expId, J.validateAppExpId(d));\n }, v.getExpId = function () {\n return v._getOverride(D.expId);\n }, f && ((0, _.o8)(f.env) || v.setEnv(f.env), (0, _.le)(f.expId) || v.setExpId(f.expId)), m;\n }\n return (0, m.ne)(ApplicationContext, d), ApplicationContext;\n }($),\n Y = function (d) {\n function CloudContext(g) {\n var f = d.call(this, g) || this,\n m = f;\n return m.setRole = function (d) {\n m._setOverride(B.role, d);\n }, m.getRole = function () {\n return m._getOverride(B.role);\n }, m.setRoleInstance = function (d) {\n m._setOverride(B.roleInstance, d);\n }, m.getRoleInstance = function () {\n return m._getOverride(B.roleInstance);\n }, m.setRoleVer = function (d) {\n m._setOverride(B.roleVer, d);\n }, m.getRoleVer = function () {\n return m._getOverride(B.roleVer);\n }, f;\n }\n return (0, m.ne)(CloudContext, d), CloudContext;\n }($),\n X = function (d) {\n function DataContext(g) {\n var f = d.call(this, g) || this,\n m = f;\n return m.setProperty = function (d, g) {\n m._setOverride(d, g);\n }, m.getProperty = function (d) {\n return m._getOverride(d);\n }, f;\n }\n return (0, m.ne)(DataContext, d), DataContext;\n }($),\n Z = function (d) {\n function DeviceContext(g) {\n var f = d.call(this, g) || this,\n m = f;\n return m.setLocalId = function (d) {\n m._setOverride(j.localId, d);\n }, m.getLocalId = function () {\n return m._getOverride(j.localId);\n }, m.setDeviceClass = function (d) {\n m._setOverride(j.deviceClass, d);\n }, m.getDeviceClass = function () {\n return m._getOverride(j.deviceClass);\n }, m.setMake = function (d) {\n m._setOverride(j.make, d);\n }, m.getMake = function () {\n return m._getOverride(j.make);\n }, m.setModel = function (d) {\n m._setOverride(j.model, d);\n }, m.getModel = function () {\n return m._getOverride(j.model);\n }, f;\n }\n return (0, m.ne)(DeviceContext, d), DeviceContext;\n }($),\n ee = function (d) {\n function LocContext(g) {\n var f = d.call(this, g) || this,\n m = f;\n return m.setTz = function (d) {\n m._setOverride(H.tz, d);\n }, m.getTz = function () {\n return m._getOverride(H.tz);\n }, f;\n }\n return (0, m.ne)(LocContext, d), LocContext;\n }($),\n te = {\n WIN: /(windows|win32)/i,\n WINRT: / arm;/i,\n WINPHONE: /windows\\sphone\\s\\d+\\.\\d+/i,\n OSX: /(macintosh|mac os x)/i,\n IOS: /(ipad|iphone|ipod)(?=.*like mac os x)/i,\n LINUX: /(linux|joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)/i,\n ANDROID: /android/i,\n CROS: /CrOS/i\n },\n ie = {\n 5.1: \"XP\",\n \"6.0\": \"Vista\",\n 6.1: \"7\",\n 6.2: \"8\",\n 6.3: \"8.1\",\n \"10.0\": \"10\"\n },\n ne = \"([\\\\d,.]+)\",\n re = \"([\\\\d,_,.]+)\",\n oe = \"Unknown\",\n ae = [{\n r: te.WINPHONE,\n os: \"Windows Phone\"\n }, {\n r: te.WINRT,\n os: \"Windows RT\"\n }, {\n r: te.WIN,\n os: \"Windows\"\n }, {\n r: te.IOS,\n os: \"iOS\"\n }, {\n r: te.ANDROID,\n os: \"Android\"\n }, {\n r: te.LINUX,\n os: \"Linux\"\n }, {\n r: te.CROS,\n os: \"Chrome OS\"\n }, {\n s: \"x11\",\n os: \"Unix\"\n }, {\n s: \"blackberry\",\n os: \"BlackBerry\"\n }, {\n s: \"symbian\",\n os: \"Symbian\"\n }, {\n s: \"nokia\",\n os: \"Nokia\"\n }, {\n r: te.OSX,\n os: \"Mac OS X\"\n }];\n function _getOsName(d) {\n for (var g = 0; g < ae.length; g++) {\n var f = ae[g];\n if (f.r && d.match(f.r)) return f.os;\n if (f.s && -1 !== d.indexOf(f.s)) return f.os;\n }\n return oe;\n }\n function _getOsVersion(d, g) {\n return \"Windows\" === g ? _getGenericOsVersion(d, \"Windows NT\") : \"Android\" === g ? _getGenericOsVersion(d, g) : \"Mac OS X\" === g ? _getMacOsxVersion(d) : \"iOS\" === g ? _getIosVersion(d) : oe;\n }\n function _getGenericOsVersion(d, g) {\n var f = d.match(new RegExp(g + \" \" + ne));\n return f ? ie[f[1]] ? ie[f[1]] : f[1] : oe;\n }\n function _getMacOsxVersion(d) {\n var g = d.match(new RegExp(\"Mac OS X \" + re));\n if (g) {\n var f = g[1].replace(/_/g, \".\");\n if (f) {\n var m = _getDelimiter(f);\n return m ? f.split(m)[0] : f;\n }\n }\n return oe;\n }\n function _getIosVersion(d) {\n var g = d.match(new RegExp(\"OS \" + re));\n if (g) {\n var f = g[1].replace(/_/g, \".\");\n if (f) {\n var m = _getDelimiter(f);\n return m ? f.split(m)[0] : f;\n }\n }\n return oe;\n }\n function _getDelimiter(d) {\n return d.indexOf(\".\") > -1 ? \".\" : d.indexOf(\"_\") > -1 ? \"_\" : null;\n }\n var se = function () {\n function OperatingSystem(d) {\n if (d.populateOperatingSystemInfo) {\n var g = this,\n f = (0, z.jW)() || {},\n m = d.userAgent || f.userAgent || \"\",\n v = d.userAgentData || f.userAgentData || {};\n if (m) {\n var y = _getOsName(m.toLowerCase());\n g.name = y, g.ver = _getOsVersion(m, y);\n }\n g.name && g.name !== oe || !(0, _.HD)(v.platform) || (g.name = v.platform);\n }\n }\n return OperatingSystem;\n }(),\n le = function (d) {\n function OperatingSystemContext(g, f) {\n var m = d.call(this, g) || this,\n v = m;\n if (v.setOsName = function (d) {\n v._setOverride(k.osName, d);\n }, v.getOsName = function () {\n return v._getOverride(k.osName);\n }, v.setVer = function (d) {\n v._setOverride(k.ver, d);\n }, v.getVer = function () {\n return v._getOverride(k.ver);\n }, f && f.userAgent && f.populateOperatingSystemInfo) {\n var y = new se(f);\n v.setOsName(y.name), v.setVer(y.ver);\n }\n return m;\n }\n return (0, m.ne)(OperatingSystemContext, d), OperatingSystemContext;\n }($);\n /**\r\n \t* Application.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n /**\r\n \t* OverrideContainer.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _getEventRoot(d, g) {\n if (d) for (var f = 0; f < g.length; f++) {\n var m = g[f];\n (0, _.le)(d[m]) && (d[m] = {}), d = d[m];\n }\n return d;\n }\n function _setOverride(d, g, f) {\n if (d && g) {\n var m = g.split(\".\"),\n v = m[m.length - 1];\n m.length > 1 && (d = _getEventRoot(d, m.slice(0, -1))), (0, _.le)(f) ? (0, _.o8)(d[v]) || delete d[v] : d[v] = f;\n }\n }\n var ce = function () {\n function OverrideContainer(d) {\n var g = this,\n f = [];\n g.setOverride = function (d, g) {\n d && f.push({\n key: d,\n value: g\n });\n }, g.hasOverride = function (d) {\n var g = !1;\n return (0, _.tO)(f, function (f) {\n f.key === d && (g = !0);\n }), g;\n }, g.getOverride = function (d) {\n var g;\n return (0, _.tO)(f, function (f) {\n f.key === d && (g = f.value);\n }), g;\n }, g.applyOverrides = function (g, m) {\n if (f.length > 0) try {\n var v = _getEventRoot(g, d);\n (0, _.tO)(f, function (d) {\n _setOverride(v, d.key, d.value);\n });\n } catch (d) {}\n };\n }\n return OverrideContainer;\n }(),\n de = function (d) {\n function UserContext(g) {\n var f = d.call(this, g) || this,\n m = f;\n return m.setLocalId = function (d) {\n m._setOverride(L.localId, d);\n }, m.getLocalId = function () {\n return m._getOverride(L.localId);\n }, m.setLocale = function (d) {\n m._setOverride(L.locale, d);\n }, m.getLocale = function () {\n return m._getOverride(L.locale);\n }, m.setId = function (d) {\n m._setOverride(L.id, d);\n }, m.getId = function () {\n return m._getOverride(L.id);\n }, f;\n }\n return (0, m.ne)(UserContext, d), UserContext;\n }($),\n ue = function (d) {\n function WebContext(g, f) {\n var m = d.call(this, g) || this,\n v = m;\n return v.setDomain = function (d) {\n v._setOverride(N.domain, d);\n }, v.getDomain = function () {\n return v._getOverride(N.domain);\n }, v.setBrowser = function (d) {\n v._setOverride(N.browser, d);\n }, v.getBrowser = function () {\n return v._getOverride(N.browser);\n }, v.setBrowserVer = function (d) {\n v._setOverride(N.browserVer, d);\n }, v.getBrowserVer = function () {\n return v._getOverride(N.browserVer);\n }, v.setScreenRes = function (d) {\n v._setOverride(N.screenRes, d);\n }, v.getScreenRes = function () {\n return v._getOverride(N.screenRes);\n }, v.setUserConsent = function (d) {\n v._setOverride(N.userConsent, d);\n }, v.getUserContext = function () {\n return v._getOverride(N.userConsent);\n }, f && ((0, _.o8)(f.userConsented) || v.setUserConsent(f.userConsented)), m;\n }\n return (0, m.ne)(WebContext, d), WebContext;\n }($),\n pe = (_.HD, \"ext\"),\n he = \"data\",\n ge = function () {\n function OverrideContext(d, g, f) {\n var m = this,\n v = {};\n function _getContainer(d) {\n for (var g = \"\", f = 0; f < d.length; f++) g && (g += \"_\"), g += d[f];\n return (0, _.o8)(v[g]) && (v[g] = new ce(d)), g ? v[g] : null;\n }\n m.data = new X(_getContainer([he])), m.app = new Q(_getContainer([pe, O.AppExt]), g), m.user = new de(_getContainer([pe, O.UserExt])), m.os = new le(_getContainer([pe, O.OSExt]), g), m.web = new ue(_getContainer([pe, O.WebExt]), g), m.device = new Z(_getContainer([pe, O.DeviceExt])), m.loc = new ee(_getContainer([pe, O.LocExt])), m.cloud = new Y(_getContainer([pe, O.CloudExt])), m.applyOverrides = function (d, g) {\n var f = (0, _.FY)(v);\n f && f.length > 0 && (0, _.tO)(f, function (f) {\n v[f].applyOverrides(d, g);\n });\n };\n }\n return OverrideContext;\n }(),\n fe = function (d) {\n function OverridePropertiesPlugin() {\n var g = d.call(this) || this;\n g.identifier = \"OverridePropertiesPlugin\", g.priority = 4, g.version = \"3.2.9\";\n var f = null;\n return (0, v.Z)(OverridePropertiesPlugin, g, function (d, m) {\n d.initialize = function (g, f, v) {\n m.initialize(g, f, v), d._baseInit(g, f, v);\n }, d.processTelemetry = function (f, m) {\n (0, y.if)(f, g.identifier), m = d._getTelCtx(m);\n var v = d.getOverrideContext();\n v && v.applyOverrides(f, m), d.processNext(f, m);\n }, d._baseInit = function (d, m, v) {\n f = new ge(d, g._getTelCtx().getExtCfg(g.identifier), m);\n }, d.setProperty = function (d, g) {\n f && f.data.setProperty(d, g);\n }, d.getOverrideContext = function () {\n return f;\n };\n }), g;\n }\n return (0, m.ne)(OverridePropertiesPlugin, d), OverridePropertiesPlugin.__ieDyn = 1, OverridePropertiesPlugin;\n }(S.i),\n me = fe,\n ve = f(94433),\n ye = f(75048);\n /**\r\n \t* Application.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _runListeners(d, g, f, m) {\n (0, _.tO)(d, function (d) {\n if (d && d[g]) if (f) setTimeout(function () {\n return m(d);\n }, 0);else try {\n m(d);\n } catch (d) {}\n });\n }\n var Se = function () {\n function NotificationManager(d) {\n this.listeners = [];\n var g = !!(d || {}).perfEvtsSendAll;\n (0, v.Z)(NotificationManager, this, function (d) {\n d[ve.g] = function (g) {\n d.listeners[ve.MW](g);\n }, d[ve.n7] = function (g) {\n for (var f = (0, _.UA)(d[ve.dE], g); f > -1;) d.listeners[ve.cb](f, 1), f = (0, _.UA)(d[ve.dE], g);\n }, d[ye.uC] = function (g) {\n _runListeners(d[ve.dE], ye.uC, !0, function (d) {\n d[ye.uC](g);\n });\n }, d[ye.$F] = function (g, f) {\n _runListeners(d[ve.dE], ye.$F, !0, function (d) {\n d[ye.$F](g, f);\n });\n }, d[ye.f_] = function (g, f) {\n _runListeners(d[ve.dE], ye.f_, f, function (d) {\n d[ye.f_](g, f);\n });\n }, d[ye.C$] = function (f) {\n f && (!g && f[ve.PL]() || _runListeners(d[ve.dE], ye.C$, !1, function (d) {\n f[ve.d] ? setTimeout(function () {\n return d[ye.C$](f);\n }, 0) : d[ye.C$](f);\n }));\n };\n });\n }\n return NotificationManager.__ieDyn = 1, NotificationManager;\n }(),\n _e = f(84948),\n Ce = f(46394),\n Te = f(93247),\n Ee = f(91425),\n be = f(5457),\n Ie = 500,\n Pe = \"Channel has invalid priority - \";\n function _addChannelQueue(d, g, f) {\n g && (0, _.kJ)(g) && g[ve.R5] > 0 && (g = g.sort(function (d, g) {\n return d[ye.yi] - g[ye.yi];\n }), (0, _.tO)(g, function (d) {\n d[ye.yi] < Ie && (0, _._y)(Pe + d[ve.pZ]);\n }), d[ve.MW]({\n queue: (0, _.FL)(g),\n chain: (0, Ee.jV)(g, f[ve.TC], f)\n }));\n }\n function createChannelControllerPlugin(d, g) {\n function _getTelCtx() {\n return (0, Ee.CD)(null, g[ve.TC], g, null);\n }\n function _processChannelQueue(d, g, f, m) {\n var v = d ? d[ve.R5] + 1 : 1;\n function _runChainOnComplete() {\n 0 === --v && (m && m(), m = null);\n }\n v > 0 && (0, _.tO)(d, function (d) {\n if (d && d.queue[ve.R5] > 0) {\n var m = d.chain,\n y = g[ve.zV](m);\n y[ve.Fc](_runChainOnComplete), f(y);\n } else v--;\n }), _runChainOnComplete();\n }\n function _doUpdate(g, f) {\n var m = f || {\n reason: 0\n };\n return _processChannelQueue(d, g, function (d) {\n d[ve.uL](m);\n }, function () {\n g[ve.uL](m);\n }), !0;\n }\n function _doTeardown(g, m) {\n var v = m || {\n reason: 0,\n isAsync: !1\n };\n return _processChannelQueue(d, g, function (d) {\n d[ve.uL](v);\n }, function () {\n g[ve.uL](v), f = !1;\n }), !0;\n }\n function _getChannel(g) {\n var f = null;\n return d && d[ve.R5] > 0 && (0, _.tO)(d, function (d) {\n if (d && d.queue[ve.R5] > 0 && ((0, _.tO)(d.queue, function (d) {\n if (d[ve.pZ] === g) return f = d, -1;\n }), f)) return -1;\n }), f;\n }\n var f = !1,\n m = {\n identifier: \"ChannelControllerPlugin\",\n priority: Ie,\n initialize: function (g, m, v, y) {\n f = !0, (0, _.tO)(d, function (d) {\n d && d.queue[ve.R5] > 0 && (0, be.bP)((0, Ee.CD)(d.chain, g, m), v);\n });\n },\n isInitialized: function () {\n return f;\n },\n processTelemetry: function (g, f) {\n _processChannelQueue(d, f || _getTelCtx(), function (d) {\n d[ve.uL](g);\n }, function () {\n f[ve.uL](g);\n });\n },\n update: _doUpdate,\n pause: function () {\n _processChannelQueue(d, _getTelCtx(), function (d) {\n d.iterate(function (d) {\n d.pause && d.pause();\n });\n }, null);\n },\n resume: function () {\n _processChannelQueue(d, _getTelCtx(), function (d) {\n d.iterate(function (d) {\n d.resume && d.resume();\n });\n }, null);\n },\n teardown: _doTeardown,\n getChannel: _getChannel,\n flush: function (g, f, m, v) {\n var y = 1,\n S = !1,\n _ = null;\n function doCallback() {\n y--, S && 0 === y && (_ && (clearTimeout(_), _ = null), f && f(S), f = null);\n }\n return v = v || 5e3, _processChannelQueue(d, _getTelCtx(), function (d) {\n d.iterate(function (d) {\n if (d[ve.kL]) {\n y++;\n var f = !1;\n d[ve.kL](g, function () {\n f = !0, doCallback();\n }, m) || f || (g && null == _ ? _ = setTimeout(function () {\n _ = null, doCallback();\n }, v) : doCallback());\n }\n });\n }, function () {\n S = !0, doCallback();\n }), !0;\n },\n _setQueue: function (g) {\n d = g;\n }\n };\n return m;\n }\n function createChannelQueues(d, g, f) {\n var m = [];\n if (d && (0, _.tO)(d, function (d) {\n return _addChannelQueue(m, d, f);\n }), g) {\n var v = [];\n (0, _.tO)(g, function (d) {\n d[ye.yi] > Ie && v[ve.MW](d);\n }), _addChannelQueue(m, v, f);\n }\n return m;\n }\n var Re = f(33074),\n Ae = f(21735),\n Me = function (d) {\n function TelemetryInitializerPlugin() {\n var g,\n f,\n m = d.call(this) || this;\n function _initDefaults() {\n g = 0, f = [];\n }\n return m.identifier = \"TelemetryInitializerPlugin\", m.priority = 199, _initDefaults(), (0, v.Z)(TelemetryInitializerPlugin, m, function (d, m) {\n d.addTelemetryInitializer = function (d) {\n var m = {\n id: g++,\n fn: d\n };\n return f[ve.MW](m), {\n remove: function () {\n (0, _.tO)(f, function (d, g) {\n if (d.id === m.id) return f[ve.cb](g, 1), -1;\n });\n }\n };\n }, d[ye.hL] = function (g, m) {\n for (var v = !1, y = f[ve.R5], S = 0; S < y; ++S) {\n var C = f[S];\n if (C) try {\n if (!1 === C.fn[ve.ZV](null, [g])) {\n v = !0;\n break;\n }\n } catch (d) {\n (0, _e.kP)(m[ve.mc](), 1, 64, \"One of telemetry initializers failed, telemetry item will not be sent: \" + (0, _.jj)(d), {\n exception: (0, z.eU)(d)\n }, !0);\n }\n }\n v || d[ve.uL](g, m);\n }, d[ve.F3] = function () {\n _initDefaults();\n };\n }), m;\n }\n return (0, m.ne)(TelemetryInitializerPlugin, d), TelemetryInitializerPlugin.__ieDyn = 1, TelemetryInitializerPlugin;\n }(S.i),\n we = f(21673),\n Oe = \"Plugins must provide initialize method\",\n De = \"_notificationManager\",\n Ne = \"SDK is still unloading...\",\n Le = \"SDK is not initialized\",\n ke = {\n loggingLevelConsole: 1\n };\n function _createPerfManager(d, g) {\n return new Ce.Jk(g);\n }\n function _validateExtensions(d, g, f) {\n var m,\n v = [],\n y = {};\n return (0, _.tO)(f, function (f) {\n ((0, _.le)(f) || (0, _.le)(f[ve.VL])) && (0, _._y)(Oe);\n var m = f[ye.yi],\n S = f[ve.pZ];\n f && m && ((0, _.le)(y[m]) ? y[m] = S : (0, _e.jV)(d, \"Two extensions have same priority #\" + m + \" - \" + y[m] + \", \" + S)), (!m || m < g) && v[ve.MW](f);\n }), (m = {\n all: f\n })[ye.oV] = v, m;\n }\n function _isPluginPresent(d, g) {\n var f = !1;\n return (0, _.tO)(g, function (g) {\n if (g === d) return f = !0, -1;\n }), f;\n }\n function _createDummyNotificationManager() {\n var d;\n return (0, Te.pu)(((d = {})[ve.g] = function (d) {}, d[ve.n7] = function (d) {}, d[ye.uC] = function (d) {}, d[ye.$F] = function (d, g) {}, d[ye.f_] = function (d, g) {}, d));\n }\n var xe = function () {\n function BaseCore() {\n var d,\n g,\n f,\n y,\n S,\n C,\n T,\n E,\n b,\n I,\n P,\n R,\n A,\n M,\n w,\n O,\n D,\n N,\n L,\n k,\n x = 0;\n (0, v.Z)(BaseCore, this, function (v) {\n function _initDefaults() {\n g = !1, d = (0, _.mm)(!0, {}, ke), v[ve.TC] = d, v[ve.eZ] = new _e.AQ(d), v[ve.iC] = [], w = new Me(), f = [], y = null, S = null, C = null, T = null, E = null, I = null, b = [], P = null, R = null, A = null, M = !1, O = null, D = (0, Re.J)(\"AIBaseCore\", !0), N = (0, we.Y)(), k = null;\n }\n function _createTelCtx() {\n return (0, Ee.CD)(_getPluginChain(), d, v);\n }\n function _initPluginChain(g) {\n var f = _validateExtensions(v[ve.eZ], Ie, b);\n I = f[ye.oV], E = null;\n var m = f.all;\n if (A = (0, _.FL)(createChannelQueues(R, m, v)), P) {\n var y = (0, _.UA)(m, P);\n -1 !== y && m[ve.cb](y, 1), -1 !== (y = (0, _.UA)(I, P)) && I[ve.cb](y, 1), P._setQueue(A);\n } else P = createChannelControllerPlugin(A, v);\n m[ve.MW](P), I[ve.MW](P), v[ve.iC] = (0, be.AA)(m), P[ve.VL](d, v, m), (0, be.bP)(_createTelCtx(), m), v[ve.iC] = (0, _.FL)((0, be.AA)(I || [])).slice(), g && _doUpdate(g);\n }\n function _getPlugin(d) {\n var g,\n f = null,\n m = null;\n return (0, _.tO)(v[ve.iC], function (g) {\n if (g[ve.pZ] === d && g !== P && g !== w) return m = g, -1;\n }), !m && P && (m = P.getChannel(d)), m && ((g = {\n plugin: m\n })[ve.$h] = function (d) {\n (0, be.OY)(m)[ye.mE] = !d;\n }, g.isEnabled = function () {\n var d = (0, be.OY)(m);\n return !d[ve.fi] && !d[ye.mE];\n }, g.remove = function (d, g) {\n var f;\n void 0 === d && (d = !0);\n var v = [m],\n y = ((f = {\n reason: 1\n })[ve.d] = d, f);\n _removePlugins(v, y, function (d) {\n d && _initPluginChain({\n reason: 32,\n removed: v\n }), g && g(d);\n });\n }, f = g), f;\n }\n function _getPluginChain() {\n if (!E) {\n var g = (I || []).slice();\n -1 === (0, _.UA)(g, w) && g[ve.MW](w), E = (0, Ee.jV)((0, be.AA)(g), d, v);\n }\n return E;\n }\n function _removePlugins(g, f, m) {\n if (g && g[ve.R5] > 0) {\n var y = (0, Ee.jV)(g, d, v),\n S = (0, Ee.Bt)(y, v);\n S[ve.Fc](function () {\n var d = !1,\n f = [];\n (0, _.tO)(b, function (m, v) {\n _isPluginPresent(m, g) ? d = !0 : f[ve.MW](m);\n }), b = f;\n var v = [];\n R && ((0, _.tO)(R, function (f, m) {\n var y = [];\n (0, _.tO)(f, function (f) {\n _isPluginPresent(f, g) ? d = !0 : y[ve.MW](f);\n }), v[ve.MW](y);\n }), R = v), m && m(d);\n }), S[ve.uL](f);\n } else m(!1);\n }\n function _flushInternalLogs() {\n var g = v[ve.eZ] ? v[ve.eZ].queue : [];\n g && ((0, _.tO)(g, function (g) {\n var f,\n m = ((f = {})[ve.I] = O || \"InternalMessageId: \" + g[ve.Gc], f.iKey = (0, _.v4)(d[ve.p$]), f.time = (0, _.Y6)(new Date()), f.baseType = _e.lQ.dataType, f.baseData = {\n message: g[ve.gU]\n }, f);\n v.track(m);\n }), g[ve.R5] = 0);\n }\n function _flushChannels(d, g, f, m) {\n return P ? P[ve.kL](d, g, f || 6, m) : (g && g(!1), !0);\n }\n function _initDebugListener() {\n var g = (0, _.v4)(d.disableDbgExt);\n !0 === g && L && (y[ve.n7](L), L = null), y && !L && !0 !== g && (L = (0, Ae.p)(d), y[ve.g](L));\n }\n function _initPerfManager() {\n var g = (0, _.v4)(d.enablePerfMgr);\n !g && C && (C = null), g && (0, _.qK)(d, ye.DN, _createPerfManager);\n }\n function _initExtConfig() {\n (0, _.qK)(d, ye.Zh, {}).NotificationManager = y;\n }\n function _doUpdate(d) {\n var g = (0, Ee.xy)(_getPluginChain(), v);\n v._updateHook && !0 === v._updateHook(g, d) || g[ve.uL](d);\n }\n function _logOrThrowError(d) {\n var g = v[ve.eZ];\n g ? (0, _e.kP)(g, 2, 73, d) : (0, _._y)(d);\n }\n _initDefaults(), v[ve.yl] = function () {\n return g;\n }, v[ve.VL] = function (f, S, C, T) {\n M && (0, _._y)(Ne), v[ve.yl]() && (0, _._y)(\"Core should not be initialized more than once\"), d = f || {}, v[ve.TC] = d, (0, _.le)(f[ve.p$]) && (0, _._y)(\"Please provide instrumentation key\"), y = T, v[De] = T, _initDebugListener(), _initPerfManager(), _initExtConfig(), C && (v[ve.eZ] = C);\n var E = (0, _.qK)(d, ye.js, []);\n (b = [])[ve.MW].apply(b, (0, m.$h)((0, m.$h)([], S, !1), E, !1)), R = (0, _.qK)(d, ye.Z, []), _initPluginChain(null), A && 0 !== A[ve.R5] || (0, _._y)(\"No \" + ye.Z + \" available\"), g = !0, v.releaseQueue();\n }, v.getTransmissionControls = function () {\n var d = [];\n return A && (0, _.tO)(A, function (g) {\n d[ve.MW](g.queue);\n }), (0, _.FL)(d);\n }, v.track = function (g) {\n g.iKey = g.iKey || d[ve.p$], g[ve.Z_] = g[ve.Z_] || (0, _.Y6)(new Date()), g.ver = g.ver || \"4.0\", !M && v[ve.yl]() ? _createTelCtx()[ve.uL](g) : f[ve.MW](g);\n }, v[ve.SD] = _createTelCtx, v[ve.tb] = function () {\n return y || (y = _createDummyNotificationManager(), v[De] = y), y;\n }, v[ve.g] = function (d) {\n y && y[ve.g](d);\n }, v[ve.n7] = function (d) {\n y && y[ve.n7](d);\n }, v.getCookieMgr = function () {\n return T || (T = (0, q.Nz)(d, v[ve.eZ])), T;\n }, v.setCookieMgr = function (d) {\n T = d;\n }, v[ye.kl] = function () {\n if (!S && !C && (0, _.v4)(d.enablePerfMgr)) {\n var g = (0, _.v4)(d[ye.DN]);\n (0, _.mf)(g) && (C = g(v, v[ve.tb]()));\n }\n return S || C || (0, Ce.j5)();\n }, v.setPerfMgr = function (d) {\n S = d;\n }, v.eventCnt = function () {\n return f[ve.R5];\n }, v.releaseQueue = function () {\n if (g && f[ve.R5] > 0) {\n var d = f;\n f = [], (0, _.tO)(d, function (d) {\n _createTelCtx()[ve.uL](d);\n });\n }\n }, v.pollInternalLogs = function (g) {\n O = g || null;\n var f = (0, _.v4)(d.diagnosticLogInterval);\n return f && f > 0 || (f = 1e4), x && clearInterval(x), x = setInterval(function () {\n _flushInternalLogs();\n }, f);\n }, v[ve.LS] = function () {\n x && (clearInterval(x), x = 0, _flushInternalLogs());\n }, (0, _.Vb)(v, function () {\n return w;\n }, [\"addTelemetryInitializer\"]), v.unload = function (d, f, m) {\n var y;\n void 0 === d && (d = !0), g || (0, _._y)(Le), M && (0, _._y)(Ne);\n var S = ((y = {\n reason: 50\n })[ve.d] = d, y.flushComplete = !1, y),\n C = (0, Ee.Bt)(_getPluginChain(), v);\n function _doUnload(d) {\n S.flushComplete = d, M = !0, N.run(C, S), v[ve.LS](), C[ve.uL](S);\n }\n C[ve.Fc](function () {\n _initDefaults(), f && f(S);\n }, v), _flushChannels(d, _doUnload, 6, m) || _doUnload(!1);\n }, v[ve.TO] = _getPlugin, v.addPlugin = function (d, g, f, m) {\n if (!d) return m && m(!1), void _logOrThrowError(Oe);\n var v = _getPlugin(d[ve.pZ]);\n if (v && !g) return m && m(!1), void _logOrThrowError(\"Plugin [\" + d[ve.pZ] + \"] is already loaded!\");\n var y = {\n reason: 16\n };\n function _addPlugin(g) {\n b[ve.MW](d), y.added = [d], _initPluginChain(y), m && m(!0);\n }\n if (v) {\n var S = [v.plugin];\n _removePlugins(S, {\n reason: 2,\n isAsync: !!f\n }, function (d) {\n d ? (y.removed = S, y.reason |= 32, _addPlugin()) : m && m(!1);\n });\n } else _addPlugin();\n }, v.evtNamespace = function () {\n return D;\n }, v[ve.kL] = _flushChannels, v.getTraceCtx = function (d) {\n return k || (k = (0, be.Yn)()), k;\n }, v.setTraceCtx = function (d) {\n k = d || null;\n }, (0, _.Oi)(v, \"addUnloadCb\", function () {\n return N;\n }, \"add\");\n });\n }\n return BaseCore.__ieDyn = 1, BaseCore;\n }(),\n Fe = function (d) {\n function AppInsightsCore() {\n var g = d.call(this) || this;\n return (0, v.Z)(AppInsightsCore, g, function (d, g) {\n function _validateTelemetryItem(d) {\n (0, _.le)(d[ve.I]) && (_notifyInvalidEvent(d), (0, _._y)(\"telemetry name required\"));\n }\n function _notifyInvalidEvent(g) {\n var f = d[ve.tb]();\n f && f[ye.$F]([g], 2);\n }\n d[ve.VL] = function (d, f, m, v) {\n g[ve.VL](d, f, m || new _e.AQ(d), v || new Se(d));\n }, d.track = function (f) {\n (0, Ce.Lm)(d[ye.kl](), function () {\n return \"AppInsightsCore:track\";\n }, function () {\n null === f && (_notifyInvalidEvent(f), (0, _._y)(\"Invalid telemetry item\")), _validateTelemetryItem(f), g.track(f);\n }, function () {\n return {\n item: f\n };\n }, !f.sync);\n };\n }), g;\n }\n return (0, m.ne)(AppInsightsCore, d), AppInsightsCore.__ieDyn = 1, AppInsightsCore;\n }(xe),\n Ue = f(80277),\n He = function (d) {\n function AppInsightsCore() {\n var g = d.call(this) || this;\n return g.pluginVersionStringArr = [], (0, v.Z)(AppInsightsCore, g, function (d, g) {\n d.logger && d.logger.queue || (d.logger = new _e.AQ({\n loggingLevelConsole: 1\n })), d.initialize = function (f, m, v, y) {\n (0, Ce.Lm)(d, function () {\n return \"AppInsightsCore.initialize\";\n }, function () {\n var S = d.pluginVersionStringArr;\n if (f) {\n f.endpointUrl || (f.endpointUrl = Ue.YT);\n var C = f.propertyStorageOverride;\n !C || C.getProperty && C.setProperty || (0, _._y)(\"Invalid property storage override passed.\"), f.channels && (0, _.tO)(f.channels, function (d) {\n d && (0, _.tO)(d, function (d) {\n if (d.identifier && d.version) {\n var g = d.identifier + \"=\" + d.version;\n S.push(g);\n }\n });\n });\n }\n d.getWParam = function () {\n return \"undefined\" != typeof document || f.enableWParam ? 0 : -1;\n }, m && (0, _.tO)(m, function (d) {\n if (d && d.identifier && d.version) {\n var g = d.identifier + \"=\" + d.version;\n S.push(g);\n }\n }), d.pluginVersionString = S.join(\";\"), d.pluginVersionStringArr = S;\n try {\n g.initialize(f, m, v, y), d.pollInternalLogs(\"InternalLog\");\n } catch (g) {\n var T = d.logger,\n E = (0, z.eU)(g);\n -1 !== E.indexOf(\"channels\") && (E += \"\\n - Channels must be provided through config.channels only!\"), (0, _e.kP)(T, 1, 514, \"SDK Initialization Failed - no telemetry will be sent: \" + E);\n }\n }, function () {\n return {\n config: f,\n extensions: m,\n logger: v,\n notificationManager: y\n };\n });\n }, d.track = function (f) {\n (0, Ce.Lm)(d, function () {\n return \"AppInsightsCore.track\";\n }, function () {\n var m = f;\n if (m) {\n m.timings = m.timings || {}, m.timings.trackStart = (0, y.hK)(), (0, y.r7)(m.latency) || (m.latency = 1);\n var v = m.ext = m.ext || {};\n v.sdk = v.sdk || {}, v.sdk.ver = y.vs;\n var S = m.baseData = m.baseData || {};\n S[Ue.o6] = S[Ue.o6] || {};\n var _ = S[Ue.o6];\n _[Ue.p8] = _[Ue.p8] || d.pluginVersionString || Ue.qS;\n }\n g.track(m);\n }, function () {\n return {\n item: f\n };\n }, !f.sync);\n };\n }), g;\n }\n return (0, m.ne)(AppInsightsCore, d), AppInsightsCore.__ieDyn = 1, AppInsightsCore;\n }(Fe),\n Ve = He,\n je = f(21016),\n Be = (0, C.By)({\n Unknown: 0,\n NonRetryableStatus: 1,\n InvalidEvent: 2,\n SizeLimitExceeded: 3,\n KillSwitch: 4,\n QueueFull: 5\n }),\n We = \"REAL_TIME\",\n Ge = \"NEAR_REAL_TIME\",\n qe = \"BEST_EFFORT\",\n ze = \"\",\n Ke = \"POST\",\n Je = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\",\n $e = \"drop\",\n Qe = \"send\",\n Ye = \"requeue\",\n Xe = \"rspFail\",\n Ze = \"oth\",\n et = \"no-cache, no-store\",\n tt = \"application/x-json-stream\",\n it = \"cache-control\",\n nt = \"content-type\",\n rt = \"kill-tokens\",\n ot = \"kill-duration\",\n at = \"kill-duration-seconds\",\n st = \"time-delta-millis\",\n lt = \"client-version\",\n ct = \"client-id\",\n dt = \"time-delta-to-apply-millis\",\n ut = \"upload-time\",\n pt = \"apikey\",\n ht = \"AuthMsaDeviceTicket\",\n gt = \"AuthXToken\",\n ft = \"NoResponseBody\",\n mt = \"msfpc\",\n vt = \"trace\",\n yt = \"user\";\n /**\r\n \t* EventBatch.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2020\r\n \t*/\n function _getEventMsfpc(d) {\n var g = (d.ext || {}).intweb;\n return g && (0, y.Sn)(g[mt]) ? g[mt] : null;\n }\n function _getMsfpc(d) {\n for (var g = null, f = 0; null === g && f < d.length; f++) g = _getEventMsfpc(d[f]);\n return g;\n }\n var St = function () {\n function EventBatch(d, g) {\n var f = g ? [].concat(g) : [],\n m = this,\n v = _getMsfpc(f);\n m.iKey = function () {\n return d;\n }, m.Msfpc = function () {\n return v || ze;\n }, m.count = function () {\n return f.length;\n }, m.events = function () {\n return f;\n }, m.addEvent = function (d) {\n return !!d && (f.push(d), v || (v = _getEventMsfpc(d)), !0);\n }, m.split = function (g, m) {\n var y;\n if (g < f.length) {\n var S = f.length - g;\n (0, _.le)(m) || (S = m < S ? m : S), y = f.splice(g, S), v = _getMsfpc(f);\n }\n return new EventBatch(d, y);\n };\n }\n return EventBatch.create = function (d, g) {\n return new EventBatch(d, g);\n }, EventBatch;\n }(),\n _t = function () {\n function ClockSkewManager() {\n var d = !0,\n g = !0,\n f = !0,\n m = \"use-collector-delta\",\n y = !1;\n (0, v.Z)(ClockSkewManager, this, function (v) {\n v.allowRequestSending = function () {\n return d;\n }, v.firstRequestSent = function () {\n f && (f = !1, y || (d = !1));\n }, v.shouldAddClockSkewHeaders = function () {\n return g;\n }, v.getClockSkewHeaderValue = function () {\n return m;\n }, v.setClockSkew = function (f) {\n y || (f ? (m = f, g = !0, y = !0) : g = !1, d = !0);\n };\n });\n }\n return ClockSkewManager.__ieDyn = 1, ClockSkewManager;\n }(),\n Ct = 1e3,\n Tt = function () {\n function KillSwitch() {\n var d = {};\n function _normalizeTenants(d) {\n var g = [];\n return d && (0, _.tO)(d, function (d) {\n g.push((0, _.nd)(d));\n }), g;\n }\n (0, v.Z)(KillSwitch, this, function (g) {\n g.setKillSwitchTenants = function (g, f) {\n if (g && f) try {\n var m = _normalizeTenants(g.split(\",\"));\n if (\"this-request-only\" === f) return m;\n for (var v = parseInt(f, 10) * Ct, y = 0; y < m.length; ++y) d[m[y]] = (0, _.m6)() + v;\n } catch (d) {\n return [];\n }\n return [];\n }, g.isTenantKilled = function (g) {\n var f = d,\n m = (0, _.nd)(g);\n return void 0 !== f[m] && f[m] > (0, _.m6)() || (delete f[m], !1);\n };\n });\n }\n return KillSwitch.__ieDyn = 1, KillSwitch;\n }(),\n Et = Tt,\n bt = f(90462),\n It = .8,\n Pt = 1.2,\n Rt = 3e3,\n At = 6e5;\n /**\r\n \t* ClockSkewManager.ts\r\n \t* @author Abhilash Panwar (abpanwar)\r\n \t* @copyright Microsoft 2018\r\n \t*/\n function retryPolicyShouldRetryForStatus(d) {\n return !(d >= 300 && d < 500 && 408 != d && 429 != d || 501 == d || 505 == d);\n }\n function retryPolicyGetMillisToBackoffForRetry(d) {\n var g = 0,\n f = Rt * It,\n m = Rt * Pt,\n v = Math.floor(Math.random() * (m - f)) + f;\n return g = Math.pow(2, d) * v, Math.min(g, At);\n }\n /**\r\n \t* Serializer.ts\r\n \t* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2018-2020\r\n \t*/\n var Mt,\n wt = 20,\n Ot = 3984588,\n Dt = 65e3,\n Nt = 2e6,\n Lt = Math.min(Nt, Dt),\n kt = \"metadata\",\n xt = \"f\",\n Ft = /\\./,\n Ut = function () {\n function Serializer(d, g, f, m) {\n var S = \"data\",\n C = \"baseData\",\n T = \"ext\",\n E = !!m,\n b = !0,\n I = g,\n P = {};\n (0, v.Z)(Serializer, this, function (g) {\n function _isReservedField(d, g) {\n var f = P[d];\n return void 0 === f && (d.length >= 7 && (f = (0, _.xe)(d, \"ext.metadata\") || (0, _.xe)(d, \"ext.web\")), P[d] = f), f;\n }\n function _processPathKeys(d, g, m, v, S, C, T) {\n (0, _.rW)(d, function (d, b) {\n var P = null;\n if (b || (0, y.Sn)(b)) {\n var R = m,\n A = d,\n M = S,\n w = g;\n if (E && !v && Ft.test(d)) {\n var O = d.split(\".\"),\n D = O.length;\n if (D > 1) {\n M && (M = M.slice());\n for (var N = 0; N < D - 1; N++) {\n var L = O[N];\n w = w[L] = w[L] || {}, R += \".\" + L, M && M.push(L);\n }\n A = O[D - 1];\n }\n }\n if (P = !(v && _isReservedField(R)) && I && I.handleField(R, A) ? I.value(R, A, b, f) : (0, y.yj)(A, b, f)) {\n var k = P.value;\n if (w[A] = k, C && C(M, A, P), T && \"object\" == typeof k && !(0, _.kJ)(k)) {\n var x = M;\n x && (x = x.slice()).push(A), _processPathKeys(b, k, R + \".\" + A, v, x, C, T);\n }\n }\n }\n });\n }\n g.createPayload = function (d, g, f, m, v, y) {\n return {\n apiKeys: [],\n payloadBlob: ze,\n overflow: null,\n sizeExceed: [],\n failedEvts: [],\n batches: [],\n numEvents: 0,\n retryCnt: d,\n isTeardown: g,\n isSync: f,\n isBeacon: m,\n sendType: y,\n sendReason: v\n };\n }, g.appendPayload = function (f, m, v) {\n var y = f && m && !f.overflow;\n return y && (0, Ce.Lm)(d, function () {\n return \"Serializer:appendPayload\";\n }, function () {\n for (var d = m.events(), y = f.payloadBlob, S = f.numEvents, C = !1, T = [], E = [], b = f.isBeacon, I = b ? Dt : Ot, P = b ? Lt : Nt, R = 0, A = 0; R < d.length;) {\n var M = d[R];\n if (M) {\n if (S >= v) {\n f.overflow = m.split(R);\n break;\n }\n var w = g.getEventBlob(M);\n if (w && w.length <= P) {\n var O = w.length;\n if (y.length + O > I) {\n f.overflow = m.split(R);\n break;\n }\n y && (y += \"\\n\"), y += w, ++A > wt && (y.substr(0, 1), A = 0), C = !0, S++;\n } else w ? T.push(M) : E.push(M), d.splice(R, 1), R--;\n }\n R++;\n }\n if (T && T.length > 0 && f.sizeExceed.push(St.create(m.iKey(), T)), E && E.length > 0 && f.failedEvts.push(St.create(m.iKey(), E)), C) {\n f.batches.push(m), f.payloadBlob = y, f.numEvents = S;\n var D = m.iKey();\n -1 === (0, _.UA)(f.apiKeys, D) && f.apiKeys.push(D);\n }\n }, function () {\n return {\n payload: f,\n theBatch: {\n iKey: m.iKey(),\n evts: m.events()\n },\n max: v\n };\n }), y;\n }, g.getEventBlob = function (g) {\n try {\n return (0, Ce.Lm)(d, function () {\n return \"Serializer.getEventBlob\";\n }, function () {\n var d = {};\n d.name = g.name, d.time = g.time, d.ver = g.ver, d.iKey = \"o:\" + (0, y.jM)(g.iKey);\n var f = {},\n m = g[T];\n m && (d[T] = f, (0, _.rW)(m, function (d, g) {\n _processPathKeys(g, f[d] = {}, \"ext.\" + d, !0, null, null, !0);\n }));\n var v = d[S] = {};\n v.baseType = g.baseType;\n var E = v[C] = {};\n return _processPathKeys(g.baseData, E, C, !1, [C], function (d, g, m) {\n _addJSONPropertyMetaData(f, d, g, m);\n }, b), _processPathKeys(g.data, v, S, !1, [], function (d, g, m) {\n _addJSONPropertyMetaData(f, d, g, m);\n }, b), JSON.stringify(d);\n }, function () {\n return {\n item: g\n };\n });\n } catch (d) {\n return null;\n }\n };\n });\n }\n return Serializer.__ieDyn = 1, Serializer;\n }();\n function _addJSONPropertyMetaData(d, g, f, m) {\n if (m && d) {\n var v = (0, y.Vv)(m.value, m.kind, m.propertyType);\n if (v > -1) {\n var S = d[kt];\n S || (S = d[kt] = {\n f: {}\n });\n var C = S[xt];\n if (C || (C = S[xt] = {}), g) for (var T = 0; T < g.length; T++) {\n var E = g[T];\n C[E] || (C[E] = {\n f: {}\n });\n var b = C[E][xt];\n b || (b = C[E][xt] = {}), C = b;\n }\n C = C[f] = {}, (0, _.kJ)(m.value) ? C.a = {\n t: v\n } : C.t = v;\n }\n }\n }\n /**\r\n \t* HttpManager.ts\r\n \t* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2018-2020\r\n \t*/\n var Ht = \"sendAttempt\",\n Vt = \"&\" + ft + \"=true\",\n jt = ((Mt = {})[1] = Ye, Mt[100] = Ye, Mt[200] = \"sent\", Mt[8004] = $e, Mt[8003] = $e, Mt),\n Bt = {},\n Wt = {};\n function _addCollectorHeaderQsMapping(d, g, f) {\n Bt[d] = g, !1 !== f && (Wt[g] = d);\n }\n function _getResponseText(d) {\n try {\n return d.responseText;\n } catch (d) {}\n return ze;\n }\n function _hasHeader(d, g) {\n var f = !1;\n if (d && g) {\n var m = (0, _.FY)(d);\n if (m && m.length > 0) for (var v = g.toLowerCase(), y = 0; y < m.length; y++) {\n var S = m[y];\n if (S && (0, _.nr)(g, S) && S.toLowerCase() === v) {\n f = !0;\n break;\n }\n }\n }\n return f;\n }\n function _addRequestDetails(d, g, f, m) {\n g && f && f.length > 0 && (m && Bt[g] ? (d.hdrs[Bt[g]] = f, d.useHdrs = !0) : d.url += \"&\" + g + \"=\" + f);\n }\n function _prependTransports(d, g) {\n return g && ((0, _.hj)(g) ? d = [g].concat(d) : (0, _.kJ)(g) && (d = g.concat(d))), d;\n }\n _addCollectorHeaderQsMapping(ht, ht, !1), _addCollectorHeaderQsMapping(lt, lt), _addCollectorHeaderQsMapping(ct, \"Client-Id\"), _addCollectorHeaderQsMapping(pt, pt), _addCollectorHeaderQsMapping(dt, dt), _addCollectorHeaderQsMapping(ut, ut), _addCollectorHeaderQsMapping(gt, gt);\n var Gt = function () {\n function HttpManager(d, g, f, m, S) {\n this._responseHandlers = [];\n var C,\n T,\n E,\n b,\n I,\n P,\n R,\n A,\n M,\n w,\n O = \"?cors=true&\" + nt.toLowerCase() + \"=\" + tt,\n D = new Et(),\n N = !1,\n L = new _t(),\n k = !1,\n x = 0,\n F = !0,\n U = [],\n H = {},\n V = [],\n j = null,\n B = !1,\n W = !1,\n G = !1;\n (0, v.Z)(HttpManager, this, function (v) {\n var q = !0;\n function _getSenderInterface(d, g) {\n for (var f = 0, m = null, v = 0; null == m && v < d.length;) 1 === (f = d[v]) ? (0, z.cp)() ? m = _xdrSendPost : (0, z.Z3)() && (m = _xhrSendPost) : 2 === f && (0, z.JO)(g) && (!g || g && !A) ? m = _fetchSendPost : k && 3 === f && (0, z.MF)() && (m = _beaconSendPost), v++;\n return m ? {\n _transport: f,\n _isSync: g,\n sendPOST: m\n } : null;\n }\n function _xdrSendPost(d, g, f) {\n var m = new XDomainRequest();\n m.open(Ke, d.urlString), d.timeout && (m.timeout = d.timeout), m.onload = function () {\n var d = _getResponseText(m);\n _doOnComplete(g, 200, {}, d), _handleCollectorResponse(d);\n }, m.onerror = function () {\n _doOnComplete(g, 400, {});\n }, m.ontimeout = function () {\n _doOnComplete(g, 500, {});\n }, m.onprogress = function () {}, f ? m.send(d.data) : S.set(function () {\n m.send(d.data);\n }, 0);\n }\n function _fetchSendPost(d, g, f) {\n var m,\n v = d.urlString,\n y = !1,\n C = !1,\n T = ((m = {\n body: d.data,\n method: Ke\n })[Je] = !0, m);\n f && (T.keepalive = !0, 2 === d._sendReason && (y = !0, w && (v += Vt))), q && (T.credentials = \"include\"), d.headers && (0, _.FY)(d.headers).length > 0 && (T.headers = d.headers), fetch(v, T).then(function (d) {\n var f = {},\n m = ze,\n v = d.headers;\n v && v.forEach(function (d, g) {\n f[g] = d;\n }), d.body && d.text().then(function (d) {\n m = d;\n }), C || (C = !0, _doOnComplete(g, d.status, f, m), _handleCollectorResponse(m));\n }).catch(function (d) {\n C || (C = !0, _doOnComplete(g, 0, {}));\n }), y && !C && (C = !0, _doOnComplete(g, 200, {})), !C && d.timeout > 0 && S.set(function () {\n C || (C = !0, _doOnComplete(g, 500, {}));\n }, d.timeout);\n }\n function _xhrSendPost(d, g, f) {\n var m = d.urlString;\n function _appendHeader(d, g, f) {\n if (!d[f] && g && g.getResponseHeader) {\n var m = g.getResponseHeader(f);\n m && (d[f] = (0, _.nd)(m));\n }\n return d;\n }\n function _getAllResponseHeaders(d) {\n var g = {};\n return d.getAllResponseHeaders ? g = _convertAllHeadersToMap(d.getAllResponseHeaders()) : (g = _appendHeader(g, d, st), g = _appendHeader(g, d, ot), g = _appendHeader(g, d, at)), g;\n }\n function xhrComplete(d, f) {\n _doOnComplete(g, d.status, _getAllResponseHeaders(d), f);\n }\n f && d.disableXhrSync && (f = !1);\n var v = (0, y.ot)(Ke, m, q, !0, f, d.timeout);\n (0, _.rW)(d.headers, function (d, g) {\n v.setRequestHeader(d, g);\n }), v.onload = function () {\n var d = _getResponseText(v);\n xhrComplete(v, d), _handleCollectorResponse(d);\n }, v.onerror = function () {\n xhrComplete(v);\n }, v.ontimeout = function () {\n xhrComplete(v);\n }, v.send(d.data);\n }\n function _doOnComplete(d, g, f, m) {\n try {\n d(g, f, m);\n } catch (d) {\n (0, _e.kP)(T, 2, 518, (0, z.eU)(d));\n }\n }\n function _beaconSendPost(d, g, f) {\n var m = 200,\n v = d._thePayload,\n y = d.urlString + (w ? Vt : ze);\n try {\n var S = (0, z.jW)();\n if (!S.sendBeacon(y, d.data)) if (v) {\n var C = [];\n (0, _.tO)(v.batches, function (d) {\n if (C && d && d.count() > 0) {\n for (var g = d.events(), f = 0; f < g.length; f++) if (!S.sendBeacon(y, j.getEventBlob(g[f]))) {\n C.push(d.split(f));\n break;\n }\n } else C.push(d.split(0));\n }), _sendBatchesNotification(C, 8003, v.sendType, !0);\n } else m = 0;\n } catch (d) {\n (0, _e.jV)(T, \"Failed to send telemetry using sendBeacon API. Ex:\" + (0, z.eU)(d)), m = 0;\n } finally {\n _doOnComplete(g, m, {}, ze);\n }\n }\n function _isBeaconPayload(d) {\n return 2 === d || 3 === d;\n }\n function _adjustSendType(d) {\n return W && _isBeaconPayload(d) && (d = 2), d;\n }\n function _hasIdleConnection() {\n return !N && x < g;\n }\n function _clearQueue() {\n var d = V;\n return V = [], d;\n }\n function _canSendPayload(d, g, f) {\n var m = !1;\n return d && d.length > 0 && !N && E[g] && j && (m = 0 !== g || _hasIdleConnection() && (f > 0 || L.allowRequestSending())), m;\n }\n function _createDebugBatches(d) {\n var g = {};\n return d && (0, _.tO)(d, function (d, f) {\n g[f] = {\n iKey: d.iKey(),\n evts: d.events()\n };\n }), g;\n }\n function _sendBatches(g, f, m, v, S) {\n if (g && 0 !== g.length) if (N) _sendBatchesNotification(g, 1, v);else {\n v = _adjustSendType(v);\n try {\n var _ = g,\n C = 0 !== v;\n (0, Ce.Lm)(b, function () {\n return \"HttpManager:_sendBatches\";\n }, function (_) {\n _ && (g = g.slice(0));\n for (var T = [], b = null, I = (0, y.hK)(), P = E[v] || (C ? E[1] : E[0]), R = P && P._transport, A = M && (W || _isBeaconPayload(v) || 3 === R || P._isSync && 2 === R); _canSendPayload(g, v, f);) {\n var w = g.shift();\n w && w.count() > 0 && (D.isTenantKilled(w.iKey()) ? T.push(w) : (b = b || j.createPayload(f, m, C, A, S, v), j.appendPayload(b, w, d) ? null !== b.overflow && (g = [b.overflow].concat(g), b.overflow = null, _doPayloadSend(b, I, (0, y.hK)(), S), I = (0, y.hK)(), b = null) : (_doPayloadSend(b, I, (0, y.hK)(), S), I = (0, y.hK)(), g = [w].concat(g), b = null)));\n }\n b && _doPayloadSend(b, I, (0, y.hK)(), S), g.length > 0 && (V = g.concat(V)), _sendBatchesNotification(T, 8004, v);\n }, function () {\n return {\n batches: _createDebugBatches(_),\n retryCount: f,\n isTeardown: m,\n isSynchronous: C,\n sendReason: S,\n useSendBeacon: _isBeaconPayload(v),\n sendType: v\n };\n }, !C);\n } catch (d) {\n (0, _e.kP)(T, 2, 48, \"Unexpected Exception sending batch: \" + (0, z.eU)(d));\n }\n }\n }\n function _buildRequestDetails(d, g) {\n var f = {\n url: O,\n hdrs: {},\n useHdrs: !1\n };\n g ? (f.hdrs = (0, y.l7)(f.hdrs, H), f.useHdrs = (0, _.FY)(f.hdrs).length > 0) : (0, _.rW)(H, function (d, g) {\n Wt[d] ? _addRequestDetails(f, Wt[d], g, !1) : (f.hdrs[d] = g, f.useHdrs = !0);\n }), _addRequestDetails(f, ct, \"NO_AUTH\", g), _addRequestDetails(f, lt, y.vs, g);\n var m = ze;\n (0, _.tO)(d.apiKeys, function (d) {\n m.length > 0 && (m += \",\"), m += d;\n }), _addRequestDetails(f, pt, m, g), _addRequestDetails(f, ut, (0, _.m6)().toString(), g);\n var v = _getMsfpc(d);\n if ((0, y.Sn)(v) && (f.url += \"&ext.intweb.msfpc=\" + v), L.shouldAddClockSkewHeaders() && _addRequestDetails(f, dt, L.getClockSkewHeaderValue(), g), b.getWParam) {\n var S = b.getWParam();\n S >= 0 && (f.url += \"&w=\" + S);\n }\n for (var C = 0; C < U.length; C++) f.url += \"&\" + U[C].name + \"=\" + U[C].value;\n return f;\n }\n function _setTimingValue(d, g, f) {\n d[g] = d[g] || {}, d[g][C.identifier] = f;\n }\n function _doPayloadSend(d, g, f, m) {\n if (d && d.payloadBlob && d.payloadBlob.length > 0) {\n var S = !!v.sendHook,\n _ = E[d.sendType];\n !_isBeaconPayload(d.sendType) && d.isBeacon && 2 === d.sendReason && (_ = E[2] || E[3] || _);\n var C = G;\n (d.isBeacon || 3 === _._transport) && (C = !1);\n var I = _buildRequestDetails(d, C);\n C = C || I.useHdrs;\n var M = (0, y.hK)();\n (0, Ce.Lm)(b, function () {\n return \"HttpManager:_doPayloadSend\";\n }, function () {\n for (var E = 0; E < d.batches.length; E++) for (var w = d.batches[E].events(), O = 0; O < w.length; O++) {\n var D = w[O];\n if (B) {\n var N = D.timings = D.timings || {};\n _setTimingValue(N, \"sendEventStart\", M), _setTimingValue(N, \"serializationStart\", g), _setTimingValue(N, \"serializationCompleted\", f);\n }\n D[Ht] > 0 ? D[Ht]++ : D[Ht] = 1;\n }\n _sendBatchesNotification(d.batches, 1e3 + (m || 0), d.sendType, !0);\n var k = {\n data: d.payloadBlob,\n urlString: I.url,\n headers: I.hdrs,\n _thePayload: d,\n _sendReason: m,\n timeout: P,\n disableXhrSync: R,\n disableFetchKeepAlive: A\n };\n C && (_hasHeader(k.headers, it) || (k.headers[it] = et), _hasHeader(k.headers, nt) || (k.headers[nt] = tt));\n var U = null;\n _ && (U = function (g) {\n L.firstRequestSent();\n var onComplete = function (g, f) {\n _retryRequestIfNeeded(g, f, d, m);\n },\n f = d.isTeardown || d.isSync;\n try {\n _.sendPOST(g, onComplete, f), v.sendListener && v.sendListener(k, g, f, d.isBeacon);\n } catch (d) {\n (0, _e.jV)(T, \"Unexpected exception sending payload. Ex:\" + (0, z.eU)(d)), _doOnComplete(onComplete, 0, {});\n }\n }), (0, Ce.Lm)(b, function () {\n return \"HttpManager:_doPayloadSend.sender\";\n }, function () {\n if (U) if (0 === d.sendType && x++, S && !d.isBeacon && 3 !== _._transport) {\n var g = {\n data: k.data,\n urlString: k.urlString,\n headers: (0, y.l7)({}, k.headers),\n timeout: k.timeout,\n disableXhrSync: k.disableXhrSync,\n disableFetchKeepAlive: k.disableFetchKeepAlive\n },\n f = !1;\n (0, Ce.Lm)(b, function () {\n return \"HttpManager:_doPayloadSend.sendHook\";\n }, function () {\n try {\n v.sendHook(g, function (d) {\n f = !0, F || d._thePayload || (d._thePayload = d._thePayload || k._thePayload, d._sendReason = d._sendReason || k._sendReason), U(d);\n }, d.isSync || d.isTeardown);\n } catch (d) {\n f || U(k);\n }\n });\n } else U(k);\n });\n }, function () {\n return {\n thePayload: d,\n serializationStart: g,\n serializationCompleted: f,\n sendReason: m\n };\n }, d.isSync);\n }\n d.sizeExceed && d.sizeExceed.length > 0 && _sendBatchesNotification(d.sizeExceed, 8003, d.sendType), d.failedEvts && d.failedEvts.length > 0 && _sendBatchesNotification(d.failedEvts, 8002, d.sendType);\n }\n function _addEventCompletedTimings(d, g) {\n B && (0, _.tO)(d, function (d) {\n _setTimingValue(d.timings = d.timings || {}, \"sendEventCompleted\", g);\n });\n }\n function _retryRequestIfNeeded(d, g, m, v) {\n var y = 9e3,\n S = null,\n C = !1,\n T = !1;\n try {\n var E = !0;\n if (typeof d !== bt.jA) {\n if (g) {\n L.setClockSkew(g[st]);\n var b = g[ot] || g[\"kill-duration-seconds\"];\n (0, _.tO)(D.setKillSwitchTenants(g[rt], b), function (d) {\n (0, _.tO)(m.batches, function (g) {\n if (g.iKey() === d) {\n S = S || [];\n var f = g.split(0);\n m.numEvents -= f.count(), S.push(f);\n }\n });\n });\n }\n if (200 == d || 204 == d) return void (y = 200);\n (!retryPolicyShouldRetryForStatus(d) || m.numEvents <= 0) && (E = !1), y = 9e3 + d % 1e3;\n }\n if (E) {\n y = 100;\n var I = m.retryCnt;\n 0 === m.sendType && (I < f ? (C = !0, _doAction(function () {\n 0 === m.sendType && x--, _sendBatches(m.batches, I + 1, m.isTeardown, W ? 2 : m.sendType, 5);\n }, W, retryPolicyGetMillisToBackoffForRetry(I))) : (T = !0, W && (y = 8001)));\n }\n } finally {\n C || (L.setClockSkew(), _handleRequestFinished(m, y, v, T)), _sendBatchesNotification(S, 8004, m.sendType);\n }\n }\n function _handleRequestFinished(d, g, f, m) {\n try {\n m && C._backOffTransmission(), 200 === g && (m || d.isSync || C._clearBackOff(), _addCompleteTimings(d.batches)), _sendBatchesNotification(d.batches, g, d.sendType, !0);\n } finally {\n 0 === d.sendType && (x--, 5 !== f && v.sendQueuedRequests(d.sendType, f));\n }\n }\n function _addCompleteTimings(d) {\n if (B) {\n var g = (0, y.hK)();\n (0, _.tO)(d, function (d) {\n d && d.count() > 0 && _addEventCompletedTimings(d.events(), g);\n });\n }\n }\n function _doAction(d, g, f) {\n g ? d() : S.set(d, f);\n }\n function _convertAllHeadersToMap(d) {\n var g = {};\n if ((0, _.HD)(d)) {\n var f = (0, _.nd)(d).split(/[\\r\\n]+/);\n (0, _.tO)(f, function (d) {\n if (d) {\n var f = d.indexOf(\": \");\n if (-1 !== f) {\n var m = (0, _.nd)(d.substring(0, f)).toLowerCase(),\n v = (0, _.nd)(d.substring(f + 1));\n g[m] = v;\n } else g[(0, _.nd)(d)] = 1;\n }\n });\n }\n return g;\n }\n function _getMsfpc(d) {\n for (var g = 0; g < d.batches.length; g++) {\n var f = d.batches[g].Msfpc();\n if (f) return encodeURIComponent(f);\n }\n return ze;\n }\n function _handleCollectorResponse(d) {\n var g = v._responseHandlers;\n try {\n for (var f = 0; f < g.length; f++) try {\n g[f](d);\n } catch (d) {\n (0, _e.kP)(T, 1, 519, \"Response handler failed: \" + d);\n }\n if (d) {\n var m = JSON.parse(d);\n (0, y.Sn)(m.webResult) && (0, y.Sn)(m.webResult[mt]) && I.set(\"MSFPC\", m.webResult[mt], 31536e3);\n }\n } catch (d) {}\n }\n function _sendBatchesNotification(d, g, f, v) {\n if (d && d.length > 0 && m) {\n var y = m[_getNotificationAction(g)];\n if (y) {\n var S = 0 !== f;\n (0, Ce.Lm)(b, function () {\n return \"HttpManager:_sendBatchesNotification\";\n }, function () {\n _doAction(function () {\n try {\n y.call(m, d, g, S, f);\n } catch (d) {\n (0, _e.kP)(T, 1, 74, \"send request notification failed: \" + d);\n }\n }, v || S, 0);\n }, function () {\n return {\n batches: _createDebugBatches(d),\n reason: g,\n isSync: S,\n sendSync: v,\n sendType: f\n };\n }, !S);\n }\n }\n }\n function _getNotificationAction(d) {\n var g = jt[d];\n return (0, y.Sn)(g) || (g = Ze, d >= 9e3 && d <= 9999 ? g = Xe : d >= 8e3 && d <= 8999 ? g = $e : d >= 1e3 && d <= 1999 && (g = Qe)), g;\n }\n v.initialize = function (d, g, f, m, v) {\n var y;\n v || (v = {}), O = d + O, G = !!(0, _.o8)(v.avoidOptions) || !v.avoidOptions, b = g, I = g.getCookieMgr(), B = !b.config.disableEventTimings;\n var S = !!b.config.enableCompoundKey;\n T = (C = f).diagLog();\n var D = v.valueSanitizer,\n N = v.stringifyObjects;\n (0, _.o8)(v.enableCompoundKey) || (S = !!v.enableCompoundKey), P = v.xhrTimeout, R = !!v.disableXhrSync, A = !!v.disableFetchKeepAlive, w = !1 !== v.addNoResponse, k = !(0, z.b$)(), j = new Ut(b, D, N, S), (0, _.le)(v.useSendBeacon) || (k = !!v.useSendBeacon);\n var L = m,\n x = v.alwaysUseXhrOverride ? m : null,\n U = v.alwaysUseXhrOverride ? m : null,\n H = [3, 2];\n if (!m) {\n F = !1;\n var V = (0, z.k$)();\n V && V.protocol && \"file:\" === V.protocol.toLowerCase() && (q = !1);\n var W = [];\n (0, z.b$)() ? (W = [2, 1], H = [2, 1, 3]) : W = [1, 2, 3], (m = _getSenderInterface(W = _prependTransports(W, v.transports), !1)) || (0, _e.jV)(T, \"No available transport to send events\"), L = _getSenderInterface(W, !0);\n }\n x || (x = _getSenderInterface(H = _prependTransports(H, v.unloadTransports), !0)), M = !F && (k && (0, z.MF)() || !A && (0, z.JO)(!0)), (y = {})[0] = m, y[1] = L || _getSenderInterface([1, 2, 3], !0), y[2] = x || L || _getSenderInterface([1], !0), y[3] = U || _getSenderInterface([2, 3], !0) || L || _getSenderInterface([1], !0), E = y;\n }, v._getDbgPlgTargets = function () {\n return [E[0], D, j, E];\n }, v.addQueryStringParameter = function (d, g) {\n for (var f = 0; f < U.length; f++) if (U[f].name === d) return void (U[f].value = g);\n U.push({\n name: d,\n value: g\n });\n }, v.addHeader = function (d, g) {\n H[d] = g;\n }, v.canSendRequest = function () {\n return _hasIdleConnection() && L.allowRequestSending();\n }, v.sendQueuedRequests = function (d, g) {\n (0, _.o8)(d) && (d = 0), W && (d = _adjustSendType(d), g = 2), _canSendPayload(V, d, 0) && _sendBatches(_clearQueue(), 0, !1, d, g || 0);\n }, v.isCompletelyIdle = function () {\n return !N && 0 === x && 0 === V.length;\n }, v.setUnloading = function (d) {\n W = d;\n }, v.addBatch = function (d) {\n if (d && d.count() > 0) {\n if (D.isTenantKilled(d.iKey())) return !1;\n V.push(d);\n }\n return !0;\n }, v.teardown = function () {\n V.length > 0 && _sendBatches(_clearQueue(), 0, !0, 2, 2);\n }, v.pause = function () {\n N = !0;\n }, v.resume = function () {\n N = !1, v.sendQueuedRequests(0, 4);\n }, v.sendSynchronousBatch = function (d, g, f) {\n d && d.count() > 0 && ((0, _.le)(g) && (g = 1), W && (g = _adjustSendType(g), f = 2), _sendBatches([d], 0, !1, g, f || 0));\n };\n });\n }\n return HttpManager.__ieDyn = 1, HttpManager;\n }();\n /**\r\n \t* TimeoutOverrideWrapper.ts\r\n \t* @author Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2022\r\n \t* Simple internal timeout wrapper\r\n \t*/\n function defaultSetTimeout(d, g) {\n for (var f = [], m = 2; m < arguments.length; m++) f[m - 2] = arguments[m];\n return setTimeout(d, g, f);\n }\n function defaultClearTimeout(d) {\n clearTimeout(d);\n }\n function createTimeoutWrapper(d, g) {\n return {\n set: d || defaultSetTimeout,\n clear: g || defaultClearTimeout\n };\n }\n /**\r\n \t* PostManager.ts\r\n \t* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n \t* @copyright Microsoft 2018-2020\r\n \t*/\n var qt,\n zt = .25,\n Kt = 500,\n Jt = 20,\n $t = 6,\n Qt = 2,\n Yt = 4,\n Xt = 2,\n Zt = 1,\n ei = \"eventsDiscarded\",\n ti = \"overrideInstrumentationKey\",\n ii = \"maxEventRetryAttempts\",\n ni = \"maxUnloadEventRetryAttempts\",\n ri = \"addUnloadCb\",\n oi = function (d) {\n function PostChannel() {\n var g,\n f = d.call(this) || this;\n f.identifier = \"PostChannel\", f.priority = 1011, f.version = \"3.2.9\";\n var m,\n S,\n C,\n T,\n E,\n b,\n I,\n P = !1,\n R = [],\n A = null,\n M = !1,\n w = 0,\n O = 500,\n D = 0,\n N = 1e4,\n L = {},\n k = We,\n x = null,\n F = null,\n U = 0,\n H = 0,\n V = {},\n j = -1,\n B = !0,\n W = !1,\n G = $t,\n q = Qt;\n return (0, v.Z)(PostChannel, f, function (d, f) {\n function _hookWParam(d) {\n var f = d.getWParam;\n d.getWParam = function () {\n var d = 0;\n return g.ignoreMc1Ms0CookieProcessing && (d |= 2), d | f();\n };\n }\n function _handleUnloadEvents(d) {\n \"beforeunload\" !== (d || (0, z.Jj)().event).type && (W = !0, S.setUnloading(W)), _releaseAllQueues(2, 2);\n }\n function _handleShowEvents(d) {\n W = !1, S.setUnloading(W);\n }\n function _addEventToQueues(d, g) {\n if (d.sendAttempt || (d.sendAttempt = 0), d.latency || (d.latency = 1), d.ext && d.ext[vt] && delete d.ext[vt], d.ext && d.ext[yt] && d.ext[yt].id && delete d.ext[yt].id, B && (y.if, d.ext = (0, _.Ax)(d.ext), d.baseData && (d.baseData = (0, _.Ax)(d.baseData)), d.data && (d.data = (0, _.Ax)(d.data))), d.sync) if (U || M) d.latency = 3, d.sync = !1;else if (S) return B && (d = (0, _.Ax)(d)), void S.sendSynchronousBatch(St.create(d.iKey, [d]), !0 === d.sync ? 1 : d.sync, 3);\n var f = d.latency,\n m = D,\n v = N;\n 4 === f && (m = w, v = O);\n var C = !1;\n if (m < v) C = !_addEventToProperQueue(d, g);else {\n var T = 1,\n E = Jt;\n 4 === f && (T = 4, E = 1), C = !0, _dropEventWithLatencyOrLess(d.iKey, d.latency, T, E) && (C = !_addEventToProperQueue(d, g));\n }\n C && _notifyEvents(ei, [d], Be.QueueFull);\n }\n function _sendEventsForLatencyAndAbove(d, g, f) {\n var m = _queueBatches(d, g, f);\n return S.sendQueuedRequests(g, f), m;\n }\n function _hasEvents() {\n return D > 0;\n }\n function _scheduleTimer() {\n if (j >= 0 && _queueBatches(j, 0, E) && S.sendQueuedRequests(0, E), w > 0 && !F && !M) {\n var d = L[k][2];\n d >= 0 && (F = _createTimer(function () {\n F = null, _sendEventsForLatencyAndAbove(4, 0, 1), _scheduleTimer();\n }, d));\n }\n var g = L[k][1];\n !x && !A && g >= 0 && !M && (_hasEvents() ? x = _createTimer(function () {\n x = null, _sendEventsForLatencyAndAbove(0 === H ? 3 : 1, 0, 1), H++, H %= 2, _scheduleTimer();\n }, g) : H = 0);\n }\n function _initDefaults() {\n g = null, P = !1, R = [], A = null, M = !1, w = 0, O = 500, D = 0, N = 1e4, L = {}, k = We, x = null, F = null, U = 0, H = 0, m = null, V = {}, C = void 0, T = 0, j = -1, E = null, B = !0, W = !1, G = $t, q = Qt, b = null, I = createTimeoutWrapper(), S = new Gt(Kt, Xt, Zt, {\n requeue: _requeueEvents,\n send: _sendingEvent,\n sent: _eventsSentEvent,\n drop: _eventsDropped,\n rspFail: _eventsResponseFail,\n oth: _otherEvent\n }, I), _initializeProfiles(), _clearQueues(), _setAutoLimits();\n }\n function _createTimer(d, g) {\n 0 === g && U && (g = 1);\n var f = 1e3;\n return U && (f = retryPolicyGetMillisToBackoffForRetry(U - 1)), I.set(d, g * f);\n }\n function _clearScheduledTimer() {\n return null !== x && (I.clear(x), x = null, H = 0, !0);\n }\n function _releaseAllQueues(d, g) {\n _clearScheduledTimer(), A && (I.clear(A), A = null), M || _sendEventsForLatencyAndAbove(1, d, g);\n }\n function _clearQueues() {\n V[4] = {\n batches: [],\n iKeyMap: {}\n }, V[3] = {\n batches: [],\n iKeyMap: {}\n }, V[2] = {\n batches: [],\n iKeyMap: {}\n }, V[1] = {\n batches: [],\n iKeyMap: {}\n };\n }\n function _getEventBatch(d, g, f) {\n var m = V[g];\n m || (m = V[g = 1]);\n var v = m.iKeyMap[d];\n return !v && f && (v = St.create(d), m.batches.push(v), m.iKeyMap[d] = v), v;\n }\n function _performAutoFlush(g, f) {\n S.canSendRequest() && !U && (C > 0 && D > C && (f = !0), f && null == A && d.flush(g, null, 20));\n }\n function _addEventToProperQueue(d, g) {\n B && (d = (0, _.Ax)(d));\n var f = d.latency,\n m = _getEventBatch(d.iKey, f, !0);\n return !!m.addEvent(d) && (4 !== f ? (D++, g && 0 === d.sendAttempt && _performAutoFlush(!d.sync, T > 0 && m.count() >= T)) : w++, !0);\n }\n function _dropEventWithLatencyOrLess(d, g, f, m) {\n for (; f <= g;) {\n var v = _getEventBatch(d, g, !0);\n if (v && v.count() > 0) {\n var y = v.split(0, m),\n S = y.count();\n if (S > 0) return 4 === f ? w -= S : D -= S, _notifyBatchEvents(ei, [y], Be.QueueFull), !0;\n }\n f++;\n }\n return _resetQueueCounts(), !1;\n }\n function _resetQueueCounts() {\n for (var d = 0, g = 0, _loop_1 = function (f) {\n var m = V[f];\n m && m.batches && (0, _.tO)(m.batches, function (m) {\n 4 === f ? d += m.count() : g += m.count();\n });\n }, f = 1; f <= 4; f++) _loop_1(f);\n D = g, w = d;\n }\n function _queueBatches(g, f, m) {\n var v = !1,\n y = 0 === f;\n return !y || S.canSendRequest() ? (0, Ce.Lm)(d.core, function () {\n return \"PostChannel._queueBatches\";\n }, function () {\n for (var d = [], f = 4; f >= g;) {\n var m = V[f];\n m && m.batches && m.batches.length > 0 && ((0, _.tO)(m.batches, function (g) {\n S.addBatch(g) ? v = v || g && g.count() > 0 : d = d.concat(g.events()), 4 === f ? w -= g.count() : D -= g.count();\n }), m.batches = [], m.iKeyMap = {}), f--;\n }\n d.length > 0 && _notifyEvents(ei, d, Be.KillSwitch), v && j >= g && (j = -1, E = 0);\n }, function () {\n return {\n latency: g,\n sendType: f,\n sendReason: m\n };\n }, !y) : (j = j >= 0 ? Math.min(j, g) : g, E = Math.max(E, m)), v;\n }\n function _flushImpl(d, g) {\n _sendEventsForLatencyAndAbove(1, 0, g), _resetQueueCounts(), _waitForIdleManager(function () {\n d && d(), R.length > 0 ? A = _createTimer(function () {\n A = null, _flushImpl(R.shift(), g);\n }, 0) : (A = null, _scheduleTimer());\n });\n }\n function _waitForIdleManager(d) {\n S.isCompletelyIdle() ? d() : A = _createTimer(function () {\n A = null, _waitForIdleManager(d);\n }, zt);\n }\n function _resetTransmitProfiles() {\n _clearScheduledTimer(), _initializeProfiles(), k = We, _scheduleTimer();\n }\n function _initializeProfiles() {\n (L = {})[We] = [2, 1, 0], L[Ge] = [6, 3, 0], L[qe] = [18, 9, 0];\n }\n function _requeueEvents(g, f) {\n var m = [],\n v = G;\n W && (v = q), (0, _.tO)(g, function (g) {\n g && g.count() > 0 && (0, _.tO)(g.events(), function (g) {\n g && (g.sync && (g.latency = 4, g.sync = !1), g.sendAttempt < v ? ((0, y.if)(g, d.identifier), _addEventToQueues(g, !1)) : m.push(g));\n });\n }), m.length > 0 && _notifyEvents(ei, m, Be.NonRetryableStatus), W && _releaseAllQueues(2, 2);\n }\n function _callNotification(g, f) {\n var m = d._notificationManager || {},\n v = m[g];\n if (v) try {\n v.apply(m, f);\n } catch (f) {\n (0, _e.kP)(d.diagLog(), 1, 74, g + \" notification failed: \" + f);\n }\n }\n function _notifyEvents(d, g) {\n for (var f = [], m = 2; m < arguments.length; m++) f[m - 2] = arguments[m];\n g && g.length > 0 && _callNotification(d, [g].concat(f));\n }\n function _notifyBatchEvents(d, g) {\n for (var f = [], m = 2; m < arguments.length; m++) f[m - 2] = arguments[m];\n g && g.length > 0 && (0, _.tO)(g, function (g) {\n g && g.count() > 0 && _callNotification(d, [g.events()].concat(f));\n });\n }\n function _sendingEvent(d, g, f) {\n d && d.length > 0 && _callNotification(\"eventsSendRequest\", [g >= 1e3 && g <= 1999 ? g - 1e3 : 0, !0 !== f]);\n }\n function _eventsSentEvent(d, g) {\n _notifyBatchEvents(\"eventsSent\", d, g), _scheduleTimer();\n }\n function _eventsDropped(d, g) {\n _notifyBatchEvents(ei, d, g >= 8e3 && g <= 8999 ? g - 8e3 : Be.Unknown);\n }\n function _eventsResponseFail(d) {\n _notifyBatchEvents(ei, d, Be.NonRetryableStatus), _scheduleTimer();\n }\n function _otherEvent(d, g) {\n _notifyBatchEvents(ei, d, Be.Unknown), _scheduleTimer();\n }\n function _setAutoLimits() {\n T = g && g.disableAutoBatchFlushLimit ? 0 : Math.max(Kt * (Xt + 1), N / 6);\n }\n _initDefaults(), d._getDbgPlgTargets = function () {\n return [S];\n }, d.initialize = function (v, T, E) {\n (0, Ce.Lm)(T, function () {\n return \"PostChannel:initialize\";\n }, function () {\n var P = T;\n f.initialize(v, T, E);\n try {\n T[ri];\n b = (0, je.jU)((0, Re.J)(d.identifier), T.evtNamespace && T.evtNamespace());\n var R = d._getTelCtx();\n v.extensionConfig[d.identifier] = v.extensionConfig[d.identifier] || {}, g = R.getExtCfg(d.identifier), I = createTimeoutWrapper(g.setTimeoutOverride, g.clearTimeoutOverride), B = !g.disableOptimizeObj && (0, y.mJ)(), _hookWParam(P), g.eventsLimitInMem > 0 && (N = g.eventsLimitInMem), g.immediateEventLimit > 0 && (O = g.immediateEventLimit), g.autoFlushEventsLimit > 0 && (C = g.autoFlushEventsLimit), (0, _.hj)(g[ii]) && (G = g[ii]), (0, _.hj)(g[ni]) && (q = g[ni]), _setAutoLimits(), g.httpXHROverride && g.httpXHROverride.sendPOST && (m = g.httpXHROverride), (0, y.Sn)(v.anonCookieName) && S.addQueryStringParameter(\"anoncknm\", v.anonCookieName), S.sendHook = g.payloadPreprocessor, S.sendListener = g.payloadListener;\n var A = g.overrideEndpointUrl ? g.overrideEndpointUrl : v.endpointUrl;\n d._notificationManager = T.getNotifyMgr(), S.initialize(A, d.core, d, m, g);\n var M = v.disablePageUnloadEvents || [];\n (0, je.c9)(_handleUnloadEvents, M, b), (0, je.TJ)(_handleUnloadEvents, M, b), (0, je.nD)(_handleShowEvents, v.disablePageShowEvents, b);\n } catch (g) {\n throw d.setInitialized(!1), g;\n }\n }, function () {\n return {\n coreConfig: v,\n core: T,\n extensions: E\n };\n });\n }, d.processTelemetry = function (f, m) {\n (0, y.if)(f, d.identifier);\n var v = (m = d._getTelCtx(m)).getExtCfg(d.identifier),\n S = !!g.disableTelemetry;\n v && (S = S || !!v.disableTelemetry);\n var _ = f;\n S || P || (g[ti] && (_.iKey = g[ti]), v && v[ti] && (_.iKey = v[ti]), _addEventToQueues(_, !0), W ? _releaseAllQueues(2, 2) : _scheduleTimer()), d.processNext(_, m);\n }, d._doTeardown = function (d, g) {\n _releaseAllQueues(2, 2), P = !0, S.teardown(), (0, je.JA)(null, b), (0, je.C9)(null, b), (0, je.Yl)(null, b), _initDefaults();\n }, d.setEventQueueLimits = function (d, g) {\n N = d > 0 ? d : 1e4, C = g > 0 ? g : 0, _setAutoLimits();\n var f = D > d;\n if (!f && T > 0) for (var m = 1; !f && m <= 3; m++) {\n var v = V[m];\n v && v.batches && (0, _.tO)(v.batches, function (d) {\n d && d.count() >= T && (f = !0);\n });\n }\n _performAutoFlush(!0, f);\n }, d.pause = function () {\n _clearScheduledTimer(), M = !0, S.pause();\n }, d.resume = function () {\n M = !1, S.resume(), _scheduleTimer();\n }, d.addResponseHandler = function (d) {\n S._responseHandlers.push(d);\n }, d._loadTransmitProfiles = function (d) {\n _resetTransmitProfiles(), (0, _.rW)(d, function (d, g) {\n var f = g.length;\n if (f >= 2) {\n var m = f > 2 ? g[2] : 0;\n if (g.splice(0, f - 2), g[1] < 0 && (g[0] = -1), g[1] > 0 && g[0] > 0) {\n var v = g[0] / g[1];\n g[0] = Math.ceil(v) * g[1];\n }\n m >= 0 && g[1] >= 0 && m > g[1] && (m = g[1]), g.push(m), L[d] = g;\n }\n });\n }, d.flush = function (d, g, f) {\n if (void 0 === d && (d = !0), !M) if (f = f || 1, d) null == A ? (_clearScheduledTimer(), _queueBatches(1, 0, f), A = _createTimer(function () {\n A = null, _flushImpl(g, f);\n }, 0)) : R.push(g);else {\n var m = _clearScheduledTimer();\n _sendEventsForLatencyAndAbove(1, 1, f), null != g && g(), m && _scheduleTimer();\n }\n }, d.setMsaAuthTicket = function (d) {\n S.addHeader(ht, d);\n }, d.hasEvents = _hasEvents, d._setTransmitProfile = function (d) {\n k !== d && void 0 !== L[d] && (_clearScheduledTimer(), k = d, _scheduleTimer());\n }, d._backOffTransmission = function () {\n U < Yt && (U++, _clearScheduledTimer(), _scheduleTimer());\n }, d._clearBackOff = function () {\n U && (U = 0, _clearScheduledTimer(), _scheduleTimer());\n }, (0, _.l_)(d, \"_setTimeoutOverride\", function () {\n return I.set;\n }, function (d) {\n I = createTimeoutWrapper(d, I.clear);\n }), (0, _.l_)(d, \"_clearTimeoutOverride\", function () {\n return I.clear;\n }, function (d) {\n I = createTimeoutWrapper(I.set, d);\n });\n }), f;\n }\n return (0, m.ne)(PostChannel, d), PostChannel.__ieDyn = 1, PostChannel;\n }(S.i),\n ai = oi,\n si = f(41625),\n li = f(4528);\n function canUseLocalStorage() {\n return void 0 === qt && (qt = !!_getVerifiedStorageObject(0)), qt;\n }\n function _getLocalStorageObject() {\n return canUseLocalStorage() ? _getVerifiedStorageObject(0) : null;\n }\n function _getVerifiedStorageObject(d) {\n var g,\n f,\n m = null;\n try {\n var v = (0, Te.Rd)();\n if (!v) return null;\n f = new Date(), (m = 0 === d ? v.localStorage : v.sessionStorage) && (0, _.mf)(m.setItem) && (m.setItem(f, f), g = m.getItem(f) !== f, m.removeItem(f), g && (m = null));\n } catch (d) {\n m = null;\n }\n return m;\n }\n function setStorage(d, g, f) {\n var m = _getLocalStorageObject();\n if (null !== m) try {\n return m.setItem(g, f), !0;\n } catch (g) {\n qt = !1, (0, _e.kP)(d, 1, 504, \"Browser failed write to local storage. \" + g);\n }\n return !1;\n }\n function getStorage(d, g) {\n var f = _getLocalStorageObject();\n if (null !== f) try {\n return f.getItem(g);\n } catch (g) {\n qt = !1, (0, _e.kP)(d, 1, 503, \"Browser failed read of local storage. \" + g);\n }\n return null;\n }\n /**\r\n \t* Session.ts\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _getId() {\n return this.getId();\n }\n function _setId(d) {\n this.setId(d);\n }\n var ci = function () {\n function Session() {\n (0, v.Z)(Session, this, function (d) {\n d.setId = function (g) {\n d.customId = g;\n }, d.getId = function () {\n return (0, _.HD)(d.customId) ? d.customId : d.automaticId;\n };\n });\n }\n return Session._staticInit = void (0, _.l_)(Session.prototype, \"id\", _getId, _setId), Session;\n }(),\n di = \"ai_session\",\n ui = function () {\n function SessionManager(d, g) {\n var f,\n m,\n S = (0, _e.vH)(d),\n C = (0, q.JP)(d);\n (0, v.Z)(SessionManager, this, function (d) {\n var v = getDefaultConfig(g);\n function getDefaultConfig(d) {\n return {\n sessionRenewalMs: d.sessionRenewalMs && function () {\n return d.sessionRenewalMs;\n },\n sessionExpirationMs: d.sessionExpirationMs && function () {\n return d.sessionExpirationMs;\n },\n cookieDomain: d.cookieDomain && function () {\n return d.cookieDomain;\n },\n namePrefix: d.namePrefix && function () {\n return d.namePrefix;\n },\n sessionAsGuid: function () {\n return d.sessionAsGuid;\n },\n idLength: function () {\n return d.idLength ? d.idLength : 22;\n }\n };\n }\n function _initializeAutomaticSession() {\n var g = C.get(m());\n if (g && (0, _.mf)(g.split)) _initializeAutomaticSessionWithData(g);else {\n var f = getStorage(S, m());\n f && _initializeAutomaticSessionWithData(f);\n }\n d.automaticSession.getId() || _renew();\n }\n function _initializeAutomaticSessionWithData(g) {\n var f = d.automaticSession,\n m = g.split(\"|\");\n m.length > 0 && f.setId(m[0]);\n try {\n if (m.length > 1) {\n var v = +m[1];\n f.acquisitionDate = +new Date(v), f.acquisitionDate = f.acquisitionDate > 0 ? f.acquisitionDate : 0;\n }\n if (m.length > 2) {\n var y = +m[2];\n f.renewalDate = +new Date(y), f.renewalDate = f.renewalDate > 0 ? f.renewalDate : 0;\n }\n } catch (d) {\n (0, _e.kP)(S, 1, 510, \"Error parsing ai_session cookie, session will be reset: \" + d);\n }\n 0 === f.renewalDate && (0, _e.kP)(S, 2, 517, \"AI session renewal date is 0, session will be reset.\");\n }\n function _renew() {\n var g = d.automaticSession,\n f = new Date().getTime(),\n m = d.config.sessionAsGuid();\n !(0, _.o8)(m) && m ? (0, _.jn)(m) ? g.setId((0, y.cm)()) : g.setId((0, y.cm)(m)) : g.setId((0, li.pZ)(v && v.idLength ? v.idLength() : 22)), g.acquisitionDate = f, g.renewalDate = f, _setCookie(g.getId(), g.acquisitionDate, g.renewalDate), canUseLocalStorage() || (0, _e.kP)(S, 2, 505, \"Browser does not support local storage. Session durations will be inaccurate.\");\n }\n function _setCookie(g, v, y) {\n var S = v + d.config.sessionExpirationMs(),\n _ = y + d.config.sessionRenewalMs(),\n T = new Date(),\n E = [g, v, y];\n S < _ ? T.setTime(S) : T.setTime(_);\n var b = d.config.cookieDomain ? d.config.cookieDomain() : null;\n C.set(m(), E.join(\"|\") + \";expires=\" + T.toUTCString(), null, b), f = new Date().getTime();\n }\n function _setStorage(d, g, f) {\n setStorage(S, m(), [d, g, f].join(\"|\"));\n }\n (0, _.mf)(g.sessionExpirationMs) || (v.sessionExpirationMs = function () {\n return SessionManager.acquisitionSpan;\n }), (0, _.mf)(g.sessionRenewalMs) || (v.sessionRenewalMs = function () {\n return SessionManager.renewalSpan;\n }), d.config = v, m = function () {\n return d.config.namePrefix && d.config.namePrefix() ? di + d.config.namePrefix() : di;\n }, d.automaticSession = new ci(), d.update = function () {\n d.automaticSession.getId() || _initializeAutomaticSession();\n var g = d.automaticSession,\n m = d.config,\n v = new Date().getTime(),\n y = v - g.acquisitionDate > m.sessionExpirationMs(),\n S = v - g.renewalDate > m.sessionRenewalMs();\n if (y || S) _renew();else {\n (!f || v - f > SessionManager.cookieUpdateInterval) && (g.renewalDate = v, _setCookie(g.getId(), g.acquisitionDate, g.renewalDate));\n }\n }, d.backup = function () {\n var g = d.automaticSession;\n _setStorage(g.getId(), g.acquisitionDate, g.renewalDate);\n };\n });\n }\n return SessionManager.acquisitionSpan = 864e5, SessionManager.renewalSpan = 18e5, SessionManager.cookieUpdateInterval = 6e4, SessionManager;\n }(),\n pi = function () {\n function Cloud() {}\n return Cloud;\n }(),\n hi = function () {\n function Device() {}\n return Device;\n }();\n /**\r\n \t* SessionManager.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n /**\r\n \t* IntWeb.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function IntWeb_getMsfpc() {\n return this.getMsfpc();\n }\n function _getAnid() {\n return this.getAnid();\n }\n var gi = function () {\n function IntWeb(d, g) {\n var f = (0, q.JP)(g);\n (0, v.Z)(IntWeb, this, function (g) {\n d.serviceName && (g.serviceName = d.serviceName), g.getMsfpc = function () {\n return (0, y.Do)(f, \"MSFPC\");\n }, g.getAnid = function () {\n return (0, y.Do)(f, \"ANON\").slice(0, 34);\n };\n });\n }\n var d;\n return IntWeb._staticInit = (d = IntWeb.prototype, (0, _.l_)(d, \"msfpc\", IntWeb_getMsfpc), void (0, _.l_)(d, \"anid\", _getAnid)), IntWeb;\n }(),\n fi = function () {\n function Loc() {\n var d = new Date().getTimezoneOffset(),\n g = d % 60,\n f = (d - g) / 60,\n m = \"+\";\n f > 0 && (m = \"-\"), f = Math.abs(f), g = Math.abs(g), this.tz = m + (f < 10 ? \"0\" + f : f.toString()) + \":\" + (g < 10 ? \"0\" + g : g.toString());\n }\n return Loc;\n }(),\n mi = f(48),\n vi = \"MicrosoftApplicationsTelemetryDeviceId\";\n /**\r\n \t* Loc.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _saveData(d, g, f, m) {\n g ? g.setProperty(f, m) : d.set(f, m, 31536e3);\n }\n function _getData(d, g, f) {\n return g ? g.getProperty(f) || \"\" : (0, y.Do)(d, f);\n }\n var yi = function () {\n function Sdk(d, g) {\n var f = 0;\n (0, v.Z)(Sdk, this, function (m) {\n var v = d.propertyStorageOverride;\n m.seq = f, m.epoch = (0, li._l)(!1).toString();\n var y = (0, q.JP)(g, d);\n if (y.isEnabled() || v) {\n var S = _getData(y, v, vi);\n S || (S = (0, mi.GW)()), _saveData(y, v, vi, S), m.installId = S;\n } else y.purge(vi);\n m.getSequenceId = function () {\n return ++f;\n };\n });\n }\n return Sdk.__ieDyn = 1, Sdk;\n }(),\n Si = function () {\n function Trace(d, g, f, m) {\n var v = this;\n if (v.traceId = g || (0, mi.DO)(), d.enableDistributedTracing && !f && (f = (0, mi.DO)().substring(0, 16)), v.parentId = f, d.enableApplicationInsightsTrace) {\n v.name = m;\n var y = (0, z.k$)();\n y && y.pathname && (v.name = y.pathname);\n }\n }\n return Trace;\n }(),\n _i = \"setLocalId\";\n /**\r\n \t* AITrace.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _getLocalId() {\n return this.getLocalId();\n }\n function _setLocalId(d) {\n this[_i](d);\n }\n var Ci = function () {\n function User(d, g, f) {\n var m,\n S = g,\n C = (0, q.JP)(f, d);\n (0, v.Z)(User, this, function (g) {\n if (C && C.isEnabled() && (_populateMuidFromCookie(), S.enableApplicationInsightsUser)) {\n var f = (0, y.Do)(C, User.userCookieName);\n if (f) {\n var v = f.split(User.cookieSeparator);\n v.length > 0 && (g.id = v[0]);\n }\n if (!g.id) {\n g.id = (0, li.pZ)(d && !(0, _.o8)(d.idLength) ? d.idLength : 22);\n var T = (0, _.Y6)(new Date());\n g.accountAcquisitionDate = T;\n var E = [g.id, T],\n b = S.cookieDomain ? S.cookieDomain : void 0;\n C.set(User.userCookieName, E.join(User.cookieSeparator), 31536e3, b);\n }\n }\n if (\"undefined\" != typeof navigator) {\n var I = navigator;\n g.locale = I.userLanguage || I.language;\n }\n function _populateMuidFromCookie() {\n if (!S.hashIdentifiers && !S.dropIdentifiers) {\n var d = (0, y.Do)(C, \"MUID\");\n d && (m = \"t:\" + d);\n }\n return m;\n }\n g.getLocalId = function () {\n return m || _populateMuidFromCookie();\n }, g[_i] = function (d) {\n m = d;\n };\n });\n }\n return User.cookieSeparator = \"|\", User.userCookieName = \"ai_user\", User._staticInit = void (0, _.l_)(User.prototype, \"localId\", _getLocalId, _setLocalId), User;\n }(),\n Ti = 1048576,\n Ei = 2097152,\n bi = function () {\n function Utc(d) {\n var g = this;\n g.popSample = 100, g.eventFlags = 0, d.hashIdentifiers && (g.eventFlags = g.eventFlags | Ti), d.dropIdentifiers && (g.eventFlags = g.eventFlags | Ei);\n }\n return Utc;\n }(),\n Ii = \"([\\\\d,.]+)\",\n Pi = \"Unknown\",\n Ri = \"Edg/\",\n Ai = [{\n ua: \"OPR/\",\n b: \"Opera\"\n }, {\n ua: \"PhantomJS\",\n b: \"PhantomJS\"\n }, {\n ua: \"Edge\",\n b: \"Edge\"\n }, {\n ua: Ri,\n b: \"Edge\"\n }, {\n ua: \"Electron\",\n b: \"Electron\"\n }, {\n ua: \"Chrome\",\n b: \"Chrome\"\n }, {\n ua: \"Trident\",\n b: \"MSIE\"\n }, {\n ua: \"MSIE \",\n b: \"MSIE\"\n }, {\n ua: \"Firefox\",\n b: \"Firefox\"\n }, {\n ua: \"Safari\",\n b: \"Safari\"\n }, {\n ua: \"SkypeShell\",\n b: \"SkypeShell\"\n }],\n Mi = [{\n br: \"Microsoft Edge\",\n b: \"Edge\"\n }, {\n br: \"Google Chrome\",\n b: \"Chrome\"\n }, {\n br: \"Opera\",\n b: \"Opera\"\n }];\n /**\r\n \t* Utc.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _userAgentContainsString(d, g) {\n return g.indexOf(d) > -1;\n }\n function _getBrandVersion(d, g) {\n for (var f = 0; f < g.length; f++) if (d == g[f].brand) return g[f].version;\n return null;\n }\n function _getBrowserName(d) {\n if (d) for (var g = 0; g < Ai.length; g++) {\n if (_userAgentContainsString(Ai[g].ua, d)) return Ai[g].b;\n }\n return Pi;\n }\n function _getBrowserVersion(d, g) {\n return \"MSIE\" === g ? _getIeVersion(d) : _getOtherVersion(g, d);\n }\n function _getIeVersion(d) {\n var g = d.match(new RegExp(\"MSIE \" + Ii));\n if (g) return g[1];\n var f = d.match(new RegExp(\"rv:\" + Ii));\n return f ? f[1] : void 0;\n }\n function _getOtherVersion(d, g) {\n \"Safari\" === d ? d = \"Version\" : \"Edge\" === d && _userAgentContainsString(Ri, g) && (d = \"Edg\");\n var f = g.match(new RegExp(d + \"/\" + Ii));\n return f || \"Opera\" === d && (f = g.match(new RegExp(\"OPR/\" + Ii))) ? f[1] : Pi;\n }\n function _getScreenResolution() {\n var d = {\n h: 0,\n w: 0\n },\n g = (0, z.Jj)();\n return g && g.screen && (d.h = screen.height, d.w = screen.width), d;\n }\n function _getUserConsent() {\n return this.getUserConsent();\n }\n var wi = function () {\n function Web(d, g) {\n var f = (0, q.JP)(g),\n m = d || {};\n (0, v.Z)(Web, this, function (d) {\n var g = (0, z.k$)();\n if (g) {\n var v = g.hostname;\n v && (d.domain = \"file:\" === g.protocol ? \"local\" : v);\n }\n if (m.populateBrowserInfo) {\n var S = m.userAgent,\n C = (m.userAgentData || {}).brands,\n T = (0, z.jW)();\n T && (S = S || T.userAgent || \"\", C = C || (T.userAgentData || {}).brands), _parseUserAgent(S, C);\n var E = _getScreenResolution();\n d.screenRes = E.w + \"X\" + E.h;\n }\n function _parseUserAgent(g, f) {\n if ((0, _.kJ)(f)) try {\n for (var m = 0; m < Mi.length; m++) {\n var v = _getBrandVersion(Mi[m].br, f);\n if (v) return d.browser = Mi[m].b, void (d.browserVer = v);\n }\n } catch (d) {}\n if (g) {\n var y = _getBrowserName(g);\n d.browser = y, d.browserVer = _getBrowserVersion(g, y);\n }\n }\n d.getUserConsent = function () {\n return m.userConsented || !!(0, y.Do)(f, m.userConsentCookieName || \"MSCC\");\n }, d.getUserConsentDetails = function () {\n try {\n var d = m.callback;\n if (d && d.userConsentDetails) {\n var g = d.userConsentDetails();\n if (g) return JSON.stringify({\n Required: g.Required || !1,\n Analytics: g.Analytics || !1,\n SocialMedia: g.SocialMedia || !1,\n Advertising: g.Advertising || !1\n });\n }\n } catch (d) {}\n return null;\n }, (0, _.l_)(d, \"userConsent\", d.getUserConsent);\n });\n }\n return Web._staticInit = void (0, _.l_)(Web.prototype, \"userConsent\", _getUserConsent), Web;\n }();\n /**\r\n \t* TelemetryContext.ts\r\n \t* @author Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2019\r\n \t*/\n function _applyExtValues(d, g, f, m, v) {\n var y = g.ext[O[d]];\n return y && (0, _.rW)(m, function (d, g) {\n if ((0, _.HD)(g) || (0, _.hj)(g) || (0, _.jn)(g)) {\n var m = y[f[d]];\n !v && (m || (0, _.HD)(m) || (0, _.hj)(m) || (0, _.jn)(m)) && (g = m), y[f[d]] = g;\n }\n }), y;\n }\n var Oi = function () {\n function TelemetryContext(d, g, f) {\n (0, v.Z)(TelemetryContext, this, function (m) {\n m.app = new J(g, f), m.cloud = new pi(), m.user = new Ci(d, g, f), m.os = new se(g), m.web = new wi(g, f);\n var v = new yi(d, f),\n y = new gi(g, f),\n S = new bi(g);\n m.loc = new fi(), m.device = new hi();\n var C = new ui(f, g);\n m.session = new ci();\n var T = createDistributedTraceContextFromTraceCtx(new Si(g), _getTraceCtx()),\n E = !(g || {}).eventContainExtFields;\n function _getSessionId() {\n var d = m.session;\n if (d && (0, _.HD)(d.customId)) return d.customId;\n C.update();\n var g = C.automaticSession;\n if (g) {\n var f = g.getId();\n f && (0, _.HD)(f) && (d.automaticId = f);\n }\n return d.automaticId;\n }\n function _getTraceCtx() {\n var d = T;\n return f && f.getTraceCtx && (d = f.getTraceCtx(!1) || T), d;\n }\n m.getTraceCtx = function () {\n return T;\n }, m.getSessionId = _getSessionId, m.applyApplicationContext = function (d) {\n var g,\n f = m.app;\n _applyExtValues(4, d, D, ((g = {})[0] = f.id, g[1] = f.ver, g[2] = f.name, g[3] = f.locale, g[4] = f.getExpId(), g[5] = f.env, g), E);\n }, m.applyUserContext = function (d) {\n var g,\n f = m.user;\n _applyExtValues(0, d, L, ((g = {})[1] = f.getLocalId(), g[0] = f.locale, g[2] = f.id, g), E);\n }, m.applyWebContext = function (d) {\n var g,\n f = m.web;\n _applyExtValues(3, d, N, ((g = {})[0] = f.domain, g[1] = f.browser, g[2] = f.browserVer, g[3] = f.screenRes, g[5] = f.getUserConsentDetails(), g[4] = f.getUserConsent(), g), E);\n }, m.applyOsContext = function (d) {\n var g,\n f = m.os;\n _applyExtValues(5, d, k, ((g = {})[0] = f.name, g[1] = f.ver, g), E);\n }, m.applySdkContext = function (d) {\n var g;\n _applyExtValues(6, d, x, ((g = {})[2] = v.installId, g[1] = v.getSequenceId(), g[3] = v.epoch, g), E);\n }, m.applyIntWebContext = function (d) {\n var g;\n _applyExtValues(7, d, F, ((g = {})[0] = y.getMsfpc(), g[1] = y.getAnid(), g[2] = y.serviceName, g), E);\n }, m.applyUtcContext = function (d) {\n var g,\n f = ((g = {})[0] = S.popSample, g);\n S.eventFlags > 0 && (f[1] = S.eventFlags), _applyExtValues(8, d, U, f, E);\n }, m.applyLocContext = function (d) {\n var g;\n _applyExtValues(9, d, H, ((g = {})[0] = m.loc.tz, g), E);\n }, m.applySessionContext = function (d) {\n var g;\n _applyExtValues(4, d, V, ((g = {})[0] = _getSessionId(), g), E);\n }, m.applyDeviceContext = function (d) {\n var g,\n f = m.device;\n _applyExtValues(1, d, j, ((g = {})[0] = f.localId, g[2] = f.make, g[3] = f.model, g[1] = f.deviceClass, g), E);\n }, m.applyCloudContext = function (d) {\n var g,\n f = m.cloud;\n _applyExtValues(10, d, B, ((g = {})[0] = f.role, g[1] = f.roleInstance, g[2] = f.roleVer, g), E);\n }, m.applyAITraceContext = function (d) {\n var f;\n if (g.enableApplicationInsightsTrace) {\n var m = _getTraceCtx();\n m && _applyExtValues(2, d, W, ((f = {})[0] = m.getTraceId(), f[1] = m.getName(), f[2] = m.getSpanId(), f), !1);\n }\n }, m.applyDistributedTraceContext = function (d) {\n var g,\n f = _getTraceCtx();\n if (f) {\n var m = ((g = {})[0] = f.getTraceId(), g[1] = f.getSpanId(), g),\n v = f.getTraceFlags();\n (0, _.le)(v) || (m[2] = v), _applyExtValues(11, d, G, m, !1);\n }\n };\n });\n }\n return TelemetryContext.__ieDyn = 1, TelemetryContext;\n }();\n function createDistributedTraceContextFromTraceCtx(d, g) {\n var f = d || {};\n return {\n getName: function () {\n return f.name;\n },\n setName: function (d) {\n g && g.setName(d), f.name = d;\n },\n getTraceId: function () {\n return f.traceId;\n },\n setTraceId: function (d) {\n g && g.setTraceId(d), (0, si.jN)(d) && (f.traceId = d);\n },\n getSpanId: function () {\n return f.parentId;\n },\n setSpanId: function (d) {\n g && g.setSpanId(d), (0, si.Lc)(d) && (f.parentId = d);\n },\n getTraceFlags: function () {\n return f.traceFlags;\n },\n setTraceFlags: function (d) {\n g && g.setTraceFlags(d), f.traceFlags = d;\n }\n };\n }\n /**\r\n \t* PropertiesPlugin.ts\r\n \t* @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh)\r\n \t* @copyright Microsoft 2018\r\n \t*/\n var Di = [O[4], O[0], O[3], O[5], O[6], O[7], O[8], O[9], O[1], O[2], O[11], O[10]],\n Ni = function (d) {\n function PropertiesPlugin() {\n var g,\n f,\n m,\n S = d.call(this) || this;\n return S.identifier = \"SystemPropertiesCollector\", S.priority = 3, S.version = \"3.2.9\", (0, v.Z)(PropertiesPlugin, S, function (d, v) {\n function _initDefaults() {\n g = null, f = {};\n }\n function _addPropertiesIfAbsent(d, g) {\n d && (0, _.rW)(d, function (d, f) {\n g[d] || (g[d] = f);\n });\n }\n _initDefaults(), d.initialize = function (f, y, S) {\n v.initialize(f, y, S), m = d._getTelCtx().getExtCfg(d.identifier), g = new Oi(f, m, y), y && y.setTraceCtx && y.setTraceCtx(g.getTraceCtx());\n }, d.processTelemetry = function (v, S) {\n (0, y.if)(v, d.identifier), S = d._getTelCtx(S);\n var C = v.ext = v.ext ? v.ext : {};\n v.data = v.data ? v.data : {}, (0, _.tO)(Di, function (d) {\n C[d] = C[d] || {};\n }), g && (g.applyApplicationContext(v), g.applyUserContext(v), g.applyWebContext(v), g.applyOsContext(v), g.applySdkContext(v), g.applyIntWebContext(v), g.applyUtcContext(v), g.applyLocContext(v), g.applySessionContext(v), g.applyDeviceContext(v), m.enableApplicationInsightsTrace && g.applyAITraceContext(v), m.enableDistributedTracing && g.applyDistributedTraceContext(v), g.applyCloudContext(v)), (0, _.tO)((0, _.FY)(C), function (d) {\n 0 === (0, _.FY)(C[d]).length && delete C[d];\n }), _addPropertiesIfAbsent(f, v.data), d.processNext(v, S);\n }, d.getPropertiesContext = function () {\n return g;\n }, d.setProperty = function (d, g) {\n f[d] = g;\n }, d._doTeardown = function (d, f) {\n var m = (d || {}).core();\n if (m && m.getTraceCtx && g) {\n var v = m.getTraceCtx(!1);\n v && v === g.getTraceCtx() && m.setTraceCtx(null);\n }\n _initDefaults();\n };\n }), S;\n }\n return (0, m.ne)(PropertiesPlugin, d), PropertiesPlugin.__ieDyn = 1, PropertiesPlugin;\n }(S.i),\n Li = Ni,\n ki = \"_dropInst\";\n function _copyObjProperties(d, g) {\n if (g) for (var f = (0, _.FY)(g), m = 0; m < f.length; m++) {\n var v = f[m];\n (0, _.nr)(d, v) || (d[v] = g[v]);\n }\n }\n function _isChannel(d) {\n return d.pause && d.teardown && d.flush;\n }\n function _getEndpointUrl(d, g) {\n var f = null;\n if (g) {\n g.endpointUrl && (f = g.endpointUrl);\n var m = (g.extensionConfig || {})[d] || {};\n m.overrideEndpointUrl && (f = m.overrideEndpointUrl);\n }\n return f;\n }\n var xi = function (d) {\n function ChildNotificationManager(g, f) {\n var m = d.call(this) || this;\n return (0, v.Z)(ChildNotificationManager, m, function (d, m) {\n function _getEvents(d) {\n var f = [];\n return d && (0, _.tO)(d, function (d) {\n d.iKey === g && f.push(d);\n }), f;\n }\n function _hasListeners(g) {\n if (d[g] && d.listeners) for (var f = 0; f < d.listeners.length; f++) {\n var m = d.listeners[f];\n if (m && m[g]) return !0;\n }\n return !1;\n }\n var v = {\n eventsSent: function (g) {\n if (_hasListeners(\"eventsSent\")) {\n var f = _getEvents(g);\n f.length > 0 && d.eventsSent(f);\n }\n },\n eventsDiscarded: function (g, f) {\n if (_hasListeners(\"eventsDiscarded\")) {\n var m = _getEvents(g);\n m.length > 0 && d.eventsDiscarded(m, f);\n }\n },\n eventsSendRequest: function (g, f) {\n _hasListeners(\"eventsSendRequest\") && d.eventsSendRequest(g, f);\n },\n perfEvent: function (g) {\n _hasListeners(\"perfEvent\") && d.perfEvent(g);\n }\n };\n f.addNotificationListener(v);\n }), m;\n }\n return (0, m.ne)(ChildNotificationManager, d), ChildNotificationManager.__ieDyn = 1, ChildNotificationManager;\n }(Se),\n Fi = function () {\n function ApplicationInsightsManager() {\n var d,\n g,\n f,\n m,\n y,\n S,\n C,\n T,\n E,\n b,\n I,\n P,\n R,\n A,\n M = null,\n w = null;\n (0, v.Z)(ApplicationInsightsManager, this, function (v) {\n function _initDefaults() {\n d = {}, g = [], f = null, m = null, y = [], S = [], C = {}, T = null, E = null, b = null, I = null, P = null, R = null, A = !1;\n }\n function _registerPlugin(g, f) {\n if (void 0 === f && (f = null), g) {\n (_isChannel(g) ? S : y).push(g);\n var m = g.identifier;\n d.extensionConfig[m] = d.extensionConfig[m] || {}, _copyObjProperties(d.extensionConfig[m], f);\n }\n return g;\n }\n function _initializeSharedChannels() {\n var g = d.channels || [[]],\n f = new ai(),\n m = f.identifier,\n v = !1;\n E = null, b = null, (0, _.tO)(g, function (d) {\n (0, _.tO)(d, function (d) {\n (0, _.mf)(d) || (_registerPlugin(d), d.identifier === m && (v = !0, E = d));\n });\n }), v || (g[0].push(f), E = _registerPlugin(f, d.channelConfiguration)), d.channels = g;\n }\n function _initializeSharedExtensions(f) {\n g = [], T = _registerPlugin(new Li(), d.propertyConfiguration), g.push(T), d.extensions && (0, _.tO)(d.extensions, function (d) {\n (0, _.mf)(d) || _registerPlugin(d);\n }), f && (0, _.tO)(f, function (d) {\n d && !(0, _.mf)(d) && g.push(_registerPlugin(d));\n });\n }\n function _initializeSharedInstance(y) {\n if (!f) {\n A || (0, _e.kP)(v.diagLog(), 2, 520, \"The Shared Manager is not yet created, the returned shared instance will be overwritten\");\n var S = _createMergedConfig(y || d.instrumentationKey || \"_not_defined_\", {});\n m = new Se(), (f = new Hi(v, v.diagLog(), m)).initialize(S, g), f.isInitialized() && E && (b = _getEndpointUrl(E.identifier, S)), M && f.setCookieMgr(M);\n }\n }\n function _createMergedConfig(g, f) {\n var m = {};\n return m.instrumentationKey = g, m.channels = _createMergedChannels(f), _populateMergedConfigExtensions(m), _copyObjProperties(m, f), _copyObjProperties(m, d), m;\n }\n function _createMergedChannels(g) {\n var f = [[]];\n return d.channels && (0, _.tO)(d.channels, function (d, g) {\n (0, _.mf)(d) || (f[g] = f[g] || [], f[g] = f[g].concat(d));\n }), g && g.channels && (0, _.tO)(g.channels, function (d, g) {\n (0, _.mf)(d) || (f[g] = f[g] || [], f[g] = f[g].concat(d));\n }), f;\n }\n function _populateMergedConfigExtensions(g) {\n var f = [];\n d.extensions && d.extensions.length > 0 && (f = f.concat(d.extensions)), g && g.extensions && g.extensions.length > 0 && (f = f.concat(g.extensions)), f.length > 0 && (g.extensions = f), g.extensionConfig = g.extensionConfig || {}, _copyObjProperties(g.extensionConfig, d.extensionConfig);\n }\n function _createMergedExtensions(d) {\n var f = [];\n return g && g.length > 0 && (f = f.concat(g)), d && d.length > 0 && (f = f.concat(d)), f;\n }\n function _unloadInstance(d, g, f, m) {\n var v = C[d];\n v && (v.inst && v.inst.isInitialized() ? v.inst.unload(g, function (g) {\n f && f(d, g);\n }, m) : f && f(d, {\n reason: 50,\n isAsync: g,\n flushComplete: !1\n }));\n }\n _initDefaults(), v.diagLog = function () {\n return I || (I = new _e.AQ(d)), I;\n }, v.getCookieMgr = function () {\n return _initializeSharedInstance(), M || f.getCookieMgr();\n }, v.setCookieMgr = function (d) {\n M = d, f && f.setCookieMgr(d);\n }, v.getPerfMgr = function () {\n return R || d && d.enablePerfMgr && (R = w || new Ce.Jk(v.getNotifyMgr())), R;\n }, v.setPerfMgr = function (d) {\n w = d, R = d;\n }, v.create = function (g, m) {\n A ? (0, _e.kP)(v.diagLog(), 2, 514, \"Shared Manager has already been initialized.\") : (d = g || {}, f = null, _initializeSharedChannels(), _initializeSharedExtensions(m));\n }, v.getInst = function (d) {\n return (C[d] || {}).inst;\n }, v.newInst = function (d, g, y) {\n var S = v.getInst(d);\n if (S) return (0, _e.kP)(v.diagLog(), 2, 514, \"Instance already exists for [\" + d + \"]\"), S;\n if (_initializeSharedInstance(d), f.isInitialized()) {\n var _ = _createMergedConfig(d, g);\n if (E) {\n var T = _getEndpointUrl(E.identifier, _);\n b && T && b !== T && (0, _e.kP)(v.diagLog(), 2, 511, \"The endpointUrl mismatch, shared Url [\" + b + \"] is different from configured [\" + T + \"] shared will be used!\");\n }\n var I = new xi(d, m);\n S = new Hi(v, v.diagLog(), I), C[d] = {\n iKey: d,\n inst: S,\n notifyMgr: I\n }, S.setPerfMgr(v.getPerfMgr()), S.initialize(_, _createMergedExtensions(y)), S.isInitialized() || ((0, _e.kP)(v.diagLog(), 2, 520, \"Failed to initialize new instance!\"), S = null, delete C[d]);\n }\n return S;\n }, v.getSharedPlugin = function (d) {\n _initializeSharedInstance();\n var g = null,\n m = f.getPlugin(d);\n return m && (g = m.plugin), g;\n }, v.getPropertyManager = function () {\n return _initializeSharedInstance(), T;\n }, v.getPostChannel = function () {\n return _initializeSharedInstance(), E;\n }, v.getNotifyMgr = function () {\n return P || (P = new Se()), P;\n }, v.unload = function (d, g, m) {\n var v = (0, _.FY)(C),\n y = v.length + 1,\n S = {\n reason: 50,\n isAsync: d,\n flushComplete: !1\n };\n function _doUnload(d, f) {\n 0 === --y && (_initDefaults(), g && g(f));\n }\n f && ((0, _.tO)(v, function (g) {\n _unloadInstance(g, d, function (d, g) {\n _doUnload(d, g);\n }, m);\n }), f.isInitialized() && (f.unload(d, function (d) {\n _doUnload(null, S = d);\n }, m), f = null)), _doUnload(null, S);\n }, v[ki] = function (d) {\n d && C.iKey && delete C[d];\n };\n });\n }\n return ApplicationInsightsManager.__ieDyn = 1, ApplicationInsightsManager;\n }(),\n Ui = Fi,\n Hi = function (d) {\n function ApplicationInsights(g, f, m) {\n var y,\n S = d.call(this) || this,\n _ = g;\n return (0, v.Z)(ApplicationInsights, S, function (d, g) {\n d.getSharedPropertyManager = function () {\n return _.getPropertyManager();\n }, d.getSharedPostChannel = function () {\n return _.getPostChannel();\n }, d.getOverridePropertyManager = function () {\n return y;\n }, d.initialize = function (v, S) {\n (0, Ce.Lm)(d, function () {\n return \"ApplicationInsights:initialize\";\n }, function () {\n var _ = [y = new me()];\n S && (_ = _.concat(S)), v.extensionConfig = v.extensionConfig || [];\n var C = v.propertyConfiguration || {};\n v.propertyConfiguration && delete v.propertyConfiguration, v.extensionConfig[y.identifier] = C;\n try {\n g.initialize(v, _, f, m);\n } catch (g) {\n (0, _e.kP)(d.logger, 1, 514, \"Failed to initialize SDK.\" + (0, z.eU)(g));\n }\n }, function () {\n return {\n config: v,\n extensions: S\n };\n });\n }, d.unload = function (f, m, v) {\n _[ki] && _[ki]((d.config || {}).instrumentationKey), g.unload(f, m, v);\n };\n }), S;\n }\n return (0, m.ne)(ApplicationInsights, d), ApplicationInsights.__ieDyn = 1, ApplicationInsights;\n }(Ve),\n Vi = f(40661),\n ji = (0, C.By)({\n NotSet: 0,\n Pii_DistinguishedName: 1,\n Pii_GenericData: 2,\n Pii_IPV4Address: 3,\n Pii_IPv6Address: 4,\n Pii_MailSubject: 5,\n Pii_PhoneNumber: 6,\n Pii_QueryString: 7,\n Pii_SipAddress: 8,\n Pii_SmtpAddress: 9,\n Pii_Identity: 10,\n Pii_Uri: 11,\n Pii_Fqdn: 12,\n Pii_IPV4AddressLegacy: 13,\n CustomerContent_GenericContent: 32\n }),\n Bi = (0, C.By)({\n Normal: 1,\n CostDeferred: 2,\n RealTime: 3,\n Immediate: 4\n }),\n Wi = ((0, C.By)({\n Unspecified: 0,\n String: 1,\n Int32: 2,\n UInt32: 3,\n Int64: 4,\n UInt64: 5,\n Double: 6,\n Bool: 7,\n Guid: 8,\n DateTime: 9\n }), (0, C.By)({\n Normal: 1,\n Critical: 2\n })),\n Gi = (0, C.By)({\n NONE: 0,\n ERROR: 1,\n WARNING: 2,\n INFORMATION: 3\n }),\n qi = ((0, _.FL)((0, m.uc)((0, m.uc)({}, Vi.v), (0, C.By)({\n AuthHandShakeError: 501,\n AuthRedirectFail: 502,\n BrowserCannotReadLocalStorage: 503,\n BrowserCannotWriteLocalStorage: 504,\n BrowserDoesNotSupportLocalStorage: 505,\n CannotParseBiBlobValue: 506,\n CannotParseDataAttribute: 507,\n CVPluginNotAvailable: 508,\n DroppedEvent: 509,\n ErrorParsingAISessionCookie: 510,\n ErrorProvidedChannels: 511,\n FailedToGetCookies: 512,\n FailedToInitializeCorrelationVector: 513,\n FailedToInitializeSDK: 514,\n InvalidContentBlob: 515,\n InvalidCorrelationValue: 516,\n SessionRenewalDateIsZero: 517,\n SendPostOnCompleteFailure: 518,\n PostResponseHandler: 519,\n SDKNotInitialized: 520\n }))), 100);\n },\n 25041: function (d, g, f) {\n f.d(g, {\n By: function () {\n return createEnumStyle;\n },\n cc: function () {\n return createValueMap;\n }\n });\n var m = f(92453);\n function createEnumStyle(d) {\n var g = {};\n return (0, m.rW)(d, function (d, f) {\n g[d] = f, g[f] = d;\n }), (0, m._A)(g);\n }\n function createValueMap(d) {\n var g = {};\n return (0, m.rW)(d, function (d, f) {\n g[d] = f[1], g[f[0]] = f[1];\n }), (0, m._A)(g);\n }\n },\n 40661: function (d, g, f) {\n f.d(g, {\n X: function () {\n return N;\n },\n v: function () {\n return L;\n }\n });\n var m,\n v = f(25041),\n y = \"Failed\",\n S = y + \"MonitorAjax\",\n _ = \"Track\",\n C = \"Start\",\n T = \"Stop\",\n E = \"Event\",\n b = \"AuthContext\",\n I = \"Exception\",\n P = \"Local\",\n R = \"Session\",\n A = \"Storage\",\n M = \"Browser\",\n w = \"Cannot\",\n O = \"Buffer\",\n D = \"InstrumentationKey\",\n N = (0, v.By)({\n CRITICAL: 1,\n WARNING: 2\n }),\n L = (0, v.By)(((m = {})[M + \"DoesNotSupport\" + P + A] = 0, m[M + w + \"Read\" + P + A] = 1, m[M + w + \"Read\" + R + A] = 2, m[M + w + \"Write\" + P + A] = 3, m[M + w + \"Write\" + R + A] = 4, m[M + y + \"RemovalFrom\" + P + A] = 5, m[M + y + \"RemovalFrom\" + R + A] = 6, m[w + \"SendEmptyTelemetry\"] = 7, m.ClientPerformanceMathError = 8, m[\"ErrorParsingAI\" + R + \"Cookie\"] = 9, m.ErrorPVCalc = 10, m[I + \"WhileLoggingError\"] = 11, m[y + \"AddingTelemetryTo\" + O] = 12, m[S + \"Abort\"] = 13, m[S + \"Dur\"] = 14, m[S + \"Open\"] = 15, m[S + \"RSC\"] = 16, m[S + \"Send\"] = 17, m[S + \"GetCorrelationHeader\"] = 18, m[y + \"ToAddHandlerForOnBeforeUnload\"] = 19, m[y + \"ToSendQueuedTelemetry\"] = 20, m[y + \"ToReportDataLoss\"] = 21, m[\"Flush\" + y] = 22, m.MessageLimitPerPVExceeded = 23, m.MissingRequiredFieldSpecification = 24, m.NavigationTimingNotSupported = 25, m.OnError = 26, m[R + \"RenewalDateIsZero\"] = 27, m.SenderNotInitialized = 28, m[C + _ + E + y] = 29, m[T + _ + E + y] = 30, m[C + _ + y] = 31, m[T + _ + y] = 32, m.TelemetrySampledAndNotSent = 33, m[_ + E + y] = 34, m[_ + I + y] = 35, m[_ + \"Metric\" + y] = 36, m[_ + \"PV\" + y] = 37, m[_ + \"PV\" + y + \"Calc\"] = 38, m[_ + \"Trace\" + y] = 39, m[\"Transmission\" + y] = 40, m[y + \"ToSet\" + A + O] = 41, m[y + \"ToRestore\" + A + O] = 42, m.InvalidBackendResponse = 43, m[y + \"ToFixDepricatedValues\"] = 44, m.InvalidDurationValue = 45, m.TelemetryEnvelopeInvalid = 46, m.CreateEnvelopeError = 47, m[w + \"SerializeObject\"] = 48, m[w + \"SerializeObjectNonSerializable\"] = 49, m.CircularReferenceDetected = 50, m[\"Clear\" + b + y] = 51, m[I + \"Truncated\"] = 52, m.IllegalCharsInName = 53, m.ItemNotInArray = 54, m.MaxAjaxPerPVExceeded = 55, m.MessageTruncated = 56, m.NameTooLong = 57, m.SampleRateOutOfRange = 58, m[\"Set\" + b + y] = 59, m[\"Set\" + b + y + \"AccountName\"] = 60, m.StringValueTooLong = 61, m.StartCalledMoreThanOnce = 62, m.StopCalledWithoutStart = 63, m[\"TelemetryInitializer\" + y] = 64, m.TrackArgumentsNotSpecified = 65, m.UrlTooLong = 66, m[R + A + O + \"Full\"] = 67, m[w + \"AccessCookie\"] = 68, m.IdTooLong = 69, m.InvalidEvent = 70, m[S + \"SetRequestHeader\"] = 71, m[\"Send\" + M + \"InfoOnUserInit\"] = 72, m[\"Plugin\" + I] = 73, m[\"Notification\" + I] = 74, m.SnippetScriptLoadFailure = 99, m[\"Invalid\" + D] = 100, m[w + \"ParseAiBlobValue\"] = 101, m.InvalidContentBlob = 102, m[_ + \"PageAction\" + E + y] = 103, m[y + \"AddingCustomDefinedRequestContext\"] = 104, m[\"InMemory\" + A + O + \"Full\"] = 105, m[D + \"Deprecation\"] = 106, m));\n },\n 63585: function (d, g, f) {\n f.d(g, {\n i: function () {\n return E;\n }\n });\n var m = f(31340),\n v = f(94433),\n y = f(92453),\n S = f(75048),\n _ = f(91425),\n C = f(21673),\n T = \"getPlugin\",\n E = function () {\n function BaseTelemetryPlugin() {\n var d,\n g,\n f,\n E,\n b,\n I = this;\n function _getTelCtx(d) {\n void 0 === d && (d = null);\n var m = d;\n if (!m) {\n var y = g || (0, _.CD)(null, {}, I[S.oV]);\n m = f && f[T] ? y[v.zV](null, f[T]) : y[v.zV](null, f);\n }\n return m;\n }\n function _setDefaults(d, m, C) {\n d && (0, y.sO)(d, S.Zh, [], null, y.le), !C && m && (C = m[v.SD]()[v.W2]());\n var E = f;\n f && f[T] && (E = f[T]()), I[S.oV] = m, g = (0, _.CD)(C, d, m, E);\n }\n function _initDefaults() {\n d = !1, I[S.oV] = null, g = null, f = null, b = [], E = (0, C.Y)();\n }\n _initDefaults(), (0, m.Z)(BaseTelemetryPlugin, I, function (g) {\n g[v.VL] = function (g, f, m, v) {\n _setDefaults(g, f, v), d = !0;\n }, g[v.fi] = function (d, m) {\n var C,\n I = g[S.oV];\n if (I && (!d || I === d[S.oV]())) {\n var P,\n R = !1,\n A = d || (0, _.Bt)(null, I, f && f[T] ? f[T]() : f),\n M = m || ((C = {\n reason: 0\n })[v.d] = !1, C);\n return g[v.F3] && !0 === g[v.F3](A, M, _unloadCallback) ? P = !0 : _unloadCallback(), P;\n }\n function _unloadCallback() {\n if (!R) {\n R = !0, E.run(A, m);\n var d = b;\n b = [], (0, y.tO)(d, function (d) {\n d.rm();\n }), !0 === P && A[v.uL](M), _initDefaults();\n }\n }\n }, g[v.Tu] = function (d, m) {\n var y = g[S.oV];\n if (y && (!d || y === d[S.oV]())) {\n var C,\n E = !1,\n b = d || (0, _.xy)(null, y, f && f[T] ? f[T]() : f),\n I = m || {\n reason: 0\n };\n return g._doUpdate && !0 === g._doUpdate(b, I, _updateCallback) ? C = !0 : _updateCallback(), C;\n }\n function _updateCallback() {\n E || (E = !0, _setDefaults(b.getCfg(), b.core(), b[v.W2]()));\n }\n }, g._addHook = function (d) {\n d && ((0, y.kJ)(d) ? b = b.concat(d) : b[v.MW](d));\n }, (0, y.Oi)(g, \"_addUnloadCb\", function () {\n return E;\n }, \"add\");\n }), I[v.mc] = function (d) {\n return _getTelCtx(d)[v.mc]();\n }, I[v.yl] = function () {\n return d;\n }, I.setInitialized = function (g) {\n d = g;\n }, I[v.Jd] = function (d) {\n f = d;\n }, I[v.uL] = function (d, g) {\n g ? g[v.uL](d) : f && (0, y.mf)(f[S.hL]) && f[S.hL](d, null);\n }, I._getTelCtx = _getTelCtx;\n }\n return BaseTelemetryPlugin.__ieDyn = 1, BaseTelemetryPlugin;\n }();\n },\n 85645: function (d, g, f) {\n f.d(g, {\n JP: function () {\n return safeGetCookieMgr;\n },\n Nz: function () {\n return createCookieMgr;\n },\n UY: function () {\n return uaDisallowsSameSiteNone;\n },\n kj: function () {\n return _gblCookieMgr;\n },\n p7: function () {\n return areCookiesSupported;\n }\n });\n var m = f(94433),\n v = f(84948),\n y = f(91687),\n S = f(92453),\n _ = f(75048),\n C = \"toGMTString\",\n T = \"toUTCString\",\n E = \"cookie\",\n b = \"expires\",\n I = \"enabled\",\n P = \"isCookieUseDisabled\",\n R = \"disableCookiesUsage\",\n A = \"_ckMgr\",\n M = null,\n w = null,\n O = null,\n D = (0, y.Me)(),\n N = {},\n L = {};\n function _gblCookieMgr(d, g) {\n var f = createCookieMgr[A] || L[A];\n return f || (f = createCookieMgr[A] = createCookieMgr(d, g), L[A] = f), f;\n }\n function _isMgrEnabled(d) {\n return !d || d.isEnabled();\n }\n function _createCookieMgrConfig(d) {\n var g = d[m.Lk] = d[m.Lk] || {};\n if ((0, S.sO)(g, \"domain\", d.cookieDomain, S.BX, S.le), (0, S.sO)(g, \"path\", d.cookiePath || \"/\", null, S.le), (0, S.le)(g[I])) {\n var f = void 0;\n (0, S.o8)(d[P]) || (f = !d[P]), (0, S.o8)(d[R]) || (f = !d[R]), g[I] = f;\n }\n return g;\n }\n function _isIgnoredCookie(d, g) {\n return !!(g && d && (0, S.kJ)(d.ignoreCookies)) && -1 !== d.ignoreCookies[m.ou](g);\n }\n function _isBlockedCookie(d, g) {\n return !!(g && d && (0, S.kJ)(d.blockedCookies) && -1 !== d.blockedCookies[m.ou](g)) || _isIgnoredCookie(d, g);\n }\n function safeGetCookieMgr(d, g) {\n var f;\n if (d) f = d.getCookieMgr();else if (g) {\n var v = g[m.Lk];\n f = v[A] ? v[A] : createCookieMgr(g);\n }\n return f || (f = _gblCookieMgr(g, (d || {})[m.eZ])), f;\n }\n function createCookieMgr(d, g) {\n var f,\n v = _createCookieMgrConfig(d || L),\n E = v.path || \"/\",\n P = v.domain,\n R = !1 !== v[I],\n M = ((f = {\n isEnabled: function () {\n var d = R && areCookiesSupported(g),\n f = L[A];\n return d && f && M !== f && (d = _isMgrEnabled(f)), d;\n }\n })[m.$h] = function (d) {\n R = !1 !== d;\n }, f.set = function (d, g, f, I, R) {\n var A = !1;\n if (_isMgrEnabled(M) && !_isBlockedCookie(v, d)) {\n var O = {},\n D = (0, S.nd)(g || _.qS),\n N = D[m.ou](\";\");\n if (-1 !== N && (D = (0, S.nd)(g[m.zc](0, N)), O = _extractParts(g[m.zc](N + 1))), (0, S.sO)(O, \"domain\", I || P, S.fQ, S.o8), !(0, S.le)(f)) {\n var L = (0, y.w1)();\n if ((0, S.o8)(O[b])) {\n var k = (0, S.m6)() + 1e3 * f;\n if (k > 0) {\n var x = new Date();\n x.setTime(k), (0, S.sO)(O, b, _formatDate(x, L ? C : T) || _formatDate(x, L ? C : T) || _.qS, S.fQ);\n }\n }\n L || (0, S.sO)(O, \"max-age\", _.qS + f, null, S.o8);\n }\n var F = (0, y.k$)();\n F && \"https:\" === F.protocol && ((0, S.sO)(O, \"secure\", null, null, S.o8), null === w && (w = !uaDisallowsSameSiteNone(((0, y.jW)() || {})[m.qV])), w && (0, S.sO)(O, \"SameSite\", \"None\", null, S.o8)), (0, S.sO)(O, \"path\", R || E, null, S.o8), (v.setCookie || _setCookieValue)(d, _formatCookieValue(D, O)), A = !0;\n }\n return A;\n }, f.get = function (d) {\n var g = _.qS;\n return _isMgrEnabled(M) && !_isIgnoredCookie(v, d) && (g = (v.getCookie || _getCookieValue)(d)), g;\n }, f.del = function (d, g) {\n var f = !1;\n return _isMgrEnabled(M) && (f = M.purge(d, g)), f;\n }, f.purge = function (d, f) {\n var m,\n S = !1;\n if (areCookiesSupported(g)) {\n var C = ((m = {}).path = f || \"/\", m[b] = \"Thu, 01 Jan 1970 00:00:01 GMT\", m);\n (0, y.w1)() || (C[\"max-age\"] = \"0\"), (v.delCookie || _setCookieValue)(d, _formatCookieValue(_.qS, C)), S = !0;\n }\n return S;\n }, f);\n return M[A] = M, M;\n }\n function areCookiesSupported(d) {\n if (null === M) {\n M = !1;\n try {\n M = void 0 !== (D || {})[E];\n } catch (g) {\n (0, v.kP)(d, 2, 68, \"Cannot access document.cookie - \" + (0, S.jj)(g), {\n exception: (0, y.eU)(g)\n });\n }\n }\n return M;\n }\n function _extractParts(d) {\n var g = {};\n if (d && d[m.R5]) {\n var f = (0, S.nd)(d)[m.w6](\";\");\n (0, S.tO)(f, function (d) {\n if (d = (0, S.nd)(d || _.qS)) {\n var f = d[m.ou](\"=\");\n -1 === f ? g[d] = null : g[(0, S.nd)(d[m.zc](0, f))] = (0, S.nd)(d[m.zc](f + 1));\n }\n });\n }\n return g;\n }\n function _formatDate(d, g) {\n return (0, S.mf)(d[g]) ? d[g]() : null;\n }\n function _formatCookieValue(d, g) {\n var f = d || _.qS;\n return (0, S.rW)(g, function (d, g) {\n f += \"; \" + d + ((0, S.le)(g) ? _.qS : \"=\" + g);\n }), f;\n }\n function _getCookieValue(d) {\n var g = _.qS;\n if (D) {\n var f = D[E] || _.qS;\n O !== f && (N = _extractParts(f), O = f), g = (0, S.nd)(N[d] || _.qS);\n }\n return g;\n }\n function _setCookieValue(d, g) {\n D && (D[E] = d + \"=\" + g);\n }\n function uaDisallowsSameSiteNone(d) {\n return !!(0, S.HD)(d) && (!(!(0, S._Q)(d, \"CPU iPhone OS 12\") && !(0, S._Q)(d, \"iPad; CPU OS 12\")) || !!((0, S._Q)(d, \"Macintosh; Intel Mac OS X 10_14\") && (0, S._Q)(d, \"Version/\") && (0, S._Q)(d, \"Safari\")) || !(!(0, S._Q)(d, \"Macintosh; Intel Mac OS X 10_14\") || !(0, S.Id)(d, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) || !(!(0, S._Q)(d, \"Chrome/5\") && !(0, S._Q)(d, \"Chrome/6\")) || !(!(0, S._Q)(d, \"UnrealEngine\") || (0, S._Q)(d, \"Chrome\")) || !(!(0, S._Q)(d, \"UCBrowser/12\") && !(0, S._Q)(d, \"UCBrowser/11\")));\n }\n },\n 48: function (d, g, f) {\n f.d(g, {\n DO: function () {\n return generateW3CId;\n },\n GW: function () {\n return newGuid;\n },\n Jj: function () {\n return perfNow;\n }\n });\n var m,\n v = f(93247),\n y = f(94433),\n S = f(85645),\n _ = f(91687),\n C = f(21016),\n T = f(92453),\n E = f(75048),\n b = f(4528),\n I = null;\n function newGuid() {\n var d = generateW3CId();\n return d[y.zc](0, 8) + \"-\" + d[y.zc](8, 12) + \"-\" + d[y.zc](12, 16) + \"-\" + d[y.zc](16, 20) + \"-\" + d[y.zc](20);\n }\n function perfNow() {\n var d = (0, _.r)();\n return d && d.now ? d.now() : (0, T.m6)();\n }\n function generateW3CId() {\n for (var d, g = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"], f = E.qS, m = 0; m < 4; m++) f += g[15 & (d = (0, b._l)())] + g[d >> 4 & 15] + g[d >> 8 & 15] + g[d >> 12 & 15] + g[d >> 16 & 15] + g[d >> 20 & 15] + g[d >> 24 & 15] + g[d >> 28 & 15];\n var v = g[8 + (3 & (0, b._l)()) | 0];\n return f[y.Jn](0, 8) + f[y.Jn](9, 4) + \"4\" + f[y.Jn](13, 3) + v + f[y.Jn](16, 3) + f[y.Jn](19, 12);\n }\n var P = {\n _canUseCookies: void 0,\n isTypeof: T.Ym,\n isUndefined: T.o8,\n isNullOrUndefined: T.le,\n hasOwnProperty: T.nr,\n isFunction: T.mf,\n isObject: T.Kn,\n isDate: T.J_,\n isArray: T.kJ,\n isError: T.VZ,\n isString: T.HD,\n isNumber: T.hj,\n isBoolean: T.jn,\n toISOString: T.Y6,\n arrForEach: T.tO,\n arrIndexOf: T.UA,\n arrMap: T.Mr,\n arrReduce: T.Xz,\n strTrim: T.nd,\n objCreate: v.pu,\n objKeys: T.FY,\n objDefineAccessors: T.l_,\n addEventHandler: C.Ib,\n dateNow: T.m6,\n isIE: _.w1,\n disableCookies: disableCookies,\n newGuid: newGuid,\n perfNow: perfNow,\n newId: b.pZ,\n randomValue: b.az,\n random32: b._l,\n mwcRandomSeed: b.CN,\n mwcRandom32: b.F6,\n generateW3CId: generateW3CId\n };\n C.pZ, C.pZ, C.pD, C.pD;\n function _legacyCookieMgr(d, g) {\n var f = (0, S.kj)(d, g),\n v = P._canUseCookies;\n return null === I && (I = [], m = v, (0, T.l_)(P, \"_canUseCookies\", function () {\n return m;\n }, function (d) {\n m = d, (0, T.tO)(I, function (g) {\n g[y.$h](d);\n });\n })), -1 === (0, T.UA)(I, f) && I[y.MW](f), (0, T.jn)(v) && f[y.$h](v), (0, T.jn)(m) && f[y.$h](m), f;\n }\n function disableCookies() {\n _legacyCookieMgr()[y.$h](!1);\n }\n },\n 33074: function (d, g, f) {\n f.d(g, {\n J: function () {\n return createUniqueNamespace;\n },\n K: function () {\n return createElmNodeData;\n }\n });\n var m = f(90462),\n v = f(94433),\n y = f(92453),\n S = f(75048),\n _ = f(4528),\n C = m.RJ,\n T = \"2.8.10\",\n E = \".\" + (0, _.pZ)(6),\n b = 0;\n function _createAccessor(d, g, f) {\n if (C) try {\n return C(d, g, {\n value: f,\n enumerable: !1,\n configurable: !0\n }), !0;\n } catch (d) {}\n return !1;\n }\n function _canAcceptData(d) {\n return 1 === d[v.xv] || 9 === d[v.xv] || !+d[v.xv];\n }\n function _getCache(d, g) {\n var f = g[d.id];\n if (!f) {\n f = {};\n try {\n _canAcceptData(g) && (_createAccessor(g, d.id, f) || (g[d.id] = f));\n } catch (d) {}\n }\n return f;\n }\n function createUniqueNamespace(d, g) {\n return void 0 === g && (g = !1), (0, y.Gf)(d + b++ + (g ? \".\" + T : S.qS) + E);\n }\n function createElmNodeData(d) {\n var g = {\n id: createUniqueNamespace(\"_aiData-\" + (d || S.qS) + \".\" + T),\n accept: function (d) {\n return _canAcceptData(d);\n },\n get: function (d, f, m, v) {\n var S = d[g.id];\n return S ? S[(0, y.Gf)(f)] : (v && ((S = _getCache(g, d))[(0, y.Gf)(f)] = m), m);\n },\n kill: function (d, g) {\n if (d && d[g]) try {\n delete d[g];\n } catch (d) {}\n }\n };\n return g;\n }\n },\n 21735: function (d, g, f) {\n f.d(g, {\n j: function () {\n return getDebugExt;\n },\n p: function () {\n return getDebugListener;\n }\n });\n var m,\n v = f(94433),\n y = f(91687),\n S = [\"eventsSent\", \"eventsDiscarded\", \"eventsSendRequest\", \"perfEvent\"],\n _ = null;\n function _listenerProxyFunc(d, g) {\n return function () {\n var f = arguments,\n m = getDebugExt(g);\n if (m) {\n var y = m.listener;\n y && y[d] && y[d][v.ZV](y, f);\n }\n };\n }\n function _getExtensionNamespace() {\n var d = (0, y.a8)(\"Microsoft\");\n return d && (_ = d.ApplicationInsights), _;\n }\n function getDebugExt(d) {\n var g = _;\n return g || !0 === d.disableDbgExt || (g = _ || _getExtensionNamespace()), g ? g.ChromeDbgExt : null;\n }\n function getDebugListener(d) {\n if (!m) {\n m = {};\n for (var g = 0; g < S[v.R5]; g++) m[S[g]] = _listenerProxyFunc(S[g], d);\n }\n return m;\n }\n },\n 84948: function (d, g, f) {\n f.d(g, {\n AQ: function () {\n return P;\n },\n jV: function () {\n return _warnToConsole;\n },\n kP: function () {\n return _throwInternal;\n },\n lQ: function () {\n return I;\n },\n vH: function () {\n return safeGetLogger;\n }\n });\n var m = f(31340),\n v = f(94433),\n y = f(21735),\n S = f(91687),\n _ = f(92453),\n C = f(75048),\n T = \"AI (Internal): \",\n E = \"AI: \",\n b = \"AITR_\";\n function _sanitizeDiagnosticText(d) {\n return d ? '\"' + d[v.i7](/\\\"/g, C.qS) + '\"' : C.qS;\n }\n function _logToConsole(d, g) {\n var f = (0, S.dr)();\n if (f) {\n var m = \"log\";\n f[d] && (m = d), (0, _.mf)(f[m]) && f[m](g);\n }\n }\n var I = function () {\n function _InternalLogMessage(d, g, f, m) {\n void 0 === f && (f = !1);\n var y = this;\n y[v.Gc] = d, y[v.gU] = (f ? E : T) + d;\n var _ = C.qS;\n (0, S.nS)() && (_ = (0, S.xA)().stringify(m));\n var b = (g ? \" message:\" + _sanitizeDiagnosticText(g) : C.qS) + (m ? \" props:\" + _sanitizeDiagnosticText(_) : C.qS);\n y[v.gU] += b;\n }\n return _InternalLogMessage.dataType = \"MessageData\", _InternalLogMessage;\n }();\n function safeGetLogger(d, g) {\n return (d || {})[v.eZ] || new P(g);\n }\n var P = function () {\n function DiagnosticLogger(d) {\n this.identifier = \"DiagnosticLogger\", this.queue = [];\n var g,\n f,\n T,\n E,\n P = 0,\n R = {};\n (0, m.Z)(DiagnosticLogger, this, function (m) {\n function _logInternalMessage(d, g) {\n if (!_areInternalMessagesThrottled()) {\n var y = !0,\n S = b + g[v.Gc];\n if (R[S] ? y = !1 : R[S] = !0, y && (d <= f && (m.queue[v.MW](g), P++, _debugExtMsg(1 === d ? \"error\" : \"warn\", g)), P === T)) {\n var _ = \"Internal events throttle limit per PageView reached for this app.\",\n E = new I(23, _, !1);\n m.queue[v.MW](E), 1 === d ? m[C.ys](_) : m[C.cL](_);\n }\n }\n }\n function _setDefaultsFromConfig(d) {\n g = (0, _.v4)(d.loggingLevelConsole, 0), f = (0, _.v4)(d.loggingLevelTelemetry, 1), T = (0, _.v4)(d.maxMessageLimit, 25), E = (0, _.v4)(d[v.Fr], !1);\n }\n function _areInternalMessagesThrottled() {\n return P >= T;\n }\n function _debugExtMsg(g, f) {\n var m = (0, y.j)(d || {});\n m && m[v.mc] && m[v.mc](g, f);\n }\n _setDefaultsFromConfig(d || {}), m.consoleLoggingLevel = function () {\n return g;\n }, m.telemetryLoggingLevel = function () {\n return f;\n }, m.maxInternalMessageLimit = function () {\n return T;\n }, m[v.Fr] = function () {\n return E;\n }, m.throwInternal = function (d, f, y, T, b) {\n void 0 === b && (b = !1);\n var P = new I(f, y, b, T);\n if (E) throw (0, S.eU)(P);\n var A = 1 === d ? C.ys : C.cL;\n if ((0, _.o8)(P[v.gU])) _debugExtMsg(\"throw\" + (1 === d ? \"Critical\" : \"Warning\"), P);else {\n if (b) {\n var M = +P[v.Gc];\n !R[M] && g >= d && (m[A](P[v.gU]), R[M] = !0);\n } else g >= d && m[A](P[v.gU]);\n _logInternalMessage(d, P);\n }\n }, m[C.cL] = function (d) {\n _logToConsole(\"warn\", d), _debugExtMsg(\"warning\", d);\n }, m[C.ys] = function (d) {\n _logToConsole(\"error\", d), _debugExtMsg(\"error\", d);\n }, m.resetInternalMessageCount = function () {\n P = 0, R = {};\n }, m[v.jk] = _logInternalMessage;\n });\n }\n return DiagnosticLogger.__ieDyn = 1, DiagnosticLogger;\n }();\n function _getLogger(d) {\n return d || new P();\n }\n function _throwInternal(d, g, f, m, v, y) {\n void 0 === y && (y = !1), _getLogger(d).throwInternal(g, f, m, v, y);\n }\n function _warnToConsole(d, g) {\n _getLogger(d)[C.cL](g);\n }\n },\n 91687: function (d, g, f) {\n f.d(g, {\n JO: function () {\n return isFetchSupported;\n },\n Jj: function () {\n return getWindow;\n },\n MF: function () {\n return isBeaconsSupported;\n },\n MX: function () {\n return getCrypto;\n },\n Me: function () {\n return getDocument;\n },\n Nv: function () {\n return hasDocument;\n },\n Z3: function () {\n return isXhrSupported;\n },\n a8: function () {\n return getGlobalInst;\n },\n b$: function () {\n return isReactNative;\n },\n cp: function () {\n return useXDomainRequest;\n },\n dr: function () {\n return getConsole;\n },\n eU: function () {\n return dumpObj;\n },\n gz: function () {\n return getMsCrypto;\n },\n jW: function () {\n return getNavigator;\n },\n k$: function () {\n return getLocation;\n },\n nS: function () {\n return hasJSON;\n },\n r: function () {\n return getPerformance;\n },\n w1: function () {\n return isIE;\n },\n xA: function () {\n return getJSON;\n }\n });\n var m = f(90462),\n v = f(93247),\n y = f(94433),\n S = f(92453),\n _ = f(75048),\n C = \"window\",\n T = \"document\",\n E = \"navigator\",\n b = \"location\",\n I = \"console\",\n P = \"performance\",\n R = \"JSON\",\n A = \"crypto\",\n M = \"msCrypto\",\n w = \"ReactNative\",\n O = \"msie\",\n D = \"trident/\",\n N = \"XMLHttpRequest\",\n L = null,\n k = null,\n x = !1,\n F = null,\n U = null;\n function _hasProperty(d, g) {\n var f = !1;\n if (d) {\n try {\n if (!(f = g in d)) {\n var v = d[m.hB];\n v && (f = g in v);\n }\n } catch (d) {}\n if (!f) try {\n var y = new d();\n f = !(0, S.o8)(y[g]);\n } catch (d) {}\n }\n return f;\n }\n function getGlobalInst(d) {\n var g = (0, v.Rd)();\n return g && g[d] ? g[d] : d === C && hasWindow() ? window : null;\n }\n function hasWindow() {\n return Boolean(typeof window === m.fK && window);\n }\n function getWindow() {\n return hasWindow() ? window : getGlobalInst(C);\n }\n function hasDocument() {\n return Boolean(typeof document === m.fK && document);\n }\n function getDocument() {\n return hasDocument() ? document : getGlobalInst(T);\n }\n function hasNavigator() {\n return Boolean(typeof navigator === m.fK && navigator);\n }\n function getNavigator() {\n return hasNavigator() ? navigator : getGlobalInst(E);\n }\n function getLocation(d) {\n if (d && x) {\n var g = getGlobalInst(\"__mockLocation\");\n if (g) return g;\n }\n return typeof location === m.fK && location ? location : getGlobalInst(b);\n }\n function getConsole() {\n return typeof console !== m.jA ? console : getGlobalInst(I);\n }\n function getPerformance() {\n return getGlobalInst(P);\n }\n function hasJSON() {\n return Boolean(typeof JSON === m.fK && JSON || null !== getGlobalInst(R));\n }\n function getJSON() {\n return hasJSON() ? JSON || getGlobalInst(R) : null;\n }\n function getCrypto() {\n return getGlobalInst(A);\n }\n function getMsCrypto() {\n return getGlobalInst(M);\n }\n function isReactNative() {\n var d = getNavigator();\n return !(!d || !d.product) && d.product === w;\n }\n function isIE() {\n var d = getNavigator();\n if (d && (d[y.qV] !== k || null === L)) {\n var g = ((k = d[y.qV]) || _.qS)[y.T1]();\n L = (0, S._Q)(g, O) || (0, S._Q)(g, D);\n }\n return L;\n }\n function dumpObj(d) {\n var g = Object[m.hB].toString[y._S](d),\n f = _.qS;\n return \"[object Error]\" === g ? f = \"{ stack: '\" + d.stack + \"', message: '\" + d.message + \"', name: '\" + d[y.I] + \"'\" : hasJSON() && (f = getJSON().stringify(d)), g + f;\n }\n function isBeaconsSupported() {\n return null === U && (U = hasNavigator() && Boolean(getNavigator().sendBeacon)), U;\n }\n function isFetchSupported(d) {\n var g = !1;\n try {\n g = !!getGlobalInst(\"fetch\");\n var f = getGlobalInst(\"Request\");\n g && d && f && (g = _hasProperty(f, \"keepalive\"));\n } catch (d) {}\n return g;\n }\n function useXDomainRequest() {\n return null === F && (F = typeof XDomainRequest !== m.jA) && isXhrSupported() && (F = F && !_hasProperty(getGlobalInst(N), \"withCredentials\")), F;\n }\n function isXhrSupported() {\n var d = !1;\n try {\n d = !!getGlobalInst(N);\n } catch (d) {}\n return d;\n }\n },\n 21016: function (d, g, f) {\n f.d(g, {\n C9: function () {\n return removePageHideEventListener;\n },\n Ib: function () {\n return addEventHandler;\n },\n JA: function () {\n return removePageUnloadEventListener;\n },\n TJ: function () {\n return addPageHideEventListener;\n },\n Yl: function () {\n return removePageShowEventListener;\n },\n c9: function () {\n return addPageUnloadEventListener;\n },\n jU: function () {\n return mergeEvtNamespace;\n },\n nD: function () {\n return addPageShowEventListener;\n },\n pD: function () {\n return detachEvent;\n },\n pZ: function () {\n return attachEvent;\n }\n });\n var m = f(94433),\n v = f(33074),\n y = f(91687),\n S = f(92453),\n _ = f(75048),\n C = \"on\",\n T = \"attachEvent\",\n E = \"addEventListener\",\n b = \"detachEvent\",\n I = \"removeEventListener\",\n P = \"events\",\n R = \"visibilitychange\",\n A = \"pagehide\",\n M = \"pageshow\",\n w = \"unload\",\n O = \"beforeunload\",\n D = (0, v.J)(\"aiEvtPageHide\"),\n N = (0, v.J)(\"aiEvtPageShow\"),\n L = /\\.[\\.]+/g,\n k = /[\\.]+$/,\n x = 1,\n F = (0, v.K)(\"events\"),\n U = /^([^.]*)(?:\\.(.+)|)/;\n function _normalizeNamespace(d) {\n return d && d[m.i7] ? d[m.i7](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, _.qS) : d;\n }\n function _getEvtNamespace(d, g) {\n var f;\n if (g) {\n var v = _.qS;\n (0, S.kJ)(g) ? (v = _.qS, (0, S.tO)(g, function (d) {\n (d = _normalizeNamespace(d)) && (\".\" !== d[0] && (d = \".\" + d), v += d);\n })) : v = _normalizeNamespace(g), v && (\".\" !== v[0] && (v = \".\" + v), d = (d || _.qS) + v);\n }\n var y = U.exec(d || _.qS) || [];\n return (f = {})[m.P6] = y[1], f.ns = (y[2] || _.qS).replace(L, \".\").replace(k, _.qS)[m.w6](\".\").sort().join(\".\"), f;\n }\n function _getRegisteredEvents(d, g, f) {\n void 0 === f && (f = !0);\n var m = F.get(d, P, {}, f),\n v = m[g];\n return v || (v = m[g] = []), v;\n }\n function _doDetach(d, g, f, v) {\n d && g && g[m.P6] && (d[I] ? d[I](g[m.P6], f, v) : d[b] && d[b](C + g[m.P6], f));\n }\n function _doAttach(d, g, f, v) {\n var y = !1;\n return d && g && g[m.P6] && f && (d[E] ? (d[E](g[m.P6], f, v), y = !0) : d[T] && (d[T](C + g[m.P6], f), y = !0)), y;\n }\n function _doUnregister(d, g, f, v) {\n for (var y = g[m.R5]; y--;) {\n var S = g[y];\n S && (f.ns && f.ns !== S.evtName.ns || v && !v(S) || (_doDetach(d, S.evtName, S[m.Kn], S.capture), g[m.cb](y, 1)));\n }\n }\n function _unregisterEvents(d, g, f) {\n if (g[m.P6]) _doUnregister(d, _getRegisteredEvents(d, g[m.P6]), g, f);else {\n var v = F.get(d, P, {});\n (0, S.rW)(v, function (m, v) {\n _doUnregister(d, v, g, f);\n }), 0 === (0, S.FY)(v)[m.R5] && F.kill(d, P);\n }\n }\n function mergeEvtNamespace(d, g) {\n return g ? _getEvtNamespace(\"xx\", (0, S.kJ)(g) ? [d].concat(g) : [d, g]).ns[m.w6](\".\") : d;\n }\n function eventOn(d, g, f, v, y) {\n var S;\n void 0 === y && (y = !1);\n var _ = !1;\n if (d) try {\n var C = _getEvtNamespace(g, v);\n if ((_ = _doAttach(d, C, f, y)) && F.accept(d)) {\n var T = ((S = {\n guid: x++,\n evtName: C\n })[m.Kn] = f, S.capture = y, S);\n _getRegisteredEvents(d, C.type)[m.MW](T);\n }\n } catch (d) {}\n return _;\n }\n function eventOff(d, g, f, v, y) {\n if (void 0 === y && (y = !1), d) try {\n var S = _getEvtNamespace(g, v),\n _ = !1;\n _unregisterEvents(d, S, function (d) {\n return !((!S.ns || f) && d[m.Kn] !== f) && (_ = !0, !0);\n }), _ || _doDetach(d, S, f, y);\n } catch (d) {}\n }\n function attachEvent(d, g, f, m) {\n return void 0 === m && (m = !1), eventOn(d, g, f, null, m);\n }\n function detachEvent(d, g, f, m) {\n void 0 === m && (m = !1), eventOff(d, g, f, null, m);\n }\n function addEventHandler(d, g, f) {\n var m = !1,\n v = (0, y.Jj)();\n v && (m = eventOn(v, d, g, f), m = eventOn(v.body, d, g, f) || m);\n var S = (0, y.Me)();\n return S && (m = eventOn(S, d, g, f) || m), m;\n }\n function removeEventHandler(d, g, f) {\n var m = (0, y.Jj)();\n m && (eventOff(m, d, g, f), eventOff(m.body, d, g, f));\n var v = (0, y.Me)();\n v && eventOff(v, d, g, f);\n }\n function _addEventListeners(d, g, f, v) {\n var y = !1;\n return g && d && d[m.R5] > 0 && (0, S.tO)(d, function (d) {\n d && (f && -1 !== (0, S.UA)(f, d) || (y = addEventHandler(d, g, v) || y));\n }), y;\n }\n function addEventListeners(d, g, f, v) {\n var y = !1;\n return g && d && (0, S.kJ)(d) && !(y = _addEventListeners(d, g, f, v)) && f && f[m.R5] > 0 && (y = _addEventListeners(d, g, null, v)), y;\n }\n function removeEventListeners(d, g, f) {\n d && (0, S.kJ)(d) && (0, S.tO)(d, function (d) {\n d && removeEventHandler(d, g, f);\n });\n }\n function addPageUnloadEventListener(d, g, f) {\n return addEventListeners([O, w, A], d, g, f);\n }\n function removePageUnloadEventListener(d, g) {\n removeEventListeners([O, w, A], d, g);\n }\n function addPageHideEventListener(d, g, f) {\n function _handlePageVisibility(g) {\n var f = (0, y.Me)();\n d && f && \"hidden\" === f.visibilityState && d(g);\n }\n var m = mergeEvtNamespace(D, f),\n v = _addEventListeners([A], d, g, m);\n return g && -1 !== (0, S.UA)(g, R) || (v = _addEventListeners([R], _handlePageVisibility, g, m) || v), !v && g && (v = addPageHideEventListener(d, null, f)), v;\n }\n function removePageHideEventListener(d, g) {\n var f = mergeEvtNamespace(D, g);\n removeEventListeners([A], d, f), removeEventListeners([R], null, f);\n }\n function addPageShowEventListener(d, g, f) {\n function _handlePageVisibility(g) {\n var f = (0, y.Me)();\n d && f && \"visible\" === f.visibilityState && d(g);\n }\n var m = mergeEvtNamespace(N, f),\n v = _addEventListeners([M], d, g, m);\n return !(v = _addEventListeners([R], _handlePageVisibility, g, m) || v) && g && (v = addPageShowEventListener(d, null, f)), v;\n }\n function removePageShowEventListener(d, g) {\n var f = mergeEvtNamespace(N, g);\n removeEventListeners([M], d, f), removeEventListeners([R], null, f);\n }\n },\n 92453: function (d, g, f) {\n f.d(g, {\n Ax: function () {\n return optimizeObject;\n },\n BX: function () {\n return isNotNullOrUndefined;\n },\n FL: function () {\n return $;\n },\n FY: function () {\n return objKeys;\n },\n Gf: function () {\n return normalizeJsName;\n },\n HD: function () {\n return isString;\n },\n Id: function () {\n return strEndsWith;\n },\n J_: function () {\n return isDate;\n },\n Kn: function () {\n return isObject;\n },\n Mr: function () {\n return arrMap;\n },\n Oi: function () {\n return proxyFunctionAs;\n },\n UA: function () {\n return arrIndexOf;\n },\n VZ: function () {\n return isError;\n },\n Vb: function () {\n return proxyFunctions;\n },\n Xz: function () {\n return arrReduce;\n },\n Y6: function () {\n return toISOString;\n },\n Ym: function () {\n return isTypeof;\n },\n _A: function () {\n return deepFreeze;\n },\n _Q: function () {\n return strContains;\n },\n _y: function () {\n return throwError;\n },\n fQ: function () {\n return isTruthy;\n },\n hj: function () {\n return isNumber;\n },\n jj: function () {\n return getExceptionName;\n },\n jn: function () {\n return isBoolean;\n },\n kJ: function () {\n return z;\n },\n l_: function () {\n return objDefineAccessors;\n },\n le: function () {\n return isNullOrUndefined;\n },\n m6: function () {\n return dateNow;\n },\n mf: function () {\n return isFunction;\n },\n mm: function () {\n return objExtend;\n },\n nd: function () {\n return strTrim;\n },\n nr: function () {\n return hasOwnProperty;\n },\n o8: function () {\n return isUndefined;\n },\n qK: function () {\n return getSetValue;\n },\n rW: function () {\n return objForEachKey;\n },\n sO: function () {\n return setValue;\n },\n tO: function () {\n return arrForEach;\n },\n v4: function () {\n return getCfgValue;\n },\n xe: function () {\n return strStartsWith;\n }\n });\n var m = f(90462),\n v = f(93247),\n y = f(94433),\n S = f(75048),\n _ = \"toISOString\",\n C = \"endsWith\",\n T = \"startsWith\",\n E = \"indexOf\",\n b = \"map\",\n I = \"reduce\",\n P = \"trim\",\n R = \"toString\",\n A = \"__proto__\",\n M = \"constructor\",\n w = m.RJ,\n O = m.Pw.freeze,\n D = (m.Pw.seal, m.Pw.keys),\n N = String[m.hB],\n L = N[P],\n k = N[C],\n x = N[T],\n F = Date[m.hB][_],\n U = Array.isArray,\n H = m.V4[R],\n V = m.CY[R],\n j = V[y._S](m.Pw),\n B = /-([a-z])/g,\n W = /([^\\w\\d_$])/g,\n G = /^(\\d+[\\w\\d_$])/,\n q = Object.getPrototypeOf;\n function _getObjProto(d) {\n if (d) {\n if (q) return q(d);\n var g = d[A] || d[m.hB] || d[M];\n if (g) return g;\n }\n return null;\n }\n function isTypeof(d, g) {\n return typeof d === g;\n }\n function isUndefined(d) {\n return void 0 === d || typeof d === m.jA;\n }\n function isNullOrUndefined(d) {\n return null === d || isUndefined(d);\n }\n function isNotNullOrUndefined(d) {\n return !isNullOrUndefined(d);\n }\n function hasOwnProperty(d, g) {\n return !(!d || !m.CY[y._S](d, g));\n }\n function isObject(d) {\n return !(!d || typeof d !== m.fK);\n }\n function isFunction(d) {\n return !(!d || typeof d !== m.cb);\n }\n function normalizeJsName(d) {\n var g = d;\n return g && isString(g) && (g = (g = (g = g[y.i7](B, function (d, g) {\n return g.toUpperCase();\n }))[y.i7](W, \"_\"))[y.i7](G, function (d, g) {\n return \"_\" + g;\n })), g;\n }\n function objForEachKey(d, g) {\n if (d) for (var f in d) m.CY[y._S](d, f) && g[y._S](d, f, d[f]);\n }\n function strEndsWith(d, g) {\n var f = !1;\n return d && g && !(f = d === g) && (f = k ? d[C](g) : _strEndsWithPoly(d, g)), f;\n }\n function _strEndsWithPoly(d, g) {\n var f = !1,\n m = g ? g[y.R5] : 0,\n v = d ? d[y.R5] : 0;\n if (m && v && v >= m && !(f = d === g)) {\n for (var S = v - 1, _ = m - 1; _ >= 0; _--) {\n if (d[S] != g[_]) return !1;\n S--;\n }\n f = !0;\n }\n return f;\n }\n function strStartsWith(d, g) {\n var f = !1;\n return d && g && !(f = d === g) && (f = x ? d[T](g) : _strStartsWithPoly(d, g)), f;\n }\n function _strStartsWithPoly(d, g) {\n var f = !1,\n m = g ? g[y.R5] : 0;\n if (d && m && d[y.R5] >= m && !(f = d === g)) {\n for (var v = 0; v < m; v++) if (d[v] !== g[v]) return !1;\n f = !0;\n }\n return f;\n }\n function strContains(d, g) {\n return !(!d || !g) && -1 !== d[y.ou](g);\n }\n function isDate(d) {\n return !(!d || \"[object Date]\" !== H[y._S](d));\n }\n var z = U || _isArrayPoly;\n function _isArrayPoly(d) {\n return !(!d || \"[object Array]\" !== H[y._S](d));\n }\n function isError(d) {\n return !(!d || \"[object Error]\" !== H[y._S](d));\n }\n function isString(d) {\n return \"string\" == typeof d;\n }\n function isNumber(d) {\n return \"number\" == typeof d;\n }\n function isBoolean(d) {\n return \"boolean\" == typeof d;\n }\n function isPlainObject(d) {\n var g = !1;\n if (d && \"object\" == typeof d) {\n var f = q ? q(d) : _getObjProto(d);\n f ? (f[M] && m.CY[y._S](f, M) && (f = f[M]), g = typeof f === m.cb && V[y._S](f) === j) : g = !0;\n }\n return g;\n }\n function toISOString(d) {\n if (d) return F ? d[_]() : _toISOStringPoly(d);\n }\n function _toISOStringPoly(d) {\n if (d && d.getUTCFullYear) {\n var pad = function (d) {\n var g = String(d);\n return 1 === g[y.R5] && (g = \"0\" + g), g;\n };\n return d.getUTCFullYear() + \"-\" + pad(d.getUTCMonth() + 1) + \"-\" + pad(d.getUTCDate()) + \"T\" + pad(d.getUTCHours()) + \":\" + pad(d.getUTCMinutes()) + \":\" + pad(d.getUTCSeconds()) + \".\" + String((d.getUTCMilliseconds() / 1e3).toFixed(3)).slice(2, 5) + \"Z\";\n }\n }\n function arrForEach(d, g, f) {\n var m = d[y.R5];\n try {\n for (var v = 0; v < m && (!(v in d) || -1 !== g[y._S](f || d, d[v], v, d)); v++);\n } catch (d) {}\n }\n function arrIndexOf(d, g, f) {\n if (d) {\n if (d[E]) return d[E](g, f);\n var m = d[y.R5],\n v = f || 0;\n try {\n for (var S = Math.max(v >= 0 ? v : m - Math.abs(v), 0); S < m; S++) if (S in d && d[S] === g) return S;\n } catch (d) {}\n }\n return -1;\n }\n function arrMap(d, g, f) {\n var m;\n if (d) {\n if (d[b]) return d[b](g, f);\n var v = d[y.R5],\n S = f || d;\n m = new Array(v);\n try {\n for (var _ = 0; _ < v; _++) _ in d && (m[_] = g[y._S](S, d[_], d));\n } catch (d) {}\n }\n return m;\n }\n function arrReduce(d, g, f) {\n var m;\n if (d) {\n if (d[I]) return d[I](g, f);\n var v = d[y.R5],\n S = 0;\n if (arguments[y.R5] >= 3) m = arguments[2];else {\n for (; S < v && !(S in d);) S++;\n m = d[S++];\n }\n for (; S < v;) S in d && (m = g(m, d[S], S, d)), S++;\n }\n return m;\n }\n function strTrim(d) {\n return d && (d = L && d[P] ? d[P]() : d[y.i7] ? d[y.i7](/^\\s+|(?=\\s)\\s+$/g, S.qS) : d), d;\n }\n var K = !{\n toString: null\n }.propertyIsEnumerable(\"toString\"),\n J = [\"toString\", \"toLocaleString\", \"valueOf\", \"hasOwnProperty\", \"isPrototypeOf\", \"propertyIsEnumerable\", \"constructor\"];\n function objKeys(d) {\n var g = typeof d;\n if (g === m.cb || g === m.fK && null !== d || (0, v.ZU)(\"objKeys called on non-object\"), !K && D) return D(d);\n var f = [];\n for (var S in d) d && m.CY[y._S](d, S) && f[y.MW](S);\n if (K) for (var _ = J[y.R5], C = 0; C < _; C++) d && m.CY[y._S](d, J[C]) && f[y.MW](J[C]);\n return f;\n }\n function objDefineAccessors(d, g, f, m) {\n if (w) try {\n var v = {\n enumerable: !0,\n configurable: !0\n };\n return f && (v.get = f), m && (v.set = m), w(d, g, v), !0;\n } catch (d) {}\n return !1;\n }\n function _doNothing(d) {\n return d;\n }\n function deepFreeze(d) {\n return O && objForEachKey(d, function (d, g) {\n (z(g) || isObject(g)) && O(g);\n }), $(d);\n }\n var $ = O || _doNothing;\n function dateNow() {\n var d = Date;\n return d.now ? d.now() : new d().getTime();\n }\n function getExceptionName(d) {\n return isError(d) ? d[y.I] : S.qS;\n }\n function setValue(d, g, f, m, v) {\n var y = f;\n return d && ((y = d[g]) === f || v && !v(y) || m && !m(f) || (y = f, d[g] = y)), y;\n }\n function getSetValue(d, g, f) {\n var m;\n return d ? !(m = d[g]) && isNullOrUndefined(m) && (m = isUndefined(f) ? {} : f, d[g] = m) : m = isUndefined(f) ? {} : f, m;\n }\n function getCfgValue(d, g) {\n return isNullOrUndefined(d) ? g : d;\n }\n function isTruthy(d) {\n return !!d;\n }\n function throwError(d) {\n throw new Error(d);\n }\n function _createProxyFunction(d, g) {\n var f = null,\n m = null;\n return isFunction(d) ? f = d : m = d, function () {\n var d = arguments;\n if (f && (m = f()), m) return m[g][y.ZV](m, d);\n };\n }\n function proxyFunctionAs(d, g, f, m, v) {\n d && g && f && (!1 !== v || isUndefined(d[g])) && (d[g] = _createProxyFunction(f, m));\n }\n function proxyFunctions(d, g, f, m) {\n return d && g && isObject(d) && z(f) && arrForEach(f, function (f) {\n isString(f) && proxyFunctionAs(d, f, g, f, m);\n }), d;\n }\n function optimizeObject(d) {\n return d && m.rl && (d = (0, m.Pw)((0, m.rl)({}, d))), d;\n }\n function objExtend(d, g, f, v, S, _) {\n var C = arguments,\n T = C[0] || {},\n E = C[y.R5],\n b = !1,\n I = 1;\n for (E > 0 && isBoolean(T) && (b = T, T = C[I] || {}, I++), isObject(T) || (T = {}); I < E; I++) {\n var P = C[I],\n R = z(P),\n A = isObject(P);\n for (var M in P) {\n if (R && M in P || A && m.CY[y._S](P, M)) {\n var w = P[M],\n O = void 0;\n if (b && w && ((O = z(w)) || isPlainObject(w))) {\n var D = T[M];\n O ? z(D) || (D = []) : isPlainObject(D) || (D = {}), w = objExtend(b, D, w);\n }\n void 0 !== w && (T[M] = w);\n }\n }\n }\n return T;\n }\n },\n 75048: function (d, g, f) {\n f.d(g, {\n $F: function () {\n return P;\n },\n C$: function () {\n return A;\n },\n DN: function () {\n return S;\n },\n Z: function () {\n return v;\n },\n Zh: function () {\n return C;\n },\n cL: function () {\n return w;\n },\n f_: function () {\n return R;\n },\n hL: function () {\n return E;\n },\n js: function () {\n return T;\n },\n kl: function () {\n return O;\n },\n mE: function () {\n return _;\n },\n oV: function () {\n return y;\n },\n qS: function () {\n return m;\n },\n uC: function () {\n return I;\n },\n yi: function () {\n return b;\n },\n ys: function () {\n return M;\n }\n });\n var m = \"\",\n v = \"channels\",\n y = \"core\",\n S = \"createPerfMgr\",\n _ = \"disabled\",\n C = \"extensionConfig\",\n T = \"extensions\",\n E = \"processTelemetry\",\n b = \"priority\",\n I = \"eventsSent\",\n P = \"eventsDiscarded\",\n R = \"eventsSendRequest\",\n A = \"perfEvent\",\n M = \"errorToConsole\",\n w = \"warnToConsole\",\n O = \"getPerfMgr\";\n },\n 46394: function (d, g, f) {\n f.d(g, {\n Jk: function () {\n return I;\n },\n Lm: function () {\n return doPerf;\n },\n j5: function () {\n return getGblPerfMgr;\n }\n });\n var m = f(31340),\n v = f(94433),\n y = f(92453),\n S = f(75048),\n _ = \"ctx\",\n C = \"ParentContextKey\",\n T = \"ChildrenContextKey\",\n E = null,\n b = function () {\n function PerfEvent(d, g, f) {\n var m,\n S = this,\n E = !1;\n (S.start = (0, y.m6)(), S[v.I] = d, S[v.d] = f, S[v.PL] = function () {\n return !1;\n }, (0, y.mf)(g)) && (E = (0, y.l_)(S, \"payload\", function () {\n return !m && (0, y.mf)(g) && (m = g(), g = null), m;\n }));\n S[v.T] = function (d) {\n return d ? d === PerfEvent[C] || d === PerfEvent[T] ? S[d] : (S[_] || {})[d] : null;\n }, S[v.wu] = function (d, g) {\n if (d) if (d === PerfEvent[C]) S[d] || (S[v.PL] = function () {\n return !0;\n }), S[d] = g;else if (d === PerfEvent[T]) S[d] = g;else {\n (S[_] = S[_] || {})[d] = g;\n }\n }, S[v.Km] = function () {\n var d = 0,\n f = S[v.T](PerfEvent[T]);\n if ((0, y.kJ)(f)) for (var m = 0; m < f[v.R5]; m++) {\n var _ = f[m];\n _ && (d += _[v.Z_]);\n }\n S[v.Z_] = (0, y.m6)() - S.start, S.exTime = S[v.Z_] - d, S[v.Km] = function () {}, !E && (0, y.mf)(g) && (S.payload = g());\n };\n }\n return PerfEvent.ParentContextKey = \"parent\", PerfEvent.ChildrenContextKey = \"childEvts\", PerfEvent;\n }(),\n I = function () {\n function PerfManager(d) {\n this.ctx = {}, (0, m.Z)(PerfManager, this, function (g) {\n g.create = function (d, g, f) {\n return new b(d, g, f);\n }, g.fire = function (g) {\n g && (g[v.Km](), d && (0, y.mf)(d[S.C$]) && d[S.C$](g));\n }, g[v.wu] = function (d, f) {\n d && ((g[_] = g[_] || {})[d] = f);\n }, g[v.T] = function (d) {\n return (g[_] || {})[d];\n };\n });\n }\n return PerfManager.__ieDyn = 1, PerfManager;\n }(),\n P = \"CoreUtils.doPerf\";\n function doPerf(d, g, f, m, y) {\n if (d) {\n var _ = d;\n if (_[S.kl] && (_ = _[S.kl]()), _) {\n var E = void 0,\n I = _[v.T](P);\n try {\n if (E = _.create(g(), m, y)) {\n if (I && E[v.wu] && (E[v.wu](b[C], I), I[v.T] && I[v.wu])) {\n var R = I[v.T](b[T]);\n R || (R = [], I[v.wu](b[T], R)), R[v.MW](E);\n }\n return _[v.wu](P, E), f(E);\n }\n } catch (d) {\n E && E[v.wu] && E[v.wu](\"exception\", d);\n } finally {\n E && _.fire(E), _[v.wu](P, I);\n }\n }\n }\n return f();\n }\n function getGblPerfMgr() {\n return E;\n }\n },\n 91425: function (d, g, f) {\n f.d(g, {\n Bt: function () {\n return createProcessTelemetryUnloadContext;\n },\n CD: function () {\n return createProcessTelemetryContext;\n },\n Vi: function () {\n return R;\n },\n jV: function () {\n return createTelemetryProxyChain;\n },\n xy: function () {\n return createProcessTelemetryUpdateContext;\n }\n });\n var m = f(94433),\n v = f(84948),\n y = f(91687),\n S = f(92453),\n _ = f(75048),\n C = f(46394),\n T = f(5457),\n E = \"TelemetryPluginChain\",\n b = \"_hasRun\",\n I = \"_getTelCtx\",\n P = 0;\n function _getNextProxyStart(d, g, f) {\n for (; d;) {\n if (d[m.TO]() === f) return d;\n d = d[m.W2]();\n }\n return createTelemetryProxyChain([f], g[m.TC] || {}, g);\n }\n function _createInternalContext(d, g, f, C) {\n var T = null,\n E = [];\n null !== C && (T = C ? _getNextProxyStart(d, f, C) : d);\n var b = {\n _next: _moveNext,\n ctx: {\n core: function () {\n return f;\n },\n diagLog: function () {\n return (0, v.vH)(f, g);\n },\n getCfg: function () {\n return g;\n },\n getExtCfg: _getExtCfg,\n getConfig: _getConfig,\n hasNext: function () {\n return !!T;\n },\n getNext: function () {\n return T;\n },\n setNext: function (d) {\n T = d;\n },\n iterate: _iterateChain,\n onComplete: _addOnComplete\n }\n };\n function _addOnComplete(d, g) {\n for (var f = [], v = 2; v < arguments.length; v++) f[v - 2] = arguments[v];\n d && E[m.MW]({\n func: d,\n self: (0, S.o8)(g) ? b.ctx : g,\n args: f\n });\n }\n function _moveNext() {\n var d = T;\n if (T = d ? d[m.W2]() : null, !d) {\n var g = E;\n g && g[m.R5] > 0 && ((0, S.tO)(g, function (d) {\n try {\n d.func[m._S](d.self, d.args);\n } catch (d) {\n (0, v.kP)(f[m.eZ], 2, 73, \"Unexpected Exception during onComplete - \" + (0, y.eU)(d));\n }\n }), E = []);\n }\n return d;\n }\n function _getExtCfg(d, f, m) {\n var v;\n if (void 0 === f && (f = {}), void 0 === m && (m = 0), g) {\n var y = g[_.Zh];\n y && d && (v = y[d]);\n }\n if (v) {\n if ((0, S.Kn)(f) && 0 !== m) {\n var C = (0, S.mm)(!0, f, v);\n g && 2 === m && (0, S.rW)(f, function (d) {\n if ((0, S.le)(C[d])) {\n var f = g[d];\n (0, S.le)(f) || (C[d] = f);\n }\n }), v = C;\n }\n } else v = f;\n return v;\n }\n function _getConfig(d, f, m) {\n var v;\n void 0 === m && (m = !1);\n var y = _getExtCfg(d, null);\n return y && !(0, S.le)(y[f]) ? v = y[f] : g && !(0, S.le)(g[f]) && (v = g[f]), (0, S.le)(v) ? m : v;\n }\n function _iterateChain(d) {\n for (var g; g = b._next();) {\n var f = g[m.TO]();\n f && d(f);\n }\n }\n return b;\n }\n function createProcessTelemetryContext(d, g, f, v) {\n var y = _createInternalContext(d, g, f, v),\n C = y.ctx;\n function _processNext(d) {\n var g = y._next();\n return g && g[_.hL](d, C), !g;\n }\n function _createNew(d, v) {\n return void 0 === d && (d = null), (0, S.kJ)(d) && (d = createTelemetryProxyChain(d, g, f, v)), createProcessTelemetryContext(d || C[m.W2](), g, f, v);\n }\n return C[m.uL] = _processNext, C[m.zV] = _createNew, C;\n }\n function createProcessTelemetryUnloadContext(d, g, f) {\n var v = g[m.TC] || {},\n y = _createInternalContext(d, v, g, f),\n _ = y.ctx;\n function _processNext(d) {\n var g = y._next();\n return g && g.unload(_, d), !g;\n }\n function _createNew(d, f) {\n return void 0 === d && (d = null), (0, S.kJ)(d) && (d = createTelemetryProxyChain(d, v, g, f)), createProcessTelemetryUnloadContext(d || _[m.W2](), g, f);\n }\n return _[m.uL] = _processNext, _[m.zV] = _createNew, _;\n }\n function createProcessTelemetryUpdateContext(d, g, f) {\n var v = g[m.TC] || {},\n y = _createInternalContext(d, v, g, f).ctx;\n function _processNext(d) {\n return y.iterate(function (g) {\n (0, S.mf)(g[m.Tu]) && g[m.Tu](y, d);\n });\n }\n function _createNew(d, f) {\n return void 0 === d && (d = null), (0, S.kJ)(d) && (d = createTelemetryProxyChain(d, v, g, f)), createProcessTelemetryUpdateContext(d || y[m.W2](), g, f);\n }\n return y[m.uL] = _processNext, y[m.zV] = _createNew, y;\n }\n function createTelemetryProxyChain(d, g, f, v) {\n var y = null,\n C = !v;\n if ((0, S.kJ)(d) && d[m.R5] > 0) {\n var T = null;\n (0, S.tO)(d, function (d) {\n if (C || v !== d || (C = !0), C && d && (0, S.mf)(d[_.hL])) {\n var m = createTelemetryPluginProxy(d, g, f);\n y || (y = m), T && T._setNext(m), T = m;\n }\n });\n }\n return v && !y ? createTelemetryProxyChain([v], g, f) : y;\n }\n function createTelemetryPluginProxy(d, g, f) {\n var R,\n A = null,\n M = (0, S.mf)(d[_.hL]),\n w = (0, S.mf)(d[m.Jd]),\n O = {\n getPlugin: function () {\n return d;\n },\n getNext: function () {\n return A;\n },\n processTelemetry: _processTelemetry,\n unload: _unloadPlugin,\n update: _updatePlugin,\n _id: R = d ? d[m.pZ] + \"-\" + d[_.yi] + \"-\" + P++ : \"Unknown-0-\" + P++,\n _setNext: function (d) {\n A = d;\n }\n };\n function _getTelCtx() {\n var m;\n return d && (0, S.mf)(d[I]) && (m = d[I]()), m || (m = createProcessTelemetryContext(O, g, f)), m;\n }\n function _processChain(g, f, S, T, I) {\n var P = !1,\n M = d ? d[m.pZ] : E,\n w = g[b];\n return w || (w = g[b] = {}), g.setNext(A), d && (0, C.Lm)(g[_.oV](), function () {\n return M + \":\" + S;\n }, function () {\n w[R] = !0;\n try {\n var d = A ? A._id : _.qS;\n d && (w[d] = !1), P = f(g);\n } catch (d) {\n var C = !A || w[A._id];\n C && (P = !0), A && C || (0, v.kP)(g[m.mc](), 1, 73, \"Plugin [\" + M + \"] failed during \" + S + \" - \" + (0, y.eU)(d) + \", run flags: \" + (0, y.eU)(w));\n }\n }, T, I), P;\n }\n function _processTelemetry(g, f) {\n function _callProcessTelemetry(f) {\n if (!d || !M) return !1;\n var v = (0, T.OY)(d);\n return !v[m.fi] && !v[_.mE] && (w && d[m.Jd](A), d[_.hL](g, f), !0);\n }\n _processChain(f = f || _getTelCtx(), _callProcessTelemetry, \"processTelemetry\", function () {\n return {\n item: g\n };\n }, !g.sync) || f[m.uL](g);\n }\n function _unloadPlugin(g, f) {\n function _callTeardown() {\n var v = !1;\n if (d) {\n var y = (0, T.OY)(d),\n S = d[_.oV] || y[_.oV];\n !d || S && S !== g.core() || y[m.fi] || (y[_.oV] = null, y[m.fi] = !0, y[m.yl] = !1, d[m.fi] && !0 === d[m.fi](g, f) && (v = !0));\n }\n return v;\n }\n _processChain(g, _callTeardown, \"unload\", function () {}, f[m.d]) || g[m.uL](f);\n }\n function _updatePlugin(g, f) {\n function _callUpdate() {\n var v = !1;\n if (d) {\n var y = (0, T.OY)(d),\n S = d[_.oV] || y[_.oV];\n !d || S && S !== g.core() || y[m.fi] || d[m.Tu] && !0 === d[m.Tu](g, f) && (v = !0);\n }\n return v;\n }\n _processChain(g, _callUpdate, \"update\", function () {}, !1) || g[m.uL](f);\n }\n return (0, S.FL)(O);\n }\n var R = function () {\n function ProcessTelemetryContext(d, g, f, m) {\n var v = this,\n y = createProcessTelemetryContext(d, g, f, m);\n (0, S.Vb)(v, y, (0, S.FY)(y));\n }\n return ProcessTelemetryContext;\n }();\n },\n 4528: function (d, g, f) {\n f.d(g, {\n CN: function () {\n return mwcRandomSeed;\n },\n F6: function () {\n return mwcRandom32;\n },\n _l: function () {\n return random32;\n },\n az: function () {\n return randomValue;\n },\n pZ: function () {\n return newId;\n }\n });\n var m = f(94433),\n v = f(91687),\n y = f(92453),\n S = f(75048),\n _ = 4294967296,\n C = 4294967295,\n T = !1,\n E = 123456789,\n b = 987654321;\n function _mwcSeed(d) {\n d < 0 && (d >>>= 0), E = 123456789 + d & C, b = 987654321 - d & C, T = !0;\n }\n function _autoSeedMwc() {\n try {\n var d = 2147483647 & (0, y.m6)();\n _mwcSeed((Math.random() * _ ^ d) + d);\n } catch (d) {}\n }\n function randomValue(d) {\n return d > 0 ? Math.floor(random32() / C * (d + 1)) >>> 0 : 0;\n }\n function random32(d) {\n var g = 0,\n f = (0, v.MX)() || (0, v.gz)();\n return f && f.getRandomValues && (g = f.getRandomValues(new Uint32Array(1))[0] & C), 0 === g && (0, v.w1)() && (T || _autoSeedMwc(), g = mwcRandom32() & C), 0 === g && (g = Math.floor(_ * Math.random() | 0)), d || (g >>>= 0), g;\n }\n function mwcRandomSeed(d) {\n d ? _mwcSeed(d) : _autoSeedMwc();\n }\n function mwcRandom32(d) {\n var g = ((b = 36969 * (65535 & b) + (b >> 16) & C) << 16) + (65535 & (E = 18e3 * (65535 & E) + (E >> 16) & C)) >>> 0 & C | 0;\n return d || (g >>>= 0), g;\n }\n function newId(d) {\n void 0 === d && (d = 22);\n for (var g = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", f = random32() >>> 0, v = 0, y = S.qS; y[m.R5] < d;) v++, y += g.charAt(63 & f), f >>>= 6, 5 === v && (f = (random32() << 2 & 4294967295 | 3 & f) >>> 0, v = 0);\n return y;\n }\n },\n 5457: function (d, g, f) {\n f.d(g, {\n AA: function () {\n return sortPlugins;\n },\n OY: function () {\n return _getPluginState;\n },\n Yn: function () {\n return createDistributedTraceContext;\n },\n bP: function () {\n return initializePlugins;\n }\n });\n var m = f(94433),\n v = f(33074),\n y = f(92453),\n S = f(75048),\n _ = f(41625),\n C = (0, v.K)(\"plugin\");\n function _getPluginState(d) {\n return C.get(d, \"state\", {}, !0);\n }\n function initializePlugins(d, g) {\n for (var f, v = [], _ = null, C = d[m.W2](); C;) {\n var T = C[m.TO]();\n if (T) {\n _ && (0, y.mf)(_[m.Jd]) && (0, y.mf)(T[S.hL]) && _[m.Jd](T);\n ((0, y.mf)(T[m.yl]) ? T[m.yl]() : (f = _getPluginState(T))[m.yl]) || v[m.MW](T), _ = T, C = C[m.W2]();\n }\n }\n (0, y.tO)(v, function (v) {\n var y = d[S.oV]();\n v[m.VL](d.getCfg(), y, g, d[m.W2]()), f = _getPluginState(v), v[S.oV] || f[S.oV] || (f[S.oV] = y), f[m.yl] = !0, delete f[m.fi];\n });\n }\n function sortPlugins(d) {\n return d.sort(function (d, g) {\n var f = 0;\n if (g) {\n var m = (0, y.mf)(g[S.hL]);\n (0, y.mf)(d[S.hL]) ? f = m ? d[S.yi] - g[S.yi] : 1 : m && (f = -1);\n } else f = d ? 1 : -1;\n return f;\n });\n }\n function createDistributedTraceContext(d) {\n var g = {};\n return {\n getName: function () {\n return g[m.I];\n },\n setName: function (f) {\n d && d.setName(f), g[m.I] = f;\n },\n getTraceId: function () {\n return g[m.nY];\n },\n setTraceId: function (f) {\n d && d.setTraceId(f), (0, _.jN)(f) && (g[m.nY] = f);\n },\n getSpanId: function () {\n return g[m._d];\n },\n setSpanId: function (f) {\n d && d.setSpanId(f), (0, _.Lc)(f) && (g[m._d] = f);\n },\n getTraceFlags: function () {\n return g[m.T0];\n },\n setTraceFlags: function (f) {\n d && d.setTraceFlags(f), g[m.T0] = f;\n }\n };\n }\n },\n 21673: function (d, g, f) {\n f.d(g, {\n Y: function () {\n return createUnloadHandlerContainer;\n }\n });\n var m = f(94433),\n v = f(84948),\n y = f(91687),\n S = f(92453);\n function createUnloadHandlerContainer() {\n var d = [];\n function _addHandler(g) {\n g && d[m.MW](g);\n }\n function _runHandlers(g, f) {\n (0, S.tO)(d, function (d) {\n try {\n d(g, f);\n } catch (d) {\n (0, v.kP)(g[m.mc](), 2, 73, \"Unexpected error calling unload handler - \" + (0, y.eU)(d));\n }\n }), d = [];\n }\n return {\n add: _addHandler,\n run: _runHandlers\n };\n }\n },\n 41625: function (d, g, f) {\n f.d(g, {\n Lc: function () {\n return isValidSpanId;\n },\n jN: function () {\n return isValidTraceId;\n }\n });\n var m = f(94433),\n v = \"00000000000000000000000000000000\",\n y = \"0000000000000000\";\n function _isValid(d, g, f) {\n return !(!d || d[m.R5] !== g || d === f) && !!d.match(/^[\\da-f]*$/);\n }\n function isValidTraceId(d) {\n return _isValid(d, 32, v);\n }\n function isValidSpanId(d) {\n return _isValid(d, 16, y);\n }\n },\n 94433: function (d, g, f) {\n f.d(g, {\n $h: function () {\n return X;\n },\n F3: function () {\n return j;\n },\n Fc: function () {\n return D;\n },\n Fr: function () {\n return ne;\n },\n Gc: function () {\n return U;\n },\n I: function () {\n return v;\n },\n Jd: function () {\n return q;\n },\n Jn: function () {\n return Z;\n },\n Km: function () {\n return he;\n },\n Kn: function () {\n return le;\n },\n LS: function () {\n return O;\n },\n Lk: function () {\n return K;\n },\n MW: function () {\n return _;\n },\n P6: function () {\n return se;\n },\n PL: function () {\n return de;\n },\n R5: function () {\n return I;\n },\n SD: function () {\n return A;\n },\n T: function () {\n return ue;\n },\n T0: function () {\n return me;\n },\n T1: function () {\n return oe;\n },\n TC: function () {\n return T;\n },\n TO: function () {\n return N;\n },\n Tu: function () {\n return B;\n },\n VL: function () {\n return m;\n },\n W2: function () {\n return W;\n },\n ZV: function () {\n return te;\n },\n Z_: function () {\n return P;\n },\n _S: function () {\n return ae;\n },\n _d: function () {\n return fe;\n },\n cb: function () {\n return x;\n },\n d: function () {\n return V;\n },\n dE: function () {\n return ce;\n },\n eZ: function () {\n return b;\n },\n fi: function () {\n return F;\n },\n g: function () {\n return M;\n },\n gU: function () {\n return H;\n },\n i7: function () {\n return ie;\n },\n iC: function () {\n return k;\n },\n jk: function () {\n return re;\n },\n kL: function () {\n return L;\n },\n mc: function () {\n return G;\n },\n n7: function () {\n return w;\n },\n nY: function () {\n return ge;\n },\n ou: function () {\n return J;\n },\n p$: function () {\n return E;\n },\n pZ: function () {\n return S;\n },\n qV: function () {\n return Q;\n },\n tb: function () {\n return y;\n },\n uL: function () {\n return R;\n },\n w6: function () {\n return Y;\n },\n wu: function () {\n return pe;\n },\n xv: function () {\n return ee;\n },\n yl: function () {\n return C;\n },\n zV: function () {\n return z;\n },\n zc: function () {\n return $;\n }\n });\n var m = \"initialize\",\n v = \"name\",\n y = \"getNotifyMgr\",\n S = \"identifier\",\n _ = \"push\",\n C = \"isInitialized\",\n T = \"config\",\n E = \"instrumentationKey\",\n b = \"logger\",\n I = \"length\",\n P = \"time\",\n R = \"processNext\",\n A = \"getProcessTelContext\",\n M = \"addNotificationListener\",\n w = \"removeNotificationListener\",\n O = \"stopPollingInternalLogs\",\n D = \"onComplete\",\n N = \"getPlugin\",\n L = \"flush\",\n k = \"_extensions\",\n x = \"splice\",\n F = \"teardown\",\n U = \"messageId\",\n H = \"message\",\n V = \"isAsync\",\n j = \"_doTeardown\",\n B = \"update\",\n W = \"getNext\",\n G = \"diagLog\",\n q = \"setNextPlugin\",\n z = \"createNew\",\n K = \"cookieCfg\",\n J = \"indexOf\",\n $ = \"substring\",\n Q = \"userAgent\",\n Y = \"split\",\n X = \"setEnabled\",\n Z = \"substr\",\n ee = \"nodeType\",\n te = \"apply\",\n ie = \"replace\",\n ne = \"enableDebugExceptions\",\n re = \"logInternalMessage\",\n oe = \"toLowerCase\",\n ae = \"call\",\n se = \"type\",\n le = \"handler\",\n ce = \"listeners\",\n de = \"isChildEvt\",\n ue = \"getCtx\",\n pe = \"setCtx\",\n he = \"complete\",\n ge = \"traceId\",\n fe = \"spanId\",\n me = \"traceFlags\";\n },\n 90462: function (d, g, f) {\n f.d(g, {\n CY: function () {\n return P;\n },\n Pw: function () {\n return C;\n },\n RJ: function () {\n return I;\n },\n V4: function () {\n return T;\n },\n bO: function () {\n return _;\n },\n cb: function () {\n return m;\n },\n fK: function () {\n return v;\n },\n hB: function () {\n return S;\n },\n jA: function () {\n return y;\n },\n rl: function () {\n return E;\n },\n yu: function () {\n return b;\n }\n });\n var m = \"function\",\n v = \"object\",\n y = \"undefined\",\n S = \"prototype\",\n _ = \"hasOwnProperty\",\n C = Object,\n T = C[S],\n E = C.assign,\n b = C.create,\n I = C.defineProperty,\n P = T[_];\n },\n 93247: function (d, g, f) {\n f.d(g, {\n Rd: function () {\n return getGlobal;\n },\n ZU: function () {\n return throwTypeError;\n },\n pu: function () {\n return objCreateFn;\n }\n });\n var m = f(90462),\n v = null;\n function getGlobal(d) {\n void 0 === d && (d = !0);\n var g = !1 === d ? null : v;\n return g || (typeof globalThis !== m.jA && (g = globalThis), g || typeof self === m.jA || (g = self), g || typeof window === m.jA || (g = window), g || typeof f.g === m.jA || (g = f.g), v = g), g;\n }\n function throwTypeError(d) {\n throw new TypeError(d);\n }\n function objCreateFn(d) {\n var g = m.yu;\n if (g) return g(d);\n if (null == d) return {};\n var f = typeof d;\n function tmpFunc() {}\n return f !== m.fK && f !== m.cb && throwTypeError(\"Object prototype may only be an Object:\" + d), tmpFunc[m.hB] = d, new tmpFunc();\n }\n },\n 6993: function (d, g, f) {\n f.d(g, {\n $h: function () {\n return __spreadArrayFn;\n },\n ne: function () {\n return __extendsFn;\n },\n uc: function () {\n return S;\n }\n });\n var m = f(90462),\n v = f(93247),\n y = (((0, v.Rd)() || {}).Symbol, ((0, v.Rd)() || {}).Reflect, function (d) {\n for (var g, f = 1, v = arguments.length; f < v; f++) for (var y in g = arguments[f]) m.V4[m.bO].call(g, y) && (d[y] = g[y]);\n return d;\n }),\n S = m.rl || y,\n extendStaticsFn = function (d, g) {\n return extendStaticsFn = m.Pw.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, g) {\n d.__proto__ = g;\n } || function (d, g) {\n for (var f in g) g[m.bO](f) && (d[f] = g[f]);\n }, extendStaticsFn(d, g);\n };\n function __extendsFn(d, g) {\n function __() {\n this.constructor = d;\n }\n typeof g !== m.cb && null !== g && (0, v.ZU)(\"Class extends value \" + String(g) + \" is not a constructor or null\"), extendStaticsFn(d, g), d[m.hB] = null === g ? (0, v.pu)(g) : (__[m.hB] = g[m.hB], new __());\n }\n function __spreadArrayFn(d, g) {\n for (var f = 0, m = g.length, v = d.length; f < m; f++, v++) d[v] = g[f];\n return d;\n }\n },\n 31340: function (d, g, f) {\n /*!\r\n \t * Microsoft Dynamic Proto Utility, 1.1.8\r\n \t * Copyright (c) Microsoft and contributors. All rights reserved.\r\n \t */\n var m;\n f.d(g, {\n Z: function () {\n return dynamicProto;\n }\n });\n var v = \"undefined\",\n y = \"constructor\",\n S = \"prototype\",\n _ = \"function\",\n C = \"_dynInstFuncs\",\n T = \"_isDynProxy\",\n E = \"_dynClass\",\n b = \"_dynCls$\",\n I = \"_dynInstChk\",\n P = I,\n R = \"_dfOpts\",\n A = \"_unknown_\",\n M = \"__proto__\",\n w = \"_dyn\" + M,\n O = \"__dynProto$Gbl\",\n D = \"_dynInstProto\",\n N = \"useBaseInst\",\n L = \"setInstFuncs\",\n k = Object,\n x = k.getPrototypeOf,\n F = k.getOwnPropertyNames;\n function _getGlobal() {\n var d;\n return typeof globalThis !== v && (d = globalThis), d || typeof self === v || (d = self), d || typeof window === v || (d = window), d || typeof f.g === v || (d = f.g), d || {};\n }\n var U = _getGlobal(),\n H = U[O] || (U[O] = {\n o: (m = {}, m[L] = !0, m[N] = !0, m),\n n: 1e3\n });\n function _hasOwnProperty(d, g) {\n return d && k[S].hasOwnProperty.call(d, g);\n }\n function _isObjectOrArrayPrototype(d) {\n return d && (d === k[S] || d === Array[S]);\n }\n function _isObjectArrayOrFunctionPrototype(d) {\n return _isObjectOrArrayPrototype(d) || d === Function[S];\n }\n function _getObjProto(d) {\n var g;\n if (d) {\n if (x) return x(d);\n var f = d[M] || d[S] || (d[y] ? d[y][S] : null);\n g = d[w] || f, _hasOwnProperty(d, w) || (delete d[D], g = d[w] = d[D] || d[w], d[D] = f);\n }\n return g;\n }\n function _forEachProp(d, g) {\n var f = [];\n if (F) f = F(d);else for (var m in d) \"string\" == typeof m && _hasOwnProperty(d, m) && f.push(m);\n if (f && f.length > 0) for (var v = 0; v < f.length; v++) g(f[v]);\n }\n function _isDynamicCandidate(d, g, f) {\n return g !== y && typeof d[g] === _ && (f || _hasOwnProperty(d, g));\n }\n function _throwTypeError(d) {\n throw new TypeError(\"DynamicProto: \" + d);\n }\n function _getInstanceFuncs(d) {\n var g = {};\n return _forEachProp(d, function (f) {\n !g[f] && _isDynamicCandidate(d, f, !1) && (g[f] = d[f]);\n }), g;\n }\n function _hasVisited(d, g) {\n for (var f = d.length - 1; f >= 0; f--) if (d[f] === g) return !0;\n return !1;\n }\n function _getBaseFuncs(d, g, f, m) {\n function _instFuncProxy(d, g, f) {\n var v = g[f];\n if (v[T] && m) {\n var y = d[C] || {};\n !1 !== y[P] && (v = (y[g[E]] || {})[f] || v);\n }\n return function () {\n return v.apply(d, arguments);\n };\n }\n var v = {};\n _forEachProp(f, function (d) {\n v[d] = _instFuncProxy(g, f, d);\n });\n for (var y = _getObjProto(d), S = []; y && !_isObjectArrayOrFunctionPrototype(y) && !_hasVisited(S, y);) _forEachProp(y, function (d) {\n !v[d] && _isDynamicCandidate(y, d, !x) && (v[d] = _instFuncProxy(g, y, d));\n }), S.push(y), y = _getObjProto(y);\n return v;\n }\n function _getInstFunc(d, g, f, m) {\n var v = null;\n if (d && _hasOwnProperty(f, E)) {\n var y = d[C] || {};\n if ((v = (y[f[E]] || {})[g]) || _throwTypeError(\"Missing [\" + g + \"] \" + _), !v[I] && !1 !== y[P]) {\n for (var S = !_hasOwnProperty(d, g), T = _getObjProto(d), b = []; S && T && !_isObjectArrayOrFunctionPrototype(T) && !_hasVisited(b, T);) {\n var R = T[g];\n if (R) {\n S = R === m;\n break;\n }\n b.push(T), T = _getObjProto(T);\n }\n try {\n S && (d[g] = v), v[I] = 1;\n } catch (d) {\n y[P] = !1;\n }\n }\n }\n return v;\n }\n function _getProtoFunc(d, g, f) {\n var m = g[d];\n return m === f && (m = _getObjProto(g)[d]), typeof m !== _ && _throwTypeError(\"[\" + d + \"] is not a \" + _), m;\n }\n function _populatePrototype(d, g, f, m, v) {\n function _createDynamicPrototype(d, g) {\n var dynProtoProxy = function () {\n return (_getInstFunc(this, g, d, dynProtoProxy) || _getProtoFunc(g, d, dynProtoProxy)).apply(this, arguments);\n };\n return dynProtoProxy[T] = 1, dynProtoProxy;\n }\n if (!_isObjectOrArrayPrototype(d)) {\n var y = f[C] = f[C] || {},\n S = y[g] = y[g] || {};\n !1 !== y[P] && (y[P] = !!v), _forEachProp(f, function (g) {\n _isDynamicCandidate(f, g, !1) && f[g] !== m[g] && (S[g] = f[g], delete f[g], (!_hasOwnProperty(d, g) || d[g] && !d[g][T]) && (d[g] = _createDynamicPrototype(d, g)));\n });\n }\n }\n function _checkPrototype(d, g) {\n if (x) {\n for (var f = [], m = _getObjProto(g); m && !_isObjectArrayOrFunctionPrototype(m) && !_hasVisited(f, m);) {\n if (m === d) return !0;\n f.push(m), m = _getObjProto(m);\n }\n return !1;\n }\n return !0;\n }\n function _getObjName(d, g) {\n return _hasOwnProperty(d, S) ? d.name || g || A : ((d || {})[y] || {}).name || g || A;\n }\n function dynamicProto(d, g, f, m) {\n _hasOwnProperty(d, S) || _throwTypeError(\"theClass is an invalid class definition.\");\n var v = d[S];\n _checkPrototype(v, g) || _throwTypeError(\"[\" + _getObjName(d) + \"] not in hierarchy of [\" + _getObjName(g) + \"]\");\n var y = null;\n _hasOwnProperty(v, E) ? y = v[E] : (y = b + _getObjName(d, \"_\") + \"$\" + H.n, H.n++, v[E] = y);\n var _ = dynamicProto[R],\n C = !!_[N];\n C && m && void 0 !== m[N] && (C = !!m[N]);\n var T = _getInstanceFuncs(g);\n f(g, _getBaseFuncs(v, g, T, C));\n var I = !!x && !!_[L];\n I && m && (I = !!m[L]), _populatePrototype(v, y, g, T, !1 !== I);\n }\n dynamicProto[R] = H.o;\n },\n 70989: function (d) {\n var g;\n g = function () {\n return function () {\n var d = {\n 322: function (d, g, f) {\n var m = this && this.__assign || function () {\n return m = Object.assign || function (d) {\n for (var g, f = 1, m = arguments.length; f < m; f++) for (var v in g = arguments[f]) Object.prototype.hasOwnProperty.call(g, v) && (d[v] = g[v]);\n return d;\n }, m.apply(this, arguments);\n };\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), g.LiveStreamStatistic = void 0;\n var v = f(246),\n y = function () {\n function e(d, g, f) {\n this.name = d, this.stopCrash = g, this.start(f);\n }\n return e.prototype.complete = function () {\n try {\n v.assert(this.startTime, \"not started\", this.stopCrash), v.assert(void 0 === this.duration, \"already completed\", this.stopCrash);\n } catch (d) {\n if (\"LoadHlsFirstFragment\" !== this.name && \"HlsKeyLoad\" !== this.name) throw d;\n }\n this.duration = Date.now() - this.startTime;\n }, e.prototype.fail = function (d) {\n this.failReason = d, this.complete();\n }, e.prototype.setDetail = function (d) {\n this.details = d;\n }, e.prototype.getTelemetryEvent = function () {\n v.assert(this.startTime, \"not started\", this.stopCrash);\n var d = {\n name: this.name,\n startTime: this.startTime,\n duration: this.duration\n };\n return this.failReason && (d.failReason = this.failReason), this.details && (d.details = this.details), d;\n }, e.prototype.getName = function () {\n return this.name;\n }, e.prototype.getDuration = function () {\n var d;\n return null !== (d = this.duration) && void 0 !== d ? d : 0;\n }, e.prototype.getFailReason = function () {\n return this.failReason;\n }, e.prototype.getDetails = function () {\n return this.details;\n }, e.prototype.start = function (d) {\n v.assert(!this.startTime, \"already started\", this.stopCrash), this.startTime = Date.now(), d && (this.details = d);\n }, e.prototype.updateDetails = function (d, g) {\n if (this.details && \"object\" == typeof this.details) for (var f = 0; f < d.length; f++) this.details[d[f]] = g[f];\n }, e;\n }(),\n S = function () {\n function e(d, g, f, m, v) {\n var y;\n this.config = d, this.logFn = g, this.playerDiagnosticsLog = f, this.playerMetadata = m, this.hydraInitResult = v, this.currentScenarioMap = new Map(), this.playerEvents = [], this.playbackEvents = [], this.experimentalEvents = [], this.callSetupSucceeded = !1, this.callDropped = !1, this.isCallRecovered = !1, this.isCallInErrorState = !1, this.clientNetworkType = void 0, this.maxPlayerPlaybackEventCount = d.maxPlayerPlaybackEventCount || 5, this.maxPlayerDiagnosticsCount = d.maxPlayerDiagnosticsCount || 5, this.maxPlayerMemoryTraceLogCount = d.maxPlayerMemoryTraceLogCount || 100, this.maxPlayerExperimentalEvents = d.maxPlayerExperimentalEvents || 100, !1 === (null === (y = d.ecsSettings) || void 0 === y ? void 0 : y.stopCrash) ? this.stopCrash = !1 : this.stopCrash = !0, this.config.debugLogging && (this.playerDiagnosticsLog.memoryLog = []), this.addNetworkTypeEventListener();\n }\n return e.prototype.getPlayerDiagnosticSnapshot = function () {\n return this.currentPlayerDiagnosticSnapshot;\n }, e.prototype.registerStatsUpdated = function (d) {\n var g = this;\n this.currentPlayerDiagnosticSnapshot = d, Object.keys(this.playerDiagnosticsLog).forEach(function (f) {\n var m,\n v = f,\n y = null !== (m = g.playerDiagnosticsLog[f]) && void 0 !== m ? m : [];\n if (Array.isArray(y)) {\n y.push(d[v]);\n var S = \"memoryLog\" === v && y.length > g.maxPlayerMemoryTraceLogCount,\n _ = \"memoryLog\" !== v && y.length > g.maxPlayerDiagnosticsCount;\n (S || _) && y.splice(0, 1);\n } else g.playerDiagnosticsLog[f] = d[v];\n });\n }, e.prototype.registerEventLoadAttempt = function (d, g) {\n this.registerScenario(d, g);\n }, e.prototype.registerEventLoadFailed = function (d, g) {\n this.completeScenario(d, g);\n }, e.prototype.registerEventLoadSucceeded = function (d, g) {\n this.completeScenario(d, void 0, g), \"LoadPlayer\" === d && (this.callSetupSucceeded = !0);\n }, e.prototype.registerStreamConnectionAttempt = function (d) {\n this.registerScenario(\"StreamConnection\");\n }, e.prototype.registerStreamConnectionSucceeded = function () {\n this.completeScenario(\"StreamConnection\");\n }, e.prototype.registerStreamConnectionFailed = function (d) {\n this.completeScenario(\"StreamConnection\", d);\n }, e.prototype.registerSetSourceAttempt = function (d, g) {\n var f = d || \"\";\n g && (f = {\n src: d || \"\",\n reason: g\n }), this.registerScenario(\"SetSource\", f);\n }, e.prototype.registerSetSourceSucceeded = function (d, g, f) {\n var m = this.getScenario(\"SetSource\");\n v.assert(m, \"no SetSource scenario to update details\", this.stopCrash), null == m || m.updateDetails([\"src\", \"SwitchingDiagnostics\", \"StepDuration\"], [d, v.stringifyObject(g), v.stringifyObject(f)]), this.completeScenario(\"SetSource\");\n }, e.prototype.registerSetSourceFailed = function (d, g, f, m) {\n var y = null != m ? m : \"Failed to find stream url\",\n S = this.getScenario(\"SetSource\");\n v.assert(S, \"no SetSource scenario to update details\", this.stopCrash), null == S || S.updateDetails([\"src\", \"SwitchingDiagnostics\", \"stepDuration\"], [y, v.stringifyObject(g), v.stringifyObject(f)]), this.completeScenario(\"SetSource\", d);\n }, e.prototype.registerPlayerDestroyed = function (d) {\n this.callDropped = \"PlaybackError\" === d, this.registerScenario(\"Destroyed\", d), this.completeScenario(\"Destroyed\");\n }, e.prototype.updateCallRecovered = function (d) {\n this.isCallInErrorState && \"playing\" === d && (this.isCallRecovered = !0, this.isCallInErrorState = !1);\n }, e.prototype.registerPlaybackStateChanged = function (d) {\n \"canplaythrough\" !== d || this.firstReadyStateTimestamp ? \"playing\" !== d || this.firstPlayingStateTimestamp || (this.firstPlayingStateTimestamp = Date.now()) : this.firstReadyStateTimestamp = Date.now(), this.registerPlaybackEvent(\"StateChanged\", d), this.updateCallRecovered(d);\n }, e.prototype.registerPlaybackBuffering = function (d) {\n this.registerPlaybackEvent(\"Buffering\", d);\n }, e.prototype.registerPlaybackError = function (d, g) {\n this.registerPlaybackEvent(\"Error\", {\n errorType: d,\n details: g\n });\n }, e.prototype.registerDownloadBitrateChanged = function (d) {\n this.registerPlaybackEvent(\"BitrateChangedDownload\", d);\n }, e.prototype.registerStreamOptionsConfigured = function (d, g) {\n this.registerPlaybackEvent(\"StreamOptionsConfigured\", d, g);\n }, e.prototype.registerPlaybackBitrateChanged = function (d) {\n this.registerPlaybackEvent(\"BitrateChangedPlayback\", d);\n }, e.prototype.registerVolumeChange = function (d) {\n this.registerPlaybackEvent(\"Volume\", d);\n }, e.prototype.getSnapshotReport = function () {\n var d,\n g,\n f = [this.getTotalLoadEvent(), this.getHydraLoadEvent()].concat(this.playerEvents.map(function (d) {\n return d.getTelemetryEvent();\n })),\n v = this.playbackEvents,\n y = {};\n return this.currentPlayerDiagnosticSnapshot && (y = this.filterAndPrepareTelemetry()), m(m(m(m(m(m(m(m(m(m(m({\n isFullReport: !1,\n configIds: this.config.configIds || \"\",\n eTag: this.config.eTag || \"\"\n }, this.getPlayerMetadataReport()), {\n isIframe: !0,\n isFullscreenButtonDisabled: !1,\n telemetryTickMs: null !== (g = null === (d = this.currentPlayerDiagnosticSnapshot) || void 0 === d ? void 0 : d.statsInterval) && void 0 !== g ? g : -1\n }), this.getHydraInitializationReport()), this.getPlayerInitializationReport(f, v)), this.getPlaybackReport(v)), this.getBitrateReport(v)), this.getSdnReport(f)), this.getSetSourceReport(f)), this.getExperimentalEvents()), {\n networkType: this.getClientNetworkType(),\n callSetupSucceeded: this.callSetupSucceeded,\n callDropped: this.callDropped,\n callRecovered: this.isCallRecovered\n }), y);\n }, e.prototype.getReport = function () {\n var d,\n g,\n f = [this.getTotalLoadEvent(), this.getHydraLoadEvent()].concat(this.playerEvents.map(function (d) {\n return d.getTelemetryEvent();\n })),\n v = this.playbackEvents;\n return m(m(m(m(m(m(m(m(m(m(m({\n isFullReport: !0,\n configIds: this.config.configIds || \"\",\n eTag: this.config.eTag || \"\"\n }, this.getPlayerMetadataReport()), {\n isIframe: !0,\n isFullscreenButtonDisabled: !1,\n telemetryTickMs: null !== (g = null === (d = this.currentPlayerDiagnosticSnapshot) || void 0 === d ? void 0 : d.statsInterval) && void 0 !== g ? g : -1\n }), this.getHydraInitializationReport()), this.getPlayerInitializationReport(f, v)), this.getPlaybackReport(v)), this.getBitrateReport(v)), this.getSdnReport(f)), this.getSetSourceReport(f)), this.getExperimentalEvents()), {\n networkType: this.getClientNetworkType(),\n callSetupSucceeded: this.callSetupSucceeded,\n callDropped: this.callDropped,\n callRecovered: this.isCallRecovered\n }), this.getPlayerDiagnosticLog());\n }, e.prototype.getHydraLoadEvent = function () {\n var d,\n g,\n f,\n m = {\n name: \"LoadHydra\",\n startTime: (null === (d = this.hydraInitResult) || void 0 === d ? void 0 : d.initStartTime) || -1,\n duration: (null === (g = this.hydraInitResult) || void 0 === g ? void 0 : g.initDuration) || 0\n };\n (null === (f = this.hydraInitResult) || void 0 === f ? void 0 : f.errorMsg) && (m.failReason = this.hydraInitResult.errorMsg);\n var v = this.getHydraRuntimeDownloadDetails();\n return v && (m.details = v), m;\n }, e.prototype.getHydraRuntimeDownloadDetails = function () {\n if (this.hydraInitResult) {\n for (var d = [], g = 0, f = this.hydraInitResult.runtimeDownloadResults; g < f.length; g++) {\n var m = f[g],\n y = {\n success: m.success,\n url: m.url,\n startTime: m.startTime,\n duration: m.duration,\n trackingReference: m.trackingReference,\n timeTakenToDownloadScript: m.timeTakenToDownloadScript\n };\n m.errorMsg && (y.errorMsg = m.errorMsg), d.push(y);\n }\n return v.stringifyObject(d);\n }\n return null;\n }, e.prototype.getTotalLoadEvent = function () {\n var d,\n g,\n f,\n m = this.playerEvents.find(function (d) {\n return \"LoadPlayer\" === d.getName();\n }),\n v = (null === (d = this.hydraInitResult) || void 0 === d ? void 0 : d.initDuration) || 0,\n y = (null == m ? void 0 : m.getDuration()) || 0,\n S = null == m ? void 0 : m.getFailReason(),\n _ = {\n name: \"Load\",\n startTime: (null === (g = this.hydraInitResult) || void 0 === g ? void 0 : g.initStartTime) || -1,\n duration: v + y\n };\n return (null === (f = this.hydraInitResult) || void 0 === f ? void 0 : f.errorMsg) ? _.failReason = this.hydraInitResult.errorMsg : S && (_.failReason = S), _;\n }, e.prototype.getPlayerMetadataReport = function () {\n return {\n playerId: this.playerMetadata.playerId || \"\",\n traceId: this.playerMetadata.playerId ? this.playerMetadata.playerId.replace(/-/g, \"\") : \"\",\n hydraPlayerRuntimeVersion: this.playerMetadata.hydraPlayerRuntimeVersion || \"\",\n hydraPlayerSdkVersion: this.playerMetadata.hydraPlayerSdkVersion\n };\n }, e.prototype.registerPlaybackEvent = function (d, g, f) {\n var m = this.createTelemetryEvent(d, g, f);\n \"Error\" === d && \"PlaybackRetried\" !== (null == g ? void 0 : g.errorType) && (m.fatal = !0, this.isCallInErrorState = !0), this.playbackEvents.push(m), this.playbackEvents.length > this.maxPlayerPlaybackEventCount && this.playbackEvents.splice(0, 1), this.logTelemetryEvent(m);\n }, e.prototype.getPlayerDiagnosticLog = function () {\n var d = this;\n if (!this.currentPlayerDiagnosticSnapshot) return {};\n var g = this.currentPlayerDiagnosticSnapshot,\n f = this.playerDiagnosticsLog,\n v = m(m({}, g), f),\n y = {};\n return Object.keys(v).forEach(function (g) {\n y[\"player_\".concat(g)] = d.prepareForTelemetry(v[g]);\n }), y;\n }, e.prototype.getHydraInitializationReport = function () {\n var d, g, f, m;\n return {\n hydraInit_succeeded: (null === (d = this.hydraInitResult) || void 0 === d ? void 0 : d.initSucceeded) || !1,\n hydraInit_startTime: (null === (g = this.hydraInitResult) || void 0 === g ? void 0 : g.initStartTime) || -1,\n hydraInit_errorMessage: (null === (f = this.hydraInitResult) || void 0 === f ? void 0 : f.errorMsg) || \"\",\n hydraInit_duration: (null === (m = this.hydraInitResult) || void 0 === m ? void 0 : m.initDuration) || 0\n };\n }, e.prototype.getPlayerInitializationReport = function (d, g) {\n var f = d.find(function (d) {\n return \"Load\" === d.name;\n });\n return {\n init_timeLoadToStreamConnectionEstablished: (null != f && this.initialStreamConnectionEstablishedTimestamp ? this.initialStreamConnectionEstablishedTimestamp - f.startTime : -1) || -1,\n init_timeLoadToReady: (null != f && this.firstReadyStateTimestamp ? this.firstReadyStateTimestamp - f.startTime : -1) || -1,\n init_timeLoadToPlaying: (null != f && this.firstPlayingStateTimestamp ? this.firstPlayingStateTimestamp - f.startTime : -1) || -1,\n init_allEvents: this.prepareForTelemetry(d)\n };\n }, e.prototype.getPlaybackReport = function (d) {\n var g = d.filter(function (d) {\n return \"StateChanged\" === d.eventType;\n }),\n f = g.find(function (d) {\n return \"canplaythrough\" === d.payload;\n }),\n m = g.find(function (d) {\n return \"play\" === d.payload;\n }),\n v = g.find(function (d) {\n return \"start\" === d.payload;\n }),\n y = g.find(function (d) {\n return \"playing\" === d.payload;\n }),\n S = null != f && null != m ? m.timestamp - f.timestamp : -1,\n _ = null != m && null != v ? v.timestamp - m.timestamp : -1,\n C = null != v && null != y ? y.timestamp - v.timestamp : -1,\n T = g.filter(function (d) {\n return \"seeked\" === d.payload;\n }),\n E = g.filter(function (d) {\n return \"seeking\" === d.payload;\n }),\n b = g.filter(function (d) {\n return \"pause\" === d.payload;\n }),\n I = g.filter(function (d) {\n return \"waiting\" === d.payload;\n }),\n P = [\"BitrateChangedDownload\", \"BitrateChangedPlayback\", \"Error\", \"Mute\", \"StateChanged\", \"Volume\", \"StreamOptionsConfigured\"],\n R = d.filter(function (d) {\n return \"Error\" === d.eventType;\n }),\n A = d.filter(function (d) {\n return \"Volume\" === d.eventType || \"Mute\" === d.eventType;\n }),\n M = d.filter(function (d) {\n return \"StreamOptionsConfigured\" === d.eventType;\n }),\n w = d.filter(function (d) {\n return !P.includes(d.eventType);\n });\n return {\n playback_timeReadyToPlay: S,\n playback_timePlayToStart: _,\n playback_timeStartToPlaying: C,\n playback_bufferingEvents: this.prepareForTelemetry(I),\n playback_errorEvents: this.prepareForTelemetry(R),\n playback_pauseEvents: this.prepareForTelemetry(b),\n playback_otherEvents: this.prepareForTelemetry(w),\n playback_seekedEvents: this.prepareForTelemetry(T),\n playback_seekingEvents: this.prepareForTelemetry(E),\n playback_stateChangeEvents: this.prepareForTelemetry(g),\n playback_volumeEvents: this.prepareForTelemetry(A),\n playback_streamOptionsConfiguredEvents: this.prepareForTelemetry(M)\n };\n }, e.prototype.getBitrateReport = function (d) {\n var g,\n f,\n v,\n y,\n S = d.filter(function (d) {\n return \"BitrateChangedDownload\" === d.eventType;\n }),\n _ = S.sort(function (d) {\n return Number(d.payload);\n }),\n C = S.length > 0 ? {\n bitrate_downloadChanges: this.prepareForTelemetry(S),\n bitrate_downloadChangeCount: S.length > 0 || -1,\n bitrate_downloadMin: (null === (g = _[0]) || void 0 === g ? void 0 : g.payload) || -1,\n bitrate_downloadMax: (null === (f = _[_.length - 1]) || void 0 === f ? void 0 : f.payload) || -1\n } : {},\n T = d.filter(function (d) {\n return \"BitrateChangedPlayback\" === d.eventType;\n }),\n E = T.sort(function (d) {\n return Number(d.payload);\n }),\n b = T.length > 0 ? {\n bitrate_playbackChanges: this.prepareForTelemetry(T),\n bitrate_playbackChangeCount: T.length > 0 || -1,\n bitrate_playbackMin: (null === (v = E[0]) || void 0 === v ? void 0 : v.payload) || -1,\n bitrate_playbackMax: (null === (y = E[E.length - 1]) || void 0 === y ? void 0 : y.payload) || -1\n } : {};\n return m(m({}, C), b);\n }, e.prototype.addNetworkTypeEventListener = function () {\n var d,\n g,\n f,\n m,\n v = this;\n (null === (g = null === (d = window.navigator) || void 0 === d ? void 0 : d.connection) || void 0 === g ? void 0 : g.type) && (null === (m = null === (f = window.navigator) || void 0 === f ? void 0 : f.connection) || void 0 === m || m.addEventListener(\"change\", function () {\n v.updateClientNetworkType();\n }));\n }, e.prototype.updateClientNetworkType = function () {\n this.clientNetworkType = void 0, this.getClientNetworkType();\n }, e.prototype.getClientNetworkType = function () {\n var d, g, f, m;\n if (void 0 === this.clientNetworkType) {\n var v = \"Unknown\";\n if (null === (g = null === (d = window.navigator) || void 0 === d ? void 0 : d.connection) || void 0 === g ? void 0 : g.type) switch (null === (m = null === (f = window.navigator) || void 0 === f ? void 0 : f.connection) || void 0 === m ? void 0 : m.type) {\n case \"cellular\":\n v = \"WWAN\";\n break;\n case \"ethernet\":\n v = \"Wired\";\n break;\n case \"wifi\":\n v = \"Wireless\";\n break;\n default:\n v = \"Unknown\";\n }\n this.clientNetworkType = v;\n }\n return this.clientNetworkType;\n }, e.prototype.getSdnReport = function (d) {\n var g,\n f,\n m = d.filter(function (d) {\n return \"SdnPluginLoad\" === d.name;\n }),\n v = m.length > 0 ? m[m.length - 1] : void 0;\n return {\n sdn_loaded: !(null == v || void 0 !== v.failReason),\n sdn_details: null !== (g = null == v ? void 0 : v.details) && void 0 !== g ? g : \"\",\n sdn_error: null !== (f = null == v ? void 0 : v.failReason) && void 0 !== f ? f : \"\",\n sdn_events: this.prepareForTelemetry(m)\n };\n }, e.prototype.getSetSourceReport = function (d) {\n var g = d.filter(function (d) {\n return \"SetSource\" === d.name;\n });\n return {\n set_source_events: this.prepareForTelemetry(g)\n };\n }, e.prototype.registerScenario = function (d, g) {\n var f = this.currentScenarioMap.get(d),\n m = new y(d, this.stopCrash, g);\n try {\n v.assert(null == f, \"previous scenario:\".concat(v.stringifyObject(f), \" is not completed, new scenario:\").concat(v.stringifyObject(m)), this.stopCrash);\n } catch (g) {\n if (\"LoadHlsFirstFragment\" !== d && \"HlsKeyLoad\" !== d) throw g;\n }\n this.currentScenarioMap.set(d, m), this.playerEvents.push(m);\n }, e.prototype.completeScenario = function (d, g, f) {\n var m = this.currentScenarioMap.get(d);\n try {\n v.assert(m, \"no scenario to complete\", this.stopCrash);\n } catch (g) {\n if (\"LoadHlsFirstFragment\" !== d && \"HlsKeyLoad\" !== d) throw g;\n }\n g ? null == m || m.fail(g) : (\"StreamConnection\" !== d || this.initialStreamConnectionEstablishedTimestamp || (this.initialStreamConnectionEstablishedTimestamp = Date.now()), f && (null == m || m.setDetail(f)), null == m || m.complete()), this.currentScenarioMap.delete(d);\n }, e.prototype.logTelemetryEvent = function (d) {\n this.config.debugLogging && (this.logFn(\"debug\", \"PlayerTelemetryEvent: \".concat(JSON.stringify(d))), this.logFn(\"debug\", \"PlayerDiagnosticData: \".concat(JSON.stringify(this.currentPlayerDiagnosticSnapshot))));\n }, e.prototype.filterAndPrepareTelemetry = function () {\n var d = this,\n g = new Set();\n g.add(\"serviceLatencyCdg\"), g.add(\"endToEndLatencyCdg\"), g.add(\"videoEdgeLatencyCdg\");\n var f = {};\n return Object.keys(this.currentPlayerDiagnosticSnapshot).forEach(function (m) {\n g.has(m) || (f[\"player_\".concat(m)] = d.prepareForTelemetry(d.currentPlayerDiagnosticSnapshot[m]));\n }), f;\n }, e.prototype.prepareForTelemetry = function (d) {\n return \"boolean\" == typeof d ? d : \"string\" == typeof d || void 0 === d ? d || \"\" : \"number\" == typeof d ? null != d ? d : -1 : JSON.stringify(d);\n }, e.prototype.getScenario = function (d) {\n return this.currentScenarioMap.get(d);\n }, e.prototype.createTelemetryEvent = function (d, g, f) {\n var m,\n v,\n y = {\n eventType: d,\n timestamp: Date.now(),\n currentPlayPosition: null !== (v = null === (m = this.currentPlayerDiagnosticSnapshot) || void 0 === m ? void 0 : m.currentPlayPosition) && void 0 !== v ? v : -1\n };\n return void 0 !== g && (y.payload = this.prepareForTelemetry(g)), y.message = f, y;\n }, e.prototype.registerExperimentalEvent = function (d, g, f) {\n var m = this.createTelemetryEvent(d, g, f);\n this.experimentalEvents.push(m), this.experimentalEvents.length > this.maxPlayerExperimentalEvents && this.experimentalEvents.splice(0, 1), this.logTelemetryEvent(m);\n }, e.prototype.getExperimentalEvents = function () {\n return {\n playback_experimentalEvents: this.prepareForTelemetry(this.experimentalEvents)\n };\n }, e;\n }();\n g.LiveStreamStatistic = S;\n },\n 546: function (d, g, f) {\n var m = this && this.__assign || function () {\n return m = Object.assign || function (d) {\n for (var g, f = 1, m = arguments.length; f < m; f++) for (var v in g = arguments[f]) Object.prototype.hasOwnProperty.call(g, v) && (d[v] = g[v]);\n return d;\n }, m.apply(this, arguments);\n },\n v = this && this.__awaiter || function (d, g, f, m) {\n return new (f || (f = Promise))(function (v, y) {\n function o(d) {\n try {\n l(m.next(d));\n } catch (d) {\n y(d);\n }\n }\n function s(d) {\n try {\n l(m.throw(d));\n } catch (d) {\n y(d);\n }\n }\n function l(d) {\n var g;\n d.done ? v(d.value) : (g = d.value, g instanceof f ? g : new f(function (d) {\n d(g);\n })).then(o, s);\n }\n l((m = m.apply(d, g || [])).next());\n });\n },\n y = this && this.__generator || function (d, g) {\n var f,\n m,\n v,\n y,\n S = {\n label: 0,\n sent: function () {\n if (1 & v[0]) throw v[1];\n return v[1];\n },\n trys: [],\n ops: []\n };\n return y = {\n next: s(0),\n throw: s(1),\n return: s(2)\n }, \"function\" == typeof Symbol && (y[Symbol.iterator] = function () {\n return this;\n }), y;\n function s(_) {\n return function (C) {\n return function (_) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n for (; y && (y = 0, _[0] && (S = 0)), S;) try {\n if (f = 1, m && (v = 2 & _[0] ? m.return : _[0] ? m.throw || ((v = m.return) && v.call(m), 0) : m.next) && !(v = v.call(m, _[1])).done) return v;\n switch (m = 0, v && (_ = [2 & _[0], v.value]), _[0]) {\n case 0:\n case 1:\n v = _;\n break;\n case 4:\n return S.label++, {\n value: _[1],\n done: !1\n };\n case 5:\n S.label++, m = _[1], _ = [0];\n continue;\n case 7:\n _ = S.ops.pop(), S.trys.pop();\n continue;\n default:\n if (!((v = (v = S.trys).length > 0 && v[v.length - 1]) || 6 !== _[0] && 2 !== _[0])) {\n S = 0;\n continue;\n }\n if (3 === _[0] && (!v || _[1] > v[0] && _[1] < v[3])) {\n S.label = _[1];\n break;\n }\n if (6 === _[0] && S.label < v[1]) {\n S.label = v[1], v = _;\n break;\n }\n if (v && S.label < v[2]) {\n S.label = v[2], S.ops.push(_);\n break;\n }\n v[2] && S.ops.pop(), S.trys.pop();\n continue;\n }\n _ = g.call(d, S);\n } catch (d) {\n _ = [6, d], m = 0;\n } finally {\n f = v = 0;\n }\n if (5 & _[0]) throw _[1];\n return {\n value: _[0] ? _[1] : void 0,\n done: !0\n };\n }([_, C]);\n };\n }\n },\n S = this && this.__spreadArray || function (d, g, f) {\n if (f || 2 === arguments.length) for (var m, v = 0, y = g.length; v < y; v++) !m && v in g || (m || (m = Array.prototype.slice.call(g, 0, v)), m[v] = g[v]);\n return d.concat(m || Array.prototype.slice.call(g));\n };\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), g.HlsHydraPlayer = g.getSdkVersion = void 0;\n var _ = f(250),\n C = f(246),\n T = f(322);\n g.getSdkVersion = function () {\n return \"4.23249.1\";\n };\n var E = function () {\n function e(d, g) {\n this.playerSettings = d, this.eventHandler = g, this.spinner = null, this.commandResultsMap = new Map(), this._onMessage = this.onMessage.bind(this), this.telemetryReportHandler = null, this.playerInternalEventHandler = null, this.playerRuntimeJsUrls = this.getRuntimeJsUrls(), this.playerSettings.hydraPlayerSdkVersion = \"4.23249.1\";\n }\n return Object.defineProperty(e.prototype, \"contextWindow\", {\n get: function () {\n var d;\n return null === (d = this.container) || void 0 === d ? void 0 : d.ownerDocument.defaultView;\n },\n enumerable: !1,\n configurable: !0\n }), e.prototype.getRuntimeJsUrls = function () {\n if (!Array.isArray(this.playerSettings.playerRuntimeJsUrls)) {\n var d = (0, C.getMajorFromVersion)(\"4.23249.1\");\n return d && this.playerSettings.playerRuntimeJsUrls[d] || [];\n }\n return this.playerSettings.playerRuntimeJsUrls;\n }, e.prototype.initializeIFrame = function (d) {\n return v(this, void 0, void 0, function () {\n var g;\n return y(this, function (f) {\n switch (f.label) {\n case 0:\n return this.container = d, 0 === this.playerRuntimeJsUrls.length ? [2, {\n initSucceeded: !1,\n initStartTime: Date.now(),\n initDuration: 0,\n runtimeDownloadResults: [],\n errorMsg: \"No compatible runtime URL provided for version \".concat(\"4.23249.1\", ', URLs: \"').concat((0, C.stringifyObject)(this.playerSettings.playerRuntimeJsUrls), '\"')\n }] : [4, (0, C.createIFrame)(d, this.playerRuntimeJsUrls, this.playerSettings.maxRetryCountForLoadingResources, this.playerSettings.disableSandbox, this.playerSettings.hydraRuntimeFetchTimeout)];\n case 1:\n return (g = f.sent()).initResult.initSucceeded && g.iframe && (this.iframe = g.iframe, this.contextWindow.addEventListener(\"message\", this._onMessage)), [2, g.initResult];\n }\n });\n });\n }, e.prototype.setup = function (d) {\n return v(this, void 0, void 0, function () {\n var g;\n return y(this, function (f) {\n switch (f.label) {\n case 0:\n return this.spinner = new C.Spinner(d), [4, this.initializeIFrame(d)];\n case 1:\n return g = f.sent(), this.telemetryReportHandler = new I(this.playerSettings, this.eventHandler.log.bind(this.eventHandler), g, this.spinner), this.playerInternalEventHandler = new b(this.spinner, this.telemetryReportHandler), g.initSucceeded ? [4, this.sendCommand(\"createHlsHydraPlayer\", this.playerSettings, g)] : [3, 3];\n case 2:\n return f.sent(), [2, !0];\n case 3:\n return this.eventHandler.log(\"error\", \"Failed to setup HydraPlayer: \".concat(g.errorMsg)), this.spinner.hide(), [2, !1];\n }\n });\n });\n }, e.prototype.isIFrameCommunicationActive = function () {\n var d;\n return !!(null === (d = this.iframe) || void 0 === d ? void 0 : d.contentWindow) && !!this.contextWindow;\n }, e.prototype.getFullTelemetryReport = function () {\n var d;\n return (null === (d = this.telemetryReportHandler) || void 0 === d ? void 0 : d.getFullTelemetryReport()) || {};\n }, e.prototype.getSnapshotTelemetryReport = function () {\n var d;\n return (null === (d = this.telemetryReportHandler) || void 0 === d ? void 0 : d.getSnapshotTelemetryReport()) || {};\n }, e.prototype.callPlayerApi = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n return v(this, void 0, void 0, function () {\n return y(this, function (f) {\n switch (f.label) {\n case 0:\n return this.iframe ? [4, this.sendCommand.apply(this, S([d], g, !1))] : [3, 2];\n case 1:\n case 3:\n return [2, f.sent()];\n case 2:\n return [4, Promise.reject(new Error(\"Hydra IFrame not initialized yet\"))];\n }\n });\n });\n }, e.prototype.dispose = function () {\n var d;\n null === (d = this.telemetryReportHandler) || void 0 === d || d.addDisposeTelemetry(), this.isIFrameCommunicationActive() && this.sendCommand(\"disposeHydraPlayer\");\n }, e.prototype.release = function () {\n var d;\n null === (d = this.spinner) || void 0 === d || d.hide(), this.contextWindow && this.contextWindow.removeEventListener(\"message\", this._onMessage), this.iframe && this.container && this.container.hasChildNodes() && this.container.removeChild(this.iframe);\n }, e.prototype.sendCommand = function (d) {\n for (var g, f, m = [], S = 1; S < arguments.length; S++) m[S - 1] = arguments[S];\n return v(this, void 0, void 0, function () {\n var v, S, C;\n return y(this, function (y) {\n switch (y.label) {\n case 0:\n if (v = {\n msgType: \"Command\",\n name: d,\n args: m\n }, !this.isIFrameCommunicationActive()) throw new Error(\"IFrame MessageAPI communication not active\");\n return void 0 !== (S = this.commandResultsMap.get(d.toString())) && S.reject(new Error(\"function \".concat(d, \" is invoked again, before previous call is completed\"))), C = _.defer(), this.commandResultsMap.set(d, C), null === (f = null === (g = this.iframe) || void 0 === g ? void 0 : g.contentWindow) || void 0 === f || f.postMessage(v, \"*\"), [4, C.promise];\n case 1:\n return [2, y.sent()];\n }\n });\n });\n }, e.prototype.onMessage = function (d) {\n switch (d.data.msgType) {\n case \"PlayerEvent\":\n this.processPlayerEvent(d.data);\n break;\n case \"InternalPlayerEvent\":\n this.processInternalPlayerEvent(d.data);\n break;\n case \"CommandSuccessResult\":\n this.processCommandSuccessResult(d.data);\n break;\n case \"CommandFailureResult\":\n this.processCommandFailureResult(d.data);\n }\n }, e.prototype.processCommandSuccessResult = function (d) {\n var g = this.commandResultsMap.get(d.name.toString());\n void 0 !== g && (g.resolve(d.result), this.commandResultsMap.delete(d.name.toString()));\n }, e.prototype.processCommandFailureResult = function (d) {\n var g = this.commandResultsMap.get(d.name.toString());\n void 0 !== g && (g.reject(d.error), this.commandResultsMap.delete(d.name.toString()));\n }, e.prototype.processPlayerEvent = function (d) {\n this.eventHandler[d.name].apply(this.eventHandler, d.args);\n }, e.prototype.processInternalPlayerEvent = function (d) {\n this.playerInternalEventHandler && this.playerInternalEventHandler[d.name].apply(this, d.args);\n }, e;\n }();\n g.HlsHydraPlayer = E;\n var b = function () {\n function e(d, g) {\n this.spinner = d, this.telemetryReportHandler = g;\n }\n return e.prototype.firstPlayerLoadAttemptDone = function () {\n this.spinner.hide();\n }, e.prototype.fullTelemetryReportUpdated = function (d) {\n this.telemetryReportHandler.setFullTelemetryReport(d);\n }, e.prototype.snapshotTelemetryReportUpdated = function (d) {\n this.telemetryReportHandler.setSnapshotTelemetryReport(d);\n }, e;\n }(),\n I = function () {\n function e(d, g, f, m) {\n var v = this;\n this.logFn = g, this.spinner = m;\n var y = new T.LiveStreamStatistic(d, function (d, g) {\n v.logFn(d, g);\n }, {\n perceivedBandwidth: [],\n videoBufferLength: [],\n videoCachedLength: [],\n videoEdgeLatency: [],\n playerHeight: [],\n playerWidth: [],\n mediaHeight: [],\n mediaWidth: [],\n windowHeight: [],\n windowWidth: [],\n playbackRate: [],\n currentPlayPosition: [],\n statsInterval: [],\n serviceAvgLatency: [],\n endToEndAvgLatency: []\n }, {\n hydraPlayerSdkVersion: d.hydraPlayerSdkVersion || \"Unknown\"\n }, f);\n this.fullTelemetryReport = y.getReport(), this.snapshotTelemetryReport = y.getSnapshotReport();\n }\n return e.prototype.getFullTelemetryReport = function () {\n return this.fullTelemetryReport;\n }, e.prototype.getSnapshotTelemetryReport = function () {\n return this.snapshotTelemetryReport;\n }, e.prototype.setFullTelemetryReport = function (d) {\n var g, f;\n this.fullTelemetryReport = m(m({}, d), {\n init_spinnerShowTimestamp: null !== (g = this.spinner.showTimestamp) && void 0 !== g ? g : -1,\n init_spinnerHideTimestamp: null !== (f = this.spinner.hideTimestamp) && void 0 !== f ? f : -1,\n init_spinnerVisible: this.spinner.isVisible()\n });\n }, e.prototype.setSnapshotTelemetryReport = function (d) {\n var g, f;\n this.snapshotTelemetryReport = m(m({}, d), {\n init_spinnerShowTimestamp: null !== (g = this.spinner.showTimestamp) && void 0 !== g ? g : -1,\n init_spinnerHideTimestamp: null !== (f = this.spinner.hideTimestamp) && void 0 !== f ? f : -1,\n init_spinnerVisible: this.spinner.isVisible()\n });\n }, e.prototype.addDisposeTelemetry = function () {\n var d = Date.now();\n try {\n this.updateInitEventsWithDisposeEvent(this.fullTelemetryReport, d);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to init_allEvents telemetry field in full telemetry report\");\n }\n try {\n this.updateInitEventsWithDisposeEvent(this.snapshotTelemetryReport, d);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to init_allEvents telemetry field in snapshot telemetry report\");\n }\n try {\n this.updateStateChangeEventsWithDisposeEvent(this.fullTelemetryReport, d);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to playback_stateChangeEvents telemetry field in full telemetry report\");\n }\n try {\n this.updateStateChangeEventsWithDisposeEvent(this.snapshotTelemetryReport, d);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to playback_stateChangeEvents telemetry field in snapshot telemetry report\");\n }\n this.fullTelemetryReport.hydraDisposeTimestamp = d, this.snapshotTelemetryReport.hydraDisposeTimestamp = d;\n }, e.prototype.updateInitEventsWithDisposeEvent = function (d, g) {\n var f = d.init_allEvents,\n m = JSON.parse(f);\n \"Destroyed\" !== m[m.length - 1].name && m.push({\n name: \"Destroyed\",\n startTime: g,\n duration: 0,\n details: \"PlayerStopped\"\n }), d.init_allEvents = (0, C.stringifyObject)(m);\n }, e.prototype.updateStateChangeEventsWithDisposeEvent = function (d, g) {\n var f = d.playback_stateChangeEvents,\n m = JSON.parse(f);\n \"destroyed\" !== m[m.length - 1].payload && m.push({\n eventType: \"StateChanged\",\n timestamp: g,\n currentPlayPosition: -1,\n payload: \"destroyed\"\n }), d.playback_stateChangeEvents = (0, C.stringifyObject)(m);\n }, e;\n }();\n },\n 245: function (d, g, f) {\n var m = this && this.__awaiter || function (d, g, f, m) {\n return new (f || (f = Promise))(function (v, y) {\n function o(d) {\n try {\n l(m.next(d));\n } catch (d) {\n y(d);\n }\n }\n function s(d) {\n try {\n l(m.throw(d));\n } catch (d) {\n y(d);\n }\n }\n function l(d) {\n var g;\n d.done ? v(d.value) : (g = d.value, g instanceof f ? g : new f(function (d) {\n d(g);\n })).then(o, s);\n }\n l((m = m.apply(d, g || [])).next());\n });\n },\n v = this && this.__generator || function (d, g) {\n var f,\n m,\n v,\n y,\n S = {\n label: 0,\n sent: function () {\n if (1 & v[0]) throw v[1];\n return v[1];\n },\n trys: [],\n ops: []\n };\n return y = {\n next: s(0),\n throw: s(1),\n return: s(2)\n }, \"function\" == typeof Symbol && (y[Symbol.iterator] = function () {\n return this;\n }), y;\n function s(_) {\n return function (C) {\n return function (_) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n for (; y && (y = 0, _[0] && (S = 0)), S;) try {\n if (f = 1, m && (v = 2 & _[0] ? m.return : _[0] ? m.throw || ((v = m.return) && v.call(m), 0) : m.next) && !(v = v.call(m, _[1])).done) return v;\n switch (m = 0, v && (_ = [2 & _[0], v.value]), _[0]) {\n case 0:\n case 1:\n v = _;\n break;\n case 4:\n return S.label++, {\n value: _[1],\n done: !1\n };\n case 5:\n S.label++, m = _[1], _ = [0];\n continue;\n case 7:\n _ = S.ops.pop(), S.trys.pop();\n continue;\n default:\n if (!((v = (v = S.trys).length > 0 && v[v.length - 1]) || 6 !== _[0] && 2 !== _[0])) {\n S = 0;\n continue;\n }\n if (3 === _[0] && (!v || _[1] > v[0] && _[1] < v[3])) {\n S.label = _[1];\n break;\n }\n if (6 === _[0] && S.label < v[1]) {\n S.label = v[1], v = _;\n break;\n }\n if (v && S.label < v[2]) {\n S.label = v[2], S.ops.push(_);\n break;\n }\n v[2] && S.ops.pop(), S.trys.pop();\n continue;\n }\n _ = g.call(d, S);\n } catch (d) {\n _ = [6, d], m = 0;\n } finally {\n f = v = 0;\n }\n if (5 & _[0]) throw _[1];\n return {\n value: _[0] ? _[1] : void 0,\n done: !0\n };\n }([_, C]);\n };\n }\n },\n y = this && this.__spreadArray || function (d, g, f) {\n if (f || 2 === arguments.length) for (var m, v = 0, y = g.length; v < y; v++) !m && v in g || (m || (m = Array.prototype.slice.call(g, 0, v)), m[v] = g[v]);\n return d.concat(m || Array.prototype.slice.call(g));\n };\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), g.UmsHydraPlayer = void 0;\n var S = f(322),\n _ = f(546),\n C = f(246),\n T = f(250),\n E = function () {\n function e(d, g) {\n this.playerSettings = d, this.eventHandler = g, this.spinner = null, this.commandResultsMap = new Map(), this._onMessage = this.onMessage.bind(this), this.telemetryReportHandler = null, this.playerInternalEventHandler = null, this.playerRuntimeJsUrls = this.getRuntimeJsUrls(), this.playerSettings.hydraPlayerSdkVersion = (0, _.getSdkVersion)();\n }\n return Object.defineProperty(e.prototype, \"contextWindow\", {\n get: function () {\n var d;\n return null === (d = this.container) || void 0 === d ? void 0 : d.ownerDocument.defaultView;\n },\n enumerable: !1,\n configurable: !0\n }), e.prototype.getRuntimeJsUrls = function () {\n if (!Array.isArray(this.playerSettings.playerRuntimeJsUrls)) {\n var d = (0, C.getMajorFromVersion)((0, _.getSdkVersion)());\n return d && this.playerSettings.playerRuntimeJsUrls[d] || [];\n }\n return this.playerSettings.playerRuntimeJsUrls;\n }, e.prototype.initializeIFrame = function (d) {\n return m(this, void 0, void 0, function () {\n var g;\n return v(this, function (f) {\n switch (f.label) {\n case 0:\n return this.container = d, 0 === this.playerRuntimeJsUrls.length ? [2, {\n initSucceeded: !1,\n initStartTime: Date.now(),\n initDuration: 0,\n runtimeDownloadResults: [],\n errorMsg: \"No compatible runtime URL provided for version \".concat((0, _.getSdkVersion)(), ', URLs: \"').concat((0, C.stringifyObject)(this.playerSettings.playerRuntimeJsUrls), '\"')\n }] : [4, (0, C.createIFrame)(d, this.playerRuntimeJsUrls, this.playerSettings.maxRetryCountForLoadingResources, this.playerSettings.disableSandbox, this.playerSettings.hydraRuntimeFetchTimeout)];\n case 1:\n return (g = f.sent()).initResult.initSucceeded && g.iframe && (this.iframe = g.iframe, this.contextWindow.addEventListener(\"message\", this._onMessage)), [2, g.initResult];\n }\n });\n });\n }, e.prototype.setup = function (d) {\n return m(this, void 0, void 0, function () {\n var g;\n return v(this, function (f) {\n switch (f.label) {\n case 0:\n return this.spinner = new C.Spinner(d), [4, this.initializeIFrame(d)];\n case 1:\n return g = f.sent(), this.telemetryReportHandler = new I(this.playerSettings, this.eventHandler.log.bind(this.eventHandler), g), this.playerInternalEventHandler = new b(this.spinner, this.telemetryReportHandler), g.initSucceeded ? [4, this.sendCommand(\"createUmsHydraPlayer\", this.playerSettings, g)] : [3, 3];\n case 2:\n return f.sent(), [2, !0];\n case 3:\n return this.eventHandler.log(\"error\", \"Failed to setup HydraPlayer: \".concat(g.errorMsg)), this.spinner.hide(), [2, !1];\n }\n });\n });\n }, e.prototype.isIFrameCommunicationActive = function () {\n var d;\n return !!(null === (d = this.iframe) || void 0 === d ? void 0 : d.contentWindow) && !!this.contextWindow;\n }, e.prototype.getFullTelemetryReport = function () {\n var d;\n return (null === (d = this.telemetryReportHandler) || void 0 === d ? void 0 : d.getFullTelemetryReport()) || {};\n }, e.prototype.getSnapshotTelemetryReport = function () {\n var d;\n return (null === (d = this.telemetryReportHandler) || void 0 === d ? void 0 : d.getSnapshotTelemetryReport()) || {};\n }, e.prototype.callPlayerApi = function (d) {\n for (var g = [], f = 1; f < arguments.length; f++) g[f - 1] = arguments[f];\n return m(this, void 0, void 0, function () {\n return v(this, function (f) {\n switch (f.label) {\n case 0:\n return this.iframe ? [4, this.sendCommand.apply(this, y([d], g, !1))] : [3, 2];\n case 1:\n case 3:\n return [2, f.sent()];\n case 2:\n return [4, Promise.reject(new Error(\"Hydra IFrame not initialized yet\"))];\n }\n });\n });\n }, e.prototype.dispose = function () {\n var d;\n return m(this, void 0, void 0, function () {\n return v(this, function (g) {\n switch (g.label) {\n case 0:\n return this.isIFrameCommunicationActive() ? [4, this.sendCommand(\"disposeHydraPlayer\")] : [3, 2];\n case 1:\n g.sent(), g.label = 2;\n case 2:\n return null === (d = this.telemetryReportHandler) || void 0 === d || d.addDisposeTelemetry(!this.isIFrameCommunicationActive()), [2];\n }\n });\n });\n }, e.prototype.release = function () {\n var d;\n null === (d = this.spinner) || void 0 === d || d.hide(), this.contextWindow && this.contextWindow.removeEventListener(\"message\", this._onMessage), this.iframe && this.container && this.container.hasChildNodes() && this.container.removeChild(this.iframe);\n }, e.prototype.sendCommand = function (d) {\n for (var g, f, y = [], S = 1; S < arguments.length; S++) y[S - 1] = arguments[S];\n return m(this, void 0, void 0, function () {\n var m, S, _;\n return v(this, function (v) {\n switch (v.label) {\n case 0:\n if (m = {\n msgType: \"Command\",\n name: d,\n args: y\n }, !this.isIFrameCommunicationActive()) throw new Error(\"IFrame MessageAPI communication not active\");\n return void 0 !== (S = this.commandResultsMap.get(d.toString())) && S.reject(new Error(\"function \".concat(d, \" is invoked again, before previous call is completed\"))), _ = T.defer(), this.commandResultsMap.set(d, _), null === (f = null === (g = this.iframe) || void 0 === g ? void 0 : g.contentWindow) || void 0 === f || f.postMessage(m, \"*\"), [4, _.promise];\n case 1:\n return [2, v.sent()];\n }\n });\n });\n }, e.prototype.onMessage = function (d) {\n switch (d.data.msgType) {\n case \"PlayerEvent\":\n this.processPlayerEvent(d.data);\n break;\n case \"InternalPlayerEvent\":\n this.processInternalPlayerEvent(d.data);\n break;\n case \"CommandSuccessResult\":\n this.processCommandSuccessResult(d.data);\n break;\n case \"CommandFailureResult\":\n this.processCommandFailureResult(d.data);\n }\n }, e.prototype.processCommandSuccessResult = function (d) {\n var g = this.commandResultsMap.get(d.name.toString());\n void 0 !== g && (g.resolve(d.result), this.commandResultsMap.delete(d.name.toString()));\n }, e.prototype.processCommandFailureResult = function (d) {\n var g = this.commandResultsMap.get(d.name.toString());\n void 0 !== g && (g.reject(d.error), this.commandResultsMap.delete(d.name.toString()));\n }, e.prototype.processPlayerEvent = function (d) {\n this.eventHandler[d.name].apply(this.eventHandler, d.args);\n }, e.prototype.processInternalPlayerEvent = function (d) {\n this.playerInternalEventHandler && this.playerInternalEventHandler[d.name].apply(this, d.args);\n }, e;\n }();\n g.UmsHydraPlayer = E;\n var b = function () {\n function e(d, g) {\n this.spinner = d, this.telemetryReportHandler = g;\n }\n return e.prototype.firstPlayerLoadAttemptDone = function () {\n this.spinner.hide();\n }, e.prototype.fullTelemetryReportUpdated = function (d) {\n this.telemetryReportHandler.setFullTelemetryReport(d);\n }, e.prototype.snapshotTelemetryReportUpdated = function (d) {\n this.telemetryReportHandler.setSnapshotTelemetryReport(d);\n }, e;\n }(),\n I = function () {\n function e(d, g, f) {\n var m = this;\n this.logFn = g;\n var v = new S.LiveStreamStatistic(d, function (d, g) {\n m.logFn(d, g);\n }, {\n currentPlayPosition: [],\n playbackRate: [],\n statsInterval: [],\n videoBufferLength: [],\n videoCachedLength: [],\n videoEdgeLatency: [],\n playerHeight: [],\n playerWidth: [],\n mediaHeight: [],\n mediaWidth: [],\n windowHeight: [],\n windowWidth: []\n }, {\n hydraPlayerSdkVersion: d.hydraPlayerSdkVersion || \"Unknown\"\n }, f);\n this.fullTelemetryReport = v.getReport(), this.snapshotTelemetryReport = v.getSnapshotReport();\n }\n return e.prototype.getFullTelemetryReport = function () {\n return this.fullTelemetryReport;\n }, e.prototype.getSnapshotTelemetryReport = function () {\n return this.snapshotTelemetryReport;\n }, e.prototype.setFullTelemetryReport = function (d) {\n this.fullTelemetryReport = d;\n }, e.prototype.setSnapshotTelemetryReport = function (d) {\n this.snapshotTelemetryReport = d;\n }, e.prototype.addDisposeTelemetry = function (d) {\n var g = Date.now();\n if (d) {\n try {\n this.updateInitEventsWithDisposeEvent(this.fullTelemetryReport, g);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to init_allEvents telemetry field in full telemetry report\");\n }\n try {\n this.updateInitEventsWithDisposeEvent(this.snapshotTelemetryReport, g);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to init_allEvents telemetry field in snapshot telemetry report\");\n }\n try {\n this.updateStateChangeEventsWithDisposeEvent(this.fullTelemetryReport, g);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to playback_stateChangeEvents telemetry field in full telemetry report\");\n }\n try {\n this.updateStateChangeEventsWithDisposeEvent(this.snapshotTelemetryReport, g);\n } catch (d) {\n this.logFn(\"warn\", \"Failed to add player destroyed information to playback_stateChangeEvents telemetry field in snapshot telemetry report\");\n }\n }\n this.fullTelemetryReport.hydraDisposeTimestamp = g, this.snapshotTelemetryReport.hydraDisposeTimestamp = g;\n }, e.prototype.updateInitEventsWithDisposeEvent = function (d, g) {\n var f = d.init_allEvents,\n m = JSON.parse(f);\n \"Destroyed\" !== m[m.length - 1].name && m.push({\n name: \"Destroyed\",\n startTime: g,\n duration: 0,\n details: \"PlayerStopped\"\n }), d.init_allEvents = (0, C.stringifyObject)(m);\n }, e.prototype.updateStateChangeEventsWithDisposeEvent = function (d, g) {\n var f = d.playback_stateChangeEvents,\n m = JSON.parse(f);\n \"destroyed\" !== m[m.length - 1].payload && m.push({\n eventType: \"StateChanged\",\n timestamp: g,\n currentPlayPosition: -1,\n payload: \"destroyed\"\n }), d.playback_stateChangeEvents = (0, C.stringifyObject)(m);\n }, e;\n }();\n },\n 250: function (d, g) {\n Object.defineProperty(g, \"__esModule\", {\n value: !0\n }), g.defer = void 0, g.defer = function () {\n var d, g;\n return {\n promise: new Promise(function (f, m) {\n d = f, g = m;\n }),\n resolve: d,\n reject: g\n };\n };\n },\n 246: function (d, g) {\n var f = this && this.__awaiter || function (d, g, f, m) {\n return new (f || (f = Promise))(function (v, y) {\n function o(d) {\n try {\n l(m.next(d));\n } catch (d) {\n y(d);\n }\n }\n function s(d) {\n try {\n l(m.throw(d));\n } catch (d) {\n y(d);\n }\n }\n function l(d) {\n var g;\n d.done ? v(d.value) : (g = d.value, g instanceof f ? g : new f(function (d) {\n d(g);\n })).then(o, s);\n }\n l((m = m.apply(d, g || [])).next());\n });\n },\n m = this && this.__generator || function (d, g) {\n var f,\n m,\n v,\n y,\n S = {\n label: 0,\n sent: function () {\n if (1 & v[0]) throw v[1];\n return v[1];\n },\n trys: [],\n ops: []\n };\n return y = {\n next: s(0),\n throw: s(1),\n return: s(2)\n }, \"function\" == typeof Symbol && (y[Symbol.iterator] = function () {\n return this;\n }), y;\n function s(_) {\n return function (C) {\n return function (_) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n for (; y && (y = 0, _[0] && (S = 0)), S;) try {\n if (f = 1, m && (v = 2 & _[0] ? m.return : _[0] ? m.throw || ((v = m.return) && v.call(m), 0) : m.next) && !(v = v.call(m, _[1])).done) return v;\n switch (m = 0, v && (_ = [2 & _[0], v.value]), _[0]) {\n case 0:\n case 1:\n v = _;\n break;\n case 4:\n return S.label++, {\n value: _[1],\n done: !1\n };\n case 5:\n S.label++, m = _[1], _ = [0];\n continue;\n case 7:\n _ = S.ops.pop(), S.trys.pop();\n continue;\n default:\n if (!((v = (v = S.trys).length > 0 && v[v.length - 1]) || 6 !== _[0] && 2 !== _[0])) {\n S = 0;\n continue;\n }\n if (3 === _[0] && (!v || _[1] > v[0] && _[1] < v[3])) {\n S.label = _[1];\n break;\n }\n if (6 === _[0] && S.label < v[1]) {\n S.label = v[1], v = _;\n break;\n }\n if (v && S.label < v[2]) {\n S.label = v[2], S.ops.push(_);\n break;\n }\n v[2] && S.ops.pop(), S.trys.pop();\n continue;\n }\n _ = g.call(d, S);\n } catch (d) {\n _ = [6, d], m = 0;\n } finally {\n f = v = 0;\n }\n if (5 & _[0]) throw _[1];\n return {\n value: _[0] ? _[1] : void 0,\n done: !0\n };\n }([_, C]);\n };\n }\n };\n function i(d, g, v, y, S) {\n return f(this, void 0, void 0, function () {\n var _,\n C,\n T,\n E,\n b = this;\n return m(this, function (I) {\n switch (I.label) {\n case 0:\n return _ = 100, C = Date.now(), [4, o(v, T = {\n trackingRef: \"\",\n timeTakenToDownloadScript: -1\n }, S).catch(function (d) {\n return f(b, void 0, void 0, function () {\n var g;\n return m(this, function (f) {\n switch (f.label) {\n case 0:\n return g = \"Failed to get IFrame source: \".concat(l(d)), y.push({\n success: !1,\n url: v,\n startTime: C,\n duration: Date.now() - C,\n trackingReference: T.trackingRef,\n timeTakenToDownloadScript: T.timeTakenToDownloadScript,\n errorMsg: g\n }), y.length > _ && y.splice(0, 1), [4, Promise.reject(new Error(g))];\n case 1:\n return [2, f.sent()];\n }\n });\n });\n })];\n case 1:\n return E = I.sent(), g.srcdoc = E, d.appendChild(g), [4, new Promise(function (d, f) {\n g.onload = function () {\n y.push({\n success: !0,\n url: v,\n startTime: C,\n duration: Date.now() - C,\n trackingReference: T.trackingRef,\n timeTakenToDownloadScript: T.timeTakenToDownloadScript\n }), y.length > _ && y.splice(0, 1), d();\n }, g.onerror = function (d) {\n var g = \"Failed to load HydraPlayer IFrame: \".concat(l(d));\n y.push({\n success: !1,\n url: v,\n startTime: C,\n duration: Date.now() - C,\n trackingReference: T.trackingRef,\n timeTakenToDownloadScript: T.timeTakenToDownloadScript,\n errorMsg: g\n }), y.length > _ && y.splice(0, 1), f(new Error(g));\n };\n })];\n case 2:\n return I.sent(), [2];\n }\n });\n });\n }\n function a(d, g) {\n return f(this, void 0, void 0, function () {\n var v = this;\n return m(this, function (y) {\n switch (y.label) {\n case 0:\n return [4, d(g).catch(function (y) {\n return f(v, void 0, void 0, function () {\n var v = this;\n return m(this, function (S) {\n switch (S.label) {\n case 0:\n return 0 != --g ? [3, 2] : [4, Promise.reject(y)];\n case 1:\n case 3:\n return [2, S.sent()];\n case 2:\n return [4, new Promise(function (S) {\n return setTimeout(function () {\n S(a(d, g).catch(function (d) {\n return f(v, void 0, void 0, function () {\n return m(this, function (g) {\n switch (g.label) {\n case 0:\n return [4, Promise.reject(new Error(\"\".concat(l(y)).concat(\", \", l(d))))];\n case 1:\n return [2, g.sent()];\n }\n });\n });\n }));\n }, 100);\n })];\n }\n });\n });\n })];\n case 1:\n return y.sent(), [2];\n }\n });\n });\n }\n function o(d, g, v) {\n return f(this, void 0, void 0, function () {\n var y,\n S,\n _,\n C = this;\n return m(this, function (T) {\n switch (T.label) {\n case 0:\n return y = Date.now(), [4, s(d, g, v).catch(function (d) {\n return f(C, void 0, void 0, function () {\n return m(this, function (g) {\n switch (g.label) {\n case 0:\n return [4, Promise.reject(d)];\n case 1:\n return [2, g.sent()];\n }\n });\n });\n })];\n case 1:\n return S = T.sent(), _ = \"