diff --git a/.angular/cache/20.3.21/metacourse/.tsbuildinfo b/.angular/cache/20.3.21/metacourse/.tsbuildinfo deleted file mode 100644 index 4056a8a..0000000 --- a/.angular/cache/20.3.21/metacourse/.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../../../node_modules/tslib/tslib.d.ts","../../../../node_modules/tslib/modules/index.d.ts","../../../../src/main.ngtypecheck.ts","../../../../node_modules/@angular/core/formatter.d.d.ts","../../../../node_modules/@angular/core/event_dispatcher.d.d.ts","../../../../node_modules/@angular/core/chrome_dev_tools_performance.d.d.ts","../../../../node_modules/rxjs/dist/types/internal/Subscription.d.ts","../../../../node_modules/rxjs/dist/types/internal/Subscriber.d.ts","../../../../node_modules/rxjs/dist/types/internal/Operator.d.ts","../../../../node_modules/rxjs/dist/types/internal/Observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/catchError.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/endWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../../node_modules/rxjs/dist/types/internal/Subject.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/Notification.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/refCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/startWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/toArray.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts","../../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts","../../../../node_modules/rxjs/dist/types/internal/Scheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts","../../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts","../../../../node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/isObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/throwError.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../../node_modules/rxjs/dist/types/index.d.ts","../../../../node_modules/@angular/core/effect.d.d.ts","../../../../node_modules/@angular/core/primitives/di/index.d.ts","../../../../node_modules/@angular/core/discovery.d.d.ts","../../../../node_modules/@angular/core/api.d.d.ts","../../../../node_modules/@angular/core/weak_ref.d.d.ts","../../../../node_modules/@angular/core/index.d.ts","../../../../node_modules/@angular/common/platform_location.d.d.ts","../../../../node_modules/@angular/common/common_module.d.d.ts","../../../../node_modules/@angular/common/xhr.d.d.ts","../../../../node_modules/@angular/common/index.d.ts","../../../../node_modules/@angular/platform-browser/browser.d.d.ts","../../../../node_modules/@angular/common/module.d.d.ts","../../../../node_modules/@angular/common/http/index.d.ts","../../../../node_modules/@angular/platform-browser/index.d.ts","../../../../src/app/app.config.ngtypecheck.ts","../../../../node_modules/@angular/router/router_module.d.d.ts","../../../../node_modules/@angular/router/index.d.ts","../../../../src/app/app.routes.ngtypecheck.ts","../../../../src/app/guards/auth.guard.ngtypecheck.ts","../../../../src/app/services/auth.service.ngtypecheck.ts","../../../../src/app/services/api.service.ngtypecheck.ts","../../../../src/environments/environment.ngtypecheck.ts","../../../../src/environments/environment.ts","../../../../src/app/services/api.service.ts","../../../../src/app/models/types.ngtypecheck.ts","../../../../src/app/models/types.ts","../../../../src/app/services/auth.service.ts","../../../../src/app/guards/auth.guard.ts","../../../../src/app/pages/auth/auth.routes.ngtypecheck.ts","../../../../src/app/pages/auth/auth.ngtypecheck.ts","../../../../node_modules/@angular/forms/index.d.ts","../../../../node_modules/@ant-design/icons-angular/index.d.ts","../../../../node_modules/@angular/cdk/bidi-module.d.d.ts","../../../../node_modules/@angular/cdk/bidi/index.d.ts","../../../../node_modules/ng-zorro-antd/core/types/index.d.ts","../../../../node_modules/ng-zorro-antd/core/services/index.d.ts","../../../../node_modules/ng-zorro-antd/core/config/index.d.ts","../../../../node_modules/ng-zorro-antd/icon/index.d.ts","../../../../node_modules/@angular/animations/animation_player.d.d.ts","../../../../node_modules/@angular/animations/index.d.ts","../../../../node_modules/@angular/cdk/portal-directives.d.d.ts","../../../../node_modules/@angular/cdk/data-source.d.d.ts","../../../../node_modules/@angular/cdk/number-property.d.d.ts","../../../../node_modules/@angular/cdk/scrolling-module.d.d.ts","../../../../node_modules/@angular/cdk/scrolling/index.d.ts","../../../../node_modules/@angular/cdk/platform.d.d.ts","../../../../node_modules/@angular/cdk/style-loader.d.d.ts","../../../../node_modules/@angular/cdk/overlay-module.d.d.ts","../../../../node_modules/@angular/cdk/overlay/index.d.ts","../../../../node_modules/ng-zorro-antd/message/index.d.ts","../../../../src/app/utils/error.utils.ngtypecheck.ts","../../../../src/app/utils/error.utils.ts","../../../../src/app/pages/auth/auth.ts","../../../../src/app/pages/auth/auth.routes.ts","../../../../src/app/pages/catalog/catalog.routes.ngtypecheck.ts","../../../../src/app/pages/catalog/catalog.ngtypecheck.ts","../../../../src/app/services/course.service.ngtypecheck.ts","../../../../src/app/services/course.service.ts","../../../../src/app/services/enrollment.service.ngtypecheck.ts","../../../../src/app/services/enrollment.service.ts","../../../../src/app/components/course-card/course-card.ngtypecheck.ts","../../../../src/app/components/course-card/course-card.ts","../../../../src/app/components/bottom-nav/bottom-nav.ngtypecheck.ts","../../../../src/app/components/bottom-nav/bottom-nav.ts","../../../../src/app/pages/catalog/catalog.ts","../../../../src/app/pages/catalog/catalog.routes.ts","../../../../src/app/pages/my-courses/my-courses.routes.ngtypecheck.ts","../../../../src/app/pages/my-courses/my-courses.ngtypecheck.ts","../../../../src/app/pages/my-courses/my-courses.ts","../../../../src/app/pages/my-courses/my-courses.routes.ts","../../../../src/app/pages/course-editor/course-editor.routes.ngtypecheck.ts","../../../../src/app/pages/course-editor/course-editor.ngtypecheck.ts","../../../../src/app/services/topic.service.ngtypecheck.ts","../../../../src/app/services/topic.service.ts","../../../../src/app/services/resource.service.ngtypecheck.ts","../../../../src/app/services/resource.service.ts","../../../../src/app/pages/course-editor/course-editor.ts","../../../../src/app/pages/course-editor/course-editor.routes.ts","../../../../src/app/pages/course-viewer/course-viewer.routes.ngtypecheck.ts","../../../../src/app/pages/course-viewer/course-viewer.ngtypecheck.ts","../../../../src/app/pages/course-viewer/course-viewer.ts","../../../../src/app/pages/course-viewer/course-viewer.routes.ts","../../../../src/app/app.routes.ts","../../../../src/app/icons-provider.ngtypecheck.ts","../../../../node_modules/@ant-design/icons-angular/icons/index.d.ts","../../../../src/app/icons-provider.ts","../../../../node_modules/date-fns/typings.d.ts","../../../../node_modules/ng-zorro-antd/core/time/index.d.ts","../../../../node_modules/ng-zorro-antd/i18n/index.d.ts","../../../../node_modules/@angular/common/locales/fr.d.ts","../../../../node_modules/@angular/animations/animation_driver.d.d.ts","../../../../node_modules/@angular/animations/browser/index.d.ts","../../../../node_modules/@angular/platform-browser/animations/async/index.d.ts","../../../../node_modules/@ionic/angular/common/providers/dom-controller.d.ts","../../../../node_modules/ionicons/dist/types/stencil-public-runtime.d.ts","../../../../node_modules/ionicons/dist/types/components/icon/icon.d.ts","../../../../node_modules/ionicons/dist/types/components/icon/utils.d.ts","../../../../node_modules/ionicons/dist/types/components.d.ts","../../../../node_modules/ionicons/dist/types/index.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/animation/animation-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/animation/animation.d.ts","../../../../node_modules/@ionic/core/dist/types/stencil-public-runtime.d.ts","../../../../node_modules/@ionic/core/dist/types/components/accordion-group/accordion-group-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/action-sheet/action-sheet-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/overlays-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/sanitization/index.d.ts","../../../../node_modules/@ionic/core/dist/types/components/alert/alert-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/route/route-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/router/utils/interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/breadcrumb/breadcrumb-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/checkbox/checkbox-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/content/content-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/datetime/datetime-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/spinner/spinner-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/spinner/spinner-configs.d.ts","../../../../node_modules/@ionic/core/dist/types/components/input/input-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/input-otp/input-otp-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/menu/menu-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/modal/modal-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/nav/view-controller.d.ts","../../../../node_modules/@ionic/core/dist/types/components/picker/picker-interfaces.d.ts","../../../../node_modules/@ionic/core/dist/types/components/picker-column/picker-column-interfaces.d.ts","../../../../node_modules/@ionic/core/dist/types/components/picker-legacy/picker-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/popover/popover-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/radio-group/radio-group-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/range/range-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/refresher/refresher-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/reorder-group/reorder-group-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/searchbar/searchbar-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/segment/segment-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/segment-button/segment-button-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/segment-view/segment-view-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/select/select-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/select-modal/select-modal-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/select-popover/select-popover-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/tab-bar/tab-bar-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/textarea/textarea-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/toast/toast-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/toggle/toggle-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components.d.ts","../../../../node_modules/@ionic/core/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/item/item-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/item-sliding/item-sliding-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/loading/loading-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/tabs/tabs-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/hardware-back-button.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/element-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/global/config.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/gesture/gesture-controller.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/gesture/index.d.ts","../../../../node_modules/@ionic/core/dist/types/interface.d.ts","../../../../node_modules/@ionic/core/dist/types/components/nav/nav-interface.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/transition/index.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/transition/ios.transition.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/transition/md.transition.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/animation/cubic-bezier.d.ts","../../../../node_modules/@ionic/core/dist/types/global/ionic-global.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/helpers.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/logging/index.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/platform.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/config.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/theme.d.ts","../../../../node_modules/@ionic/core/dist/types/components/nav/constants.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/menu-controller/index.d.ts","../../../../node_modules/@ionic/core/dist/types/utils/overlays.d.ts","../../../../node_modules/@ionic/core/dist/types/components/slides/IonicSlides.d.ts","../../../../node_modules/@ionic/core/dist/types/index.d.ts","../../../../node_modules/@ionic/core/components/index.d.ts","../../../../node_modules/@ionic/core/components/custom-elements.d.ts","../../../../node_modules/@ionic/angular/common/providers/menu-controller.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/stack-utils.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/router-outlet.d.ts","../../../../node_modules/@ionic/angular/common/providers/platform.d.ts","../../../../node_modules/@ionic/angular/common/providers/nav-controller.d.ts","../../../../node_modules/@ionic/angular/common/providers/config.d.ts","../../../../node_modules/@ionic/angular/common/providers/angular-delegate.d.ts","../../../../node_modules/@ionic/angular/common/types/interfaces.d.ts","../../../../node_modules/@ionic/angular/common/types/ionic-lifecycle-hooks.d.ts","../../../../node_modules/@ionic/angular/common/types/overlay-options.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/nav-params.d.ts","../../../../node_modules/@ionic/angular/common/overlays/modal.d.ts","../../../../node_modules/@ionic/angular/common/overlays/popover.d.ts","../../../../node_modules/@ionic/angular/common/directives/control-value-accessors/value-accessor.d.ts","../../../../node_modules/@ionic/angular/common/directives/control-value-accessors/index.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/back-button.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/nav.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/router-link-delegate.d.ts","../../../../node_modules/@ionic/angular/common/directives/navigation/tabs.d.ts","../../../../node_modules/@ionic/angular/common/utils/proxy.d.ts","../../../../node_modules/@ionic/angular/common/utils/overlay.d.ts","../../../../node_modules/@ionic/angular/common/utils/routing.d.ts","../../../../node_modules/@ionic/angular/common/utils/util.d.ts","../../../../node_modules/@ionic/angular/common/index.d.ts","../../../../node_modules/@ionic/angular/standalone/navigation/router-outlet.d.ts","../../../../node_modules/@ionic/angular/standalone/navigation/back-button.d.ts","../../../../node_modules/@ionic/angular/standalone/overlays/modal.d.ts","../../../../node_modules/@ionic/angular/standalone/overlays/popover.d.ts","../../../../node_modules/@ionic/angular/standalone/navigation/router-link-delegate.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/proxies.d.ts","../../../../node_modules/@ionic/angular/standalone/navigation/tabs.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/ionic-angular.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/action-sheet-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/alert-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/animation-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/gesture-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/loading-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/menu-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/modal-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/picker-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/popover-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/providers/toast-controller.d.ts","../../../../node_modules/@ionic/angular/standalone/navigation/nav.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/checkbox.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/datetime.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/icon.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/input.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/input-otp.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/radio-group.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/range.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/searchbar.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/segment.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/select.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/textarea.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/toggle.d.ts","../../../../node_modules/@ionic/angular/standalone/directives/index.d.ts","../../../../node_modules/@ionic/angular/standalone/index.d.ts","../../../../src/app/app.config.ts","../../../../src/app/app.ngtypecheck.ts","../../../../src/app/app.ts","../../../../src/main.ts","../../../../src/environments/environment.prod.ngtypecheck.ts","../../../../src/environments/environment.prod.ts"],"fileIdsList":[[264,297,345],[345],[264,297,345,349],[264,345],[264,291,345],[258,345],[258,264,268,291,299,302,303,304,305,345],[258,264,268,291,299,300,301,302,303,304,305,306,345],[258,264,291,300,301,345],[258,264,291,300,301,302,345],[258,264,265,345],[258,264,267,270,345],[258,264,265,266,267,345],[69,345],[67,68,345],[67,68,69,258,259,260,345],[67,345],[67,68,69,258,259,260,261,262,263,345],[258,264,345],[264,345,350],[264,268,345],[264,268,269,271,345],[258,264,268,272,274,345],[258,264,268,345],[290,345],[258,264,271,272,345],[345,441],[264,289,345],[264,345,409,430,432,433],[264,345,409,434],[264,268,275,345,427,432],[264,268,275,345,427,429],[264,275,345,427],[264,345,429,432],[345,352,428,430,431,432,433,434,435,436,437,438,439,440,442,443,444,445,446,447,448,449,450],[264,345,427],[345,427],[264,268,275,345,427,430,431],[258,264,345,427],[275,345],[264,345,427,451],[345,471,472,473,474,475,476,477,478,479,480,481,482],[345,427,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,483],[264,345,451,452],[264,345,451],[264,268,275,345,451],[264,345,451,452,457],[264,345,409],[345,451],[345,409,426],[345,425],[345,360,361,362,363,364,365,366,367,368,369,370,371,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,409,410],[345,409],[345,364,409],[345,364,373,409],[345,358],[345,378,409],[345,366,409],[345,372],[345,357,359,364,408,411,412,413,414,415,416,417,418,419,420,421,422,423,424],[345,357,358,361,362,363,365,367,368,369,370,371,374,375,376,377,381,382,383,384,385,386,387,388,391,395,396,397,398,399,400,401,402,403,404,405,406,408,409,410,411,425],[345,373,394,409,417,418],[345,407],[345,360,376],[345,376],[345,360,409],[345,367,409],[345,358,410],[345,409,411],[345,353],[345,354],[345,353,355,356],[258,264,272,290,292,293,294,345],[258,264,293,345],[293,345],[258,264,293,345,346],[258,264,290,295,345],[258,264,292,293,294,295,298,307,345],[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,193,202,204,205,206,207,208,209,211,212,214,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,345],[115,345],[73,74,345],[70,71,72,74,345],[71,74,345],[74,115,345],[70,74,192,345],[72,73,74,345],[70,74,345],[74,345],[73,345],[70,73,115,345],[71,73,74,231,345],[73,74,231,345],[73,239,345],[71,73,74,345],[83,345],[106,345],[127,345],[73,74,115,345],[74,122,345],[73,74,115,133,345],[73,74,133,345],[74,174,345],[70,74,193,345],[199,201,345],[70,74,192,199,200,345],[192,193,201,345],[199,345],[70,74,199,200,201,345],[215,345],[210,345],[213,345],[71,73,193,194,195,196,345],[115,193,194,195,196,345],[193,195,345],[73,194,195,197,198,202,345],[70,73,345],[74,217,345],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,345],[203,345],[64,345],[65,345],[65,264,268,271,273,275,296,341,344,345,347,348,351,484],[65,264,345,487],[65,275,276,286,312,324,328,336,340,345],[65,264,275,345,486],[65,264,322,345],[65,264,268,275,296,321,345],[65,264,296,320,345],[65,264,284,296,319,345],[65,264,275,277,285,345],[65,342,343,345],[65,283,345],[65,264,311,345],[65,275,287,311,345],[65,264,275,285,288,289,296,308,310,345],[65,264,289,296,323,345],[65,275,313,323,345],[65,191,258,264,275,284,285,289,296,308,314,316,318,320,322,345],[65,264,335,345],[65,275,329,335,345],[65,258,264,275,284,285,289,296,308,310,316,330,332,334,345],[65,264,339,345],[65,275,337,339,345],[65,191,258,264,275,284,285,296,308,310,316,318,338,345],[65,264,296,327,345],[65,275,325,327,345],[65,191,258,264,268,275,284,285,296,308,316,318,322,326,345],[65,191,258,264,271,279,281,345],[65,258,264,278,282,284,345],[65,191,258,264,282,284,315,345],[65,258,264,282,284,317,345],[65,191,258,264,282,284,333,345],[65,258,264,282,284,331,345],[65,282,309,345],[65,345,489],[65,280,345],[65,66,272,345,485,487]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"0e494110590219a8b3fb8d1ee2564418bd1f9a0d91f959aca786e418f76e99e1","affectsGlobalScope":true,"impliedFormat":99},{"version":"034bee1bc602e4952b30857fcd78cd65b4553bd8c0b21bb68a04e7d6eefc9ccb","affectsGlobalScope":true,"impliedFormat":99},{"version":"97e0594e753cdc688c4b6174d9a3afd0e80e91d6af681c07e4e4943d977859a3","affectsGlobalScope":true,"impliedFormat":99},{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"3ff2aed1a206aa8bebd51e5adbe8f4641f818f11bc60d9e0ccc6438eb98be809","impliedFormat":99},{"version":"4115ff644986bc3f0368f851956b00c6dc5cb6e00193ab2db7e4e896b79653f3","impliedFormat":99},{"version":"a4db672b9540ff8dc7839301d7459f1c66515264a1c1371eb31367d9613cc7df","impliedFormat":99},{"version":"9bea6484ebaf1601f865b9da1e1f8a5794a9ef0ecaeebfcbbc66cd06c49b2d86","impliedFormat":99},{"version":"ba7a55722c644fef7452c7d8dfc9eff9989b04e3fb306ef6a4b96441b7e4448b","impliedFormat":99},{"version":"b436fad11fc31ec53469cba9759e90813c104001e1e6f2798b49180f5fe3e79a","impliedFormat":99},{"version":"149797e0bbd880fd37a4986ecc276c6582da82ace056de11e182381f57a1b9b1","impliedFormat":99},{"version":"3d3ff0b39c6417e57d9e2d0ed308c6ef26e1a8d4492448805714b2a5183155e3","impliedFormat":99},{"version":"de50fa67ea67bdecd493357334ee14ceffdadb45f2960ccd553ed33eea2548d8","impliedFormat":99},{"version":"e53a873c73581e4a98b46d440850672ada4b043b5a857959e51269f7d41b80d6","impliedFormat":99},{"version":"bef3af6c078514c5d4db77074e20306f790f00b36a4dce487e19502fe2503709","impliedFormat":99},{"version":"7403a1e89ac24ae28abf9a713acad96c9bdfc7ca2e28001ddf9aad5981388f97","impliedFormat":99},{"version":"844993de30e4da23a445dc64d24d37ddf467905cdbe06295c41efd61bc08fec4","impliedFormat":99},{"version":"9d435bb875fa7ad940d06a2d74f50fe5a1b6d0ebf9a96ff71f1b288924187961","impliedFormat":99},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"9be8f20d8630def5be2e0ba5e4a13050b0e30a335f3ee4fa11304a51fd8808d6","impliedFormat":99},{"version":"603e5736c8c7986c62698a63f39a48de6a2f8eae3eeac180f3e145deceb75059","impliedFormat":99},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"6fe25418e87d112047e500e2c3667885009e1f3a68584b0509535189f52f1343","signature":"92bbccb8f70b6bc63a58d7820bba7d61bdfed6bad38e91b76307470c18be5816"},{"version":"ed9f2da4b4cf5846b64bbc821cf24f22a203b704db1c75d5a3091086c2b5adbd","signature":"e7ae878b423c06c944c193a528518f0467b6ead4ce52d853ade7ba6d4c36a3c6"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","d3f0ce090a6815a7ec722dd9eeb989ff1fe500e135bd6198c228c298e3813789","db779b296127a7f4c58388ba2f782e49f5d3ac67937a0c6bea09ff19ca85fdfb","b9097fbf9995abb2f4c0216c2ffd0ce54819d13b842ff75fb9ce0dc6ee2eb864","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"fffb2459d768940ecb89fbe8da2844cd4ab092451ed753812786ee656ec88062","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"fc2b494e1a2e6973ba4fb4f6f23e028f4ab92e5c43dc9f9df50f81335ba8bc3b","impliedFormat":99},{"version":"8e49ce01b0eec548984cd61647eadc2386997b3b249c32a40cc20551c5ef570b","impliedFormat":1},{"version":"3a9323fd680c0d3d8d8fe14f8f951c1e1e1b762fea0a8de48d876f0d435e406d","impliedFormat":99},{"version":"e28bd3811bc4d633b7686ac4cb1619a40d4a5f06e7a532d2f873362641d7c750","impliedFormat":99},{"version":"fddbc5ff1ec9edadcd762f16a698cb89b2ed111ddf083b3a7ad16c068d28caa1","impliedFormat":1},{"version":"5e3dba5ca07499999ece8241c79197ed63c8362394cb6b0090d06a12c4b1a355","impliedFormat":1},{"version":"3d6731edf27f198633061ac18fd5ea6aa5d1900a5aaa84154c74ee4ba301faa2","impliedFormat":1},{"version":"15d8fe9c2262f9804236d42b462607f397c1c183f762cec4f76ad03b9f1f0569","impliedFormat":1},{"version":"d77277e7b86f08bc7ec8179622e3769261a6053833f9ffd7c9d143bc7e5bdf5b","impliedFormat":99},{"version":"ad951c8b141fac2789e667b09bea5119ab41b690a8c897531de6ca9efbef29b5","impliedFormat":99},{"version":"cf41702adfda9c0cdc296d135daf549c837ddd58f18517cb43b2dc6106f8a010","impliedFormat":99},{"version":"581228c64dea7a741cd82cc867dbc74aaf333f00a415a542c94f32904ca40737","impliedFormat":99},{"version":"dc18d006527854eccef7394cfef826eb78bf2d98952401df0b94da286f7b11c6","impliedFormat":99},{"version":"e2d3d92b851b78c368e4fd7e92c503d7e4683053f9017b6a7cb0b0fe103d9bdb","impliedFormat":99},{"version":"336b589d137529f847fc4754b466f1297866cd7daf74f024a36d52f37661ef28","impliedFormat":99},{"version":"91d9de4d3888ec1767f406307b333103aeb33469f81a8f8743ece26549f8f856","impliedFormat":99},{"version":"184aeb5eaa3d273414cec3371de4bf250e9a0118f7f993a3b7073367d7f04d2b","impliedFormat":99},{"version":"8ac3f63fc0101a5604b2eb60d047b07761e85b9fc4300e3d4a0fefe928304c92","impliedFormat":99},{"version":"5bed905879da0eab8e40b1970373866e8138a01a47b16f647379f8b56cedbcae","impliedFormat":99},{"version":"7368973a048c64dbd32ae3755b909016e14902e593527d7e4b41ad9861f93d2c","impliedFormat":1},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"9486c70eaa72dbf23a9d0b8f881a9a61713f4086c8cef3af323631c75344aa6a","signature":"ba8a1d38855955715800dbfa4524c014185b522c50e9dacb6f4fe6cf039f6b15"},"90820207d605e61002b9e524a9eadfc4c2674f6b6ddc0231002343991eb0e20e","e9a9fa0cbf4239625a6bb8ead382cb628fcdd0dfe218fe7e06537f94af481fca","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","35b4855114356a043d23af90c1f95d5c1762d18f5789f1cd79d82e436f864ba2","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"631fa6b8206122755e26bb4dacbf8fa63c4f2db468b204b307703598380448fa","signature":"4fad12064da8e37fdc1833e97fe755eac15bab46624dfb6625c7e55c5279a81c"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","cb807d2413e0fad9de9aa6aeb414b2cb5e8e44e8ba36f6c9ac9e2b7bb2e62472",{"version":"e98d274f5e40550d511194b89c8d830059e65fff3d5579549ffc7a1f28be2e56","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"68ae0e0c3a940f2aee1968db21b28c70799ff96bd08e425628f0f4d520d369b4",{"version":"97a264bafa8f98c69751a4282864acc858aa3d0ab931b713617187fad635c941","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"7a743d52b53314bafbe07becbeb4b6e8c5b39565ad329b71a5cea46f716c407d",{"version":"9d3f343bee3dc7a015424ad39584dce3f325075fcfa7ca816f36fc9b4e69b531","signature":"dfc9b0a3bcb2b8ee30a531cea39f1adb0451f39d66b6e034a7a2720d5eacf77e"},"b83cf05b02e7f2e9a2ac3460b6b8de76e98de5a92a68185d1c0d867fe3d972b5","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","aa9657c0db57a3eae82c4c879a2406b834e4612f3d733a6dcee3dd171f49fa9c","ff049ea74d20c20d022b69ba34540dd806f858c337dc0d1bd9cfa23c59a618a2","c5477a74d0e48be41811e6103cef4e81a6b28c66b5fbb847dbd71098838e57a1","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","aebb05691f88cb12a4a48defc14804979d73361772998cbedabd02bc09164bd4","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"1986859178ae6bfcae602c3651928296a115176b9b7dc16147cbdcc1a90c4b22","signature":"fcb4b6341e5a099ab9c1d243bd8e70baf3a09e7603314af6533cb2fd2569db1f"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"43103308cbb7a9c9724463364672a0f77f4d6ccec3e3f8eeca0bb00bf49d7120","signature":"6d74984c085ccb6559a95838efdf947a77473821113152fd7285166479a945c6"},{"version":"961ce990d1614b492f5789d80167d43e8aa56d44dd19f5a7a1824160eb24256b","signature":"8e01d2344832b8f479892a6bf0abdaa09ebd0ea7b396be9e04c6fe925ef75f86"},"368ace490ce6f0e2aabfcfcf2eb06da0ed2e0ae21207f5b42217ba546525404b","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","69d3505102b863c76dca685f8734c34b6d816689b631758b1a3d5b0ad0578b69",{"version":"f474efe87d882727af3bcb8dfadc607da7a0c1dcddab08f40e910258d2769ffc","signature":"52494763e24e4af4ddf8004ece8e52c8d69718ac8d11a9b650b23b1e0ebce0f1"},"00de14f2041575eb97bba15884976248162321c3e0219233125f8ff34a4baae4","8a0fb0675e26d22956d514b9177238929e14aa99ccdfb2026460895b04763b5e","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"a909e1fd8f29f8e097f8395cf1996f9487a0f6fe2f59c5c48abf1cf63ddd1bfa","impliedFormat":1},"8edcf6457049a24e8c74838a7e193a746e67c3eb77f7cae8a00aca43b7b6c9dc",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"edb9169a0b3dd431cf6702d1f9c4e3a233c80ecf83fcb040ad80c4f05f1befc2","impliedFormat":1},{"version":"645492938fdc689e9982f3b60b3f46b1b76152bfbb43ee23e0afa8194f319a7d","impliedFormat":1},{"version":"c1a2490845cba61742cc5143243976fb60ccf02a13c803d221340cb1bc3a4905","impliedFormat":99},{"version":"550f4c97e34cf005e952fd85ba6e179720d257d19134a4c7c71814ce27b35522","impliedFormat":99},{"version":"426d6bf4fd76bd6b79ab4473b7495c7861c72c60e45c0e3bf3a5ec07657349bd","impliedFormat":99},{"version":"4067c7691e2a580d3066be19bcb52c146b8aea5e0ec0fdc0d37fe4f38c3ab4c4","impliedFormat":99},{"version":"5cbf6d4d5beb5a3fb6a56968fb84a8f033ed92c710be16c673e56a354dd0a19c","impliedFormat":1},{"version":"00f3564c120a1c5a9ba70164d938f4652897e4076a7916b7874e390ae3c25bfa","impliedFormat":1},{"version":"9f49c6fdecda89d0d639864780fc9ea29e2ec064dc4dc5fe70fc5ac07519fb5d","impliedFormat":1},{"version":"ec3e13f5fd2c4438a369270f48f6a6047aec95e2ce90e88cf5e8c2290593d483","impliedFormat":1},{"version":"358ebfb16a28554cef450eec08f6975c9297a12f113e376af4d239e37a45dfa0","affectsGlobalScope":true,"impliedFormat":1},{"version":"77c112befbf16ca4185307d3a4e0e8490dfc283d69ffcf71f3b1942e5dc4d916","impliedFormat":1},{"version":"0c5d281eb24976512b636854b93131adf00eda11cbb6c65f07b25103aa2c5f9d","impliedFormat":1},{"version":"9bb02b9b95d716d77747b60a9ffaf60a3ece0b54fdd7b1c834e1861977b6725c","impliedFormat":1},{"version":"a7140dc840b1c4a5879d66b68d8f4c4deef131f346f678eceb00fe615340e2b1","impliedFormat":1},{"version":"92a7f6cf82b4eedacfdd8604e463bb1d7bdbd652cde9ed93117ad27d12deeeeb","impliedFormat":1},{"version":"04395aab91f85f0e7d1c1dea14dd6fb978600b71dda99714c11f1d16e40bbac9","impliedFormat":1},{"version":"f55ddf2367bccd878ee35849267384323aec3ff7cd3bc02ebe4e789f5462732a","impliedFormat":1},{"version":"39af9073b28980bef184fb3053f53841dd0d627eabfeff5d0e8bfb88fc79a5ba","impliedFormat":1},{"version":"fbf1cf13dfb50962770ea7d6f4f972aec37d1ba7709f1f066d22c1f613f8114c","impliedFormat":1},{"version":"85d239399f452310e210bbebab69c0482be565d237bc48855c8eae35de4aab5d","impliedFormat":1},{"version":"a922f6fd5d6b772cfec1944cbb2db2c5220604369ab50c5075c6abb2d75cd77b","impliedFormat":1},{"version":"b41eec89809fc318cb10dad242b25b682ae2f1c08c19b05860253b6a91e78e68","impliedFormat":1},{"version":"d919771c8dfacef31bf5c28dbca6b4c973cdf5e1fa2c26942c37cc66f9aed48a","impliedFormat":1},{"version":"a18513480209fb0b8f47001297ad9535967614c7dd88113b6e14d252169b43d5","impliedFormat":1},{"version":"7e6fdc6fc609c43eddea129b19c32f883b8a7e923d32891e98c2ab5adb9f664e","impliedFormat":1},{"version":"d460d933e154ee0d0f73af8dd5fa20a3045bb37f7a87298d9845761f19216dff","impliedFormat":1},{"version":"eb850f4709e5899550780867b4e1e978c4410bcfd01eaf07fade34febf31236f","impliedFormat":1},{"version":"45610346063b61c9c44386979e359f2a71c910e4b54a99e303319d37f346176a","impliedFormat":1},{"version":"e65dd84a43fe6aeabb4ac5e12ba29b3fe7f9317ffa73c0e71a08272e919fa0b4","impliedFormat":1},{"version":"09b324544a2f4ff511323818fa5ddf7f9da8148c21ec9986330ccb7dbb3a903c","impliedFormat":1},{"version":"0452d476c5b742f8de67236909cf98fe5c448a41d8fbf64e6597b03bf5a69efc","impliedFormat":1},{"version":"172122783aa954f69fe15ba6d5d16d1ec405ecf00ba2fd1df47ac81457313c1c","impliedFormat":1},{"version":"4b7cc2d3b314e7906ca9b48bef698cfc42d7dba9b22dcf07c4d197c572dd2252","impliedFormat":1},{"version":"f9f5a0e4894c7cf70e7011594a06c07e5ee8fe9bf3bad14f09c71d726bf4cb5f","impliedFormat":1},{"version":"d394694b20290b66eccf1b3d79b828c840e2585afd41181925e9b020532c6b76","impliedFormat":1},{"version":"c72790ec24a83f1c0031eca8179c570cf2d256ada410d3687b7381dcec67acf4","impliedFormat":1},{"version":"337d943846ec2801d8894c9db69baccf103e1ff5264831e69f79ed7951e064ee","impliedFormat":1},{"version":"62de14ec23f8aff998cb128ab5545a8d224c96030a2c256a8ed13c42e7648b0f","impliedFormat":1},{"version":"1245d38d3fe65626bc334040d65c7f2e218bc576ed1357e368f01d552154adc5","impliedFormat":1},{"version":"8a49e5771bc71df7595fd3a323e3f8d178d77c7d09a0af9dfba06bcb0c41cc5e","impliedFormat":1},{"version":"ad3a50c4acd370a63584f33ed0e9bb43a989933d6c8c78bc1308e8608d1d32f8","impliedFormat":1},{"version":"42bb84e17e7267a29efd9422c6322c227328eb327c406f00b9919485396fd76e","impliedFormat":1},{"version":"46bd9577ef2f0ff2f000d24ac84e089011ebd92e263af7a429a2547e07e0c143","impliedFormat":1},{"version":"7ba0bba79a4a44c0405ed732f0fc4d539ff9d8d5127e3802af1dd6bf63cd1952","impliedFormat":1},{"version":"8b100b3c86101acbdbc62729bf587303f11cde4a6ed9955fe90817fce7ae467b","impliedFormat":1},{"version":"0c6c8d5c050fce32d57989c6dd7eca289adc60249632bb0be4819720f02ace34","impliedFormat":1},{"version":"55fd0a4ae7f7a18cc5eb21a018b1603c6968d4a96f9e6a14788b7fe93f83d161","impliedFormat":1},{"version":"41baacbbeb4115c9acf934d83e511e0ecc438c0c3504d6fba2b95f223436201b","impliedFormat":1},{"version":"c56bf904f9a0e3d2ad60ec3a4d8df6dddffebb3f7a342841e59d3998fa58ef05","impliedFormat":1},{"version":"756964d2c9049018cae27c037f46cdc732d64bb142f69c199ae56e8465eb51df","impliedFormat":1},{"version":"7cb242d2ebbd68ed3516d1dc388508428a80f2578a3c24daa67b6e8d4ffa5203","impliedFormat":1},{"version":"8b4d48f2810eea8f37fadb889b8a07184066f31e0b707f3503b36dd86fd6e8d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"a319c13d9a2ea04f2b77af8dff20fe77db4929520e2ae78eb568be42b49db74d","impliedFormat":1},{"version":"e438e3b79bf6b7f6e7cf88d578e7deda76825cb308b4d0dda997364ff7554d95","impliedFormat":1},{"version":"8719f6439aad64474065109a4edfa064a791724baca3d6369e12017f7b0cb88f","impliedFormat":1},{"version":"c45df1039c24a90fe6b3871d0bb207b0176d25de83092140da7384d7856ae224","impliedFormat":1},{"version":"bc82e87133a09a89de76c3a180fe16f1cae483119157097809f28bf6c5c5bc42","impliedFormat":1},{"version":"45318673e31d098c50914c0f3978d1f22cfb27ab7eff8852fcd3cf580af05ab0","impliedFormat":1},{"version":"3eee58d9988bc4728f35f23302494030c7edb45464ac16bfa3c6e10e04f95ea2","impliedFormat":1},{"version":"723bb64d123194289a8b66f1e9181f1612e579b72750320abff65bb9c2f2052e","impliedFormat":1},{"version":"e957f63b428caa147a264dd2fcb6b1d480210d93ea09df069f024030cf2cfaef","impliedFormat":1},{"version":"5331894755017405983a568520e87ab14204cc4d32fdfd46b256f60e89a08c27","impliedFormat":1},{"version":"702bec98cfbcfd34da95646fbe7a26f245a2a4c6c63709126f8c60917b84ffd7","impliedFormat":1},{"version":"a8b073acdcb14b01690c875d011631844fa35565f7743338ec428acf455d76b3","impliedFormat":1},{"version":"362b54765d6055d66595186931d62da4952418b01e709bf315e0dab7846d1aa3","impliedFormat":1},{"version":"6871aee1e07d119ec987177c633c657488c50e2507060ee08b033a39082e70c4","impliedFormat":1},{"version":"eb36e6f9618857738c5d5fa28427e3c3f7f0ffc8e0e9d3cf02ea434b4d2279a7","impliedFormat":1},{"version":"016ef4d2722af6261341c785c9056dfdb07e122956625c42987ed98f81b3ae59","impliedFormat":1},{"version":"14a9111800cbe726e784b61719f6390c0bc40e3b7a812d2e55a11358c3656828","impliedFormat":1},{"version":"6e540506152e0fcf0f4d8259a2c82a70684076abd5da2f23222ae444a72e118a","impliedFormat":1},{"version":"781089368dbff1d99c90ce6ccb719f87160fa1d23acc72b5ab6f691e477961d4","impliedFormat":1},{"version":"96fd00b59894a225031dfa9809d0faa12bdab12eded66065d85843c19285590a","impliedFormat":1},{"version":"c776eb7e47d546ae117bfd37713384b860995798e7f9f540261a1eb83c121fe1","impliedFormat":1},{"version":"e3c951c485763be17ee11dd70eccdc858a0327b875eaa5dd07bfc095a58f954c","impliedFormat":1},{"version":"b507647261a2f5ed71006ee352a8e65df0b1fea17279b0166dcc016e1a0db25e","impliedFormat":1},{"version":"4e2088cc6332d96e041ec78f52d15c2257ec69c85e68c9a8c9fdfd42a791c109","impliedFormat":1},{"version":"3eff42c3f17aaa8e3556ca93e1ea9297d8b8047b2f46d5da6cfebf13ee790e3f","impliedFormat":1},{"version":"8b4e370bb75ac7e38da6e6fb9badeff8e183b37c14296495b37e7a00262e0ae2","impliedFormat":1},{"version":"4bfc6330992e694ff8150a8b5df251dd196b5e8b812d39547af21f31053d03f7","impliedFormat":1},{"version":"a24693080941b26e9e5c9407f633381986df6aedf40377f3e2647792ef32230d","impliedFormat":1},{"version":"5541a80c4995b73a8196b565c536c8a4fc2c19b9ed2fa068e96f53de8106bbae","impliedFormat":1},{"version":"adb82dbf1951982efed53d809e3f7dd4b4f3d8f607b3759318d866e3c1f83cd8","impliedFormat":1},{"version":"99a39e62d9072729c8fbfa39ccbfabcffc24c607432fee438ddd0dc022f5b010","impliedFormat":1},{"version":"69a3a0c45b324f847e346c045f41aead2069e47e62f7c0701f1d5f1e87225e08","impliedFormat":1},{"version":"728f14ab5df74cd2ffe46a585c7bc1fc34686a2a2b99696cb4870eb4929ed60b","impliedFormat":1},{"version":"bf90887e6e552c64aaaae21172f5e907ec5e0afb0936f841fc00b286ed46225c","impliedFormat":1},{"version":"8311d3dc5571b9f4144554f29e2758060a71c40bf5d1c9e5485742d7c813141d","impliedFormat":1},{"version":"9c3fc29a76427a9f8639c7e7d15da36e449ae9e3642490abf69b53222a1286ce","impliedFormat":1},{"version":"05a9120e7332c151ac0995a40c816b12acd56c4f5b5745caaaf6cabda9c802ea","impliedFormat":1},{"version":"c8d3ba07650ef27921623d697428f38541aaa0cf8c9fc6a76e8967ad4174b56b","impliedFormat":1},{"version":"a7453526ba02cf4fbee5269abc96579b96a54b6b5f260f999e87490055dae717","impliedFormat":1},{"version":"ab965d5891d28939fd87bc7365b3b276800824605d9ec098bfb240f4192b8076","impliedFormat":1},{"version":"dd7241d02f172343740b45dad8e2e672a3408f0063a37e62a929e76d2920de47","impliedFormat":1},{"version":"a8bfc23f4dbdb6a04c60de4f18edb58baa03161e6c24cd9ff965f3eef404564c","impliedFormat":1},{"version":"9ef7dc8951dab476610e7c567b6b3b42d7e41448aa79b7f16d63ad66b5d6091c","impliedFormat":1},{"version":"af181e1c6de1618d4e6c771d2d533636fd50d416ed14341005298d0168fe88b9","impliedFormat":1},{"version":"c7280eb8e2e07c8d1089fb93bc9481761072360e0a2f8d69fa4b8814324ee519","impliedFormat":1},{"version":"f2296317e8366a4e453b5c50cd89961a9b3ac39c5d56000d2e9c40b60abf2b5b","impliedFormat":1},{"version":"4c2ed06c6b7f0b3695b5b6eb6b1e36a046504607704b3a3331d2dd44d8f74d14","impliedFormat":1},{"version":"25f1091030221b8fc14d8819ef898daeb3458e6acf795a156d02e73a4c1c6dc1","impliedFormat":1},{"version":"b4e0c6cc3a75862ba5362b23eda32e315fb9b6db4f9edd2c771f743b87164c89","impliedFormat":1},{"version":"bae39c327c52f623cc6695e5501bc3921521d23dd35dde6d1df90349b53c2bd8","impliedFormat":1},{"version":"0d911189465b2d3a15708850644207035db5251ce483f516b5f52cc3e17dc58b","impliedFormat":1},{"version":"cd44664782b80bf1ae05d7c2f5df9d8ae86bfff20e70cbc2c554de4b10cc351e","impliedFormat":1},{"version":"82b294d57210b8200184120c0d7e531e314b4a10f492a2268d49825820db87b9","impliedFormat":1},{"version":"0c9d7ecd0852cd119f8911f305dfea064743bad80ec9d42e8a3a8fb0e410ab3f","impliedFormat":1},{"version":"02a68efea8e54a37371085a9e6e16b5a18ecfd7033010fcc7a8c0df0681142fc","impliedFormat":1},{"version":"2281e382e576af14e0ac3e586878db7e7355d33fa5234cf9d0fb9355a8c19e5f","impliedFormat":1},{"version":"a12c24a38a45de34546bb52d5f69ac4a9f232a29590cd3fe2414966a46d4ca87","impliedFormat":1},{"version":"ab13167db98ee43ab6bdee515fe32de1def66440044bc7ccf8207a6479223da2","impliedFormat":1},{"version":"82dc39440cf3a5ebda2f97d5f2d6ac561d61fd7c564d0fc031dbc0a67ada959d","impliedFormat":1},{"version":"1429a88e056cc740aef5161a005b834a0ded2fc91fd6e5a5db5a95104413ec23","impliedFormat":1},{"version":"5a9ee7b33d14531f60aa7185434b3f9e652148bc81bb78bb9436c5c5ec67cc87","impliedFormat":1},{"version":"11a64a97b9cbe167a692c703f7306f8e74b4145ef01502df7dcba057f133757b","impliedFormat":1},{"version":"5e611095701ba7a790a4b3f5d4923624bfc405989fed35b0e92bcaf757f06c9e","impliedFormat":1},{"version":"9d27bae8bada2896a0807988688463ca27d3888d9ff69b2013bc2a185b6e649f","impliedFormat":1},{"version":"29f81db1b535ab200fc9c3d71b34640f6b0d17b0cc177bc5504513db0e72958c","impliedFormat":1},{"version":"9eea3d8f1f572c3d20e8e3cb85015d1ac028b219c15b2cff17305d28bfccba41","impliedFormat":1},{"version":"88875c1d24d921a4c23e8b8157ae7aab5969d31418599b080238bf7285fb541b","impliedFormat":1},{"version":"0e6ca4c3622971e7935156028a4e4786776dfe4a08c2fbbe5972f852d2393242","impliedFormat":1},{"version":"8e0647f6e0b366a17a323707fde45a9a7ab0aa7010eb4c073bdd5dd0a59b7af0","impliedFormat":1},{"version":"9c950ce2329c5a7e7c1a61dadd0ef644b07e33840f6a8bdc3595c09408cace59","impliedFormat":1},{"version":"ab35ebf747b905005cca908f561572ec86a2608fa4560b42e1818bec676bfd92","impliedFormat":1},{"version":"a7b9ada3c1a6627c824d5a704ffee3320b87f78c108629ae1b830adb8b49c1f5","impliedFormat":1},{"version":"90166057c725031fb28c0ef51e7d2eadce4a6f6e12d4dac1e02d3d23488c636d","impliedFormat":1},{"version":"0efcbe7ddfeda9683da65f5188341ab0088c849ff7ceb49d87933729ce6e8d6e","impliedFormat":1},{"version":"079a002e7068ae12d1cad26c7e8c6d2eb5d7f18281b84cfc013c1bdd02e8f45a","impliedFormat":1},{"version":"d408c4b690971d0d7829f155c4fe38e72435a2d48f504f6845b02482f06df6df","impliedFormat":1},{"version":"2fa29d1bca47c32fea04c28f91d5afce3968306b8dee92a168104fd5965a620b","impliedFormat":1},{"version":"ad6b474bccbd1c2caf40dd1c1f8c7b6b5955107740a15ac2832b936a2de26ffc","impliedFormat":1},{"version":"2c6397351c5ff366607525089af5857b37d94be921adf78c8a4ee3168ee0659e","impliedFormat":1},{"version":"8186958c09e1317cc51f3611e7af2767fc893d76a4e171a3da047002acde90f8","impliedFormat":1},{"version":"3428a6d77eecbe0b238e6870cd0591fdcd1042c6da4f5212d94ab779ae444158","impliedFormat":1},{"version":"291ffebc7b0cc0f1b2eea669e8c641a7554ff9013c8355f372355a1574fe5155","impliedFormat":1},{"version":"cda0f6bf17c6c0a1869e66bb2c312062460d1cfdb9608c038a7e53c55f4dafe5","impliedFormat":1},{"version":"5ac0e7212b0581152d0781d4bb9107d9f759f915d037c462d56f781c966e744f","impliedFormat":1},{"version":"887d6ba7b042d8fb182c39ee5a971a47067cb157eee1de5faa5a8cab9c82ca0c","impliedFormat":1},{"version":"cf63c7a798daa1bcc242227f6eef52604e9bfb3f81b8766c84b2eecff4e89b65","impliedFormat":1},"067001a58b91f8a7b5e0fa6b89dc08b9090ff85f8e628730b52e9d3b8d0164ad",{"version":"20543c9a87401cf8224feb917aaf229dba9790824d97f598c7d920b18ca8a40c","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"29246dbe490574a229cc0a5a9f052ec0fba2eaa4512faf3d54ca02ee6377c656","2341253f1a947c37dfa27838951cf7e224f7abb32dff45a8d425f042b5eeed13",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"5e0329bd4d046e40a6487a639262d2e801ecbe88b5e7610af7b93fbc709a3b9d","signature":"92bbccb8f70b6bc63a58d7820bba7d61bdfed6bad38e91b76307470c18be5816"}],"root":[66,273,[276,288],[309,342],344,[485,490]],"options":{"composite":false,"declaration":false,"declarationMap":false,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"module":200,"noEmitOnError":false,"outDir":"../../../..","removeComments":false,"skipLibCheck":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[349,1],[297,2],[350,3],[298,1],[291,4],[292,5],[300,6],[301,2],[306,7],[307,8],[304,4],[299,4],[302,9],[303,10],[305,4],[266,11],[271,12],[268,13],[348,2],[270,4],[265,4],[267,2],[262,14],[69,15],[261,16],[259,17],[68,2],[67,2],[264,18],[260,2],[263,2],[289,19],[351,20],[269,21],[272,22],[275,23],[274,24],[343,25],[290,26],[442,27],[441,28],[443,29],[438,2],[444,30],[445,31],[430,32],[429,33],[446,34],[451,35],[439,36],[440,36],[434,36],[433,36],[352,4],[428,37],[432,38],[431,39],[435,2],[436,2],[437,36],[448,2],[447,2],[449,40],[450,2],[471,41],[472,41],[473,4],[483,42],[475,41],[474,41],[457,36],[476,41],[477,41],[478,41],[479,41],[480,41],[481,41],[482,41],[484,43],[453,44],[470,45],[456,45],[452,46],[458,47],[454,45],[455,45],[460,41],[461,41],[462,48],[463,36],[459,36],[464,41],[465,45],[466,45],[467,41],[468,49],[469,41],[427,50],[426,51],[398,52],[361,2],[362,53],[365,54],[368,2],[369,2],[370,53],[371,2],[399,2],[375,2],[374,2],[401,2],[400,2],[402,55],[376,56],[377,53],[421,2],[410,57],[378,53],[380,2],[381,53],[379,2],[382,53],[383,2],[384,2],[385,2],[386,2],[366,2],[367,58],[387,2],[389,2],[390,2],[388,2],[392,2],[393,2],[391,2],[424,2],[373,59],[372,2],[394,2],[403,2],[395,2],[396,54],[397,2],[406,53],[415,53],[425,60],[409,61],[360,2],[358,2],[359,56],[414,2],[419,62],[405,2],[407,2],[408,63],[404,2],[416,64],[417,2],[422,65],[363,66],[423,53],[418,2],[364,2],[420,67],[411,68],[412,69],[413,69],[345,2],[356,70],[354,2],[355,71],[357,72],[353,2],[295,73],[294,74],[346,75],[293,19],[347,76],[296,77],[308,78],[258,79],[231,2],[209,80],[207,80],[122,81],[73,82],[72,83],[208,84],[193,85],[115,86],[71,87],[70,88],[257,83],[222,89],[221,89],[133,90],[229,81],[230,81],[232,91],[233,81],[234,88],[235,81],[206,81],[236,81],[237,92],[238,81],[239,89],[240,93],[241,81],[242,81],[243,81],[244,81],[245,89],[246,81],[247,81],[248,81],[249,81],[250,94],[251,81],[252,81],[253,81],[254,81],[255,81],[75,88],[76,88],[77,88],[78,88],[79,88],[80,88],[81,88],[82,81],[84,95],[85,88],[83,88],[86,88],[87,88],[88,88],[89,88],[90,88],[91,88],[92,81],[93,88],[94,88],[95,88],[96,88],[97,88],[98,81],[99,88],[100,88],[101,88],[102,88],[103,88],[104,88],[105,81],[107,96],[106,88],[108,88],[109,88],[110,88],[111,88],[112,94],[113,81],[114,81],[128,97],[116,98],[117,88],[118,88],[119,81],[120,88],[121,88],[123,99],[124,88],[125,88],[126,88],[127,88],[129,88],[130,88],[131,88],[132,88],[134,100],[135,88],[136,88],[137,88],[138,81],[139,88],[140,101],[141,101],[142,101],[143,81],[144,88],[145,88],[146,88],[151,88],[147,88],[148,81],[149,88],[150,81],[152,88],[153,88],[154,88],[155,88],[156,88],[157,88],[158,81],[159,88],[160,88],[161,88],[162,88],[163,88],[164,88],[165,88],[166,88],[167,88],[168,88],[169,88],[170,88],[171,88],[172,88],[173,88],[174,88],[175,102],[176,88],[177,88],[178,88],[179,88],[180,88],[181,88],[182,81],[183,81],[184,81],[185,81],[186,81],[187,88],[188,88],[189,88],[190,88],[256,81],[192,103],[215,104],[210,104],[201,105],[199,106],[213,107],[202,108],[216,109],[211,110],[212,107],[214,111],[200,2],[205,2],[197,112],[198,113],[195,2],[196,114],[194,88],[203,115],[74,116],[223,2],[224,2],[225,2],[226,2],[227,2],[228,2],[217,2],[220,89],[219,2],[218,117],[191,118],[204,119],[65,120],[64,2],[61,2],[62,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[63,2],[57,2],[58,2],[60,2],[59,2],[1,2],[14,2],[13,2],[273,121],[485,122],[486,123],[276,121],[341,124],[487,125],[321,126],[322,127],[319,128],[320,129],[277,121],[286,130],[342,121],[344,131],[283,121],[284,132],[288,133],[287,121],[312,134],[311,135],[314,136],[313,121],[324,137],[323,138],[330,139],[329,121],[336,140],[335,141],[338,142],[337,121],[340,143],[339,144],[326,145],[325,121],[328,146],[327,147],[279,121],[282,148],[278,121],[285,149],[315,121],[316,150],[317,121],[318,151],[333,121],[334,152],[331,121],[332,153],[309,121],[310,154],[280,121],[489,121],[490,155],[281,156],[66,121],[488,157]],"semanticDiagnosticsPerFile":[66,273,276,277,278,279,280,283,287,288,309,313,314,315,317,319,321,325,326,329,330,331,333,337,338,340,341,342,485,486,488,489],"version":"5.9.3"} \ No newline at end of file diff --git a/.angular/cache/20.3.21/metacourse/angular-compiler.db b/.angular/cache/20.3.21/metacourse/angular-compiler.db deleted file mode 100644 index 888ee16..0000000 Binary files a/.angular/cache/20.3.21/metacourse/angular-compiler.db and /dev/null differ diff --git a/.angular/cache/20.3.21/metacourse/angular-compiler.db-lock b/.angular/cache/20.3.21/metacourse/angular-compiler.db-lock deleted file mode 100644 index 8b4fd66..0000000 Binary files a/.angular/cache/20.3.21/metacourse/angular-compiler.db-lock and /dev/null differ diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js deleted file mode 100644 index 0ed453c..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js +++ /dev/null @@ -1,205 +0,0 @@ -import { - APP_BASE_HREF, - AsyncPipe, - BrowserPlatformLocation, - CommonModule, - CurrencyPipe, - DATE_PIPE_DEFAULT_OPTIONS, - DATE_PIPE_DEFAULT_TIMEZONE, - DatePipe, - DecimalPipe, - DomAdapter, - FormStyle, - FormatWidth, - HashLocationStrategy, - I18nPluralPipe, - I18nSelectPipe, - IMAGE_LOADER, - JsonPipe, - KeyValuePipe, - LOCATION_INITIALIZED, - Location, - LocationStrategy, - LowerCasePipe, - NgClass, - NgComponentOutlet, - NgForOf, - NgForOfContext, - NgIf, - NgIfContext, - NgLocaleLocalization, - NgLocalization, - NgOptimizedImage, - NgPlural, - NgPluralCase, - NgStyle, - NgSwitch, - NgSwitchCase, - NgSwitchDefault, - NgTemplateOutlet, - NullViewportScroller, - NumberFormatStyle, - NumberSymbol, - PLATFORM_BROWSER_ID, - PLATFORM_SERVER_ID, - PRECONNECT_CHECK_BLOCKLIST, - PathLocationStrategy, - PercentPipe, - PlatformLocation, - PlatformNavigation, - Plural, - SlicePipe, - TitleCasePipe, - TranslationWidth, - UpperCasePipe, - VERSION, - ViewportScroller, - WeekDay, - formatCurrency, - formatDate, - formatNumber, - formatPercent, - getCurrencySymbol, - getDOM, - getLocaleCurrencyCode, - getLocaleCurrencyName, - getLocaleCurrencySymbol, - getLocaleDateFormat, - getLocaleDateTimeFormat, - getLocaleDayNames, - getLocaleDayPeriods, - getLocaleDirection, - getLocaleEraNames, - getLocaleExtraDayPeriodRules, - getLocaleExtraDayPeriods, - getLocaleFirstDayOfWeek, - getLocaleId, - getLocaleMonthNames, - getLocaleNumberFormat, - getLocaleNumberSymbol, - getLocalePluralCase, - getLocaleTimeFormat, - getLocaleWeekEndRange, - getNumberOfCurrencyDigits, - isPlatformBrowser, - isPlatformServer, - normalizeQueryParams, - provideCloudflareLoader, - provideCloudinaryLoader, - provideImageKitLoader, - provideImgixLoader, - provideNetlifyLoader, - registerLocaleData, - setRootDomAdapter -} from "./chunk-PSDIAYZ2.js"; -import { - XhrFactory, - parseCookieValue -} from "./chunk-6UNWJBON.js"; -import { - DOCUMENT, - IMAGE_CONFIG -} from "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - APP_BASE_HREF, - AsyncPipe, - BrowserPlatformLocation, - CommonModule, - CurrencyPipe, - DATE_PIPE_DEFAULT_OPTIONS, - DATE_PIPE_DEFAULT_TIMEZONE, - DOCUMENT, - DatePipe, - DecimalPipe, - FormStyle, - FormatWidth, - HashLocationStrategy, - I18nPluralPipe, - I18nSelectPipe, - IMAGE_CONFIG, - IMAGE_LOADER, - JsonPipe, - KeyValuePipe, - LOCATION_INITIALIZED, - Location, - LocationStrategy, - LowerCasePipe, - NgClass, - NgComponentOutlet, - NgForOf as NgFor, - NgForOf, - NgForOfContext, - NgIf, - NgIfContext, - NgLocaleLocalization, - NgLocalization, - NgOptimizedImage, - NgPlural, - NgPluralCase, - NgStyle, - NgSwitch, - NgSwitchCase, - NgSwitchDefault, - NgTemplateOutlet, - NumberFormatStyle, - NumberSymbol, - PRECONNECT_CHECK_BLOCKLIST, - PathLocationStrategy, - PercentPipe, - PlatformLocation, - Plural, - SlicePipe, - TitleCasePipe, - TranslationWidth, - UpperCasePipe, - VERSION, - ViewportScroller, - WeekDay, - XhrFactory, - formatCurrency, - formatDate, - formatNumber, - formatPercent, - getCurrencySymbol, - getLocaleCurrencyCode, - getLocaleCurrencyName, - getLocaleCurrencySymbol, - getLocaleDateFormat, - getLocaleDateTimeFormat, - getLocaleDayNames, - getLocaleDayPeriods, - getLocaleDirection, - getLocaleEraNames, - getLocaleExtraDayPeriodRules, - getLocaleExtraDayPeriods, - getLocaleFirstDayOfWeek, - getLocaleId, - getLocaleMonthNames, - getLocaleNumberFormat, - getLocaleNumberSymbol, - getLocalePluralCase, - getLocaleTimeFormat, - getLocaleWeekEndRange, - getNumberOfCurrencyDigits, - isPlatformBrowser, - isPlatformServer, - provideCloudflareLoader, - provideCloudinaryLoader, - provideImageKitLoader, - provideImgixLoader, - provideNetlifyLoader, - registerLocaleData, - DomAdapter as ɵDomAdapter, - NullViewportScroller as ɵNullViewportScroller, - PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, - PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, - PlatformNavigation as ɵPlatformNavigation, - getDOM as ɵgetDOM, - normalizeQueryParams as ɵnormalizeQueryParams, - parseCookieValue as ɵparseCookieValue, - setRootDomAdapter as ɵsetRootDomAdapter -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js deleted file mode 100644 index 739019f..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js +++ /dev/null @@ -1,89 +0,0 @@ -import { - FetchBackend, - HTTP_INTERCEPTORS, - HTTP_ROOT_INTERCEPTOR_FNS, - HTTP_TRANSFER_CACHE_ORIGIN_MAP, - HttpBackend, - HttpClient, - HttpClientJsonpModule, - HttpClientModule, - HttpClientXsrfModule, - HttpContext, - HttpContextToken, - HttpErrorResponse, - HttpEventType, - HttpFeatureKind, - HttpHandler, - HttpHeaderResponse, - HttpHeaders, - HttpInterceptorHandler, - HttpParams, - HttpRequest, - HttpResponse, - HttpResponseBase, - HttpStatusCode, - HttpUrlEncodingCodec, - HttpXhrBackend, - HttpXsrfTokenExtractor, - JsonpClientBackend, - JsonpInterceptor, - REQUESTS_CONTRIBUTE_TO_STABILITY, - httpResource, - provideHttpClient, - withFetch, - withHttpTransferCache, - withInterceptors, - withInterceptorsFromDi, - withJsonpSupport, - withNoXsrfProtection, - withRequestsMadeViaParent, - withXsrfConfiguration -} from "./chunk-ZKUNZJKW.js"; -import "./chunk-6UNWJBON.js"; -import "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - FetchBackend, - HTTP_INTERCEPTORS, - HTTP_TRANSFER_CACHE_ORIGIN_MAP, - HttpBackend, - HttpClient, - HttpClientJsonpModule, - HttpClientModule, - HttpClientXsrfModule, - HttpContext, - HttpContextToken, - HttpErrorResponse, - HttpEventType, - HttpFeatureKind, - HttpHandler, - HttpHeaderResponse, - HttpHeaders, - HttpParams, - HttpRequest, - HttpResponse, - HttpResponseBase, - HttpStatusCode, - HttpUrlEncodingCodec, - HttpXhrBackend, - HttpXsrfTokenExtractor, - JsonpClientBackend, - JsonpInterceptor, - httpResource, - provideHttpClient, - withFetch, - withInterceptors, - withInterceptorsFromDi, - withJsonpSupport, - withNoXsrfProtection, - withRequestsMadeViaParent, - withXsrfConfiguration, - HTTP_ROOT_INTERCEPTOR_FNS as ɵHTTP_ROOT_INTERCEPTOR_FNS, - HttpInterceptorHandler as ɵHttpInterceptingHandler, - HttpInterceptorHandler as ɵHttpInterceptorHandler, - REQUESTS_CONTRIBUTE_TO_STABILITY as ɵREQUESTS_CONTRIBUTE_TO_STABILITY, - withHttpTransferCache as ɵwithHttpTransferCache -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_http.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js deleted file mode 100644 index 579cbdb..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js +++ /dev/null @@ -1,28 +0,0 @@ -import "./chunk-WDMUDEB6.js"; - -// node_modules/@angular/common/locales/fr.js -var u = void 0; -function plural(val) { - const n = val, i = Math.floor(Math.abs(val)), v = val.toString().replace(/^[^.]*\.?/, "").length, e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\d+))?/, "$2")) || 0; - if (i === 0 || i === 1) - return 1; - if (e === 0 && (!(i === 0) && (i % 1e6 === 0 && v === 0)) || !(e >= 0 && e <= 5)) - return 4; - return 5; -} -var fr_default = ["fr", [["AM", "PM"]], u, [["D", "L", "M", "M", "J", "V", "S"], ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], ["di", "lu", "ma", "me", "je", "ve", "sa"]], u, [["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."], ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"]], u, [["av. J.-C.", "ap. J.-C."], u, ["avant Jésus-Christ", "après Jésus-Christ"]], 1, [6, 0], ["dd/MM/y", "d MMM y", "d MMMM y", "EEEE d MMMM y"], ["HH:mm", "HH:mm:ss", "HH:mm:ss z", "HH:mm:ss zzzz"], ["{1} {0}", "{1}, {0}", "{1} 'à' {0}", u], [",", " ", ";", "%", "+", "-", "E", "×", "‰", "∞", "NaN", ":"], ["#,##0.###", "#,##0 %", "#,##0.00 ¤", "#E0"], "EUR", "€", "euro", { "ARS": ["$AR", "$"], "AUD": ["$AU", "$"], "BEF": ["FB"], "BMD": ["$BM", "$"], "BND": ["$BN", "$"], "BYN": [u, "р."], "BZD": ["$BZ", "$"], "CAD": ["$CA", "$"], "CLP": ["$CL", "$"], "CNY": [u, "¥"], "COP": ["$CO", "$"], "CYP": ["£CY"], "EGP": [u, "£E"], "FJD": ["$FJ", "$"], "FKP": ["£FK", "£"], "FRF": ["F"], "GBP": ["£GB", "£"], "GIP": ["£GI", "£"], "HKD": [u, "$"], "IEP": ["£IE"], "ILP": ["£IL"], "ITL": ["₤IT"], "JPY": [u, "¥"], "KMF": [u, "FC"], "LBP": ["£LB", "£L"], "MTP": ["£MT"], "MXN": ["$MX", "$"], "NAD": ["$NA", "$"], "NIO": [u, "$C"], "NZD": ["$NZ", "$"], "PHP": [u, "₱"], "RHD": ["$RH"], "RON": [u, "L"], "RWF": [u, "FR"], "SBD": ["$SB", "$"], "SGD": ["$SG", "$"], "SRD": ["$SR", "$"], "TOP": [u, "$T"], "TTD": ["$TT", "$"], "TWD": [u, "NT$"], "USD": ["$US", "$"], "UYU": ["$UY", "$"], "WST": ["$WS"], "XCD": [u, "$"], "XPF": ["FCFP"], "ZMW": [u, "Kw"] }, "ltr", plural]; -export { - fr_default as default -}; -/*! Bundled license information: - -@angular/common/locales/fr.js: - (** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.dev/license - *) -*/ -//# sourceMappingURL=@angular_common_locales_fr.js.map diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js.map deleted file mode 100644 index 77dfc47..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_common_locales_fr.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../../node_modules/@angular/common/locales/fr.js"], - "sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY.\nconst u = undefined;\nfunction plural(val) {\n const n = val, i = Math.floor(Math.abs(val)), v = val.toString().replace(/^[^.]*\\.?/, '').length, e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\\d+))?/, '$2')) || 0;\n if (i === 0 || i === 1)\n return 1;\n if (e === 0 && (!(i === 0) && (i % 1000000 === 0 && v === 0)) || !(e >= 0 && e <= 5))\n return 4;\n return 5;\n}\nexport default [\"fr\", [[\"AM\", \"PM\"]], u, [[\"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"], [\"dim.\", \"lun.\", \"mar.\", \"mer.\", \"jeu.\", \"ven.\", \"sam.\"], [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"], [\"di\", \"lu\", \"ma\", \"me\", \"je\", \"ve\", \"sa\"]], u, [[\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], [\"janv.\", \"févr.\", \"mars\", \"avr.\", \"mai\", \"juin\", \"juil.\", \"août\", \"sept.\", \"oct.\", \"nov.\", \"déc.\"], [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\", \"décembre\"]], u, [[\"av. J.-C.\", \"ap. J.-C.\"], u, [\"avant Jésus-Christ\", \"après Jésus-Christ\"]], 1, [6, 0], [\"dd/MM/y\", \"d MMM y\", \"d MMMM y\", \"EEEE d MMMM y\"], [\"HH:mm\", \"HH:mm:ss\", \"HH:mm:ss z\", \"HH:mm:ss zzzz\"], [\"{1} {0}\", \"{1}, {0}\", \"{1} 'à' {0}\", u], [\",\", \" \", \";\", \"%\", \"+\", \"-\", \"E\", \"×\", \"‰\", \"∞\", \"NaN\", \":\"], [\"#,##0.###\", \"#,##0 %\", \"#,##0.00 ¤\", \"#E0\"], \"EUR\", \"€\", \"euro\", { \"ARS\": [\"$AR\", \"$\"], \"AUD\": [\"$AU\", \"$\"], \"BEF\": [\"FB\"], \"BMD\": [\"$BM\", \"$\"], \"BND\": [\"$BN\", \"$\"], \"BYN\": [u, \"р.\"], \"BZD\": [\"$BZ\", \"$\"], \"CAD\": [\"$CA\", \"$\"], \"CLP\": [\"$CL\", \"$\"], \"CNY\": [u, \"¥\"], \"COP\": [\"$CO\", \"$\"], \"CYP\": [\"£CY\"], \"EGP\": [u, \"£E\"], \"FJD\": [\"$FJ\", \"$\"], \"FKP\": [\"£FK\", \"£\"], \"FRF\": [\"F\"], \"GBP\": [\"£GB\", \"£\"], \"GIP\": [\"£GI\", \"£\"], \"HKD\": [u, \"$\"], \"IEP\": [\"£IE\"], \"ILP\": [\"£IL\"], \"ITL\": [\"₤IT\"], \"JPY\": [u, \"¥\"], \"KMF\": [u, \"FC\"], \"LBP\": [\"£LB\", \"£L\"], \"MTP\": [\"£MT\"], \"MXN\": [\"$MX\", \"$\"], \"NAD\": [\"$NA\", \"$\"], \"NIO\": [u, \"$C\"], \"NZD\": [\"$NZ\", \"$\"], \"PHP\": [u, \"₱\"], \"RHD\": [\"$RH\"], \"RON\": [u, \"L\"], \"RWF\": [u, \"FR\"], \"SBD\": [\"$SB\", \"$\"], \"SGD\": [\"$SG\", \"$\"], \"SRD\": [\"$SR\", \"$\"], \"TOP\": [u, \"$T\"], \"TTD\": [\"$TT\", \"$\"], \"TWD\": [u, \"NT$\"], \"USD\": [\"$US\", \"$\"], \"UYU\": [\"$UY\", \"$\"], \"WST\": [\"$WS\"], \"XCD\": [u, \"$\"], \"XPF\": [\"FCFP\"], \"ZMW\": [u, \"Kw\"] }, \"ltr\", plural];\n"], - "mappings": ";;;AAQA,IAAM,IAAI;AACV,SAAS,OAAO,KAAK;AACjB,QAAM,IAAI,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,QAAQ,aAAa,EAAE,EAAE,QAAQ,IAAI,SAAS,IAAI,SAAS,EAAE,QAAQ,wBAAwB,IAAI,CAAC,KAAK;AACxK,MAAI,MAAM,KAAK,MAAM;AACjB,WAAO;AACX,MAAI,MAAM,MAAM,EAAE,MAAM,OAAO,IAAI,QAAY,KAAK,MAAM,OAAO,EAAE,KAAK,KAAK,KAAK;AAC9E,WAAO;AACX,SAAO;AACX;AACA,IAAO,aAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM,GAAG,CAAC,YAAY,SAAS,SAAS,YAAY,SAAS,YAAY,QAAQ,GAAG,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,SAAS,SAAS,QAAQ,QAAQ,OAAO,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,MAAM,GAAG,CAAC,WAAW,WAAW,QAAQ,SAAS,OAAO,QAAQ,WAAW,QAAQ,aAAa,WAAW,YAAY,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,WAAW,GAAG,GAAG,CAAC,sBAAsB,oBAAoB,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,WAAW,YAAY,eAAe,GAAG,CAAC,SAAS,YAAY,cAAc,eAAe,GAAG,CAAC,WAAW,YAAY,eAAe,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,GAAG,GAAG,CAAC,aAAa,WAAW,cAAc,KAAK,GAAG,OAAO,KAAK,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,MAAM;", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js deleted file mode 100644 index 5fce441..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js +++ /dev/null @@ -1,1002 +0,0 @@ -import { - ANIMATIONS_DISABLED, - ANIMATION_MODULE_TYPE, - APP_BOOTSTRAP_LISTENER, - APP_ID, - APP_INITIALIZER, - AcxChangeDetectionStrategy, - AcxViewEncapsulation, - AfterRenderManager, - ApplicationInitStatus, - ApplicationModule, - ApplicationRef, - Attribute, - CLIENT_RENDER_MODE_FLAG, - COMPILER_OPTIONS, - CONTAINER_HEADER_OFFSET, - CSP_NONCE, - CUSTOM_ELEMENTS_SCHEMA, - ChangeDetectionScheduler, - ChangeDetectionSchedulerImpl, - ChangeDetectionStrategy, - ChangeDetectorRef, - Compiler, - CompilerFactory, - Component, - ComponentFactory, - ComponentFactory$1, - ComponentFactoryResolver$1, - ComponentRef, - ComponentRef$1, - Console, - ContentChild, - ContentChildren, - DEFAULT_CURRENCY_CODE, - DEFAULT_LOCALE_ID, - DEFER_BLOCK_CONFIG, - DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, - DEHYDRATED_BLOCK_REGISTRY, - DOCUMENT, - DebugElement, - DebugEventListener, - DebugNode, - DefaultIterableDiffer, - DeferBlockBehavior, - DeferBlockState, - DestroyRef, - Directive, - ENABLE_ROOT_COMPONENT_BOOTSTRAP, - ENVIRONMENT_INITIALIZER, - EffectScheduler, - ElementRef, - EmbeddedViewRef, - EnvironmentInjector, - ErrorHandler, - EventEmitter, - FactoryTarget, - Framework, - HOST_TAG_NAME, - Host, - HostAttributeToken, - HostBinding, - HostListener, - HydrationStatus, - IMAGE_CONFIG, - IMAGE_CONFIG_DEFAULTS, - INJECTOR$1, - INJECTOR_SCOPE, - INTERNAL_APPLICATION_ERROR_HANDLER, - IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, - IS_HYDRATION_DOM_REUSE_ENABLED, - IS_INCREMENTAL_HYDRATION_ENABLED, - Inject, - Injectable, - InjectionToken, - Injector, - Input, - IterableDiffers, - JSACTION_BLOCK_ELEMENT_MAP, - JSACTION_EVENT_CONTRACT, - KeyValueDiffers, - LContext, - LOCALE_ID, - LocaleDataIndex, - MAX_ANIMATION_TIMEOUT, - MissingTranslationStrategy, - ModuleWithComponentFactories, - NG_COMP_DEF, - NG_DIR_DEF, - NG_ELEMENT_ID, - NG_INJ_DEF, - NG_MOD_DEF, - NG_PIPE_DEF, - NG_PROV_DEF, - NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, - NO_CHANGE, - NO_ERRORS_SCHEMA, - NgModule, - NgModuleFactory, - NgModuleFactory$1, - NgModuleRef, - NgModuleRef$1, - NgProbeToken, - NgZone, - NoopNgZone, - Optional, - Output, - OutputEmitterRef, - PACKAGE_ROOT_URL, - PERFORMANCE_MARK_PREFIX, - PLATFORM_ID, - PLATFORM_INITIALIZER, - PROVIDED_NG_ZONE, - PendingTasks, - PendingTasksInternal, - Pipe, - PlatformRef, - Query, - QueryList, - R3Injector, - REQUEST, - REQUEST_CONTEXT, - RESPONSE_INIT, - ReflectionCapabilities, - Renderer2, - RendererFactory2, - RendererStyleFlags2, - ResourceImpl, - RuntimeError, - SIGNAL, - SSR_CONTENT_INTEGRITY_MARKER, - Sanitizer, - SecurityContext, - Self, - SimpleChange, - SkipSelf, - TESTABILITY, - TESTABILITY_GETTER, - TRANSLATIONS, - TRANSLATIONS_FORMAT, - TemplateRef, - Testability, - TestabilityRegistry, - TimerScheduler, - TracingAction, - TracingService, - TransferState, - Type, - VERSION, - Version, - ViewChild, - ViewChildren, - ViewContainerRef, - ViewEncapsulation, - ViewRef, - ViewRef2, - XSS_SECURITY_URL, - ZONELESS_ENABLED, - _global, - _sanitizeHtml, - _sanitizeUrl, - afterEveryRender, - afterNextRender, - afterRenderEffect, - allLeavingAnimations, - allowSanitizationBypassAndThrow, - annotateForHydration, - asNativeElements, - assertInInjectionContext, - assertNotInReactiveContext, - assertPlatform, - booleanAttribute, - bypassSanitizationTrustHtml, - bypassSanitizationTrustResourceUrl, - bypassSanitizationTrustScript, - bypassSanitizationTrustStyle, - bypassSanitizationTrustUrl, - clearResolutionOfComponentResourcesQueue, - compileComponent, - compileDirective, - compileNgModule, - compileNgModuleDefs, - compileNgModuleFactory, - compilePipe, - computed, - contentChild, - contentChildren, - convertToBitFlags, - createComponent, - createEnvironmentInjector, - createInjector, - createNgModule, - createNgModuleRef, - createOrReusePlatformInjector, - createPlatform, - createPlatformFactory, - defaultIterableDiffers, - defaultKeyValueDiffers, - defineInjectable, - depsTracker, - destroyPlatform, - devModeEqual, - disableProfiling, - effect, - enableProdMode, - enableProfiling, - enableProfiling2, - encapsulateResourceError, - findLocaleData, - flushModuleScopingQueueAsMuchAsPossible, - formatRuntimeError, - forwardRef, - generateStandaloneInDeclarationsError, - getAsyncClassMetadataFn, - getClosestComponentName, - getComponentDef, - getDebugNode, - getDeferBlocks$1, - getDirectives, - getDocument, - getHostElement, - getInjectableDef, - getLContext, - getLocaleCurrencyCode, - getLocalePluralCase, - getModuleFactory, - getNgModuleById, - getOutputDestroyRef, - getPlatform, - getSanitizationBypassType, - getTransferState, - importProvidersFrom, - inferTagNameFromDefinition, - inject, - injectChangeDetectorRef, - input, - inputBinding, - internalCreateApplication, - internalProvideZoneChangeDetection, - isBoundToModule, - isComponentDefPendingResolution, - isDevMode, - isEnvironmentProviders, - isInjectable, - isNgModule, - isPromise, - isSignal, - isStandalone, - isSubscribable, - isViewDirty, - linkedSignal, - makeEnvironmentProviders, - makeStateKey, - markForRefresh, - mergeApplicationConfig, - model, - noSideEffects, - numberAttribute, - output, - outputBinding, - patchComponentDefWithScope, - performanceMarkFeature, - platformCore, - provideAppInitializer, - provideBrowserGlobalErrorListeners, - provideCheckNoChangesConfig, - provideEnvironmentInitializer, - provideNgReflectAttributes, - providePlatformInitializer, - provideZoneChangeDetection, - provideZonelessChangeDetection, - publishExternalGlobalUtil, - readHydrationInfo, - reflectComponentType, - registerLocaleData, - registerNgModuleType, - renderDeferBlockState, - resetCompiledComponents, - resetIncrementalHydrationEnabledWarnedForTests, - resetJitOptions, - resolveComponentResources, - resolveForwardRef, - resource, - restoreComponentResolutionQueue, - runInInjectionContext, - setAllowDuplicateNgModuleIdsForTest, - setAlternateWeakRefImpl, - setClassMetadata, - setClassMetadataAsync, - setCurrentInjector, - setDocument, - setInjectorProfilerContext, - setLocaleId, - setTestabilityGetter, - signal, - startMeasuring, - stopMeasuring, - store, - stringify, - transitiveScopesFor, - triggerResourceLoading, - truncateMiddle, - twoWayBinding, - unregisterAllLocaleData, - untracked, - unwrapSafeValue, - viewChild, - viewChildren, - withDomHydration, - withEventReplay, - withI18nSupport, - withIncrementalHydration, - ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, - ɵassertType, - ɵgetUnknownElementStrictMode, - ɵgetUnknownPropertyStrictMode, - ɵsetClassDebugInfo, - ɵsetUnknownElementStrictMode, - ɵsetUnknownPropertyStrictMode, - ɵunwrapWritableSignal, - ɵɵCopyDefinitionFeature, - ɵɵExternalStylesFeature, - ɵɵHostDirectivesFeature, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵadvance, - ɵɵanimateEnter, - ɵɵanimateEnterListener, - ɵɵanimateLeave, - ɵɵanimateLeaveListener, - ɵɵariaProperty, - ɵɵattachSourceLocations, - ɵɵattribute, - ɵɵclassMap, - ɵɵclassProp, - ɵɵcomponentInstance, - ɵɵconditional, - ɵɵconditionalBranchCreate, - ɵɵconditionalCreate, - ɵɵcontentQuery, - ɵɵcontentQuerySignal, - ɵɵdeclareLet, - ɵɵdefer, - ɵɵdeferEnableTimerScheduling, - ɵɵdeferHydrateNever, - ɵɵdeferHydrateOnHover, - ɵɵdeferHydrateOnIdle, - ɵɵdeferHydrateOnImmediate, - ɵɵdeferHydrateOnInteraction, - ɵɵdeferHydrateOnTimer, - ɵɵdeferHydrateOnViewport, - ɵɵdeferHydrateWhen, - ɵɵdeferOnHover, - ɵɵdeferOnIdle, - ɵɵdeferOnImmediate, - ɵɵdeferOnInteraction, - ɵɵdeferOnTimer, - ɵɵdeferOnViewport, - ɵɵdeferPrefetchOnHover, - ɵɵdeferPrefetchOnIdle, - ɵɵdeferPrefetchOnImmediate, - ɵɵdeferPrefetchOnInteraction, - ɵɵdeferPrefetchOnTimer, - ɵɵdeferPrefetchOnViewport, - ɵɵdeferPrefetchWhen, - ɵɵdeferWhen, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdefinePipe, - ɵɵdirectiveInject, - ɵɵdisableBindings, - ɵɵdomElement, - ɵɵdomElementContainer, - ɵɵdomElementContainerEnd, - ɵɵdomElementContainerStart, - ɵɵdomElementEnd, - ɵɵdomElementStart, - ɵɵdomListener, - ɵɵdomProperty, - ɵɵdomTemplate, - ɵɵelement, - ɵɵelementContainer, - ɵɵelementContainerEnd, - ɵɵelementContainerStart, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵenableBindings, - ɵɵgetComponentDepsFactory, - ɵɵgetCurrentView, - ɵɵgetInheritedFactory, - ɵɵgetReplaceMetadataURL, - ɵɵi18n, - ɵɵi18nApply, - ɵɵi18nAttributes, - ɵɵi18nEnd, - ɵɵi18nExp, - ɵɵi18nPostprocess, - ɵɵi18nStart, - ɵɵinject, - ɵɵinjectAttribute, - ɵɵinterpolate, - ɵɵinterpolate1, - ɵɵinterpolate2, - ɵɵinterpolate3, - ɵɵinterpolate4, - ɵɵinterpolate5, - ɵɵinterpolate6, - ɵɵinterpolate7, - ɵɵinterpolate8, - ɵɵinterpolateV, - ɵɵinvalidFactory, - ɵɵinvalidFactoryDep, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnamespaceHTML, - ɵɵnamespaceMathML, - ɵɵnamespaceSVG, - ɵɵnextContext, - ɵɵngDeclareClassMetadata, - ɵɵngDeclareClassMetadataAsync, - ɵɵngDeclareComponent, - ɵɵngDeclareDirective, - ɵɵngDeclareFactory, - ɵɵngDeclareInjectable, - ɵɵngDeclareInjector, - ɵɵngDeclareNgModule, - ɵɵngDeclarePipe, - ɵɵpipe, - ɵɵpipeBind1, - ɵɵpipeBind2, - ɵɵpipeBind3, - ɵɵpipeBind4, - ɵɵpipeBindV, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵpureFunction0, - ɵɵpureFunction1, - ɵɵpureFunction2, - ɵɵpureFunction3, - ɵɵpureFunction4, - ɵɵpureFunction5, - ɵɵpureFunction6, - ɵɵpureFunction7, - ɵɵpureFunction8, - ɵɵpureFunctionV, - ɵɵqueryAdvance, - ɵɵqueryRefresh, - ɵɵreadContextLet, - ɵɵreference, - ɵɵrepeater, - ɵɵrepeaterCreate, - ɵɵrepeaterTrackByIdentity, - ɵɵrepeaterTrackByIndex, - ɵɵreplaceMetadata, - ɵɵresetView, - ɵɵresolveBody, - ɵɵresolveDocument, - ɵɵresolveWindow, - ɵɵrestoreView, - ɵɵsanitizeHtml, - ɵɵsanitizeResourceUrl, - ɵɵsanitizeScript, - ɵɵsanitizeStyle, - ɵɵsanitizeUrl, - ɵɵsanitizeUrlOrResourceUrl, - ɵɵsetComponentScope, - ɵɵsetNgModuleScope, - ɵɵstoreLet, - ɵɵstyleMap, - ɵɵstyleProp, - ɵɵsyntheticHostListener, - ɵɵsyntheticHostProperty, - ɵɵtemplate, - ɵɵtemplateRefExtractor, - ɵɵtext, - ɵɵtextInterpolate, - ɵɵtextInterpolate1, - ɵɵtextInterpolate2, - ɵɵtextInterpolate3, - ɵɵtextInterpolate4, - ɵɵtextInterpolate5, - ɵɵtextInterpolate6, - ɵɵtextInterpolate7, - ɵɵtextInterpolate8, - ɵɵtextInterpolateV, - ɵɵtrustConstantHtml, - ɵɵtrustConstantResourceUrl, - ɵɵtwoWayBindingSet, - ɵɵtwoWayListener, - ɵɵtwoWayProperty, - ɵɵvalidateAttribute, - ɵɵviewQuery, - ɵɵviewQuerySignal -} from "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - ANIMATION_MODULE_TYPE, - APP_BOOTSTRAP_LISTENER, - APP_ID, - APP_INITIALIZER, - ApplicationInitStatus, - ApplicationModule, - ApplicationRef, - Attribute, - COMPILER_OPTIONS, - CSP_NONCE, - CUSTOM_ELEMENTS_SCHEMA, - ChangeDetectionStrategy, - ChangeDetectorRef, - Compiler, - CompilerFactory, - Component, - ComponentFactory$1 as ComponentFactory, - ComponentFactoryResolver$1 as ComponentFactoryResolver, - ComponentRef$1 as ComponentRef, - ContentChild, - ContentChildren, - DEFAULT_CURRENCY_CODE, - DOCUMENT, - DebugElement, - DebugEventListener, - DebugNode, - DefaultIterableDiffer, - DestroyRef, - Directive, - ENVIRONMENT_INITIALIZER, - ElementRef, - EmbeddedViewRef, - EnvironmentInjector, - ErrorHandler, - EventEmitter, - HOST_TAG_NAME, - Host, - HostAttributeToken, - HostBinding, - HostListener, - INJECTOR$1 as INJECTOR, - Inject, - Injectable, - InjectionToken, - Injector, - Input, - IterableDiffers, - KeyValueDiffers, - LOCALE_ID, - MAX_ANIMATION_TIMEOUT, - MissingTranslationStrategy, - ModuleWithComponentFactories, - NO_ERRORS_SCHEMA, - NgModule, - NgModuleFactory$1 as NgModuleFactory, - NgModuleRef$1 as NgModuleRef, - NgProbeToken, - NgZone, - Optional, - Output, - OutputEmitterRef, - PACKAGE_ROOT_URL, - PLATFORM_ID, - PLATFORM_INITIALIZER, - PendingTasks, - Pipe, - PlatformRef, - Query, - QueryList, - REQUEST, - REQUEST_CONTEXT, - RESPONSE_INIT, - Renderer2, - RendererFactory2, - RendererStyleFlags2, - Sanitizer, - SecurityContext, - Self, - SimpleChange, - SkipSelf, - TRANSLATIONS, - TRANSLATIONS_FORMAT, - TemplateRef, - Testability, - TestabilityRegistry, - TransferState, - Type, - VERSION, - Version, - ViewChild, - ViewChildren, - ViewContainerRef, - ViewEncapsulation, - ViewRef2 as ViewRef, - afterEveryRender, - afterNextRender, - afterRenderEffect, - asNativeElements, - assertInInjectionContext, - assertNotInReactiveContext, - assertPlatform, - booleanAttribute, - computed, - contentChild, - contentChildren, - createComponent, - createEnvironmentInjector, - createNgModule, - createNgModuleRef, - createPlatform, - createPlatformFactory, - defineInjectable, - destroyPlatform, - effect, - enableProdMode, - enableProfiling, - forwardRef, - getDebugNode, - getModuleFactory, - getNgModuleById, - getPlatform, - importProvidersFrom, - inject, - input, - inputBinding, - isDevMode, - isSignal, - isStandalone, - linkedSignal, - makeEnvironmentProviders, - makeStateKey, - mergeApplicationConfig, - model, - numberAttribute, - output, - outputBinding, - platformCore, - provideAppInitializer, - provideBrowserGlobalErrorListeners, - provideCheckNoChangesConfig, - provideEnvironmentInitializer, - provideNgReflectAttributes, - providePlatformInitializer, - provideZoneChangeDetection, - provideZonelessChangeDetection, - reflectComponentType, - resolveForwardRef, - resource, - runInInjectionContext, - setTestabilityGetter, - signal, - twoWayBinding, - untracked, - viewChild, - viewChildren, - ANIMATIONS_DISABLED as ɵANIMATIONS_DISABLED, - AcxChangeDetectionStrategy as ɵAcxChangeDetectionStrategy, - AcxViewEncapsulation as ɵAcxViewEncapsulation, - AfterRenderManager as ɵAfterRenderManager, - CLIENT_RENDER_MODE_FLAG as ɵCLIENT_RENDER_MODE_FLAG, - CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, - ChangeDetectionScheduler as ɵChangeDetectionScheduler, - ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, - ComponentFactory$1 as ɵComponentFactory, - Console as ɵConsole, - DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, - DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, - DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, - DEHYDRATED_BLOCK_REGISTRY as ɵDEHYDRATED_BLOCK_REGISTRY, - DeferBlockBehavior as ɵDeferBlockBehavior, - DeferBlockState as ɵDeferBlockState, - ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, - EffectScheduler as ɵEffectScheduler, - Framework as ɵFramework, - HydrationStatus as ɵHydrationStatus, - IMAGE_CONFIG as ɵIMAGE_CONFIG, - IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, - INJECTOR_SCOPE as ɵINJECTOR_SCOPE, - ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, - INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, - IS_ENABLED_BLOCKING_INITIAL_NAVIGATION as ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION, - IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, - IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, - JSACTION_BLOCK_ELEMENT_MAP as ɵJSACTION_BLOCK_ELEMENT_MAP, - JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, - LContext as ɵLContext, - LocaleDataIndex as ɵLocaleDataIndex, - NG_COMP_DEF as ɵNG_COMP_DEF, - NG_DIR_DEF as ɵNG_DIR_DEF, - NG_ELEMENT_ID as ɵNG_ELEMENT_ID, - NG_INJ_DEF as ɵNG_INJ_DEF, - NG_MOD_DEF as ɵNG_MOD_DEF, - NG_PIPE_DEF as ɵNG_PIPE_DEF, - NG_PROV_DEF as ɵNG_PROV_DEF, - NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, - NO_CHANGE as ɵNO_CHANGE, - NgModuleFactory as ɵNgModuleFactory, - NoopNgZone as ɵNoopNgZone, - PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, - PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, - PendingTasksInternal as ɵPendingTasksInternal, - R3Injector as ɵR3Injector, - ReflectionCapabilities as ɵReflectionCapabilities, - ComponentFactory as ɵRender3ComponentFactory, - ComponentRef as ɵRender3ComponentRef, - NgModuleRef as ɵRender3NgModuleRef, - ResourceImpl as ɵResourceImpl, - RuntimeError as ɵRuntimeError, - SIGNAL as ɵSIGNAL, - SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, - TESTABILITY as ɵTESTABILITY, - TESTABILITY_GETTER as ɵTESTABILITY_GETTER, - TimerScheduler as ɵTimerScheduler, - TracingAction as ɵTracingAction, - TracingService as ɵTracingService, - ViewRef as ɵViewRef, - XSS_SECURITY_URL as ɵXSS_SECURITY_URL, - ZONELESS_ENABLED as ɵZONELESS_ENABLED, - _sanitizeHtml as ɵ_sanitizeHtml, - _sanitizeUrl as ɵ_sanitizeUrl, - allLeavingAnimations as ɵallLeavingAnimations, - allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, - annotateForHydration as ɵannotateForHydration, - ɵassertType, - bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, - bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, - bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, - bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, - bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, - clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, - compileComponent as ɵcompileComponent, - compileDirective as ɵcompileDirective, - compileNgModule as ɵcompileNgModule, - compileNgModuleDefs as ɵcompileNgModuleDefs, - compileNgModuleFactory as ɵcompileNgModuleFactory, - compilePipe as ɵcompilePipe, - convertToBitFlags as ɵconvertToBitFlags, - createInjector as ɵcreateInjector, - createOrReusePlatformInjector as ɵcreateOrReusePlatformInjector, - defaultIterableDiffers as ɵdefaultIterableDiffers, - defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, - depsTracker as ɵdepsTracker, - devModeEqual as ɵdevModeEqual, - disableProfiling as ɵdisableProfiling, - enableProfiling2 as ɵenableProfiling, - encapsulateResourceError as ɵencapsulateResourceError, - findLocaleData as ɵfindLocaleData, - flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, - formatRuntimeError as ɵformatRuntimeError, - generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, - getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, - getClosestComponentName as ɵgetClosestComponentName, - getComponentDef as ɵgetComponentDef, - getDebugNode as ɵgetDebugNode, - getDeferBlocks$1 as ɵgetDeferBlocks, - getDirectives as ɵgetDirectives, - getDocument as ɵgetDocument, - getHostElement as ɵgetHostElement, - getInjectableDef as ɵgetInjectableDef, - getLContext as ɵgetLContext, - getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, - getLocalePluralCase as ɵgetLocalePluralCase, - getOutputDestroyRef as ɵgetOutputDestroyRef, - getSanitizationBypassType as ɵgetSanitizationBypassType, - getTransferState as ɵgetTransferState, - ɵgetUnknownElementStrictMode, - ɵgetUnknownPropertyStrictMode, - _global as ɵglobal, - inferTagNameFromDefinition as ɵinferTagNameFromDefinition, - injectChangeDetectorRef as ɵinjectChangeDetectorRef, - internalCreateApplication as ɵinternalCreateApplication, - internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, - isBoundToModule as ɵisBoundToModule, - isComponentDefPendingResolution as ɵisComponentDefPendingResolution, - isEnvironmentProviders as ɵisEnvironmentProviders, - isInjectable as ɵisInjectable, - isNgModule as ɵisNgModule, - isPromise as ɵisPromise, - isSubscribable as ɵisSubscribable, - isViewDirty as ɵisViewDirty, - markForRefresh as ɵmarkForRefresh, - noSideEffects as ɵnoSideEffects, - patchComponentDefWithScope as ɵpatchComponentDefWithScope, - performanceMarkFeature as ɵperformanceMarkFeature, - publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, - readHydrationInfo as ɵreadHydrationInfo, - registerLocaleData as ɵregisterLocaleData, - renderDeferBlockState as ɵrenderDeferBlockState, - resetCompiledComponents as ɵresetCompiledComponents, - resetIncrementalHydrationEnabledWarnedForTests as ɵresetIncrementalHydrationEnabledWarnedForTests, - resetJitOptions as ɵresetJitOptions, - resolveComponentResources as ɵresolveComponentResources, - restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, - setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, - setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, - ɵsetClassDebugInfo, - setClassMetadata as ɵsetClassMetadata, - setClassMetadataAsync as ɵsetClassMetadataAsync, - setCurrentInjector as ɵsetCurrentInjector, - setDocument as ɵsetDocument, - setInjectorProfilerContext as ɵsetInjectorProfilerContext, - setLocaleId as ɵsetLocaleId, - ɵsetUnknownElementStrictMode, - ɵsetUnknownPropertyStrictMode, - startMeasuring as ɵstartMeasuring, - stopMeasuring as ɵstopMeasuring, - store as ɵstore, - stringify as ɵstringify, - transitiveScopesFor as ɵtransitiveScopesFor, - triggerResourceLoading as ɵtriggerResourceLoading, - truncateMiddle as ɵtruncateMiddle, - unregisterAllLocaleData as ɵunregisterLocaleData, - unwrapSafeValue as ɵunwrapSafeValue, - ɵunwrapWritableSignal, - withDomHydration as ɵwithDomHydration, - withEventReplay as ɵwithEventReplay, - withI18nSupport as ɵwithI18nSupport, - withIncrementalHydration as ɵwithIncrementalHydration, - ɵɵCopyDefinitionFeature, - ɵɵExternalStylesFeature, - FactoryTarget as ɵɵFactoryTarget, - ɵɵHostDirectivesFeature, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵadvance, - ɵɵanimateEnter, - ɵɵanimateEnterListener, - ɵɵanimateLeave, - ɵɵanimateLeaveListener, - ɵɵariaProperty, - ɵɵattachSourceLocations, - ɵɵattribute, - ɵɵclassMap, - ɵɵclassProp, - ɵɵcomponentInstance, - ɵɵconditional, - ɵɵconditionalBranchCreate, - ɵɵconditionalCreate, - ɵɵcontentQuery, - ɵɵcontentQuerySignal, - ɵɵdeclareLet, - ɵɵdefer, - ɵɵdeferEnableTimerScheduling, - ɵɵdeferHydrateNever, - ɵɵdeferHydrateOnHover, - ɵɵdeferHydrateOnIdle, - ɵɵdeferHydrateOnImmediate, - ɵɵdeferHydrateOnInteraction, - ɵɵdeferHydrateOnTimer, - ɵɵdeferHydrateOnViewport, - ɵɵdeferHydrateWhen, - ɵɵdeferOnHover, - ɵɵdeferOnIdle, - ɵɵdeferOnImmediate, - ɵɵdeferOnInteraction, - ɵɵdeferOnTimer, - ɵɵdeferOnViewport, - ɵɵdeferPrefetchOnHover, - ɵɵdeferPrefetchOnIdle, - ɵɵdeferPrefetchOnImmediate, - ɵɵdeferPrefetchOnInteraction, - ɵɵdeferPrefetchOnTimer, - ɵɵdeferPrefetchOnViewport, - ɵɵdeferPrefetchWhen, - ɵɵdeferWhen, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdefinePipe, - ɵɵdirectiveInject, - ɵɵdisableBindings, - ɵɵdomElement, - ɵɵdomElementContainer, - ɵɵdomElementContainerEnd, - ɵɵdomElementContainerStart, - ɵɵdomElementEnd, - ɵɵdomElementStart, - ɵɵdomListener, - ɵɵdomProperty, - ɵɵdomTemplate, - ɵɵelement, - ɵɵelementContainer, - ɵɵelementContainerEnd, - ɵɵelementContainerStart, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵenableBindings, - ɵɵgetComponentDepsFactory, - ɵɵgetCurrentView, - ɵɵgetInheritedFactory, - ɵɵgetReplaceMetadataURL, - ɵɵi18n, - ɵɵi18nApply, - ɵɵi18nAttributes, - ɵɵi18nEnd, - ɵɵi18nExp, - ɵɵi18nPostprocess, - ɵɵi18nStart, - ɵɵinject, - ɵɵinjectAttribute, - ɵɵinterpolate, - ɵɵinterpolate1, - ɵɵinterpolate2, - ɵɵinterpolate3, - ɵɵinterpolate4, - ɵɵinterpolate5, - ɵɵinterpolate6, - ɵɵinterpolate7, - ɵɵinterpolate8, - ɵɵinterpolateV, - ɵɵinvalidFactory, - ɵɵinvalidFactoryDep, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnamespaceHTML, - ɵɵnamespaceMathML, - ɵɵnamespaceSVG, - ɵɵnextContext, - ɵɵngDeclareClassMetadata, - ɵɵngDeclareClassMetadataAsync, - ɵɵngDeclareComponent, - ɵɵngDeclareDirective, - ɵɵngDeclareFactory, - ɵɵngDeclareInjectable, - ɵɵngDeclareInjector, - ɵɵngDeclareNgModule, - ɵɵngDeclarePipe, - ɵɵpipe, - ɵɵpipeBind1, - ɵɵpipeBind2, - ɵɵpipeBind3, - ɵɵpipeBind4, - ɵɵpipeBindV, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵpureFunction0, - ɵɵpureFunction1, - ɵɵpureFunction2, - ɵɵpureFunction3, - ɵɵpureFunction4, - ɵɵpureFunction5, - ɵɵpureFunction6, - ɵɵpureFunction7, - ɵɵpureFunction8, - ɵɵpureFunctionV, - ɵɵqueryAdvance, - ɵɵqueryRefresh, - ɵɵreadContextLet, - ɵɵreference, - registerNgModuleType as ɵɵregisterNgModuleType, - ɵɵrepeater, - ɵɵrepeaterCreate, - ɵɵrepeaterTrackByIdentity, - ɵɵrepeaterTrackByIndex, - ɵɵreplaceMetadata, - ɵɵresetView, - ɵɵresolveBody, - ɵɵresolveDocument, - ɵɵresolveWindow, - ɵɵrestoreView, - ɵɵsanitizeHtml, - ɵɵsanitizeResourceUrl, - ɵɵsanitizeScript, - ɵɵsanitizeStyle, - ɵɵsanitizeUrl, - ɵɵsanitizeUrlOrResourceUrl, - ɵɵsetComponentScope, - ɵɵsetNgModuleScope, - ɵɵstoreLet, - ɵɵstyleMap, - ɵɵstyleProp, - ɵɵsyntheticHostListener, - ɵɵsyntheticHostProperty, - ɵɵtemplate, - ɵɵtemplateRefExtractor, - ɵɵtext, - ɵɵtextInterpolate, - ɵɵtextInterpolate1, - ɵɵtextInterpolate2, - ɵɵtextInterpolate3, - ɵɵtextInterpolate4, - ɵɵtextInterpolate5, - ɵɵtextInterpolate6, - ɵɵtextInterpolate7, - ɵɵtextInterpolate8, - ɵɵtextInterpolateV, - ɵɵtrustConstantHtml, - ɵɵtrustConstantResourceUrl, - ɵɵtwoWayBindingSet, - ɵɵtwoWayListener, - ɵɵtwoWayProperty, - ɵɵvalidateAttribute, - ɵɵviewQuery, - ɵɵviewQuerySignal -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_core.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js deleted file mode 100644 index 373e0d4..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js +++ /dev/null @@ -1,137 +0,0 @@ -import { - AbstractControl, - AbstractControlDirective, - AbstractFormGroupDirective, - COMPOSITION_BUFFER_MODE, - CheckboxControlValueAccessor, - CheckboxRequiredValidator, - ControlContainer, - ControlEvent, - DefaultValueAccessor, - EmailValidator, - FormArray, - FormArrayName, - FormBuilder, - FormControl, - FormControlDirective, - FormControlName, - FormGroup, - FormGroupDirective, - FormGroupName, - FormRecord, - FormResetEvent, - FormSubmittedEvent, - FormsModule, - MaxLengthValidator, - MaxValidator, - MinLengthValidator, - MinValidator, - NG_ASYNC_VALIDATORS, - NG_VALIDATORS, - NG_VALUE_ACCESSOR, - NgControl, - NgControlStatus, - NgControlStatusGroup, - NgForm, - NgModel, - NgModelGroup, - NgSelectOption, - NonNullableFormBuilder, - NumberValueAccessor, - PatternValidator, - PristineChangeEvent, - RadioControlValueAccessor, - RangeValueAccessor, - ReactiveFormsModule, - RequiredValidator, - SelectControlValueAccessor, - SelectMultipleControlValueAccessor, - StatusChangeEvent, - TouchedChangeEvent, - UntypedFormArray, - UntypedFormBuilder, - UntypedFormControl, - UntypedFormGroup, - VERSION, - Validators, - ValueChangeEvent, - isFormArray, - isFormControl, - isFormGroup, - isFormRecord, - ɵInternalFormsSharedModule, - ɵNgNoValidate, - ɵNgSelectMultipleOption -} from "./chunk-QMHHQKP6.js"; -import "./chunk-PSDIAYZ2.js"; -import "./chunk-6UNWJBON.js"; -import "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - AbstractControl, - AbstractControlDirective, - AbstractFormGroupDirective, - COMPOSITION_BUFFER_MODE, - CheckboxControlValueAccessor, - CheckboxRequiredValidator, - ControlContainer, - ControlEvent, - DefaultValueAccessor, - EmailValidator, - FormArray, - FormArrayName, - FormBuilder, - FormControl, - FormControlDirective, - FormControlName, - FormGroup, - FormGroupDirective, - FormGroupName, - FormRecord, - FormResetEvent, - FormSubmittedEvent, - FormsModule, - MaxLengthValidator, - MaxValidator, - MinLengthValidator, - MinValidator, - NG_ASYNC_VALIDATORS, - NG_VALIDATORS, - NG_VALUE_ACCESSOR, - NgControl, - NgControlStatus, - NgControlStatusGroup, - NgForm, - NgModel, - NgModelGroup, - NgSelectOption, - NonNullableFormBuilder, - NumberValueAccessor, - PatternValidator, - PristineChangeEvent, - RadioControlValueAccessor, - RangeValueAccessor, - ReactiveFormsModule, - RequiredValidator, - SelectControlValueAccessor, - SelectMultipleControlValueAccessor, - StatusChangeEvent, - TouchedChangeEvent, - UntypedFormArray, - UntypedFormBuilder, - UntypedFormControl, - UntypedFormGroup, - VERSION, - Validators, - ValueChangeEvent, - isFormArray, - isFormControl, - isFormGroup, - isFormRecord, - ɵInternalFormsSharedModule, - ɵNgNoValidate, - ɵNgSelectMultipleOption -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_forms.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js deleted file mode 100644 index c2dacd1..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js +++ /dev/null @@ -1,87 +0,0 @@ -import { - BrowserDomAdapter, - BrowserGetTestability, - BrowserModule, - By, - DomSanitizer, - DomSanitizerImpl, - HAMMER_GESTURE_CONFIG, - HAMMER_LOADER, - HammerGestureConfig, - HammerGesturesPlugin, - HammerModule, - HydrationFeatureKind, - KeyEventsPlugin, - Meta, - Title, - VERSION, - bootstrapApplication, - createApplication, - disableDebugTools, - enableDebugTools, - platformBrowser, - provideClientHydration, - provideProtractorTestingSupport, - withEventReplay, - withHttpTransferCacheOptions, - withI18nSupport, - withIncrementalHydration, - withNoHttpTransferCache -} from "./chunk-OVEDGMY5.js"; -import { - DomEventsPlugin, - DomRendererFactory2, - EVENT_MANAGER_PLUGINS, - EventManager, - EventManagerPlugin, - REMOVE_STYLES_ON_COMPONENT_DESTROY, - SharedStylesHost -} from "./chunk-RDTKHKTF.js"; -import "./chunk-ZKUNZJKW.js"; -import { - getDOM -} from "./chunk-PSDIAYZ2.js"; -import "./chunk-6UNWJBON.js"; -import "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - BrowserModule, - By, - DomSanitizer, - EVENT_MANAGER_PLUGINS, - EventManager, - EventManagerPlugin, - HAMMER_GESTURE_CONFIG, - HAMMER_LOADER, - HammerGestureConfig, - HammerModule, - HydrationFeatureKind, - Meta, - REMOVE_STYLES_ON_COMPONENT_DESTROY, - Title, - VERSION, - bootstrapApplication, - createApplication, - disableDebugTools, - enableDebugTools, - platformBrowser, - provideClientHydration, - provideProtractorTestingSupport, - withEventReplay, - withHttpTransferCacheOptions, - withI18nSupport, - withIncrementalHydration, - withNoHttpTransferCache, - BrowserDomAdapter as ɵBrowserDomAdapter, - BrowserGetTestability as ɵBrowserGetTestability, - DomEventsPlugin as ɵDomEventsPlugin, - DomRendererFactory2 as ɵDomRendererFactory2, - DomSanitizerImpl as ɵDomSanitizerImpl, - HammerGesturesPlugin as ɵHammerGesturesPlugin, - KeyEventsPlugin as ɵKeyEventsPlugin, - SharedStylesHost as ɵSharedStylesHost, - getDOM as ɵgetDOM -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js deleted file mode 100644 index bc6234f..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js +++ /dev/null @@ -1,278 +0,0 @@ -import { - DomRendererFactory2 -} from "./chunk-RDTKHKTF.js"; -import "./chunk-PSDIAYZ2.js"; -import "./chunk-6UNWJBON.js"; -import { - ANIMATION_MODULE_TYPE, - ChangeDetectionScheduler, - DOCUMENT, - Injectable, - InjectionToken, - Injector, - NgZone, - RendererFactory2, - RuntimeError, - inject, - makeEnvironmentProviders, - performanceMarkFeature, - setClassMetadata, - ɵɵdefineInjectable, - ɵɵinvalidFactory -} from "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; - -// node_modules/@angular/platform-browser/fesm2022/animations/async.mjs -var ANIMATION_PREFIX = "@"; -var AsyncAnimationRendererFactory = class _AsyncAnimationRendererFactory { - doc; - delegate; - zone; - animationType; - moduleImpl; - _rendererFactoryPromise = null; - scheduler = null; - injector = inject(Injector); - loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, { - optional: true - }); - _engine; - /** - * - * @param moduleImpl allows to provide a mock implmentation (or will load the animation module) - */ - constructor(doc, delegate, zone, animationType, moduleImpl) { - this.doc = doc; - this.delegate = delegate; - this.zone = zone; - this.animationType = animationType; - this.moduleImpl = moduleImpl; - } - /** @docs-private */ - ngOnDestroy() { - this._engine?.flush(); - } - /** - * @internal - */ - loadImpl() { - const loadFn = () => this.moduleImpl ?? import("./browser-XLOHT2Y3.js").then((m) => m); - let moduleImplPromise; - if (this.loadingSchedulerFn) { - moduleImplPromise = this.loadingSchedulerFn(loadFn); - } else { - moduleImplPromise = loadFn(); - } - return moduleImplPromise.catch((e) => { - throw new RuntimeError(5300, (typeof ngDevMode === "undefined" || ngDevMode) && "Async loading for animations package was enabled, but loading failed. Angular falls back to using regular rendering. No animations will be displayed and their styles won't be applied."); - }).then(({ - ɵcreateEngine, - ɵAnimationRendererFactory - }) => { - this._engine = ɵcreateEngine(this.animationType, this.doc); - const rendererFactory = new ɵAnimationRendererFactory(this.delegate, this._engine, this.zone); - this.delegate = rendererFactory; - return rendererFactory; - }); - } - /** - * This method is delegating the renderer creation to the factories. - * It uses default factory while the animation factory isn't loaded - * and will rely on the animation factory once it is loaded. - * - * Calling this method will trigger as side effect the loading of the animation module - * if the renderered component uses animations. - */ - createRenderer(hostElement, rendererType) { - const renderer = this.delegate.createRenderer(hostElement, rendererType); - if (renderer.ɵtype === 0) { - return renderer; - } - if (typeof renderer.throwOnSyntheticProps === "boolean") { - renderer.throwOnSyntheticProps = false; - } - const dynamicRenderer = new DynamicDelegationRenderer(renderer); - if (rendererType?.data?.["animation"] && !this._rendererFactoryPromise) { - this._rendererFactoryPromise = this.loadImpl(); - } - this._rendererFactoryPromise?.then((animationRendererFactory) => { - const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType); - dynamicRenderer.use(animationRenderer); - this.scheduler ??= this.injector.get(ChangeDetectionScheduler, null, { - optional: true - }); - this.scheduler?.notify( - 10 - /* NotificationSource.AsyncAnimationsLoaded */ - ); - }).catch((e) => { - dynamicRenderer.use(renderer); - }); - return dynamicRenderer; - } - begin() { - this.delegate.begin?.(); - } - end() { - this.delegate.end?.(); - } - whenRenderingDone() { - return this.delegate.whenRenderingDone?.() ?? Promise.resolve(); - } - /** - * Used during HMR to clear any cached data about a component. - * @param componentId ID of the component that is being replaced. - */ - componentReplaced(componentId) { - this._engine?.flush(); - this.delegate.componentReplaced?.(componentId); - } - static ɵfac = function AsyncAnimationRendererFactory_Factory(__ngFactoryType__) { - ɵɵinvalidFactory(); - }; - static ɵprov = ɵɵdefineInjectable({ - token: _AsyncAnimationRendererFactory, - factory: _AsyncAnimationRendererFactory.ɵfac - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(AsyncAnimationRendererFactory, [{ - type: Injectable - }], () => [{ - type: Document - }, { - type: RendererFactory2 - }, { - type: NgZone - }, { - type: void 0 - }, { - type: Promise - }], null); -})(); -var DynamicDelegationRenderer = class { - delegate; - // List of callbacks that need to be replayed on the animation renderer once its loaded - replay = []; - ɵtype = 1; - constructor(delegate) { - this.delegate = delegate; - } - use(impl) { - this.delegate = impl; - if (this.replay !== null) { - for (const fn of this.replay) { - fn(impl); - } - this.replay = null; - } - } - get data() { - return this.delegate.data; - } - destroy() { - this.replay = null; - this.delegate.destroy(); - } - createElement(name, namespace) { - return this.delegate.createElement(name, namespace); - } - createComment(value) { - return this.delegate.createComment(value); - } - createText(value) { - return this.delegate.createText(value); - } - get destroyNode() { - return this.delegate.destroyNode; - } - appendChild(parent, newChild) { - this.delegate.appendChild(parent, newChild); - } - insertBefore(parent, newChild, refChild, isMove) { - this.delegate.insertBefore(parent, newChild, refChild, isMove); - } - removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval) { - this.delegate.removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval); - } - selectRootElement(selectorOrNode, preserveContent) { - return this.delegate.selectRootElement(selectorOrNode, preserveContent); - } - parentNode(node) { - return this.delegate.parentNode(node); - } - nextSibling(node) { - return this.delegate.nextSibling(node); - } - setAttribute(el, name, value, namespace) { - this.delegate.setAttribute(el, name, value, namespace); - } - removeAttribute(el, name, namespace) { - this.delegate.removeAttribute(el, name, namespace); - } - addClass(el, name) { - this.delegate.addClass(el, name); - } - removeClass(el, name) { - this.delegate.removeClass(el, name); - } - setStyle(el, style, value, flags) { - this.delegate.setStyle(el, style, value, flags); - } - removeStyle(el, style, flags) { - this.delegate.removeStyle(el, style, flags); - } - setProperty(el, name, value) { - if (this.shouldReplay(name)) { - this.replay.push((renderer) => renderer.setProperty(el, name, value)); - } - this.delegate.setProperty(el, name, value); - } - setValue(node, value) { - this.delegate.setValue(node, value); - } - listen(target, eventName, callback, options) { - if (this.shouldReplay(eventName)) { - this.replay.push((renderer) => renderer.listen(target, eventName, callback, options)); - } - return this.delegate.listen(target, eventName, callback, options); - } - shouldReplay(propOrEventName) { - return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX); - } -}; -var ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = new InjectionToken(ngDevMode ? "async_animation_loading_scheduler_fn" : ""); -function provideAnimationsAsync(type = "animations") { - performanceMarkFeature("NgAsyncAnimations"); - if (false) { - type = "noop"; - } - return makeEnvironmentProviders([{ - provide: RendererFactory2, - useFactory: (doc, renderer, zone) => { - return new AsyncAnimationRendererFactory(doc, renderer, zone, type); - }, - deps: [DOCUMENT, DomRendererFactory2, NgZone] - }, { - provide: ANIMATION_MODULE_TYPE, - useValue: type === "noop" ? "NoopAnimations" : "BrowserAnimations" - }]); -} -export { - provideAnimationsAsync, - ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, - AsyncAnimationRendererFactory as ɵAsyncAnimationRendererFactory -}; -/*! Bundled license information: - -@angular/platform-browser/fesm2022/animations/async.mjs: - (** - * @license Angular v20.3.18 - * (c) 2010-2025 Google LLC. https://angular.dev/ - * License: MIT - *) -*/ -//# sourceMappingURL=@angular_platform-browser_animations_async.js.map diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js.map deleted file mode 100644 index 7e3ca07..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_platform-browser_animations_async.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../../node_modules/@angular/platform-browser/fesm2022/animations/async.mjs"], - "sourcesContent": ["/**\n * @license Angular v20.3.18\n * (c) 2010-2025 Google LLC. https://angular.dev/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, Injector, ɵRuntimeError as _RuntimeError, ɵChangeDetectionScheduler as _ChangeDetectionScheduler, Injectable, InjectionToken, ɵperformanceMarkFeature as _performanceMarkFeature, makeEnvironmentProviders, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { DomRendererFactory2 } from '../dom_renderer.mjs';\nconst ANIMATION_PREFIX = '@';\nclass AsyncAnimationRendererFactory {\n doc;\n delegate;\n zone;\n animationType;\n moduleImpl;\n _rendererFactoryPromise = null;\n scheduler = null;\n injector = inject(Injector);\n loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, {\n optional: true\n });\n _engine;\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(doc, delegate, zone, animationType, moduleImpl) {\n this.doc = doc;\n this.delegate = delegate;\n this.zone = zone;\n this.animationType = animationType;\n this.moduleImpl = moduleImpl;\n }\n /** @docs-private */\n ngOnDestroy() {\n // When the root view is removed, the renderer defers the actual work to the\n // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n // removed until `TransitionAnimationEngine` \"flushes\".\n // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n // engine is not provided when async animations are used.\n this._engine?.flush();\n }\n /**\n * @internal\n */\n loadImpl() {\n // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n // the set of imported symbols.\n const loadFn = () => this.moduleImpl ?? import('@angular/animations/browser').then(m => m);\n let moduleImplPromise;\n if (this.loadingSchedulerFn) {\n moduleImplPromise = this.loadingSchedulerFn(loadFn);\n } else {\n moduleImplPromise = loadFn();\n }\n return moduleImplPromise.catch(e => {\n throw new _RuntimeError(5300 /* RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Async loading for animations package was ' + 'enabled, but loading failed. Angular falls back to using regular rendering. ' + \"No animations will be displayed and their styles won't be applied.\");\n }).then(({\n ɵcreateEngine,\n ɵAnimationRendererFactory\n }) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n this._engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(this.delegate, this._engine, this.zone);\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement, rendererType) {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n if (renderer.ɵtype === 0 /* AnimationRendererType.Regular */) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof renderer.throwOnSyntheticProps === 'boolean') {\n renderer.throwOnSyntheticProps = false;\n }\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n this._rendererFactoryPromise?.then(animationRendererFactory => {\n const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);\n dynamicRenderer.use(animationRenderer);\n this.scheduler ??= this.injector.get(_ChangeDetectionScheduler, null, {\n optional: true\n });\n this.scheduler?.notify(10 /* NotificationSource.AsyncAnimationsLoaded */);\n }).catch(e => {\n // Permanently use regular renderer when loading fails.\n dynamicRenderer.use(renderer);\n });\n return dynamicRenderer;\n }\n begin() {\n this.delegate.begin?.();\n }\n end() {\n this.delegate.end?.();\n }\n whenRenderingDone() {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n componentReplaced(componentId) {\n // Flush the engine since the renderer destruction waits for animations to be done.\n this._engine?.flush();\n this.delegate.componentReplaced?.(componentId);\n }\n static ɵfac = function AsyncAnimationRendererFactory_Factory(__ngFactoryType__) {\n i0.ɵɵinvalidFactory();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AsyncAnimationRendererFactory,\n factory: AsyncAnimationRendererFactory.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AsyncAnimationRendererFactory, [{\n type: Injectable\n }], () => [{\n type: Document\n }, {\n type: i0.RendererFactory2\n }, {\n type: i0.NgZone\n }, {\n type: undefined\n }, {\n type: Promise\n }], null);\n})();\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nclass DynamicDelegationRenderer {\n delegate;\n // List of callbacks that need to be replayed on the animation renderer once its loaded\n replay = [];\n ɵtype = 1 /* AnimationRendererType.Delegated */;\n constructor(delegate) {\n this.delegate = delegate;\n }\n use(impl) {\n this.delegate = impl;\n if (this.replay !== null) {\n // Replay queued actions using the animation renderer to apply\n // all events and properties collected while loading was in progress.\n for (const fn of this.replay) {\n fn(impl);\n }\n // Set to `null` to indicate that the queue was processed\n // and we no longer need to collect events and properties.\n this.replay = null;\n }\n }\n get data() {\n return this.delegate.data;\n }\n destroy() {\n this.replay = null;\n this.delegate.destroy();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n get destroyNode() {\n return this.delegate.destroyNode;\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n }\n insertBefore(parent, newChild, refChild, isMove) {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval) {\n this.delegate.removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n // We need to keep track of animation properties set on default renderer\n // So we can also set them also on the animation renderer\n if (this.shouldReplay(name)) {\n this.replay.push(renderer => renderer.setProperty(el, name, value));\n }\n this.delegate.setProperty(el, name, value);\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback, options) {\n // We need to keep track of animation events registred by the default renderer\n // So we can also register them against the animation renderer\n if (this.shouldReplay(eventName)) {\n this.replay.push(renderer => renderer.listen(target, eventName, callback, options));\n }\n return this.delegate.listen(target, eventName, callback, options);\n }\n shouldReplay(propOrEventName) {\n //`null` indicates that we no longer need to collect events and properties\n return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n }\n}\n/**\n * Provides a custom scheduler function for the async loading of the animation package.\n *\n * Private token for investigation purposes\n */\nconst ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = new InjectionToken(ngDevMode ? 'async_animation_loading_scheduler_fn' : '');\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nfunction provideAnimationsAsync(type = 'animations') {\n _performanceMarkFeature('NgAsyncAnimations');\n // Animations don't work on the server so we switch them over to no-op automatically.\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n type = 'noop';\n }\n return makeEnvironmentProviders([{\n provide: RendererFactory2,\n useFactory: (doc, renderer, zone) => {\n return new AsyncAnimationRendererFactory(doc, renderer, zone, type);\n },\n deps: [DOCUMENT, DomRendererFactory2, NgZone]\n }, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations'\n }]);\n}\nexport { provideAnimationsAsync, ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, AsyncAnimationRendererFactory as ɵAsyncAnimationRendererFactory };\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAM,mBAAmB;AACzB,IAAM,gCAAN,MAAM,+BAA8B;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,0BAA0B;AAAA,EAC1B,YAAY;AAAA,EACZ,WAAW,OAAO,QAAQ;AAAA,EAC1B,qBAAqB,OAAO,uCAAuC;AAAA,IACjE,UAAU;AAAA,EACZ,CAAC;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,KAAK,UAAU,MAAM,eAAe,YAAY;AAC1D,SAAK,MAAM;AACX,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,gBAAgB;AACrB,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA,EAEA,cAAc;AAOZ,SAAK,SAAS,MAAM;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAIA,WAAW;AAIT,UAAM,SAAS,MAAM,KAAK,cAAc,OAAO,uBAA6B,EAAE,KAAK,OAAK,CAAC;AACzF,QAAI;AACJ,QAAI,KAAK,oBAAoB;AAC3B,0BAAoB,KAAK,mBAAmB,MAAM;AAAA,IACpD,OAAO;AACL,0BAAoB,OAAO;AAAA,IAC7B;AACA,WAAO,kBAAkB,MAAM,OAAK;AAClC,YAAM,IAAI,aAAc,OAAuE,OAAO,cAAc,eAAe,cAAc,yLAAmM;AAAA,IACtV,CAAC,EAAE,KAAK,CAAC;AAAA,MACP;AAAA,MACA;AAAA,IACF,MAAM;AAGJ,WAAK,UAAU,cAAc,KAAK,eAAe,KAAK,GAAG;AACzD,YAAM,kBAAkB,IAAI,0BAA0B,KAAK,UAAU,KAAK,SAAS,KAAK,IAAI;AAC5F,WAAK,WAAW;AAChB,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,eAAe,aAAa,cAAc;AACxC,UAAM,WAAW,KAAK,SAAS,eAAe,aAAa,YAAY;AACvE,QAAI,SAAS,UAAU,GAAuC;AAE5D,aAAO;AAAA,IACT;AAEA,QAAI,OAAO,SAAS,0BAA0B,WAAW;AACvD,eAAS,wBAAwB;AAAA,IACnC;AAEA,UAAM,kBAAkB,IAAI,0BAA0B,QAAQ;AAG9D,QAAI,cAAc,OAAO,WAAW,KAAK,CAAC,KAAK,yBAAyB;AACtE,WAAK,0BAA0B,KAAK,SAAS;AAAA,IAC/C;AACA,SAAK,yBAAyB,KAAK,8BAA4B;AAC7D,YAAM,oBAAoB,yBAAyB,eAAe,aAAa,YAAY;AAC3F,sBAAgB,IAAI,iBAAiB;AACrC,WAAK,cAAc,KAAK,SAAS,IAAI,0BAA2B,MAAM;AAAA,QACpE,UAAU;AAAA,MACZ,CAAC;AACD,WAAK,WAAW;AAAA,QAAO;AAAA;AAAA,MAAiD;AAAA,IAC1E,CAAC,EAAE,MAAM,OAAK;AAEZ,sBAAgB,IAAI,QAAQ;AAAA,IAC9B,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,QAAQ;AACN,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EACA,MAAM;AACJ,SAAK,SAAS,MAAM;AAAA,EACtB;AAAA,EACA,oBAAoB;AAClB,WAAO,KAAK,SAAS,oBAAoB,KAAK,QAAQ,QAAQ;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,aAAa;AAE7B,SAAK,SAAS,MAAM;AACpB,SAAK,SAAS,oBAAoB,WAAW;AAAA,EAC/C;AAAA,EACA,OAAO,OAAO,SAAS,sCAAsC,mBAAmB;AAC9E,IAAG,iBAAiB;AAAA,EACtB;AAAA,EACA,OAAO,QAA0B,mBAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,+BAA8B;AAAA,EACzC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,+BAA+B,CAAC;AAAA,IACtG,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,CAAC,GAAG,IAAI;AACV,GAAG;AAKH,IAAM,4BAAN,MAAgC;AAAA,EAC9B;AAAA;AAAA,EAEA,SAAS,CAAC;AAAA,EACV,QAAQ;AAAA,EACR,YAAY,UAAU;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,IAAI,MAAM;AACR,SAAK,WAAW;AAChB,QAAI,KAAK,WAAW,MAAM;AAGxB,iBAAW,MAAM,KAAK,QAAQ;AAC5B,WAAG,IAAI;AAAA,MACT;AAGA,WAAK,SAAS;AAAA,IAChB;AAAA,EACF;AAAA,EACA,IAAI,OAAO;AACT,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EACA,UAAU;AACR,SAAK,SAAS;AACd,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EACA,cAAc,MAAM,WAAW;AAC7B,WAAO,KAAK,SAAS,cAAc,MAAM,SAAS;AAAA,EACpD;AAAA,EACA,cAAc,OAAO;AACnB,WAAO,KAAK,SAAS,cAAc,KAAK;AAAA,EAC1C;AAAA,EACA,WAAW,OAAO;AAChB,WAAO,KAAK,SAAS,WAAW,KAAK;AAAA,EACvC;AAAA,EACA,IAAI,cAAc;AAChB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EACA,YAAY,QAAQ,UAAU;AAC5B,SAAK,SAAS,YAAY,QAAQ,QAAQ;AAAA,EAC5C;AAAA,EACA,aAAa,QAAQ,UAAU,UAAU,QAAQ;AAC/C,SAAK,SAAS,aAAa,QAAQ,UAAU,UAAU,MAAM;AAAA,EAC/D;AAAA,EACA,YAAY,QAAQ,UAAU,eAAe,kCAAkC;AAC7E,SAAK,SAAS,YAAY,QAAQ,UAAU,eAAe,gCAAgC;AAAA,EAC7F;AAAA,EACA,kBAAkB,gBAAgB,iBAAiB;AACjD,WAAO,KAAK,SAAS,kBAAkB,gBAAgB,eAAe;AAAA,EACxE;AAAA,EACA,WAAW,MAAM;AACf,WAAO,KAAK,SAAS,WAAW,IAAI;AAAA,EACtC;AAAA,EACA,YAAY,MAAM;AAChB,WAAO,KAAK,SAAS,YAAY,IAAI;AAAA,EACvC;AAAA,EACA,aAAa,IAAI,MAAM,OAAO,WAAW;AACvC,SAAK,SAAS,aAAa,IAAI,MAAM,OAAO,SAAS;AAAA,EACvD;AAAA,EACA,gBAAgB,IAAI,MAAM,WAAW;AACnC,SAAK,SAAS,gBAAgB,IAAI,MAAM,SAAS;AAAA,EACnD;AAAA,EACA,SAAS,IAAI,MAAM;AACjB,SAAK,SAAS,SAAS,IAAI,IAAI;AAAA,EACjC;AAAA,EACA,YAAY,IAAI,MAAM;AACpB,SAAK,SAAS,YAAY,IAAI,IAAI;AAAA,EACpC;AAAA,EACA,SAAS,IAAI,OAAO,OAAO,OAAO;AAChC,SAAK,SAAS,SAAS,IAAI,OAAO,OAAO,KAAK;AAAA,EAChD;AAAA,EACA,YAAY,IAAI,OAAO,OAAO;AAC5B,SAAK,SAAS,YAAY,IAAI,OAAO,KAAK;AAAA,EAC5C;AAAA,EACA,YAAY,IAAI,MAAM,OAAO;AAG3B,QAAI,KAAK,aAAa,IAAI,GAAG;AAC3B,WAAK,OAAO,KAAK,cAAY,SAAS,YAAY,IAAI,MAAM,KAAK,CAAC;AAAA,IACpE;AACA,SAAK,SAAS,YAAY,IAAI,MAAM,KAAK;AAAA,EAC3C;AAAA,EACA,SAAS,MAAM,OAAO;AACpB,SAAK,SAAS,SAAS,MAAM,KAAK;AAAA,EACpC;AAAA,EACA,OAAO,QAAQ,WAAW,UAAU,SAAS;AAG3C,QAAI,KAAK,aAAa,SAAS,GAAG;AAChC,WAAK,OAAO,KAAK,cAAY,SAAS,OAAO,QAAQ,WAAW,UAAU,OAAO,CAAC;AAAA,IACpF;AACA,WAAO,KAAK,SAAS,OAAO,QAAQ,WAAW,UAAU,OAAO;AAAA,EAClE;AAAA,EACA,aAAa,iBAAiB;AAE5B,WAAO,KAAK,WAAW,QAAQ,gBAAgB,WAAW,gBAAgB;AAAA,EAC5E;AACF;AAMA,IAAM,wCAAwC,IAAI,eAAe,YAAY,yCAAyC,EAAE;AA+BxH,SAAS,uBAAuB,OAAO,cAAc;AACnD,yBAAwB,mBAAmB;AAE3C,MAA2C,OAAc;AACvD,WAAO;AAAA,EACT;AACA,SAAO,yBAAyB,CAAC;AAAA,IAC/B,SAAS;AAAA,IACT,YAAY,CAAC,KAAK,UAAU,SAAS;AACnC,aAAO,IAAI,8BAA8B,KAAK,UAAU,MAAM,IAAI;AAAA,IACpE;AAAA,IACA,MAAM,CAAC,UAAU,qBAAqB,MAAM;AAAA,EAC9C,GAAG;AAAA,IACD,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,mBAAmB;AAAA,EACjD,CAAC,CAAC;AACJ;", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js deleted file mode 100644 index 3fd2a4e..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js +++ /dev/null @@ -1,169 +0,0 @@ -import { - ActivatedRoute, - ActivatedRouteSnapshot, - ActivationEnd, - ActivationStart, - BaseRouteReuseStrategy, - ChildActivationEnd, - ChildActivationStart, - ChildrenOutletContexts, - DefaultTitleStrategy, - DefaultUrlSerializer, - EventType, - GuardsCheckEnd, - GuardsCheckStart, - NavigationCancel, - NavigationCancellationCode, - NavigationEnd, - NavigationError, - NavigationSkipped, - NavigationSkippedCode, - NavigationStart, - NoPreloading, - OutletContext, - PRIMARY_OUTLET, - PreloadAllModules, - PreloadingStrategy, - ROUTER_CONFIGURATION, - ROUTER_INITIALIZER, - ROUTER_OUTLET_DATA, - ROUTER_PROVIDERS, - ROUTES, - RedirectCommand, - ResolveEnd, - ResolveStart, - RouteConfigLoadEnd, - RouteConfigLoadStart, - RouteReuseStrategy, - Router, - RouterEvent, - RouterLink, - RouterLinkActive, - RouterModule, - RouterOutlet, - RouterPreloader, - RouterState, - RouterStateSnapshot, - RoutesRecognized, - Scroll, - TitleStrategy, - UrlHandlingStrategy, - UrlSegment, - UrlSegmentGroup, - UrlSerializer, - UrlTree, - VERSION, - afterNextNavigation, - convertToParamMap, - createUrlTreeFromSnapshot, - defaultUrlMatcher, - loadChildren, - mapToCanActivate, - mapToCanActivateChild, - mapToCanDeactivate, - mapToCanMatch, - mapToResolve, - provideRouter, - provideRoutes, - withComponentInputBinding, - withDebugTracing, - withDisabledInitialNavigation, - withEnabledBlockingInitialNavigation, - withHashLocation, - withInMemoryScrolling, - withNavigationErrorHandler, - withPreloading, - withRouterConfig, - withViewTransitions, - ɵEmptyOutletComponent -} from "./chunk-IUZF7AOX.js"; -import "./chunk-OVEDGMY5.js"; -import "./chunk-RDTKHKTF.js"; -import "./chunk-ZKUNZJKW.js"; -import "./chunk-PSDIAYZ2.js"; -import "./chunk-6UNWJBON.js"; -import "./chunk-COCNRMG2.js"; -import "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import "./chunk-2K3BB2X3.js"; -import "./chunk-WDMUDEB6.js"; -export { - ActivatedRoute, - ActivatedRouteSnapshot, - ActivationEnd, - ActivationStart, - BaseRouteReuseStrategy, - ChildActivationEnd, - ChildActivationStart, - ChildrenOutletContexts, - DefaultTitleStrategy, - DefaultUrlSerializer, - EventType, - GuardsCheckEnd, - GuardsCheckStart, - NavigationCancel, - NavigationCancellationCode, - NavigationEnd, - NavigationError, - NavigationSkipped, - NavigationSkippedCode, - NavigationStart, - NoPreloading, - OutletContext, - PRIMARY_OUTLET, - PreloadAllModules, - PreloadingStrategy, - ROUTER_CONFIGURATION, - ROUTER_INITIALIZER, - ROUTER_OUTLET_DATA, - ROUTES, - RedirectCommand, - ResolveEnd, - ResolveStart, - RouteConfigLoadEnd, - RouteConfigLoadStart, - RouteReuseStrategy, - Router, - RouterEvent, - RouterLink, - RouterLinkActive, - RouterLink as RouterLinkWithHref, - RouterModule, - RouterOutlet, - RouterPreloader, - RouterState, - RouterStateSnapshot, - RoutesRecognized, - Scroll, - TitleStrategy, - UrlHandlingStrategy, - UrlSegment, - UrlSegmentGroup, - UrlSerializer, - UrlTree, - VERSION, - convertToParamMap, - createUrlTreeFromSnapshot, - defaultUrlMatcher, - mapToCanActivate, - mapToCanActivateChild, - mapToCanDeactivate, - mapToCanMatch, - mapToResolve, - provideRouter, - provideRoutes, - withComponentInputBinding, - withDebugTracing, - withDisabledInitialNavigation, - withEnabledBlockingInitialNavigation, - withHashLocation, - withInMemoryScrolling, - withNavigationErrorHandler, - withPreloading, - withRouterConfig, - withViewTransitions, - ɵEmptyOutletComponent, - ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, - afterNextNavigation as ɵafterNextNavigation, - loadChildren as ɵloadChildren -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@angular_router.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js b/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js deleted file mode 100644 index aa14b24..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js +++ /dev/null @@ -1,1667 +0,0 @@ -import { - AccountBookFill, - AccountBookOutline, - AccountBookTwoTone, - AimOutline, - AlertFill, - AlertOutline, - AlertTwoTone, - AlibabaOutline, - AlignCenterOutline, - AlignLeftOutline, - AlignRightOutline, - AlipayCircleFill, - AlipayCircleOutline, - AlipayOutline, - AlipaySquareFill, - AliwangwangFill, - AliwangwangOutline, - AliyunOutline, - AmazonCircleFill, - AmazonOutline, - AmazonSquareFill, - AndroidFill, - AndroidOutline, - AntCloudOutline, - AntDesignOutline, - ApartmentOutline, - ApiFill, - ApiOutline, - ApiTwoTone, - AppleFill, - AppleOutline, - AppstoreAddOutline, - AppstoreFill, - AppstoreOutline, - AppstoreTwoTone, - AreaChartOutline, - ArrowDownOutline, - ArrowLeftOutline, - ArrowRightOutline, - ArrowUpOutline, - ArrowsAltOutline, - AudioFill, - AudioMutedOutline, - AudioOutline, - AudioTwoTone, - AuditOutline, - BackwardFill, - BackwardOutline, - BaiduOutline, - BankFill, - BankOutline, - BankTwoTone, - BarChartOutline, - BarcodeOutline, - BarsOutline, - BehanceCircleFill, - BehanceOutline, - BehanceSquareFill, - BehanceSquareOutline, - BellFill, - BellOutline, - BellTwoTone, - BgColorsOutline, - BilibiliFill, - BilibiliOutline, - BlockOutline, - BoldOutline, - BookFill, - BookOutline, - BookTwoTone, - BorderBottomOutline, - BorderHorizontalOutline, - BorderInnerOutline, - BorderLeftOutline, - BorderOuterOutline, - BorderOutline, - BorderRightOutline, - BorderTopOutline, - BorderVerticleOutline, - BorderlessTableOutline, - BoxPlotFill, - BoxPlotOutline, - BoxPlotTwoTone, - BranchesOutline, - BugFill, - BugOutline, - BugTwoTone, - BuildFill, - BuildOutline, - BuildTwoTone, - BulbFill, - BulbOutline, - BulbTwoTone, - CalculatorFill, - CalculatorOutline, - CalculatorTwoTone, - CalendarFill, - CalendarOutline, - CalendarTwoTone, - CameraFill, - CameraOutline, - CameraTwoTone, - CarFill, - CarOutline, - CarTwoTone, - CaretDownFill, - CaretDownOutline, - CaretLeftFill, - CaretLeftOutline, - CaretRightFill, - CaretRightOutline, - CaretUpFill, - CaretUpOutline, - CarryOutFill, - CarryOutOutline, - CarryOutTwoTone, - CheckCircleFill, - CheckCircleOutline, - CheckCircleTwoTone, - CheckOutline, - CheckSquareFill, - CheckSquareOutline, - CheckSquareTwoTone, - ChromeFill, - ChromeOutline, - CiCircleFill, - CiCircleOutline, - CiCircleTwoTone, - CiOutline, - CiTwoTone, - ClearOutline, - ClockCircleFill, - ClockCircleOutline, - ClockCircleTwoTone, - CloseCircleFill, - CloseCircleOutline, - CloseCircleTwoTone, - CloseOutline, - CloseSquareFill, - CloseSquareOutline, - CloseSquareTwoTone, - CloudDownloadOutline, - CloudFill, - CloudOutline, - CloudServerOutline, - CloudSyncOutline, - CloudTwoTone, - CloudUploadOutline, - ClusterOutline, - CodeFill, - CodeOutline, - CodeSandboxCircleFill, - CodeSandboxOutline, - CodeSandboxSquareFill, - CodeTwoTone, - CodepenCircleFill, - CodepenCircleOutline, - CodepenOutline, - CodepenSquareFill, - CoffeeOutline, - ColumnHeightOutline, - ColumnWidthOutline, - CommentOutline, - CompassFill, - CompassOutline, - CompassTwoTone, - CompressOutline, - ConsoleSqlOutline, - ContactsFill, - ContactsOutline, - ContactsTwoTone, - ContainerFill, - ContainerOutline, - ContainerTwoTone, - ControlFill, - ControlOutline, - ControlTwoTone, - CopyFill, - CopyOutline, - CopyTwoTone, - CopyrightCircleFill, - CopyrightCircleOutline, - CopyrightCircleTwoTone, - CopyrightOutline, - CopyrightTwoTone, - CreditCardFill, - CreditCardOutline, - CreditCardTwoTone, - CrownFill, - CrownOutline, - CrownTwoTone, - CustomerServiceFill, - CustomerServiceOutline, - CustomerServiceTwoTone, - DashOutline, - DashboardFill, - DashboardOutline, - DashboardTwoTone, - DatabaseFill, - DatabaseOutline, - DatabaseTwoTone, - DeleteColumnOutline, - DeleteFill, - DeleteOutline, - DeleteRowOutline, - DeleteTwoTone, - DeliveredProcedureOutline, - DeploymentUnitOutline, - DesktopOutline, - DiffFill, - DiffOutline, - DiffTwoTone, - DingdingOutline, - DingtalkCircleFill, - DingtalkOutline, - DingtalkSquareFill, - DisconnectOutline, - DiscordFill, - DiscordOutline, - DislikeFill, - DislikeOutline, - DislikeTwoTone, - DockerOutline, - DollarCircleFill, - DollarCircleOutline, - DollarCircleTwoTone, - DollarOutline, - DollarTwoTone, - DotChartOutline, - DotNetOutline, - DoubleLeftOutline, - DoubleRightOutline, - DownCircleFill, - DownCircleOutline, - DownCircleTwoTone, - DownOutline, - DownSquareFill, - DownSquareOutline, - DownSquareTwoTone, - DownloadOutline, - DragOutline, - DribbbleCircleFill, - DribbbleOutline, - DribbbleSquareFill, - DribbbleSquareOutline, - DropboxCircleFill, - DropboxOutline, - DropboxSquareFill, - EditFill, - EditOutline, - EditTwoTone, - EllipsisOutline, - EnterOutline, - EnvironmentFill, - EnvironmentOutline, - EnvironmentTwoTone, - EuroCircleFill, - EuroCircleOutline, - EuroCircleTwoTone, - EuroOutline, - EuroTwoTone, - ExceptionOutline, - ExclamationCircleFill, - ExclamationCircleOutline, - ExclamationCircleTwoTone, - ExclamationOutline, - ExpandAltOutline, - ExpandOutline, - ExperimentFill, - ExperimentOutline, - ExperimentTwoTone, - ExportOutline, - EyeFill, - EyeInvisibleFill, - EyeInvisibleOutline, - EyeInvisibleTwoTone, - EyeOutline, - EyeTwoTone, - FacebookFill, - FacebookOutline, - FallOutline, - FastBackwardFill, - FastBackwardOutline, - FastForwardFill, - FastForwardOutline, - FieldBinaryOutline, - FieldNumberOutline, - FieldStringOutline, - FieldTimeOutline, - FileAddFill, - FileAddOutline, - FileAddTwoTone, - FileDoneOutline, - FileExcelFill, - FileExcelOutline, - FileExcelTwoTone, - FileExclamationFill, - FileExclamationOutline, - FileExclamationTwoTone, - FileFill, - FileGifOutline, - FileImageFill, - FileImageOutline, - FileImageTwoTone, - FileJpgOutline, - FileMarkdownFill, - FileMarkdownOutline, - FileMarkdownTwoTone, - FileOutline, - FilePdfFill, - FilePdfOutline, - FilePdfTwoTone, - FilePptFill, - FilePptOutline, - FilePptTwoTone, - FileProtectOutline, - FileSearchOutline, - FileSyncOutline, - FileTextFill, - FileTextOutline, - FileTextTwoTone, - FileTwoTone, - FileUnknownFill, - FileUnknownOutline, - FileUnknownTwoTone, - FileWordFill, - FileWordOutline, - FileWordTwoTone, - FileZipFill, - FileZipOutline, - FileZipTwoTone, - FilterFill, - FilterOutline, - FilterTwoTone, - FireFill, - FireOutline, - FireTwoTone, - FlagFill, - FlagOutline, - FlagTwoTone, - FolderAddFill, - FolderAddOutline, - FolderAddTwoTone, - FolderFill, - FolderOpenFill, - FolderOpenOutline, - FolderOpenTwoTone, - FolderOutline, - FolderTwoTone, - FolderViewOutline, - FontColorsOutline, - FontSizeOutline, - ForkOutline, - FormOutline, - FormatPainterFill, - FormatPainterOutline, - ForwardFill, - ForwardOutline, - FrownFill, - FrownOutline, - FrownTwoTone, - FullscreenExitOutline, - FullscreenOutline, - FunctionOutline, - FundFill, - FundOutline, - FundProjectionScreenOutline, - FundTwoTone, - FundViewOutline, - FunnelPlotFill, - FunnelPlotOutline, - FunnelPlotTwoTone, - GatewayOutline, - GifOutline, - GiftFill, - GiftOutline, - GiftTwoTone, - GithubFill, - GithubOutline, - GitlabFill, - GitlabOutline, - GlobalOutline, - GoldFill, - GoldOutline, - GoldTwoTone, - GoldenFill, - GoogleCircleFill, - GoogleOutline, - GooglePlusCircleFill, - GooglePlusOutline, - GooglePlusSquareFill, - GoogleSquareFill, - GroupOutline, - HarmonyOSOutline, - HddFill, - HddOutline, - HddTwoTone, - HeartFill, - HeartOutline, - HeartTwoTone, - HeatMapOutline, - HighlightFill, - HighlightOutline, - HighlightTwoTone, - HistoryOutline, - HolderOutline, - HomeFill, - HomeOutline, - HomeTwoTone, - HourglassFill, - HourglassOutline, - HourglassTwoTone, - Html5Fill, - Html5Outline, - Html5TwoTone, - IdcardFill, - IdcardOutline, - IdcardTwoTone, - IeCircleFill, - IeOutline, - IeSquareFill, - ImportOutline, - InboxOutline, - InfoCircleFill, - InfoCircleOutline, - InfoCircleTwoTone, - InfoOutline, - InsertRowAboveOutline, - InsertRowBelowOutline, - InsertRowLeftOutline, - InsertRowRightOutline, - InstagramFill, - InstagramOutline, - InsuranceFill, - InsuranceOutline, - InsuranceTwoTone, - InteractionFill, - InteractionOutline, - InteractionTwoTone, - IssuesCloseOutline, - ItalicOutline, - JavaOutline, - JavaScriptOutline, - KeyOutline, - KubernetesOutline, - LaptopOutline, - LayoutFill, - LayoutOutline, - LayoutTwoTone, - LeftCircleFill, - LeftCircleOutline, - LeftCircleTwoTone, - LeftOutline, - LeftSquareFill, - LeftSquareOutline, - LeftSquareTwoTone, - LikeFill, - LikeOutline, - LikeTwoTone, - LineChartOutline, - LineHeightOutline, - LineOutline, - LinkOutline, - LinkedinFill, - LinkedinOutline, - LinuxOutline, - Loading3QuartersOutline, - LoadingOutline, - LockFill, - LockOutline, - LockTwoTone, - LoginOutline, - LogoutOutline, - MacCommandFill, - MacCommandOutline, - MailFill, - MailOutline, - MailTwoTone, - ManOutline, - MedicineBoxFill, - MedicineBoxOutline, - MedicineBoxTwoTone, - MediumCircleFill, - MediumOutline, - MediumSquareFill, - MediumWorkmarkOutline, - MehFill, - MehOutline, - MehTwoTone, - MenuFoldOutline, - MenuOutline, - MenuUnfoldOutline, - MergeCellsOutline, - MergeFill, - MergeOutline, - MessageFill, - MessageOutline, - MessageTwoTone, - MinusCircleFill, - MinusCircleOutline, - MinusCircleTwoTone, - MinusOutline, - MinusSquareFill, - MinusSquareOutline, - MinusSquareTwoTone, - MobileFill, - MobileOutline, - MobileTwoTone, - MoneyCollectFill, - MoneyCollectOutline, - MoneyCollectTwoTone, - MonitorOutline, - MoonFill, - MoonOutline, - MoreOutline, - MutedFill, - MutedOutline, - NodeCollapseOutline, - NodeExpandOutline, - NodeIndexOutline, - NotificationFill, - NotificationOutline, - NotificationTwoTone, - NumberOutline, - OneToOneOutline, - OpenAIFill, - OpenAIOutline, - OrderedListOutline, - PaperClipOutline, - PartitionOutline, - PauseCircleFill, - PauseCircleOutline, - PauseCircleTwoTone, - PauseOutline, - PayCircleFill, - PayCircleOutline, - PercentageOutline, - PhoneFill, - PhoneOutline, - PhoneTwoTone, - PicCenterOutline, - PicLeftOutline, - PicRightOutline, - PictureFill, - PictureOutline, - PictureTwoTone, - PieChartFill, - PieChartOutline, - PieChartTwoTone, - PinterestFill, - PinterestOutline, - PlayCircleFill, - PlayCircleOutline, - PlayCircleTwoTone, - PlaySquareFill, - PlaySquareOutline, - PlaySquareTwoTone, - PlusCircleFill, - PlusCircleOutline, - PlusCircleTwoTone, - PlusOutline, - PlusSquareFill, - PlusSquareOutline, - PlusSquareTwoTone, - PoundCircleFill, - PoundCircleOutline, - PoundCircleTwoTone, - PoundOutline, - PoweroffOutline, - PrinterFill, - PrinterOutline, - PrinterTwoTone, - ProductFill, - ProductOutline, - ProfileFill, - ProfileOutline, - ProfileTwoTone, - ProjectFill, - ProjectOutline, - ProjectTwoTone, - PropertySafetyFill, - PropertySafetyOutline, - PropertySafetyTwoTone, - PullRequestOutline, - PushpinFill, - PushpinOutline, - PushpinTwoTone, - PythonOutline, - QqCircleFill, - QqOutline, - QqSquareFill, - QrcodeOutline, - QuestionCircleFill, - QuestionCircleOutline, - QuestionCircleTwoTone, - QuestionOutline, - RadarChartOutline, - RadiusBottomleftOutline, - RadiusBottomrightOutline, - RadiusSettingOutline, - RadiusUpleftOutline, - RadiusUprightOutline, - ReadFill, - ReadOutline, - ReconciliationFill, - ReconciliationOutline, - ReconciliationTwoTone, - RedEnvelopeFill, - RedEnvelopeOutline, - RedEnvelopeTwoTone, - RedditCircleFill, - RedditOutline, - RedditSquareFill, - RedoOutline, - ReloadOutline, - RestFill, - RestOutline, - RestTwoTone, - RetweetOutline, - RightCircleFill, - RightCircleOutline, - RightCircleTwoTone, - RightOutline, - RightSquareFill, - RightSquareOutline, - RightSquareTwoTone, - RiseOutline, - RobotFill, - RobotOutline, - RocketFill, - RocketOutline, - RocketTwoTone, - RollbackOutline, - RotateLeftOutline, - RotateRightOutline, - RubyOutline, - SafetyCertificateFill, - SafetyCertificateOutline, - SafetyCertificateTwoTone, - SafetyOutline, - SaveFill, - SaveOutline, - SaveTwoTone, - ScanOutline, - ScheduleFill, - ScheduleOutline, - ScheduleTwoTone, - ScissorOutline, - SearchOutline, - SecurityScanFill, - SecurityScanOutline, - SecurityScanTwoTone, - SelectOutline, - SendOutline, - SettingFill, - SettingOutline, - SettingTwoTone, - ShakeOutline, - ShareAltOutline, - ShopFill, - ShopOutline, - ShopTwoTone, - ShoppingCartOutline, - ShoppingFill, - ShoppingOutline, - ShoppingTwoTone, - ShrinkOutline, - SignalFill, - SignatureFill, - SignatureOutline, - SisternodeOutline, - SketchCircleFill, - SketchOutline, - SketchSquareFill, - SkinFill, - SkinOutline, - SkinTwoTone, - SkypeFill, - SkypeOutline, - SlackCircleFill, - SlackOutline, - SlackSquareFill, - SlackSquareOutline, - SlidersFill, - SlidersOutline, - SlidersTwoTone, - SmallDashOutline, - SmileFill, - SmileOutline, - SmileTwoTone, - SnippetsFill, - SnippetsOutline, - SnippetsTwoTone, - SolutionOutline, - SortAscendingOutline, - SortDescendingOutline, - SoundFill, - SoundOutline, - SoundTwoTone, - SplitCellsOutline, - SpotifyFill, - SpotifyOutline, - StarFill, - StarOutline, - StarTwoTone, - StepBackwardFill, - StepBackwardOutline, - StepForwardFill, - StepForwardOutline, - StockOutline, - StopFill, - StopOutline, - StopTwoTone, - StrikethroughOutline, - SubnodeOutline, - SunFill, - SunOutline, - SwapLeftOutline, - SwapOutline, - SwapRightOutline, - SwitcherFill, - SwitcherOutline, - SwitcherTwoTone, - SyncOutline, - TableOutline, - TabletFill, - TabletOutline, - TabletTwoTone, - TagFill, - TagOutline, - TagTwoTone, - TagsFill, - TagsOutline, - TagsTwoTone, - TaobaoCircleFill, - TaobaoCircleOutline, - TaobaoOutline, - TaobaoSquareFill, - TeamOutline, - ThunderboltFill, - ThunderboltOutline, - ThunderboltTwoTone, - TikTokFill, - TikTokOutline, - ToTopOutline, - ToolFill, - ToolOutline, - ToolTwoTone, - TrademarkCircleFill, - TrademarkCircleOutline, - TrademarkCircleTwoTone, - TrademarkOutline, - TransactionOutline, - TranslationOutline, - TrophyFill, - TrophyOutline, - TrophyTwoTone, - TruckFill, - TruckOutline, - TwitchFill, - TwitchOutline, - TwitterCircleFill, - TwitterOutline, - TwitterSquareFill, - UnderlineOutline, - UndoOutline, - UngroupOutline, - UnlockFill, - UnlockOutline, - UnlockTwoTone, - UnorderedListOutline, - UpCircleFill, - UpCircleOutline, - UpCircleTwoTone, - UpOutline, - UpSquareFill, - UpSquareOutline, - UpSquareTwoTone, - UploadOutline, - UsbFill, - UsbOutline, - UsbTwoTone, - UserAddOutline, - UserDeleteOutline, - UserOutline, - UserSwitchOutline, - UsergroupAddOutline, - UsergroupDeleteOutline, - VerifiedOutline, - VerticalAlignBottomOutline, - VerticalAlignMiddleOutline, - VerticalAlignTopOutline, - VerticalLeftOutline, - VerticalRightOutline, - VideoCameraAddOutline, - VideoCameraFill, - VideoCameraOutline, - VideoCameraTwoTone, - WalletFill, - WalletOutline, - WalletTwoTone, - WarningFill, - WarningOutline, - WarningTwoTone, - WechatFill, - WechatOutline, - WechatWorkFill, - WechatWorkOutline, - WeiboCircleFill, - WeiboCircleOutline, - WeiboOutline, - WeiboSquareFill, - WeiboSquareOutline, - WhatsAppOutline, - WifiOutline, - WindowsFill, - WindowsOutline, - WomanOutline, - XFill, - XOutline, - YahooFill, - YahooOutline, - YoutubeFill, - YoutubeOutline, - YuqueFill, - YuqueOutline, - ZhihuCircleFill, - ZhihuOutline, - ZhihuSquareFill, - ZoomInOutline, - ZoomOutOutline -} from "./chunk-OAOHUKFD.js"; -import "./chunk-WDMUDEB6.js"; -export { - AccountBookFill, - AccountBookOutline, - AccountBookTwoTone, - AimOutline, - AlertFill, - AlertOutline, - AlertTwoTone, - AlibabaOutline, - AlignCenterOutline, - AlignLeftOutline, - AlignRightOutline, - AlipayCircleFill, - AlipayCircleOutline, - AlipayOutline, - AlipaySquareFill, - AliwangwangFill, - AliwangwangOutline, - AliyunOutline, - AmazonCircleFill, - AmazonOutline, - AmazonSquareFill, - AndroidFill, - AndroidOutline, - AntCloudOutline, - AntDesignOutline, - ApartmentOutline, - ApiFill, - ApiOutline, - ApiTwoTone, - AppleFill, - AppleOutline, - AppstoreAddOutline, - AppstoreFill, - AppstoreOutline, - AppstoreTwoTone, - AreaChartOutline, - ArrowDownOutline, - ArrowLeftOutline, - ArrowRightOutline, - ArrowUpOutline, - ArrowsAltOutline, - AudioFill, - AudioMutedOutline, - AudioOutline, - AudioTwoTone, - AuditOutline, - BackwardFill, - BackwardOutline, - BaiduOutline, - BankFill, - BankOutline, - BankTwoTone, - BarChartOutline, - BarcodeOutline, - BarsOutline, - BehanceCircleFill, - BehanceOutline, - BehanceSquareFill, - BehanceSquareOutline, - BellFill, - BellOutline, - BellTwoTone, - BgColorsOutline, - BilibiliFill, - BilibiliOutline, - BlockOutline, - BoldOutline, - BookFill, - BookOutline, - BookTwoTone, - BorderBottomOutline, - BorderHorizontalOutline, - BorderInnerOutline, - BorderLeftOutline, - BorderOuterOutline, - BorderOutline, - BorderRightOutline, - BorderTopOutline, - BorderVerticleOutline, - BorderlessTableOutline, - BoxPlotFill, - BoxPlotOutline, - BoxPlotTwoTone, - BranchesOutline, - BugFill, - BugOutline, - BugTwoTone, - BuildFill, - BuildOutline, - BuildTwoTone, - BulbFill, - BulbOutline, - BulbTwoTone, - CalculatorFill, - CalculatorOutline, - CalculatorTwoTone, - CalendarFill, - CalendarOutline, - CalendarTwoTone, - CameraFill, - CameraOutline, - CameraTwoTone, - CarFill, - CarOutline, - CarTwoTone, - CaretDownFill, - CaretDownOutline, - CaretLeftFill, - CaretLeftOutline, - CaretRightFill, - CaretRightOutline, - CaretUpFill, - CaretUpOutline, - CarryOutFill, - CarryOutOutline, - CarryOutTwoTone, - CheckCircleFill, - CheckCircleOutline, - CheckCircleTwoTone, - CheckOutline, - CheckSquareFill, - CheckSquareOutline, - CheckSquareTwoTone, - ChromeFill, - ChromeOutline, - CiCircleFill, - CiCircleOutline, - CiCircleTwoTone, - CiOutline, - CiTwoTone, - ClearOutline, - ClockCircleFill, - ClockCircleOutline, - ClockCircleTwoTone, - CloseCircleFill, - CloseCircleOutline, - CloseCircleTwoTone, - CloseOutline, - CloseSquareFill, - CloseSquareOutline, - CloseSquareTwoTone, - CloudDownloadOutline, - CloudFill, - CloudOutline, - CloudServerOutline, - CloudSyncOutline, - CloudTwoTone, - CloudUploadOutline, - ClusterOutline, - CodeFill, - CodeOutline, - CodeSandboxCircleFill, - CodeSandboxOutline, - CodeSandboxSquareFill, - CodeTwoTone, - CodepenCircleFill, - CodepenCircleOutline, - CodepenOutline, - CodepenSquareFill, - CoffeeOutline, - ColumnHeightOutline, - ColumnWidthOutline, - CommentOutline, - CompassFill, - CompassOutline, - CompassTwoTone, - CompressOutline, - ConsoleSqlOutline, - ContactsFill, - ContactsOutline, - ContactsTwoTone, - ContainerFill, - ContainerOutline, - ContainerTwoTone, - ControlFill, - ControlOutline, - ControlTwoTone, - CopyFill, - CopyOutline, - CopyTwoTone, - CopyrightCircleFill, - CopyrightCircleOutline, - CopyrightCircleTwoTone, - CopyrightOutline, - CopyrightTwoTone, - CreditCardFill, - CreditCardOutline, - CreditCardTwoTone, - CrownFill, - CrownOutline, - CrownTwoTone, - CustomerServiceFill, - CustomerServiceOutline, - CustomerServiceTwoTone, - DashOutline, - DashboardFill, - DashboardOutline, - DashboardTwoTone, - DatabaseFill, - DatabaseOutline, - DatabaseTwoTone, - DeleteColumnOutline, - DeleteFill, - DeleteOutline, - DeleteRowOutline, - DeleteTwoTone, - DeliveredProcedureOutline, - DeploymentUnitOutline, - DesktopOutline, - DiffFill, - DiffOutline, - DiffTwoTone, - DingdingOutline, - DingtalkCircleFill, - DingtalkOutline, - DingtalkSquareFill, - DisconnectOutline, - DiscordFill, - DiscordOutline, - DislikeFill, - DislikeOutline, - DislikeTwoTone, - DockerOutline, - DollarCircleFill, - DollarCircleOutline, - DollarCircleTwoTone, - DollarOutline, - DollarTwoTone, - DotChartOutline, - DotNetOutline, - DoubleLeftOutline, - DoubleRightOutline, - DownCircleFill, - DownCircleOutline, - DownCircleTwoTone, - DownOutline, - DownSquareFill, - DownSquareOutline, - DownSquareTwoTone, - DownloadOutline, - DragOutline, - DribbbleCircleFill, - DribbbleOutline, - DribbbleSquareFill, - DribbbleSquareOutline, - DropboxCircleFill, - DropboxOutline, - DropboxSquareFill, - EditFill, - EditOutline, - EditTwoTone, - EllipsisOutline, - EnterOutline, - EnvironmentFill, - EnvironmentOutline, - EnvironmentTwoTone, - EuroCircleFill, - EuroCircleOutline, - EuroCircleTwoTone, - EuroOutline, - EuroTwoTone, - ExceptionOutline, - ExclamationCircleFill, - ExclamationCircleOutline, - ExclamationCircleTwoTone, - ExclamationOutline, - ExpandAltOutline, - ExpandOutline, - ExperimentFill, - ExperimentOutline, - ExperimentTwoTone, - ExportOutline, - EyeFill, - EyeInvisibleFill, - EyeInvisibleOutline, - EyeInvisibleTwoTone, - EyeOutline, - EyeTwoTone, - FacebookFill, - FacebookOutline, - FallOutline, - FastBackwardFill, - FastBackwardOutline, - FastForwardFill, - FastForwardOutline, - FieldBinaryOutline, - FieldNumberOutline, - FieldStringOutline, - FieldTimeOutline, - FileAddFill, - FileAddOutline, - FileAddTwoTone, - FileDoneOutline, - FileExcelFill, - FileExcelOutline, - FileExcelTwoTone, - FileExclamationFill, - FileExclamationOutline, - FileExclamationTwoTone, - FileFill, - FileGifOutline, - FileImageFill, - FileImageOutline, - FileImageTwoTone, - FileJpgOutline, - FileMarkdownFill, - FileMarkdownOutline, - FileMarkdownTwoTone, - FileOutline, - FilePdfFill, - FilePdfOutline, - FilePdfTwoTone, - FilePptFill, - FilePptOutline, - FilePptTwoTone, - FileProtectOutline, - FileSearchOutline, - FileSyncOutline, - FileTextFill, - FileTextOutline, - FileTextTwoTone, - FileTwoTone, - FileUnknownFill, - FileUnknownOutline, - FileUnknownTwoTone, - FileWordFill, - FileWordOutline, - FileWordTwoTone, - FileZipFill, - FileZipOutline, - FileZipTwoTone, - FilterFill, - FilterOutline, - FilterTwoTone, - FireFill, - FireOutline, - FireTwoTone, - FlagFill, - FlagOutline, - FlagTwoTone, - FolderAddFill, - FolderAddOutline, - FolderAddTwoTone, - FolderFill, - FolderOpenFill, - FolderOpenOutline, - FolderOpenTwoTone, - FolderOutline, - FolderTwoTone, - FolderViewOutline, - FontColorsOutline, - FontSizeOutline, - ForkOutline, - FormOutline, - FormatPainterFill, - FormatPainterOutline, - ForwardFill, - ForwardOutline, - FrownFill, - FrownOutline, - FrownTwoTone, - FullscreenExitOutline, - FullscreenOutline, - FunctionOutline, - FundFill, - FundOutline, - FundProjectionScreenOutline, - FundTwoTone, - FundViewOutline, - FunnelPlotFill, - FunnelPlotOutline, - FunnelPlotTwoTone, - GatewayOutline, - GifOutline, - GiftFill, - GiftOutline, - GiftTwoTone, - GithubFill, - GithubOutline, - GitlabFill, - GitlabOutline, - GlobalOutline, - GoldFill, - GoldOutline, - GoldTwoTone, - GoldenFill, - GoogleCircleFill, - GoogleOutline, - GooglePlusCircleFill, - GooglePlusOutline, - GooglePlusSquareFill, - GoogleSquareFill, - GroupOutline, - HarmonyOSOutline, - HddFill, - HddOutline, - HddTwoTone, - HeartFill, - HeartOutline, - HeartTwoTone, - HeatMapOutline, - HighlightFill, - HighlightOutline, - HighlightTwoTone, - HistoryOutline, - HolderOutline, - HomeFill, - HomeOutline, - HomeTwoTone, - HourglassFill, - HourglassOutline, - HourglassTwoTone, - Html5Fill, - Html5Outline, - Html5TwoTone, - IdcardFill, - IdcardOutline, - IdcardTwoTone, - IeCircleFill, - IeOutline, - IeSquareFill, - ImportOutline, - InboxOutline, - InfoCircleFill, - InfoCircleOutline, - InfoCircleTwoTone, - InfoOutline, - InsertRowAboveOutline, - InsertRowBelowOutline, - InsertRowLeftOutline, - InsertRowRightOutline, - InstagramFill, - InstagramOutline, - InsuranceFill, - InsuranceOutline, - InsuranceTwoTone, - InteractionFill, - InteractionOutline, - InteractionTwoTone, - IssuesCloseOutline, - ItalicOutline, - JavaOutline, - JavaScriptOutline, - KeyOutline, - KubernetesOutline, - LaptopOutline, - LayoutFill, - LayoutOutline, - LayoutTwoTone, - LeftCircleFill, - LeftCircleOutline, - LeftCircleTwoTone, - LeftOutline, - LeftSquareFill, - LeftSquareOutline, - LeftSquareTwoTone, - LikeFill, - LikeOutline, - LikeTwoTone, - LineChartOutline, - LineHeightOutline, - LineOutline, - LinkOutline, - LinkedinFill, - LinkedinOutline, - LinuxOutline, - Loading3QuartersOutline, - LoadingOutline, - LockFill, - LockOutline, - LockTwoTone, - LoginOutline, - LogoutOutline, - MacCommandFill, - MacCommandOutline, - MailFill, - MailOutline, - MailTwoTone, - ManOutline, - MedicineBoxFill, - MedicineBoxOutline, - MedicineBoxTwoTone, - MediumCircleFill, - MediumOutline, - MediumSquareFill, - MediumWorkmarkOutline, - MehFill, - MehOutline, - MehTwoTone, - MenuFoldOutline, - MenuOutline, - MenuUnfoldOutline, - MergeCellsOutline, - MergeFill, - MergeOutline, - MessageFill, - MessageOutline, - MessageTwoTone, - MinusCircleFill, - MinusCircleOutline, - MinusCircleTwoTone, - MinusOutline, - MinusSquareFill, - MinusSquareOutline, - MinusSquareTwoTone, - MobileFill, - MobileOutline, - MobileTwoTone, - MoneyCollectFill, - MoneyCollectOutline, - MoneyCollectTwoTone, - MonitorOutline, - MoonFill, - MoonOutline, - MoreOutline, - MutedFill, - MutedOutline, - NodeCollapseOutline, - NodeExpandOutline, - NodeIndexOutline, - NotificationFill, - NotificationOutline, - NotificationTwoTone, - NumberOutline, - OneToOneOutline, - OpenAIFill, - OpenAIOutline, - OrderedListOutline, - PaperClipOutline, - PartitionOutline, - PauseCircleFill, - PauseCircleOutline, - PauseCircleTwoTone, - PauseOutline, - PayCircleFill, - PayCircleOutline, - PercentageOutline, - PhoneFill, - PhoneOutline, - PhoneTwoTone, - PicCenterOutline, - PicLeftOutline, - PicRightOutline, - PictureFill, - PictureOutline, - PictureTwoTone, - PieChartFill, - PieChartOutline, - PieChartTwoTone, - PinterestFill, - PinterestOutline, - PlayCircleFill, - PlayCircleOutline, - PlayCircleTwoTone, - PlaySquareFill, - PlaySquareOutline, - PlaySquareTwoTone, - PlusCircleFill, - PlusCircleOutline, - PlusCircleTwoTone, - PlusOutline, - PlusSquareFill, - PlusSquareOutline, - PlusSquareTwoTone, - PoundCircleFill, - PoundCircleOutline, - PoundCircleTwoTone, - PoundOutline, - PoweroffOutline, - PrinterFill, - PrinterOutline, - PrinterTwoTone, - ProductFill, - ProductOutline, - ProfileFill, - ProfileOutline, - ProfileTwoTone, - ProjectFill, - ProjectOutline, - ProjectTwoTone, - PropertySafetyFill, - PropertySafetyOutline, - PropertySafetyTwoTone, - PullRequestOutline, - PushpinFill, - PushpinOutline, - PushpinTwoTone, - PythonOutline, - QqCircleFill, - QqOutline, - QqSquareFill, - QrcodeOutline, - QuestionCircleFill, - QuestionCircleOutline, - QuestionCircleTwoTone, - QuestionOutline, - RadarChartOutline, - RadiusBottomleftOutline, - RadiusBottomrightOutline, - RadiusSettingOutline, - RadiusUpleftOutline, - RadiusUprightOutline, - ReadFill, - ReadOutline, - ReconciliationFill, - ReconciliationOutline, - ReconciliationTwoTone, - RedEnvelopeFill, - RedEnvelopeOutline, - RedEnvelopeTwoTone, - RedditCircleFill, - RedditOutline, - RedditSquareFill, - RedoOutline, - ReloadOutline, - RestFill, - RestOutline, - RestTwoTone, - RetweetOutline, - RightCircleFill, - RightCircleOutline, - RightCircleTwoTone, - RightOutline, - RightSquareFill, - RightSquareOutline, - RightSquareTwoTone, - RiseOutline, - RobotFill, - RobotOutline, - RocketFill, - RocketOutline, - RocketTwoTone, - RollbackOutline, - RotateLeftOutline, - RotateRightOutline, - RubyOutline, - SafetyCertificateFill, - SafetyCertificateOutline, - SafetyCertificateTwoTone, - SafetyOutline, - SaveFill, - SaveOutline, - SaveTwoTone, - ScanOutline, - ScheduleFill, - ScheduleOutline, - ScheduleTwoTone, - ScissorOutline, - SearchOutline, - SecurityScanFill, - SecurityScanOutline, - SecurityScanTwoTone, - SelectOutline, - SendOutline, - SettingFill, - SettingOutline, - SettingTwoTone, - ShakeOutline, - ShareAltOutline, - ShopFill, - ShopOutline, - ShopTwoTone, - ShoppingCartOutline, - ShoppingFill, - ShoppingOutline, - ShoppingTwoTone, - ShrinkOutline, - SignalFill, - SignatureFill, - SignatureOutline, - SisternodeOutline, - SketchCircleFill, - SketchOutline, - SketchSquareFill, - SkinFill, - SkinOutline, - SkinTwoTone, - SkypeFill, - SkypeOutline, - SlackCircleFill, - SlackOutline, - SlackSquareFill, - SlackSquareOutline, - SlidersFill, - SlidersOutline, - SlidersTwoTone, - SmallDashOutline, - SmileFill, - SmileOutline, - SmileTwoTone, - SnippetsFill, - SnippetsOutline, - SnippetsTwoTone, - SolutionOutline, - SortAscendingOutline, - SortDescendingOutline, - SoundFill, - SoundOutline, - SoundTwoTone, - SplitCellsOutline, - SpotifyFill, - SpotifyOutline, - StarFill, - StarOutline, - StarTwoTone, - StepBackwardFill, - StepBackwardOutline, - StepForwardFill, - StepForwardOutline, - StockOutline, - StopFill, - StopOutline, - StopTwoTone, - StrikethroughOutline, - SubnodeOutline, - SunFill, - SunOutline, - SwapLeftOutline, - SwapOutline, - SwapRightOutline, - SwitcherFill, - SwitcherOutline, - SwitcherTwoTone, - SyncOutline, - TableOutline, - TabletFill, - TabletOutline, - TabletTwoTone, - TagFill, - TagOutline, - TagTwoTone, - TagsFill, - TagsOutline, - TagsTwoTone, - TaobaoCircleFill, - TaobaoCircleOutline, - TaobaoOutline, - TaobaoSquareFill, - TeamOutline, - ThunderboltFill, - ThunderboltOutline, - ThunderboltTwoTone, - TikTokFill, - TikTokOutline, - ToTopOutline, - ToolFill, - ToolOutline, - ToolTwoTone, - TrademarkCircleFill, - TrademarkCircleOutline, - TrademarkCircleTwoTone, - TrademarkOutline, - TransactionOutline, - TranslationOutline, - TrophyFill, - TrophyOutline, - TrophyTwoTone, - TruckFill, - TruckOutline, - TwitchFill, - TwitchOutline, - TwitterCircleFill, - TwitterOutline, - TwitterSquareFill, - UnderlineOutline, - UndoOutline, - UngroupOutline, - UnlockFill, - UnlockOutline, - UnlockTwoTone, - UnorderedListOutline, - UpCircleFill, - UpCircleOutline, - UpCircleTwoTone, - UpOutline, - UpSquareFill, - UpSquareOutline, - UpSquareTwoTone, - UploadOutline, - UsbFill, - UsbOutline, - UsbTwoTone, - UserAddOutline, - UserDeleteOutline, - UserOutline, - UserSwitchOutline, - UsergroupAddOutline, - UsergroupDeleteOutline, - VerifiedOutline, - VerticalAlignBottomOutline, - VerticalAlignMiddleOutline, - VerticalAlignTopOutline, - VerticalLeftOutline, - VerticalRightOutline, - VideoCameraAddOutline, - VideoCameraFill, - VideoCameraOutline, - VideoCameraTwoTone, - WalletFill, - WalletOutline, - WalletTwoTone, - WarningFill, - WarningOutline, - WarningTwoTone, - WechatFill, - WechatOutline, - WechatWorkFill, - WechatWorkOutline, - WeiboCircleFill, - WeiboCircleOutline, - WeiboOutline, - WeiboSquareFill, - WeiboSquareOutline, - WhatsAppOutline, - WifiOutline, - WindowsFill, - WindowsOutline, - WomanOutline, - XFill, - XOutline, - YahooFill, - YahooOutline, - YoutubeFill, - YoutubeOutline, - YuqueFill, - YuqueOutline, - ZhihuCircleFill, - ZhihuOutline, - ZhihuSquareFill, - ZoomInOutline, - ZoomOutOutline -}; diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js.map b/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js.map deleted file mode 100644 index 9865211..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@ant-design_icons-angular_icons.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": [], - "sourcesContent": [], - "mappings": "", - "names": [] -} diff --git a/.angular/cache/20.3.21/metacourse/vite/deps/@ionic_angular_standalone.js b/.angular/cache/20.3.21/metacourse/vite/deps/@ionic_angular_standalone.js deleted file mode 100644 index 05609f5..0000000 --- a/.angular/cache/20.3.21/metacourse/vite/deps/@ionic_angular_standalone.js +++ /dev/null @@ -1,21250 +0,0 @@ -import { - e as e4 -} from "./chunk-GNWGUSZ7.js"; -import { - l as l2 -} from "./chunk-HZ5GFC36.js"; -import { - i as i2 -} from "./chunk-TVKJKZCT.js"; -import { - B, - D, - E, - L, - c as c2, - l as l3, - r, - r2, - s as s3, - t as t2, - v as v2 -} from "./chunk-NEPL4PF4.js"; -import { - a, - c as c3, - o as o3 -} from "./chunk-7OG4JOFU.js"; -import { - o as o4 -} from "./chunk-VTS6MUXF.js"; -import { - h, - i as i3, - s as s4 -} from "./chunk-TCEW23F2.js"; -import { - t as t5 -} from "./chunk-EEEAY7BB.js"; -import { - i as i5, - r as r3, - t as t4 -} from "./chunk-VHRMAIPY.js"; -import { - d, - o as o2 -} from "./chunk-WH2RCB7C.js"; -import { - a as a2, - e as e3, - f as f3, - h as h2, - i as i4, - l as l4, - n as n3, - p as p2, - t as t3 -} from "./chunk-2SJGEPY5.js"; -import { - T, - _, - b, - c, - d as d2, - e as e2, - f as f2, - i, - l, - m, - n as n2, - p, - s as s2, - t, - u as u2, - v, - x, - y -} from "./chunk-S7GHTZCP.js"; -import { - Ct, - Dn, - I, - It, - Jt, - P, - Pt, - Rn, - Vn, - W, - Zn, - e, - f, - n, - o, - q, - qt, - s, - u -} from "./chunk-EMI7KDEO.js"; -import { - NG_VALUE_ACCESSOR, - NgControl -} from "./chunk-QMHHQKP6.js"; -import { - ActivatedRoute, - ChildrenOutletContexts, - NavigationCancel, - NavigationError, - NavigationStart, - PRIMARY_OUTLET, - Router, - RouterLink, - UrlSerializer -} from "./chunk-IUZF7AOX.js"; -import "./chunk-OVEDGMY5.js"; -import "./chunk-RDTKHKTF.js"; -import "./chunk-ZKUNZJKW.js"; -import { - CommonModule, - Location, - LocationStrategy, - NgIf, - NgTemplateOutlet -} from "./chunk-PSDIAYZ2.js"; -import "./chunk-6UNWJBON.js"; -import { - APP_INITIALIZER, - ApplicationRef, - Attribute, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ContentChild, - ContentChildren, - DOCUMENT, - Directive, - ElementRef, - EnvironmentInjector, - EventEmitter, - HostListener, - Inject, - Injectable, - InjectionToken, - Injector, - Input, - NgZone, - Optional, - Output, - SkipSelf, - TemplateRef, - ViewChild, - ViewContainerRef, - createComponent, - forwardRef, - inject, - makeEnvironmentProviders, - reflectComponentType, - setClassMetadata, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵadvance, - ɵɵcontentQuery, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdirectiveInject, - ɵɵdomElementContainerEnd, - ɵɵdomElementContainerStart, - ɵɵelementContainer, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵgetCurrentView, - ɵɵgetInheritedFactory, - ɵɵinject, - ɵɵinjectAttribute, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnextContext, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵresetView, - ɵɵrestoreView, - ɵɵtemplate, - ɵɵviewQuery -} from "./chunk-COCNRMG2.js"; -import { - fromEvent -} from "./chunk-576P5TAG.js"; -import "./chunk-UQGLAMHP.js"; -import { - BehaviorSubject, - Subject, - __decorate, - combineLatest, - distinctUntilChanged, - filter, - of, - switchMap -} from "./chunk-2K3BB2X3.js"; -import { - __async, - __objRest, - __spreadProps, - __spreadValues -} from "./chunk-WDMUDEB6.js"; - -// node_modules/@ionic/core/components/p-hHmYLOfE.js -var t6 = (t16, M6, r32, n15, e16) => h3(t16[1], M6[1], r32[1], n15[1], e16).map(((h19) => a3(t16[0], M6[0], r32[0], n15[0], h19))); -var a3 = (t16, a16, h19, M6, r32) => r32 * (3 * a16 * Math.pow(r32 - 1, 2) + r32 * (-3 * h19 * r32 + 3 * h19 + M6 * r32)) - t16 * Math.pow(r32 - 1, 3); -var h3 = (t16, a16, h19, r32, n15) => M((r32 -= n15) - 3 * (h19 -= n15) + 3 * (a16 -= n15) - (t16 -= n15), 3 * h19 - 6 * a16 + 3 * t16, 3 * a16 - 3 * t16, t16).filter(((t17) => t17 >= 0 && t17 <= 1)); -var M = (t16, a16, h19, M6) => { - if (0 === t16) return ((t17, a17, h20) => { - const M7 = a17 * a17 - 4 * t17 * h20; - return M7 < 0 ? [] : [(-a17 + Math.sqrt(M7)) / (2 * t17), (-a17 - Math.sqrt(M7)) / (2 * t17)]; - })(a16, h19, M6); - const r32 = (3 * (h19 /= t16) - (a16 /= t16) * a16) / 3, n15 = (2 * a16 * a16 * a16 - 9 * a16 * h19 + 27 * (M6 /= t16)) / 27; - if (0 === r32) return [Math.pow(-n15, 1 / 3)]; - if (0 === n15) return [Math.sqrt(-r32), -Math.sqrt(-r32)]; - const e16 = Math.pow(n15 / 2, 2) + Math.pow(r32 / 3, 3); - if (0 === e16) return [Math.pow(n15 / 2, 0.5) - a16 / 3]; - if (e16 > 0) return [Math.pow(-n15 / 2 + Math.sqrt(e16), 1 / 3) - Math.pow(n15 / 2 + Math.sqrt(e16), 1 / 3) - a16 / 3]; - const u19 = Math.sqrt(Math.pow(-r32 / 3, 3)), o14 = Math.acos(-n15 / (2 * Math.sqrt(Math.pow(-r32 / 3, 3)))), s21 = 2 * Math.pow(u19, 1 / 3); - return [s21 * Math.cos(o14 / 3) - a16 / 3, s21 * Math.cos((o14 + 2 * Math.PI) / 3) - a16 / 3, s21 * Math.cos((o14 + 4 * Math.PI) / 3) - a16 / 3]; -}; - -// node_modules/@ionic/core/components/p-CDfQnFrd.js -var a4 = (o14) => l5(o14); -var s5 = (o14, i16) => ("string" == typeof o14 && (i16 = o14, o14 = void 0), a4(o14).includes(i16)); -var l5 = (o14 = window) => { - if (void 0 === o14) return []; - o14.Ionic = o14.Ionic || {}; - let i16 = o14.Ionic.platforms; - return null == i16 && (i16 = o14.Ionic.platforms = c4(o14), i16.forEach(((i17) => o14.document.documentElement.classList.add(`plt-${i17}`)))), i16; -}; -var c4 = (i16) => { - const t16 = n.get("platform"); - return Object.keys(j).filter(((o14) => { - const n15 = null == t16 ? void 0 : t16[o14]; - return "function" == typeof n15 ? n15(i16) : j[o14](i16); - })); -}; -var u3 = (o14) => !!h4(o14, /iPad/i) || !(!h4(o14, /Macintosh/i) || !m2(o14)); -var p3 = (o14) => h4(o14, /android|sink/i); -var m2 = (o14) => w(o14, "(any-pointer:coarse)"); -var f4 = (o14) => v3(o14) || b2(o14); -var v3 = (o14) => !!(o14.cordova || o14.phonegap || o14.PhoneGap); -var b2 = (o14) => { - const i16 = o14.Capacitor; - return !!((null == i16 ? void 0 : i16.isNative) || (null == i16 ? void 0 : i16.isNativePlatform) && i16.isNativePlatform()); -}; -var h4 = (o14, i16) => i16.test(o14.navigator.userAgent); -var w = (o14, i16) => { - var t16; - return null === (t16 = o14.matchMedia) || void 0 === t16 ? void 0 : t16.call(o14, i16).matches; -}; -var j = { ipad: u3, iphone: (o14) => h4(o14, /iPhone/i), ios: (o14) => h4(o14, /iPhone|iPod/i) || u3(o14), android: p3, phablet: (o14) => { - const i16 = o14.innerWidth, t16 = o14.innerHeight, n15 = Math.min(i16, t16), e16 = Math.max(i16, t16); - return n15 > 390 && n15 < 520 && e16 > 620 && e16 < 800; -}, tablet: (o14) => { - const i16 = o14.innerWidth, t16 = o14.innerHeight, n15 = Math.min(i16, t16), e16 = Math.max(i16, t16); - return u3(o14) || ((o15) => p3(o15) && !h4(o15, /mobile/i))(o14) || n15 > 460 && n15 < 820 && e16 > 780 && e16 < 1400; -}, cordova: v3, capacitor: b2, electron: (o14) => h4(o14, /electron/i), pwa: (o14) => { - var i16; - return !(!(null === (i16 = o14.matchMedia) || void 0 === i16 ? void 0 : i16.call(o14, "(display-mode: standalone)").matches) && !o14.navigator.standalone); -}, mobile: m2, mobileweb: (o14) => m2(o14) && !f4(o14), desktop: (o14) => !m2(o14), hybrid: f4 }; -var O; -var g = (o14) => o14 && qt(o14) || O; -var y2 = (e16 = {}) => { - if ("undefined" == typeof window) return; - const a16 = window.document, c36 = window, u19 = c36.Ionic = c36.Ionic || {}, p33 = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, e(c36)), { persistConfig: false }), u19.config), s(c36)), e16); - n.reset(p33), n.getBoolean("persistConfig") && o(c36, p33), l5(c36), u19.config = n, u19.mode = O = n.get("mode", a16.documentElement.getAttribute("mode") || (s5(c36, "ios") ? "ios" : "md")), n.set("mode", O), a16.documentElement.setAttribute("mode", O), a16.documentElement.classList.add(O), n.getBoolean("_testing") && n.set("animated", false); - const m26 = (o14) => { - var i16; - return null === (i16 = o14.tagName) || void 0 === i16 ? void 0 : i16.startsWith("ION-"); - }, f27 = (o14) => ["ios", "md"].includes(o14); - Pt(((o14) => { - for (; o14; ) { - const i16 = o14.mode || o14.getAttribute("mode"); - if (i16) { - if (f27(i16)) return i16; - m26(o14) && u('Invalid ionic mode: "' + i16 + '", expected: "ios" or "md"'); - } - o14 = o14.parentElement; - } - return O; - })); -}; - -// node_modules/@ionic/core/components/p-BUbsoBOV.js -var n4 = (n15) => { - try { - if (n15 instanceof c5) return n15.value; - if (!r4() || "string" != typeof n15 || "" === n15) return n15; - if (n15.includes("onload=")) return ""; - const t16 = document.createDocumentFragment(), s21 = document.createElement("div"); - t16.appendChild(s21), s21.innerHTML = n15, i6.forEach(((n16) => { - const r32 = t16.querySelectorAll(n16); - for (let n17 = r32.length - 1; n17 >= 0; n17--) { - const s22 = r32[n17]; - s22.parentNode ? s22.parentNode.removeChild(s22) : t16.removeChild(s22); - const i16 = e5(s22); - for (let t17 = 0; t17 < i16.length; t17++) o5(i16[t17]); - } - })); - const a16 = e5(t16); - for (let t17 = 0; t17 < a16.length; t17++) o5(a16[t17]); - const d24 = document.createElement("div"); - d24.appendChild(t16); - const l28 = d24.querySelector("div"); - return null !== l28 ? l28.innerHTML : d24.innerHTML; - } catch (n16) { - return f("sanitizeDOMString", n16), ""; - } -}; -var o5 = (t16) => { - if (t16.nodeType && 1 !== t16.nodeType) return; - if ("undefined" != typeof NamedNodeMap && !(t16.attributes instanceof NamedNodeMap)) return void t16.remove(); - for (let n16 = t16.attributes.length - 1; n16 >= 0; n16--) { - const o14 = t16.attributes.item(n16), e16 = o14.name; - if (!s6.includes(e16.toLowerCase())) { - t16.removeAttribute(e16); - continue; - } - const r32 = o14.value, i16 = t16[e16]; - (null != r32 && r32.toLowerCase().includes("javascript:") || null != i16 && i16.toLowerCase().includes("javascript:")) && t16.removeAttribute(e16); - } - const n15 = e5(t16); - for (let t17 = 0; t17 < n15.length; t17++) o5(n15[t17]); -}; -var e5 = (t16) => null != t16.children ? t16.children : t16.childNodes; -var r4 = () => { - var t16; - const n15 = window, o14 = null === (t16 = null == n15 ? void 0 : n15.Ionic) || void 0 === t16 ? void 0 : t16.config; - return !o14 || (o14.get ? o14.get("sanitizerEnabled", true) : true === o14.sanitizerEnabled || void 0 === o14.sanitizerEnabled); -}; -var s6 = ["class", "id", "href", "src", "name", "slot"]; -var i6 = ["script", "style", "iframe", "meta", "link", "object", "embed"]; -var c5 = class { - constructor(t16) { - this.value = t16; - } -}; -var l6 = false; - -// node_modules/@ionic/core/components/p-DiVJyqlX.js -var n5 = (n15, o14) => null !== o14.closest(n15); -var o6 = (n15, o14) => "string" == typeof n15 && n15.length > 0 ? Object.assign({ "ion-color": true, [`ion-color-${n15}`]: true }, o14) : o14; -var r5 = (n15) => { - const o14 = {}; - return ((n16) => void 0 !== n16 ? (Array.isArray(n16) ? n16 : n16.split(" ")).filter(((n17) => null != n17)).map(((n17) => n17.trim())).filter(((n17) => "" !== n17)) : [])(n15).forEach(((n16) => o14[n16] = true)), o14; -}; -var t7 = /^[a-z][a-z0-9+\-.]*:/; -var l7 = (n15, o14, r32, l28) => __async(null, null, function* () { - if (null != n15 && "#" !== n15[0] && !t7.test(n15)) { - const t16 = document.querySelector("ion-router"); - if (t16) return null != o14 && o14.preventDefault(), t16.push(n15, r32, l28); - } - return false; -}); - -// node_modules/@ionic/core/components/p-D6NJwNJN.js -var o7 = (t16) => r().duration(t16 ? 400 : 300); -var i7 = (t16) => { - let e16, n15; - const r32 = t16.width + 8, i16 = r(), u19 = r(); - t16.isEndSide ? (e16 = r32 + "px", n15 = "0px") : (e16 = -r32 + "px", n15 = "0px"), i16.addElement(t16.menuInnerEl).fromTo("transform", `translateX(${e16})`, `translateX(${n15})`); - const c36 = "ios" === g(t16), p33 = c36 ? 0.2 : 0.25; - return u19.addElement(t16.backdropEl).fromTo("opacity", 0.01, p33), o7(c36).addAnimation([i16, u19]); -}; -var u4 = (t16) => { - let e16, n15; - const r32 = g(t16), i16 = t16.width; - t16.isEndSide ? (e16 = -i16 + "px", n15 = i16 + "px") : (e16 = i16 + "px", n15 = -i16 + "px"); - const u19 = r().addElement(t16.menuInnerEl).fromTo("transform", `translateX(${n15})`, "translateX(0px)"), c36 = r().addElement(t16.contentEl).fromTo("transform", "translateX(0px)", `translateX(${e16})`), p33 = r().addElement(t16.backdropEl).fromTo("opacity", 0.01, 0.32); - return o7("ios" === r32).addAnimation([u19, c36, p33]); -}; -var c6 = (t16) => { - const e16 = g(t16), n15 = t16.width * (t16.isEndSide ? -1 : 1) + "px", r32 = r().addElement(t16.contentEl).fromTo("transform", "translateX(0px)", `translateX(${n15})`); - return o7("ios" === e16).addAnimation(r32); -}; -var p4 = (() => { - const s21 = /* @__PURE__ */ new Map(), a16 = [], o14 = (t16, e16 = false) => __async(null, null, function* () { - if (yield d24(), "start" === t16 || "end" === t16) { - const r32 = a16.filter(((e17) => e17.side === t16 && !e17.disabled)); - if (r32.length >= 1) return r32.length > 1 && e16 && u(`menuController queried for a menu on the "${t16}" side, but ${r32.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, r32.map(((t17) => t17.el))), r32[0].el; - const s22 = a16.filter(((e17) => e17.side === t16)); - if (s22.length >= 1) return s22.length > 1 && e16 && u(`menuController queried for a menu on the "${t16}" side, but ${s22.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, s22.map(((t17) => t17.el))), s22[0].el; - } else if (null != t16) return w11(((e17) => e17.menuId === t16)); - return w11(((t17) => !t17.disabled)) || (a16.length > 0 ? a16[0].el : void 0); - }), p33 = () => __async(null, null, function* () { - return yield d24(), m26(); - }), f27 = (t16, e16) => { - s21.set(t16, e16); - }, m26 = () => w11(((t16) => t16._isOpen)), l28 = () => a16.some(((t16) => t16.isAnimating)), w11 = (t16) => { - const e16 = a16.find(t16); - if (void 0 !== e16) return e16.el; - }, d24 = () => Promise.all(Array.from(document.querySelectorAll("ion-menu")).map(((t16) => new Promise(((e16) => e2(t16, e16)))))); - return f27("reveal", c6), f27("push", u4), f27("overlay", i7), null == o2 || o2.addEventListener("ionBackButton", ((t16) => { - const n15 = m26(); - n15 && t16.detail.register(c3, (() => n15.close())); - })), { registerAnimation: f27, get: o14, getMenus: () => __async(null, null, function* () { - return yield d24(), a16.map(((t16) => t16.el)); - }), getOpen: p33, isEnabled: (t16) => __async(null, null, function* () { - const e16 = yield o14(t16); - return !!e16 && !e16.disabled; - }), swipeGesture: (t16, e16) => __async(null, null, function* () { - const n15 = yield o14(e16); - return n15 && (n15.swipeGesture = t16), n15; - }), isAnimating: () => __async(null, null, function* () { - return yield d24(), l28(); - }), isOpen: (t16) => __async(null, null, function* () { - if (null != t16) { - const e16 = yield o14(t16); - return void 0 !== e16 && e16.isOpen(); - } - return void 0 !== (yield p33()); - }), enable: (t16, e16) => __async(null, null, function* () { - const n15 = yield o14(e16); - return n15 && (n15.disabled = !t16), n15; - }), toggle: (t16) => __async(null, null, function* () { - const e16 = yield o14(t16, true); - return !!e16 && e16.toggle(); - }), close: (t16) => __async(null, null, function* () { - const e16 = yield void 0 !== t16 ? o14(t16, true) : p33(); - return void 0 !== e16 && e16.close(); - }), open: (t16) => __async(null, null, function* () { - const e16 = yield o14(t16, true); - return !!e16 && e16.open(); - }), _getOpenSync: m26, _createAnimation: (t16, e16) => { - const n15 = s21.get(t16); - if (!n15) throw new Error("animation not registered"); - return n15(e16); - }, _register: (t16) => { - a16.indexOf(t16) < 0 && a16.push(t16); - }, _unregister: (t16) => { - const e16 = a16.indexOf(t16); - e16 > -1 && a16.splice(e16, 1); - }, _setOpen: (t16, e16, n15, r32) => __async(null, null, function* () { - if (l28()) return false; - if (e16) { - const e17 = yield p33(); - e17 && t16.el !== e17 && (yield e17.setOpen(false, false)); - } - return t16._setOpen(e16, n15, r32); - }) }; -})(); - -// node_modules/@ionic/core/components/p-BR3tZJmu.js -var o8 = (o14, t16, i16, n15, r32, s21) => __async(null, null, function* () { - var a16; - if (o14) return o14.attachViewToDom(t16, i16, r32, n15); - if (!(s21 || "string" == typeof i16 || i16 instanceof HTMLElement)) throw new Error("framework delegate is missing"); - const c36 = "string" == typeof i16 ? null === (a16 = t16.ownerDocument) || void 0 === a16 ? void 0 : a16.createElement(i16) : i16; - return n15 && n15.forEach(((e16) => c36.classList.add(e16))), r32 && Object.assign(c36, r32), t16.appendChild(c36), yield new Promise(((o15) => e2(c36, o15))), c36; -}); -var t8 = (e16, o14) => { - if (o14) { - if (e16) return e16.removeViewFromDom(o14.parentElement, o14); - o14.remove(); - } - return Promise.resolve(); -}; -var i8 = () => { - let o14, t16; - return { attachViewToDom: (_0, _1, ..._22) => __async(null, [_0, _1, ..._22], function* (i16, n15, r32 = {}, s21 = []) { - var a16, c36; - let l28; - if (o14 = i16, n15) { - const t17 = "string" == typeof n15 ? null === (a16 = o14.ownerDocument) || void 0 === a16 ? void 0 : a16.createElement(n15) : n15; - s21.forEach(((e16) => t17.classList.add(e16))), Object.assign(t17, r32), o14.appendChild(t17), l28 = t17, yield new Promise(((o15) => e2(t17, o15))); - } else if (o14.children.length > 0 && ("ION-MODAL" === o14.tagName || "ION-POPOVER" === o14.tagName) && !(l28 = o14.children[0]).classList.contains("ion-delegate-host")) { - const e16 = null === (c36 = o14.ownerDocument) || void 0 === c36 ? void 0 : c36.createElement("div"); - e16.classList.add("ion-delegate-host"), s21.forEach(((o15) => e16.classList.add(o15))), e16.append(...o14.children), o14.appendChild(e16), l28 = e16; - } - const m26 = document.querySelector("ion-app") || document.body; - return t16 = document.createComment("ionic teleport"), o14.parentNode.insertBefore(t16, o14), m26.appendChild(o14), null != l28 ? l28 : o14; - }), removeViewFromDom: () => (o14 && t16 && (t16.parentNode.insertBefore(o14, t16), t16.remove()), Promise.resolve()) }; -}; - -// node_modules/@ionic/core/components/p-Cq8cQ0NL.js -var v4 = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])'; -var f5 = (n15, o14) => { - const e16 = n15.querySelector(v4); - b3(e16, null != o14 ? o14 : n15); -}; -var h5 = (n15, o14) => { - const e16 = Array.from(n15.querySelectorAll(v4)); - b3(e16.length > 0 ? e16[e16.length - 1] : null, null != o14 ? o14 : n15); -}; -var b3 = (n15, e16) => { - let t16 = n15; - const i16 = null == n15 ? void 0 : n15.shadowRoot; - if (i16 && (t16 = i16.querySelector(v4) || n15), t16) { - const n16 = t16.closest("ion-radio-group"); - n16 ? n16.setFocus() : p(t16); - } else e16.focus(); -}; -var w2 = 0; -var y3 = 0; -var g2 = /* @__PURE__ */ new WeakMap(); -var O2 = (n15) => { - var o14; - return false !== n15.showBackdrop && !((null !== (o14 = n15.backdropBreakpoint) && void 0 !== o14 ? o14 : 0) > 0); -}; -var T2 = (n15) => ({ create: (o14) => S(n15, o14), dismiss: (o14, e16, t16) => E2(document, o14, e16, n15, t16), getTop: () => __async(null, null, function* () { - return V(document, n15); -}) }); -var x2 = T2("ion-alert"); -var k = T2("ion-action-sheet"); -var j2 = T2("ion-loading"); -var A = T2("ion-modal"); -var C = T2("ion-picker-legacy"); -var B2 = T2("ion-popover"); -var D2 = T2("ion-toast"); -var I2 = (n15) => { - "undefined" != typeof document && P2(document); - const o14 = w2++; - n15.overlayIndex = o14; -}; -var N = (n15) => (n15.hasAttribute("id") || (n15.id = "ion-overlay-" + ++y3), n15.id); -var S = (n15, o14) => "undefined" != typeof window && void 0 !== window.customElements ? window.customElements.whenDefined(n15).then((() => { - const t16 = document.createElement(n15); - return t16.classList.add("overlay-hidden"), Object.assign(t16, Object.assign(Object.assign({}, o14), { hasController: true })), L2(document).appendChild(t16), new Promise(((n16) => e2(t16, n16))); -})) : Promise.resolve(); -var M2 = (n15, e16) => { - let t16 = n15; - const i16 = null == n15 ? void 0 : n15.shadowRoot; - i16 && (t16 = i16.querySelector(v4) || n15), t16 ? p(t16) : e16.focus(); -}; -var P2 = (n15) => { - 0 === w2 && (w2 = 1, n15.addEventListener("focus", ((o14) => { - ((n16, o15) => { - const e16 = V(o15, "ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"), t16 = n16.target; - e16 && t16 && (e16.classList.contains(nn) || (e16.shadowRoot ? (() => { - if (e16.contains(t16)) e16.lastFocus = t16; - else if ("ION-TOAST" === t16.tagName) M2(e16.lastFocus, e16); - else { - const n17 = e16.lastFocus; - f5(e16), n17 === o15.activeElement && h5(e16), e16.lastFocus = o15.activeElement; - } - })() : (() => { - if (e16 === t16) e16.lastFocus = void 0; - else if ("ION-TOAST" === t16.tagName) M2(e16.lastFocus, e16); - else { - const n17 = c(e16); - if (!n17.contains(t16)) return; - const i16 = n17.querySelector(".ion-overlay-wrapper"); - if (!i16) return; - if (i16.contains(t16) || t16 === n17.querySelector("ion-backdrop")) e16.lastFocus = t16; - else { - const n18 = e16.lastFocus; - f5(i16, e16), n18 === o15.activeElement && h5(i16, e16), e16.lastFocus = o15.activeElement; - } - } - })())); - })(o14, n15); - }), true), n15.addEventListener("ionBackButton", ((o14) => { - const e16 = V(n15); - (null == e16 ? void 0 : e16.backdropDismiss) && o14.detail.register(a, (() => { - e16.dismiss(void 0, H); - })); - })), o3() || n15.addEventListener("keydown", ((o14) => { - if ("Escape" === o14.key) { - const o15 = V(n15); - (null == o15 ? void 0 : o15.backdropDismiss) && o15.dismiss(void 0, H); - } - }))); -}; -var E2 = (n15, o14, e16, t16, i16) => { - const a16 = V(n15, t16, i16); - return a16 ? a16.dismiss(o14, e16) : Promise.reject("overlay does not exist"); -}; -var F = (n15, o14) => ((n16, o15) => (void 0 === o15 && (o15 = "ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"), Array.from(n16.querySelectorAll(o15)).filter(((n17) => n17.overlayIndex > 0))))(n15, o14).filter(((n16) => !n16.classList.contains("overlay-hidden"))); -var V = (n15, o14, e16) => { - const t16 = F(n15, o14); - return (void 0 === e16 ? t16 : t16.filter(((n16) => n16.id === e16))).slice(-1)[0]; -}; -var Z = (n15 = false) => { - const o14 = L2(document).querySelector("ion-router-outlet, #ion-view-container-root"); - o14 && (n15 ? o14.setAttribute("aria-hidden", "true") : o14.removeAttribute("aria-hidden")); -}; -var $ = (n15, o14, e16, t16, i16) => __async(null, null, function* () { - var a16, r32; - if (n15.presented) return; - "ION-TOAST" !== n15.el.tagName && G(n15.el); - const d24 = n15.el, l28 = "ION-TOAST" !== d24.tagName && false !== d24.focusTrap && O2(d24); - if (n15.presented = true, n15.willPresent.emit(), l28) { - const n16 = L2(document).querySelector("ion-router-outlet, #ion-view-container-root"); - !!n16 && n16.contains(d24) || Z(true), document.body.classList.add(i3); - } - null === (a16 = n15.willPresentShorthand) || void 0 === a16 || a16.emit(); - const c36 = g(n15), m26 = n15.enterAnimation ? n15.enterAnimation : n.get(o14, "ios" === c36 ? e16 : t16); - (yield R(n15, m26, n15.el, i16)) && (n15.didPresent.emit(), null === (r32 = n15.didPresentShorthand) || void 0 === r32 || r32.emit()), !n15.keyboardClose || null !== document.activeElement && n15.el.contains(document.activeElement) || n15.el.focus(), n15.el.removeAttribute("aria-hidden"), n15.el.removeAttribute("inert"); -}); -var G = (n15) => __async(null, null, function* () { - let o14 = document.activeElement; - if (!o14) return; - o14.blur(); - const e16 = null == o14 ? void 0 : o14.shadowRoot; - e16 && (o14 = e16.querySelector(v4) || o14), yield n15.onDidDismiss(), null !== document.activeElement && document.activeElement !== document.body || o14.focus(); -}); -var J = (o14, e16, t16, i16, a16, r32, d24) => __async(null, null, function* () { - var c36, m26; - if (!o14.presented) return false; - const v18 = (void 0 !== o2 ? F(o2) : []).filter(((n15) => "ION-TOAST" !== n15.tagName && false !== n15.focusTrap && O2(n15))), f27 = o14.el; - "ION-TOAST" !== f27.tagName && false !== f27.focusTrap && O2(f27) && 1 === v18.length && v18[0].id === f27.id && (Z(false), document.body.classList.remove(i3)), o14.presented = false; - try { - o14.el.style.setProperty("pointer-events", "none"), o14.willDismiss.emit({ data: e16, role: t16 }), null === (c36 = o14.willDismissShorthand) || void 0 === c36 || c36.emit({ data: e16, role: t16 }); - const n15 = g(o14), l28 = o14.leaveAnimation ? o14.leaveAnimation : n.get(i16, "ios" === n15 ? a16 : r32); - t16 !== K && (yield R(o14, l28, o14.el, d24)), o14.didDismiss.emit({ data: e16, role: t16 }), null === (m26 = o14.didDismissShorthand) || void 0 === m26 || m26.emit({ data: e16, role: t16 }), (g2.get(o14) || []).forEach(((n16) => n16.destroy())), g2.delete(o14), o14.el.classList.add("overlay-hidden"), o14.el.style.removeProperty("pointer-events"), void 0 !== o14.el.lastFocus && (o14.el.lastFocus = void 0); - } catch (n15) { - f(`[${o14.el.tagName.toLowerCase()}] - `, n15); - } - return o14.el.remove(), true; -}); -var L2 = (n15) => n15.querySelector("ion-app") || n15.body; -var R = (n15, o14, e16, t16) => __async(null, null, function* () { - e16.classList.remove("overlay-hidden"); - const i16 = o14(n15.el, t16); - n15.animated && n.getBoolean("animated", true) || i16.duration(0), n15.keyboardClose && i16.beforeAddWrite((() => { - const n16 = e16.ownerDocument.activeElement; - (null == n16 ? void 0 : n16.matches("input,ion-input, ion-textarea")) && n16.blur(); - })); - const a16 = g2.get(n15) || []; - return g2.set(n15, [...a16, i16]), yield i16.play(), true; -}); -var q2 = (n15, o14) => { - let e16; - const t16 = new Promise(((n16) => e16 = n16)); - return z(n15, o14, ((n16) => { - e16(n16.detail); - })), t16; -}; -var z = (n15, o14, e16) => { - const a16 = (t16) => { - u2(n15, o14, a16), e16(t16); - }; - l(n15, o14, a16); -}; -var Q = (n15) => "cancel" === n15 || n15 === H; -var W2 = (n15) => n15(); -var _2 = (n15, o14) => { - if ("function" == typeof n15) return n.get("_zoneGate", W2)((() => { - try { - return n15(o14); - } catch (n16) { - throw n16; - } - })); -}; -var H = "backdrop"; -var K = "gesture"; -var U = 39; -var X = (n15) => { - let o14, e16 = false; - const t16 = i8(), i16 = (i17 = false) => { - if (o14 && !i17) return { delegate: o14, inline: e16 }; - const { el: a16, hasController: r32, delegate: d24 } = n15; - return e16 = null !== a16.parentNode && !r32, o14 = e16 ? d24 || t16 : d24, { inline: e16, delegate: o14 }; - }; - return { attachViewToDom: (o15) => __async(null, null, function* () { - const { delegate: e17 } = i16(true); - if (e17) return yield e17.attachViewToDom(n15.el, o15); - const { hasController: t17 } = n15; - if (t17 && void 0 !== o15) throw new Error("framework delegate is missing"); - return null; - }), removeViewFromDom: () => { - const { delegate: o15 } = i16(); - o15 && void 0 !== n15.el && o15.removeViewFromDom(n15.el.parentElement, n15.el); - } }; -}; -var Y = () => { - let n15; - const o14 = () => { - n15 && (n15(), n15 = void 0); - }; - return { addClickListener: (e16, t16) => { - o14(); - const i16 = void 0 !== t16 ? document.getElementById(t16) : null; - i16 ? n15 = ((n16, o15) => { - const e17 = () => { - o15.present(); - }; - return n16.addEventListener("click", e17), () => { - n16.removeEventListener("click", e17); - }; - })(i16, e16) : u(`[${e16.tagName.toLowerCase()}] - A trigger element with the ID "${t16}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, e16); - }, removeClickListener: o14 }; -}; -var nn = "ion-disable-focus-trap"; - -// node_modules/@ionic/core/components/index.js -var e6 = (e16) => { - const { swiper: o14, extendParams: s21 } = e16, t16 = { effect: void 0, direction: "horizontal", initialSlide: 0, loop: false, parallax: false, slidesPerView: 1, spaceBetween: 0, speed: 300, slidesPerColumn: 1, slidesPerColumnFill: "column", slidesPerGroup: 1, centeredSlides: false, slidesOffsetBefore: 0, slidesOffsetAfter: 0, touchEventsTarget: "container", freeMode: false, freeModeMomentum: true, freeModeMomentumRatio: 1, freeModeMomentumBounce: true, freeModeMomentumBounceRatio: 1, freeModeMomentumVelocityRatio: 1, freeModeSticky: false, freeModeMinimumVelocity: 0.02, autoHeight: false, setWrapperSize: false, zoom: { maxRatio: 3, minRatio: 1, toggle: false }, touchRatio: 1, touchAngle: 45, simulateTouch: true, touchStartPreventDefault: false, shortSwipes: true, longSwipes: true, longSwipesRatio: 0.5, longSwipesMs: 300, followFinger: true, threshold: 0, touchMoveStopPropagation: true, touchReleaseOnEdges: false, iOSEdgeSwipeDetection: false, iOSEdgeSwipeThreshold: 20, resistance: true, resistanceRatio: 0.85, watchSlidesProgress: false, watchSlidesVisibility: false, preventClicks: true, preventClicksPropagation: true, slideToClickedSlide: false, loopAdditionalSlides: 0, noSwiping: true, runCallbacksOnInit: true, coverflowEffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: true }, flipEffect: { slideShadows: true, limitRotation: true }, cubeEffect: { slideShadows: true, shadow: true, shadowOffset: 20, shadowScale: 0.94 }, fadeEffect: { crossFade: false }, a11y: { prevSlideMessage: "Previous slide", nextSlideMessage: "Next slide", firstSlideMessage: "This is the first slide", lastSlideMessage: "This is the last slide" } }; - o14.pagination && (t16.pagination = { type: "bullets", clickable: false, hideOnClick: false }), o14.scrollbar && (t16.scrollbar = { hide: true }), s21(t16); -}; - -// node_modules/@ionic/angular/fesm2022/ionic-angular-common.mjs -var _c0 = ["tabsInner"]; -var DomController = class _DomController { - /** - * Schedules a task to run during the READ phase of the next frame. - * This task should only read the DOM, but never modify it. - */ - read(cb) { - getQueue().read(cb); - } - /** - * Schedules a task to run during the WRITE phase of the next frame. - * This task should write the DOM, but never READ it. - */ - write(cb) { - getQueue().write(cb); - } - /** @nocollapse */ - static ɵfac = function DomController_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _DomController)(); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _DomController, - factory: _DomController.ɵfac, - providedIn: "root" - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(DomController, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -var getQueue = () => { - const win2 = typeof window !== "undefined" ? window : null; - if (win2 != null) { - const Ionic = win2.Ionic; - if (Ionic?.queue) { - return Ionic.queue; - } - return { - read: (cb) => win2.requestAnimationFrame(cb), - write: (cb) => win2.requestAnimationFrame(cb) - }; - } - return { - read: (cb) => cb(), - write: (cb) => cb() - }; -}; -var MenuController = class { - menuController; - constructor(menuController) { - this.menuController = menuController; - } - /** - * Programmatically open the Menu. - * @param [menuId] Optionally get the menu by its id, or side. - * @return returns a promise when the menu is fully opened - */ - open(menuId) { - return this.menuController.open(menuId); - } - /** - * Programmatically close the Menu. If no `menuId` is given as the first - * argument then it'll close any menu which is open. If a `menuId` - * is given then it'll close that exact menu. - * @param [menuId] Optionally get the menu by its id, or side. - * @return returns a promise when the menu is fully closed - */ - close(menuId) { - return this.menuController.close(menuId); - } - /** - * Toggle the menu. If it's closed, it will open, and if opened, it - * will close. - * @param [menuId] Optionally get the menu by its id, or side. - * @return returns a promise when the menu has been toggled - */ - toggle(menuId) { - return this.menuController.toggle(menuId); - } - /** - * Used to enable or disable a menu. For example, there could be multiple - * left menus, but only one of them should be able to be opened at the same - * time. If there are multiple menus on the same side, then enabling one menu - * will also automatically disable all the others that are on the same side. - * @param [menuId] Optionally get the menu by its id, or side. - * @return Returns the instance of the menu, which is useful for chaining. - */ - enable(shouldEnable, menuId) { - return this.menuController.enable(shouldEnable, menuId); - } - /** - * Used to enable or disable the ability to swipe open the menu. - * @param shouldEnable True if it should be swipe-able, false if not. - * @param [menuId] Optionally get the menu by its id, or side. - * @return Returns the instance of the menu, which is useful for chaining. - */ - swipeGesture(shouldEnable, menuId) { - return this.menuController.swipeGesture(shouldEnable, menuId); - } - /** - * @param [menuId] Optionally get the menu by its id, or side. - * @return Returns true if the specified menu is currently open, otherwise false. - * If the menuId is not specified, it returns true if ANY menu is currenly open. - */ - isOpen(menuId) { - return this.menuController.isOpen(menuId); - } - /** - * @param [menuId] Optionally get the menu by its id, or side. - * @return Returns true if the menu is currently enabled, otherwise false. - */ - isEnabled(menuId) { - return this.menuController.isEnabled(menuId); - } - /** - * Used to get a menu instance. If a `menuId` is not provided then it'll - * return the first menu found. If a `menuId` is `left` or `right`, then - * it'll return the enabled menu on that side. Otherwise, if a `menuId` is - * provided, then it'll try to find the menu using the menu's `id` - * property. If a menu is not found then it'll return `null`. - * @param [menuId] Optionally get the menu by its id, or side. - * @return Returns the instance of the menu if found, otherwise `null`. - */ - get(menuId) { - return this.menuController.get(menuId); - } - /** - * @return Returns the instance of the menu already opened, otherwise `null`. - */ - getOpen() { - return this.menuController.getOpen(); - } - /** - * @return Returns an array of all menu instances. - */ - getMenus() { - return this.menuController.getMenus(); - } - registerAnimation(name, animation) { - return this.menuController.registerAnimation(name, animation); - } - isAnimating() { - return this.menuController.isAnimating(); - } - _getOpenSync() { - return this.menuController._getOpenSync(); - } - _createAnimation(type, menuCmp) { - return this.menuController._createAnimation(type, menuCmp); - } - _register(menu) { - return this.menuController._register(menu); - } - _unregister(menu) { - return this.menuController._unregister(menu); - } - _setOpen(menu, shouldOpen, animated) { - return this.menuController._setOpen(menu, shouldOpen, animated); - } -}; -var Platform = class _Platform { - doc; - _readyPromise; - win; - /** - * @hidden - */ - backButton = new Subject(); - /** - * The keyboardDidShow event emits when the - * on-screen keyboard is presented. - */ - keyboardDidShow = new Subject(); - /** - * The keyboardDidHide event emits when the - * on-screen keyboard is hidden. - */ - keyboardDidHide = new Subject(); - /** - * The pause event emits when the native platform puts the application - * into the background, typically when the user switches to a different - * application. This event would emit when a Cordova app is put into - * the background, however, it would not fire on a standard web browser. - */ - pause = new Subject(); - /** - * The resume event emits when the native platform pulls the application - * out from the background. This event would emit when a Cordova app comes - * out from the background, however, it would not fire on a standard web browser. - */ - resume = new Subject(); - /** - * The resize event emits when the browser window has changed dimensions. This - * could be from a browser window being physically resized, or from a device - * changing orientation. - */ - resize = new Subject(); - constructor(doc, zone) { - this.doc = doc; - zone.run(() => { - this.win = doc.defaultView; - this.backButton.subscribeWithPriority = function(priority, callback) { - return this.subscribe((ev) => { - return ev.register(priority, (processNextHandler) => zone.run(() => callback(processNextHandler))); - }); - }; - proxyEvent(this.pause, doc, "pause", zone); - proxyEvent(this.resume, doc, "resume", zone); - proxyEvent(this.backButton, doc, "ionBackButton", zone); - proxyEvent(this.resize, this.win, "resize", zone); - proxyEvent(this.keyboardDidShow, this.win, "ionKeyboardDidShow", zone); - proxyEvent(this.keyboardDidHide, this.win, "ionKeyboardDidHide", zone); - let readyResolve; - this._readyPromise = new Promise((res) => { - readyResolve = res; - }); - if (this.win?.["cordova"]) { - doc.addEventListener("deviceready", () => { - readyResolve("cordova"); - }, { - once: true - }); - } else { - readyResolve("dom"); - } - }); - } - /** - * @returns returns true/false based on platform. - * @description - * Depending on the platform the user is on, `is(platformName)` will - * return `true` or `false`. Note that the same app can return `true` - * for more than one platform name. For example, an app running from - * an iPad would return `true` for the platform names: `mobile`, - * `ios`, `ipad`, and `tablet`. Additionally, if the app was running - * from Cordova then `cordova` would be true, and if it was running - * from a web browser on the iPad then `mobileweb` would be `true`. - * - * ``` - * import { Platform } from 'ionic-angular'; - * - * @Component({...}) - * export MyPage { - * constructor(public platform: Platform) { - * if (this.platform.is('ios')) { - * // This will only print when on iOS - * console.log('I am an iOS device!'); - * } - * } - * } - * ``` - * - * | Platform Name | Description | - * |-----------------|------------------------------------| - * | android | on a device running Android. | - * | capacitor | on a device running Capacitor. | - * | cordova | on a device running Cordova. | - * | ios | on a device running iOS. | - * | ipad | on an iPad device. | - * | iphone | on an iPhone device. | - * | phablet | on a phablet device. | - * | tablet | on a tablet device. | - * | electron | in Electron on a desktop device. | - * | pwa | as a PWA app. | - * | mobile | on a mobile device. | - * | mobileweb | on a mobile device in a browser. | - * | desktop | on a desktop device. | - * | hybrid | is a cordova or capacitor app. | - * - */ - is(platformName) { - return s5(this.win, platformName); - } - /** - * @returns the array of platforms - * @description - * Depending on what device you are on, `platforms` can return multiple values. - * Each possible value is a hierarchy of platforms. For example, on an iPhone, - * it would return `mobile`, `ios`, and `iphone`. - * - * ``` - * import { Platform } from 'ionic-angular'; - * - * @Component({...}) - * export MyPage { - * constructor(public platform: Platform) { - * // This will print an array of the current platforms - * console.log(this.platform.platforms()); - * } - * } - * ``` - */ - platforms() { - return a4(this.win); - } - /** - * Returns a promise when the platform is ready and native functionality - * can be called. If the app is running from within a web browser, then - * the promise will resolve when the DOM is ready. When the app is running - * from an application engine such as Cordova, then the promise will - * resolve when Cordova triggers the `deviceready` event. - * - * The resolved value is the `readySource`, which states which platform - * ready was used. For example, when Cordova is ready, the resolved ready - * source is `cordova`. The default ready source value will be `dom`. The - * `readySource` is useful if different logic should run depending on the - * platform the app is running from. For example, only Cordova can execute - * the status bar plugin, so the web should not run status bar plugin logic. - * - * ``` - * import { Component } from '@angular/core'; - * import { Platform } from 'ionic-angular'; - * - * @Component({...}) - * export MyApp { - * constructor(public platform: Platform) { - * this.platform.ready().then((readySource) => { - * console.log('Platform ready from', readySource); - * // Platform now ready, execute any required native code - * }); - * } - * } - * ``` - */ - ready() { - return this._readyPromise; - } - /** - * Returns if this app is using right-to-left language direction or not. - * We recommend the app's `index.html` file already has the correct `dir` - * attribute value set, such as `` or ``. - * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir) - */ - get isRTL() { - return this.doc.dir === "rtl"; - } - /** - * Get the query string parameter - */ - getQueryParam(key) { - return readQueryParam(this.win.location.href, key); - } - /** - * Returns `true` if the app is in landscape mode. - */ - isLandscape() { - return !this.isPortrait(); - } - /** - * Returns `true` if the app is in portrait mode. - */ - isPortrait() { - return this.win.matchMedia?.("(orientation: portrait)").matches; - } - testUserAgent(expression) { - const nav = this.win.navigator; - return !!(nav?.userAgent && nav.userAgent.indexOf(expression) >= 0); - } - /** - * Get the current url. - */ - url() { - return this.win.location.href; - } - /** - * Gets the width of the platform's viewport using `window.innerWidth`. - */ - width() { - return this.win.innerWidth; - } - /** - * Gets the height of the platform's viewport using `window.innerHeight`. - */ - height() { - return this.win.innerHeight; - } - /** @nocollapse */ - static ɵfac = function Platform_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _Platform)(ɵɵinject(DOCUMENT), ɵɵinject(NgZone)); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _Platform, - factory: _Platform.ɵfac, - providedIn: "root" - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Platform, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], function() { - return [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: NgZone - }]; - }, null); -})(); -var readQueryParam = (url, key) => { - key = key.replace(/[[\]\\]/g, "\\$&"); - const regex = new RegExp("[\\?&]" + key + "=([^]*)"); - const results = regex.exec(url); - return results ? decodeURIComponent(results[1].replace(/\+/g, " ")) : null; -}; -var proxyEvent = (emitter, el, eventName, zone) => { - if (el) { - el.addEventListener(eventName, (ev) => { - zone.run(() => { - const value = ev != null ? ev.detail : void 0; - emitter.next(value); - }); - }); - } -}; -var NavController = class _NavController { - location; - serializer; - router; - topOutlet; - direction = DEFAULT_DIRECTION; - animated = DEFAULT_ANIMATED; - animationBuilder; - guessDirection = "forward"; - guessAnimation; - lastNavId = -1; - constructor(platform, location, serializer, router) { - this.location = location; - this.serializer = serializer; - this.router = router; - if (router) { - router.events.subscribe((ev) => { - if (ev instanceof NavigationStart) { - const id = ev.restoredState ? ev.restoredState.navigationId : ev.id; - this.guessDirection = this.guessAnimation = id < this.lastNavId ? "back" : "forward"; - this.lastNavId = this.guessDirection === "forward" ? ev.id : id; - } - if (ev instanceof NavigationCancel || ev instanceof NavigationError) { - this.direction = DEFAULT_DIRECTION; - this.animated = DEFAULT_ANIMATED; - this.animationBuilder = void 0; - } - }); - } - platform.backButton.subscribeWithPriority(0, (processNextHandler) => { - this.pop(); - processNextHandler(); - }); - } - /** - * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood, - * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition. - * - * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet), - * and that it will show a "forward" animation by default. - * - * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive: - * - * ```html - * Link - * ``` - */ - navigateForward(url, options = {}) { - this.setDirection("forward", options.animated, options.animationDirection, options.animation); - return this.navigate(url, options); - } - /** - * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood, - * it's equivalent to calling: - * - * ```ts - * this.navController.setDirection('back'); - * this.router.navigateByUrl(path); - * ``` - * - * Going **back** means that all the pages in the stack until the navigated page is found will be popped, - * and that it will show a "back" animation by default. - * - * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive: - * - * ```html - * Link - * ``` - */ - navigateBack(url, options = {}) { - this.setDirection("back", options.animated, options.animationDirection, options.animation); - return this.navigate(url, options); - } - /** - * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood, - * it's equivalent to calling: - * - * ```ts - * this.navController.setDirection('root'); - * this.router.navigateByUrl(path); - * ``` - * - * Going **root** means that all existing pages in the stack will be removed, - * and the navigated page will become the single page in the stack. - * - * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive: - * - * ```html - * Link - * ``` - */ - navigateRoot(url, options = {}) { - this.setDirection("root", options.animated, options.animationDirection, options.animation); - return this.navigate(url, options); - } - /** - * Same as [Location](https://angular.io/api/common/Location)'s back() method. - * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation - * by default. - */ - back(options = { - animated: true, - animationDirection: "back" - }) { - this.setDirection("back", options.animated, options.animationDirection, options.animation); - return this.location.back(); - } - /** - * This methods goes back in the context of Ionic's stack navigation. - * - * It recursively finds the top active `ion-router-outlet` and calls `pop()`. - * This is the recommended way to go back when you are using `ion-router-outlet`. - * - * Resolves to `true` if it was able to pop. - */ - pop() { - return __async(this, null, function* () { - let outlet = this.topOutlet; - while (outlet) { - if (yield outlet.pop()) { - return true; - } else { - outlet = outlet.parentOutlet; - } - } - return false; - }); - } - /** - * This methods specifies the direction of the next navigation performed by the Angular router. - * - * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`. - * - * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`. - */ - setDirection(direction, animated, animationDirection, animationBuilder) { - this.direction = direction; - this.animated = getAnimation(direction, animated, animationDirection); - this.animationBuilder = animationBuilder; - } - /** - * @internal - */ - setTopOutlet(outlet) { - this.topOutlet = outlet; - } - /** - * @internal - */ - consumeTransition() { - let direction = "root"; - let animation; - const animationBuilder = this.animationBuilder; - if (this.direction === "auto") { - direction = this.guessDirection; - animation = this.guessAnimation; - } else { - animation = this.animated; - direction = this.direction; - } - this.direction = DEFAULT_DIRECTION; - this.animated = DEFAULT_ANIMATED; - this.animationBuilder = void 0; - return { - direction, - animation, - animationBuilder - }; - } - navigate(url, options) { - if (Array.isArray(url)) { - return this.router.navigate(url, options); - } else { - const urlTree = this.serializer.parse(url.toString()); - if (options.queryParams !== void 0) { - urlTree.queryParams = __spreadValues({}, options.queryParams); - } - if (options.fragment !== void 0) { - urlTree.fragment = options.fragment; - } - return this.router.navigateByUrl(urlTree, options); - } - } - /** @nocollapse */ - static ɵfac = function NavController_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _NavController)(ɵɵinject(Platform), ɵɵinject(Location), ɵɵinject(UrlSerializer), ɵɵinject(Router, 8)); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _NavController, - factory: _NavController.ɵfac, - providedIn: "root" - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NavController, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], function() { - return [{ - type: Platform - }, { - type: Location - }, { - type: UrlSerializer - }, { - type: Router, - decorators: [{ - type: Optional - }] - }]; - }, null); -})(); -var getAnimation = (direction, animated, animationDirection) => { - if (animated === false) { - return void 0; - } - if (animationDirection !== void 0) { - return animationDirection; - } - if (direction === "forward" || direction === "back") { - return direction; - } else if (direction === "root" && animated === true) { - return "forward"; - } - return void 0; -}; -var DEFAULT_DIRECTION = "auto"; -var DEFAULT_ANIMATED = void 0; -var Config = class _Config { - get(key, fallback) { - const c36 = getConfig(); - if (c36) { - return c36.get(key, fallback); - } - return null; - } - getBoolean(key, fallback) { - const c36 = getConfig(); - if (c36) { - return c36.getBoolean(key, fallback); - } - return false; - } - getNumber(key, fallback) { - const c36 = getConfig(); - if (c36) { - return c36.getNumber(key, fallback); - } - return 0; - } - /** @nocollapse */ - static ɵfac = function Config_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _Config)(); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _Config, - factory: _Config.ɵfac, - providedIn: "root" - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Config, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -var ConfigToken = new InjectionToken("USERCONFIG"); -var getConfig = () => { - if (typeof window !== "undefined") { - const Ionic = window.Ionic; - if (Ionic?.config) { - return Ionic.config; - } - } - return null; -}; -var NavParams = class { - data; - constructor(data = {}) { - this.data = data; - console.warn(`[Ionic Warning]: NavParams has been deprecated in favor of using Angular's input API. Developers should migrate to either the @Input decorator or the Signals-based input API.`); - } - /** - * Get the value of a nav-parameter for the current view - * - * ```ts - * import { NavParams } from 'ionic-angular'; - * - * export class MyClass{ - * constructor(public navParams: NavParams){ - * // userParams is an object we have in our nav-parameters - * this.navParams.get('userParams'); - * } - * } - * ``` - * - * @param param Which param you want to look up - */ - get(param) { - return this.data[param]; - } -}; -var IonModalToken = new InjectionToken("IonModalToken"); -var AngularDelegate = class _AngularDelegate { - zone = inject(NgZone); - applicationRef = inject(ApplicationRef); - config = inject(ConfigToken); - create(environmentInjector, injector, elementReferenceKey, customInjector) { - return new AngularFrameworkDelegate(environmentInjector, injector, this.applicationRef, this.zone, elementReferenceKey, this.config.useSetInputAPI ?? false, customInjector); - } - /** @nocollapse */ - static ɵfac = function AngularDelegate_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _AngularDelegate)(); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _AngularDelegate, - factory: _AngularDelegate.ɵfac - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(AngularDelegate, [{ - type: Injectable - }], null, null); -})(); -var AngularFrameworkDelegate = class { - environmentInjector; - injector; - applicationRef; - zone; - elementReferenceKey; - enableSignalsSupport; - customInjector; - elRefMap = /* @__PURE__ */ new WeakMap(); - elEventsMap = /* @__PURE__ */ new WeakMap(); - constructor(environmentInjector, injector, applicationRef, zone, elementReferenceKey, enableSignalsSupport, customInjector) { - this.environmentInjector = environmentInjector; - this.injector = injector; - this.applicationRef = applicationRef; - this.zone = zone; - this.elementReferenceKey = elementReferenceKey; - this.enableSignalsSupport = enableSignalsSupport; - this.customInjector = customInjector; - } - attachViewToDom(container, component, params, cssClasses) { - return this.zone.run(() => { - return new Promise((resolve) => { - const componentProps = __spreadValues({}, params); - if (this.elementReferenceKey !== void 0) { - componentProps[this.elementReferenceKey] = container; - } - const el = attachView(this.zone, this.environmentInjector, this.injector, this.applicationRef, this.elRefMap, this.elEventsMap, container, component, componentProps, cssClasses, this.elementReferenceKey, this.enableSignalsSupport, this.customInjector); - resolve(el); - }); - }); - } - removeViewFromDom(_container, component) { - return this.zone.run(() => { - return new Promise((resolve) => { - const componentRef = this.elRefMap.get(component); - if (componentRef) { - componentRef.destroy(); - this.elRefMap.delete(component); - const unbindEvents = this.elEventsMap.get(component); - if (unbindEvents) { - unbindEvents(); - this.elEventsMap.delete(component); - } - } - resolve(); - }); - }); - } -}; -var attachView = (zone, environmentInjector, injector, applicationRef, elRefMap, elEventsMap, container, component, params, cssClasses, elementReferenceKey, enableSignalsSupport, customInjector) => { - const providers = getProviders(params); - if (container.tagName.toLowerCase() === "ion-modal") { - providers.push({ - provide: IonModalToken, - useValue: container - }); - } - const childInjector = Injector.create({ - providers, - parent: customInjector ?? injector - }); - const componentRef = createComponent(component, { - environmentInjector, - elementInjector: childInjector - }); - const instance = componentRef.instance; - const hostElement = componentRef.location.nativeElement; - if (params) { - if (elementReferenceKey && instance[elementReferenceKey] !== void 0) { - console.error(`[Ionic Error]: ${elementReferenceKey} is a reserved property when using ${container.tagName.toLowerCase()}. Rename or remove the "${elementReferenceKey}" property from ${component.name}.`); - } - if (enableSignalsSupport === true && componentRef.setInput !== void 0) { - const _a = params, { - modal, - popover - } = _a, otherParams = __objRest(_a, [ - "modal", - "popover" - ]); - for (const key in otherParams) { - componentRef.setInput(key, otherParams[key]); - } - if (modal !== void 0) { - Object.assign(instance, { - modal - }); - } - if (popover !== void 0) { - Object.assign(instance, { - popover - }); - } - } else { - Object.assign(instance, params); - } - } - if (cssClasses) { - for (const cssClass of cssClasses) { - hostElement.classList.add(cssClass); - } - } - const unbindEvents = bindLifecycleEvents(zone, instance, hostElement); - container.appendChild(hostElement); - applicationRef.attachView(componentRef.hostView); - elRefMap.set(hostElement, componentRef); - elEventsMap.set(hostElement, unbindEvents); - return hostElement; -}; -var LIFECYCLES = [r2, t2, s3, c2, l3]; -var bindLifecycleEvents = (zone, instance, element) => { - return zone.run(() => { - const unregisters = LIFECYCLES.filter((eventName) => typeof instance[eventName] === "function").map((eventName) => { - const handler = (ev) => instance[eventName](ev.detail); - element.addEventListener(eventName, handler); - return () => element.removeEventListener(eventName, handler); - }); - return () => unregisters.forEach((fn) => fn()); - }); -}; -var NavParamsToken = new InjectionToken("NavParamsToken"); -var getProviders = (params) => { - return [{ - provide: NavParamsToken, - useValue: params - }, { - provide: NavParams, - useFactory: provideNavParamsInjectable, - deps: [NavParamsToken] - }]; -}; -var provideNavParamsInjectable = (params) => { - return new NavParams(params); -}; -var proxyInputs = (Cmp, inputs) => { - const Prototype = Cmp.prototype; - inputs.forEach((item) => { - Object.defineProperty(Prototype, item, { - get() { - return this.el[item]; - }, - set(val) { - this.z.runOutsideAngular(() => this.el[item] = val); - } - }); - }); -}; -var proxyMethods = (Cmp, methods) => { - const Prototype = Cmp.prototype; - methods.forEach((methodName) => { - Prototype[methodName] = function() { - const args = arguments; - return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args)); - }; - }); -}; -var proxyOutputs = (instance, el, events) => { - events.forEach((eventName) => instance[eventName] = fromEvent(el, eventName)); -}; -function ProxyCmp(opts) { - const decorator = function(cls) { - const { - defineCustomElementFn, - inputs, - methods - } = opts; - if (defineCustomElementFn !== void 0) { - defineCustomElementFn(); - } - if (inputs) { - proxyInputs(cls, inputs); - } - if (methods) { - proxyMethods(cls, methods); - } - return cls; - }; - return decorator; -} -var MODAL_INPUTS = ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "expandToScroll", "event", "focusTrap", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "translucent", "trigger"]; -var MODAL_METHODS = ["present", "dismiss", "onDidDismiss", "onWillDismiss", "setCurrentBreakpoint", "getCurrentBreakpoint"]; -var IonModal = ( - /** - * @Component extends from @Directive - * so by defining the inputs here we - * do not need to re-define them for the - * lazy loaded popover. - */ - class IonModal2 { - z; - // TODO(FW-2827): type - template; - isCmpOpen = false; - el; - constructor(c36, r32, z11) { - this.z = z11; - this.el = r32.nativeElement; - this.el.addEventListener("ionMount", () => { - this.isCmpOpen = true; - c36.detectChanges(); - }); - this.el.addEventListener("didDismiss", () => { - this.isCmpOpen = false; - c36.detectChanges(); - }); - proxyOutputs(this, this.el, ["ionModalDidPresent", "ionModalWillPresent", "ionModalWillDismiss", "ionModalDidDismiss", "ionBreakpointDidChange", "didPresent", "willPresent", "willDismiss", "didDismiss", "ionDragStart", "ionDragMove", "ionDragEnd"]); - } - /** @nocollapse */ - static ɵfac = function IonModal_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || IonModal2)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NgZone)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: IonModal2, - selectors: [["ion-modal"]], - contentQueries: function IonModal_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, TemplateRef, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.template = _t.first); - } - }, - inputs: { - animated: "animated", - keepContentsMounted: "keepContentsMounted", - backdropBreakpoint: "backdropBreakpoint", - backdropDismiss: "backdropDismiss", - breakpoints: "breakpoints", - canDismiss: "canDismiss", - cssClass: "cssClass", - enterAnimation: "enterAnimation", - expandToScroll: "expandToScroll", - event: "event", - focusTrap: "focusTrap", - handle: "handle", - handleBehavior: "handleBehavior", - initialBreakpoint: "initialBreakpoint", - isOpen: "isOpen", - keyboardClose: "keyboardClose", - leaveAnimation: "leaveAnimation", - mode: "mode", - presentingElement: "presentingElement", - showBackdrop: "showBackdrop", - translucent: "translucent", - trigger: "trigger" - }, - standalone: false - }); - } -); -IonModal = __decorate([ - ProxyCmp({ - inputs: MODAL_INPUTS, - methods: MODAL_METHODS - }) - /** - * @Component extends from @Directive - * so by defining the inputs here we - * do not need to re-define them for the - * lazy loaded popover. - */ -], IonModal); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonModal, [{ - type: Directive, - args: [{ - selector: "ion-modal", - // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: MODAL_INPUTS - }] - }], function() { - return [{ - type: ChangeDetectorRef - }, { - type: ElementRef - }, { - type: NgZone - }]; - }, { - template: [{ - type: ContentChild, - args: [TemplateRef, { - static: false - }] - }] - }); -})(); -var POPOVER_INPUTS = ["alignment", "animated", "arrow", "keepContentsMounted", "backdropDismiss", "cssClass", "dismissOnSelect", "enterAnimation", "event", "focusTrap", "isOpen", "keyboardClose", "leaveAnimation", "mode", "showBackdrop", "translucent", "trigger", "triggerAction", "reference", "size", "side"]; -var POPOVER_METHODS = ["present", "dismiss", "onDidDismiss", "onWillDismiss"]; -var IonPopover = ( - /** - * @Component extends from @Directive - * so by defining the inputs here we - * do not need to re-define them for the - * lazy loaded popover. - */ - class IonPopover2 { - z; - // TODO(FW-2827): type - template; - isCmpOpen = false; - el; - constructor(c36, r32, z11) { - this.z = z11; - this.el = r32.nativeElement; - this.el.addEventListener("ionMount", () => { - this.isCmpOpen = true; - c36.detectChanges(); - }); - this.el.addEventListener("didDismiss", () => { - this.isCmpOpen = false; - c36.detectChanges(); - }); - proxyOutputs(this, this.el, ["ionPopoverDidPresent", "ionPopoverWillPresent", "ionPopoverWillDismiss", "ionPopoverDidDismiss", "didPresent", "willPresent", "willDismiss", "didDismiss"]); - } - /** @nocollapse */ - static ɵfac = function IonPopover_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || IonPopover2)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NgZone)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: IonPopover2, - selectors: [["ion-popover"]], - contentQueries: function IonPopover_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, TemplateRef, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.template = _t.first); - } - }, - inputs: { - alignment: "alignment", - animated: "animated", - arrow: "arrow", - keepContentsMounted: "keepContentsMounted", - backdropDismiss: "backdropDismiss", - cssClass: "cssClass", - dismissOnSelect: "dismissOnSelect", - enterAnimation: "enterAnimation", - event: "event", - focusTrap: "focusTrap", - isOpen: "isOpen", - keyboardClose: "keyboardClose", - leaveAnimation: "leaveAnimation", - mode: "mode", - showBackdrop: "showBackdrop", - translucent: "translucent", - trigger: "trigger", - triggerAction: "triggerAction", - reference: "reference", - size: "size", - side: "side" - }, - standalone: false - }); - } -); -IonPopover = __decorate([ - ProxyCmp({ - inputs: POPOVER_INPUTS, - methods: POPOVER_METHODS - }) - /** - * @Component extends from @Directive - * so by defining the inputs here we - * do not need to re-define them for the - * lazy loaded popover. - */ -], IonPopover); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonPopover, [{ - type: Directive, - args: [{ - selector: "ion-popover", - // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: POPOVER_INPUTS - }] - }], function() { - return [{ - type: ChangeDetectorRef - }, { - type: ElementRef - }, { - type: NgZone - }]; - }, { - template: [{ - type: ContentChild, - args: [TemplateRef, { - static: false - }] - }] - }); -})(); -var insertView = (views, view, direction) => { - if (direction === "root") { - return setRoot(views, view); - } else if (direction === "forward") { - return setForward(views, view); - } else { - return setBack(views, view); - } -}; -var setRoot = (views, view) => { - views = views.filter((v18) => v18.stackId !== view.stackId); - views.push(view); - return views; -}; -var setForward = (views, view) => { - const index = views.indexOf(view); - if (index >= 0) { - views = views.filter((v18) => v18.stackId !== view.stackId || v18.id <= view.id); - } else { - views.push(view); - } - return views; -}; -var setBack = (views, view) => { - const index = views.indexOf(view); - if (index >= 0) { - return views.filter((v18) => v18.stackId !== view.stackId || v18.id <= view.id); - } else { - return setRoot(views, view); - } -}; -var getUrl = (router, activatedRoute) => { - const urlTree = router.createUrlTree(["."], { - relativeTo: activatedRoute - }); - return router.serializeUrl(urlTree); -}; -var isTabSwitch = (enteringView, leavingView) => { - if (!leavingView) { - return true; - } - return enteringView.stackId !== leavingView.stackId; -}; -var computeStackId = (prefixUrl, url) => { - if (!prefixUrl) { - return void 0; - } - const segments = toSegments(url); - for (let i16 = 0; i16 < segments.length; i16++) { - if (i16 >= prefixUrl.length) { - return segments[i16]; - } - if (segments[i16] !== prefixUrl[i16]) { - return void 0; - } - } - return void 0; -}; -var toSegments = (path) => { - return path.split("/").map((s21) => s21.trim()).filter((s21) => s21 !== ""); -}; -var destroyView = (view) => { - if (view) { - view.ref.destroy(); - view.unlistenEvents(); - } -}; -var StackController = class { - containerEl; - router; - navCtrl; - zone; - location; - views = []; - runningTask; - skipTransition = false; - tabsPrefix; - activeView; - nextId = 0; - constructor(tabsPrefix, containerEl, router, navCtrl, zone, location) { - this.containerEl = containerEl; - this.router = router; - this.navCtrl = navCtrl; - this.zone = zone; - this.location = location; - this.tabsPrefix = tabsPrefix !== void 0 ? toSegments(tabsPrefix) : void 0; - } - createView(ref, activatedRoute) { - const url = getUrl(this.router, activatedRoute); - const element = ref?.location?.nativeElement; - const unlistenEvents = bindLifecycleEvents(this.zone, ref.instance, element); - return { - id: this.nextId++, - stackId: computeStackId(this.tabsPrefix, url), - unlistenEvents, - element, - ref, - url - }; - } - getExistingView(activatedRoute) { - const activatedUrlKey = getUrl(this.router, activatedRoute); - const view = this.views.find((vw) => vw.url === activatedUrlKey); - if (view) { - view.ref.changeDetectorRef.reattach(); - } - return view; - } - setActive(enteringView) { - const consumeResult = this.navCtrl.consumeTransition(); - let { - direction, - animation, - animationBuilder - } = consumeResult; - const leavingView = this.activeView; - const tabSwitch = isTabSwitch(enteringView, leavingView); - if (tabSwitch) { - direction = "back"; - animation = void 0; - } - const viewsSnapshot = this.views.slice(); - let currentNavigation; - const router = this.router; - if (router.getCurrentNavigation) { - currentNavigation = router.getCurrentNavigation(); - } else if (router.navigations?.value) { - currentNavigation = router.navigations.value; - } - if (currentNavigation?.extras?.replaceUrl) { - if (this.views.length > 0) { - this.views.splice(-1, 1); - } - } - const reused = this.views.includes(enteringView); - const views = this.insertView(enteringView, direction); - if (!reused) { - enteringView.ref.changeDetectorRef.detectChanges(); - } - const customAnimation = enteringView.animationBuilder; - if (animationBuilder === void 0 && direction === "back" && !tabSwitch && customAnimation !== void 0) { - animationBuilder = customAnimation; - } - if (leavingView) { - leavingView.animationBuilder = animationBuilder; - } - return this.zone.runOutsideAngular(() => { - return this.wait(() => { - if (leavingView) { - leavingView.ref.changeDetectorRef.detach(); - } - enteringView.ref.changeDetectorRef.reattach(); - return this.transition(enteringView, leavingView, animation, this.canGoBack(1), false, animationBuilder).then(() => cleanupAsync(enteringView, views, viewsSnapshot, this.location, this.zone)).then(() => ({ - enteringView, - direction, - animation, - tabSwitch - })); - }); - }); - } - canGoBack(deep, stackId = this.getActiveStackId()) { - return this.getStack(stackId).length > deep; - } - pop(deep, stackId = this.getActiveStackId()) { - return this.zone.run(() => { - const views = this.getStack(stackId); - if (views.length <= deep) { - return Promise.resolve(false); - } - const view = views[views.length - deep - 1]; - let url = view.url; - const viewSavedData = view.savedData; - if (viewSavedData) { - const primaryOutlet = viewSavedData.get("primary"); - if (primaryOutlet?.route?._routerState?.snapshot.url) { - url = primaryOutlet.route._routerState.snapshot.url; - } - } - const { - animationBuilder - } = this.navCtrl.consumeTransition(); - return this.navCtrl.navigateBack(url, __spreadProps(__spreadValues({}, view.savedExtras), { - animation: animationBuilder - })).then(() => true); - }); - } - startBackTransition() { - const leavingView = this.activeView; - if (leavingView) { - const views = this.getStack(leavingView.stackId); - const enteringView = views[views.length - 2]; - const customAnimation = enteringView.animationBuilder; - return this.wait(() => { - return this.transition( - enteringView, - // entering view - leavingView, - // leaving view - "back", - this.canGoBack(2), - true, - customAnimation - ); - }); - } - return Promise.resolve(); - } - endBackTransition(shouldComplete) { - if (shouldComplete) { - this.skipTransition = true; - this.pop(1); - } else if (this.activeView) { - cleanup(this.activeView, this.views, this.views, this.location, this.zone); - } - } - getLastUrl(stackId) { - const views = this.getStack(stackId); - return views.length > 0 ? views[views.length - 1] : void 0; - } - /** - * @internal - */ - getRootUrl(stackId) { - const views = this.getStack(stackId); - return views.length > 0 ? views[0] : void 0; - } - getActiveStackId() { - return this.activeView ? this.activeView.stackId : void 0; - } - /** - * @internal - */ - getActiveView() { - return this.activeView; - } - hasRunningTask() { - return this.runningTask !== void 0; - } - destroy() { - this.containerEl = void 0; - this.views.forEach(destroyView); - this.activeView = void 0; - this.views = []; - } - getStack(stackId) { - return this.views.filter((v18) => v18.stackId === stackId); - } - insertView(enteringView, direction) { - this.activeView = enteringView; - this.views = insertView(this.views, enteringView, direction); - return this.views.slice(); - } - transition(enteringView, leavingView, direction, showGoBack, progressAnimation, animationBuilder) { - if (this.skipTransition) { - this.skipTransition = false; - return Promise.resolve(false); - } - if (leavingView === enteringView) { - return Promise.resolve(false); - } - const enteringEl = enteringView ? enteringView.element : void 0; - const leavingEl = leavingView ? leavingView.element : void 0; - const containerEl = this.containerEl; - if (enteringEl && enteringEl !== leavingEl) { - enteringEl.classList.add("ion-page"); - enteringEl.classList.add("ion-page-invisible"); - if (containerEl.commit) { - return containerEl.commit(enteringEl, leavingEl, { - duration: direction === void 0 ? 0 : void 0, - direction, - showGoBack, - progressAnimation, - animationBuilder - }); - } - } - return Promise.resolve(false); - } - wait(task) { - return __async(this, null, function* () { - if (this.runningTask !== void 0) { - yield this.runningTask; - this.runningTask = void 0; - } - const promise = this.runningTask = task(); - promise.finally(() => this.runningTask = void 0); - return promise; - }); - } -}; -var cleanupAsync = (activeRoute, views, viewsSnapshot, location, zone) => { - if (typeof requestAnimationFrame === "function") { - return new Promise((resolve) => { - requestAnimationFrame(() => { - cleanup(activeRoute, views, viewsSnapshot, location, zone); - resolve(); - }); - }); - } - return Promise.resolve(); -}; -var cleanup = (activeRoute, views, viewsSnapshot, location, zone) => { - zone.run(() => viewsSnapshot.filter((view) => !views.includes(view)).forEach(destroyView)); - views.forEach((view) => { - const locationWithoutParams = location.path().split("?")[0]; - const locationWithoutFragment = locationWithoutParams.split("#")[0]; - if (view !== activeRoute && view.url !== locationWithoutFragment) { - const element = view.element; - element.setAttribute("aria-hidden", "true"); - element.classList.add("ion-page-hidden"); - view.ref.changeDetectorRef.detach(); - } - }); -}; -var IonRouterOutlet = class _IonRouterOutlet { - parentOutlet; - nativeEl; - activatedView = null; - tabsPrefix; - _swipeGesture; - stackCtrl; - // Maintain map of activated route proxies for each component instance - proxyMap = /* @__PURE__ */ new WeakMap(); - // Keep the latest activated route in a subject for the proxy routes to switch map to - currentActivatedRoute$ = new BehaviorSubject(null); - activated = null; - /** @internal */ - get activatedComponentRef() { - return this.activated; - } - _activatedRoute = null; - /** - * The name of the outlet - */ - name = PRIMARY_OUTLET; - /** @internal */ - stackWillChange = new EventEmitter(); - /** @internal */ - stackDidChange = new EventEmitter(); - // eslint-disable-next-line @angular-eslint/no-output-rename - activateEvents = new EventEmitter(); - // eslint-disable-next-line @angular-eslint/no-output-rename - deactivateEvents = new EventEmitter(); - parentContexts = inject(ChildrenOutletContexts); - location = inject(ViewContainerRef); - environmentInjector = inject(EnvironmentInjector); - inputBinder = inject(INPUT_BINDER, { - optional: true - }); - /** @nodoc */ - supportsBindingToComponentInputs = true; - // Ionic providers - config = inject(Config); - navCtrl = inject(NavController); - set animation(animation) { - this.nativeEl.animation = animation; - } - set animated(animated) { - this.nativeEl.animated = animated; - } - set swipeGesture(swipe) { - this._swipeGesture = swipe; - this.nativeEl.swipeHandler = swipe ? { - canStart: () => this.stackCtrl.canGoBack(1) && !this.stackCtrl.hasRunningTask(), - onStart: () => this.stackCtrl.startBackTransition(), - onEnd: (shouldContinue) => this.stackCtrl.endBackTransition(shouldContinue) - } : void 0; - } - constructor(name, tabs, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) { - this.parentOutlet = parentOutlet; - this.nativeEl = elementRef.nativeElement; - this.name = name || PRIMARY_OUTLET; - this.tabsPrefix = tabs === "true" ? getUrl(router, activatedRoute) : void 0; - this.stackCtrl = new StackController(this.tabsPrefix, this.nativeEl, router, this.navCtrl, zone, commonLocation); - this.parentContexts.onChildOutletCreated(this.name, this); - } - ngOnDestroy() { - this.stackCtrl.destroy(); - this.inputBinder?.unsubscribeFromRouteData(this); - } - getContext() { - return this.parentContexts.getContext(this.name); - } - ngOnInit() { - this.initializeOutletWithName(); - } - // Note: Ionic deviates from the Angular Router implementation here - initializeOutletWithName() { - if (!this.activated) { - const context = this.getContext(); - if (context?.route) { - this.activateWith(context.route, context.injector); - } - } - new Promise((resolve) => e2(this.nativeEl, resolve)).then(() => { - if (this._swipeGesture === void 0) { - this.swipeGesture = this.config.getBoolean("swipeBackEnabled", this.nativeEl.mode === "ios"); - } - }); - } - get isActivated() { - return !!this.activated; - } - get component() { - if (!this.activated) { - throw new Error("Outlet is not activated"); - } - return this.activated.instance; - } - get activatedRoute() { - if (!this.activated) { - throw new Error("Outlet is not activated"); - } - return this._activatedRoute; - } - get activatedRouteData() { - if (this._activatedRoute) { - return this._activatedRoute.snapshot.data; - } - return {}; - } - /** - * Called when the `RouteReuseStrategy` instructs to detach the subtree - */ - detach() { - throw new Error("incompatible reuse strategy"); - } - /** - * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree - */ - // eslint-disable-next-line @typescript-eslint/no-unused-vars - attach(_ref, _activatedRoute) { - throw new Error("incompatible reuse strategy"); - } - deactivate() { - if (this.activated) { - if (this.activatedView) { - const context = this.getContext(); - this.activatedView.savedData = new Map(context.children["contexts"]); - const primaryOutlet = this.activatedView.savedData.get("primary"); - if (primaryOutlet && context.route) { - primaryOutlet.route = __spreadValues({}, context.route); - } - this.activatedView.savedExtras = {}; - if (context.route) { - const contextSnapshot = context.route.snapshot; - this.activatedView.savedExtras.queryParams = contextSnapshot.queryParams; - this.activatedView.savedExtras.fragment = contextSnapshot.fragment; - } - } - const c36 = this.component; - this.activatedView = null; - this.activated = null; - this._activatedRoute = null; - this.deactivateEvents.emit(c36); - } - } - activateWith(activatedRoute, environmentInjector) { - if (this.isActivated) { - throw new Error("Cannot activate an already activated outlet"); - } - this._activatedRoute = activatedRoute; - let cmpRef; - let enteringView = this.stackCtrl.getExistingView(activatedRoute); - if (enteringView) { - cmpRef = this.activated = enteringView.ref; - const saved = enteringView.savedData; - if (saved) { - const context = this.getContext(); - context.children["contexts"] = saved; - } - this.updateActivatedRouteProxy(cmpRef.instance, activatedRoute); - } else { - const snapshot = activatedRoute._futureSnapshot; - const childContexts = this.parentContexts.getOrCreateContext(this.name).children; - const component$ = new BehaviorSubject(null); - const activatedRouteProxy = this.createActivatedRouteProxy(component$, activatedRoute); - const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector); - const component = snapshot.routeConfig.component ?? snapshot.component; - cmpRef = this.activated = this.outletContent.createComponent(component, { - index: this.outletContent.length, - injector, - environmentInjector: environmentInjector ?? this.environmentInjector - }); - component$.next(cmpRef.instance); - enteringView = this.stackCtrl.createView(this.activated, activatedRoute); - this.proxyMap.set(cmpRef.instance, activatedRouteProxy); - this.currentActivatedRoute$.next({ - component: cmpRef.instance, - activatedRoute - }); - } - this.inputBinder?.bindActivatedRouteToOutletComponent(this); - this.activatedView = enteringView; - this.navCtrl.setTopOutlet(this); - const leavingView = this.stackCtrl.getActiveView(); - this.stackWillChange.emit({ - enteringView, - tabSwitch: isTabSwitch(enteringView, leavingView) - }); - this.stackCtrl.setActive(enteringView).then((data) => { - this.activateEvents.emit(cmpRef.instance); - this.stackDidChange.emit(data); - }); - } - /** - * Returns `true` if there are pages in the stack to go back. - */ - canGoBack(deep = 1, stackId) { - return this.stackCtrl.canGoBack(deep, stackId); - } - /** - * Resolves to `true` if it the outlet was able to sucessfully pop the last N pages. - */ - pop(deep = 1, stackId) { - return this.stackCtrl.pop(deep, stackId); - } - /** - * Returns the URL of the active page of each stack. - */ - getLastUrl(stackId) { - const active = this.stackCtrl.getLastUrl(stackId); - return active ? active.url : void 0; - } - /** - * Returns the RouteView of the active page of each stack. - * @internal - */ - getLastRouteView(stackId) { - return this.stackCtrl.getLastUrl(stackId); - } - /** - * Returns the root view in the tab stack. - * @internal - */ - getRootView(stackId) { - return this.stackCtrl.getRootUrl(stackId); - } - /** - * Returns the active stack ID. In the context of ion-tabs, it means the active tab. - */ - getActiveStackId() { - return this.stackCtrl.getActiveStackId(); - } - /** - * Since the activated route can change over the life time of a component in an ion router outlet, we create - * a proxy so that we can update the values over time as a user navigates back to components already in the stack. - */ - createActivatedRouteProxy(component$, activatedRoute) { - const proxy = new ActivatedRoute(); - proxy._futureSnapshot = activatedRoute._futureSnapshot; - proxy._routerState = activatedRoute._routerState; - proxy.snapshot = activatedRoute.snapshot; - proxy.outlet = activatedRoute.outlet; - proxy.component = activatedRoute.component; - proxy._paramMap = this.proxyObservable(component$, "paramMap"); - proxy._queryParamMap = this.proxyObservable(component$, "queryParamMap"); - proxy.url = this.proxyObservable(component$, "url"); - proxy.params = this.proxyObservable(component$, "params"); - proxy.queryParams = this.proxyObservable(component$, "queryParams"); - proxy.fragment = this.proxyObservable(component$, "fragment"); - proxy.data = this.proxyObservable(component$, "data"); - return proxy; - } - /** - * Create a wrapped observable that will switch to the latest activated route matched by the given component - */ - proxyObservable(component$, path) { - return component$.pipe( - // First wait until the component instance is pushed - filter((component) => !!component), - switchMap((component) => this.currentActivatedRoute$.pipe(filter((current) => current !== null && current.component === component), switchMap((current) => current && current.activatedRoute[path]), distinctUntilChanged())) - ); - } - /** - * Updates the activated route proxy for the given component to the new incoming router state - */ - updateActivatedRouteProxy(component, activatedRoute) { - const proxy = this.proxyMap.get(component); - if (!proxy) { - throw new Error(`Could not find activated route proxy for view`); - } - proxy._futureSnapshot = activatedRoute._futureSnapshot; - proxy._routerState = activatedRoute._routerState; - proxy.snapshot = activatedRoute.snapshot; - proxy.outlet = activatedRoute.outlet; - proxy.component = activatedRoute.component; - this.currentActivatedRoute$.next({ - component, - activatedRoute - }); - } - /** @nocollapse */ - static ɵfac = function IonRouterOutlet_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _IonRouterOutlet)(ɵɵinjectAttribute("name"), ɵɵinjectAttribute("tabs"), ɵɵdirectiveInject(Location), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Router), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ActivatedRoute), ɵɵdirectiveInject(_IonRouterOutlet, 12)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: _IonRouterOutlet, - selectors: [["ion-router-outlet"]], - inputs: { - animated: "animated", - animation: "animation", - mode: "mode", - swipeGesture: "swipeGesture", - name: "name" - }, - outputs: { - stackWillChange: "stackWillChange", - stackDidChange: "stackDidChange", - activateEvents: "activate", - deactivateEvents: "deactivate" - }, - exportAs: ["outlet"], - standalone: false - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonRouterOutlet, [{ - type: Directive, - args: [{ - selector: "ion-router-outlet", - exportAs: "outlet", - // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ["animated", "animation", "mode", "swipeGesture"] - }] - }], function() { - return [{ - type: void 0, - decorators: [{ - type: Attribute, - args: ["name"] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Attribute, - args: ["tabs"] - }] - }, { - type: Location - }, { - type: ElementRef - }, { - type: Router - }, { - type: NgZone - }, { - type: ActivatedRoute - }, { - type: IonRouterOutlet, - decorators: [{ - type: SkipSelf - }, { - type: Optional - }] - }]; - }, { - name: [{ - type: Input - }], - stackWillChange: [{ - type: Output - }], - stackDidChange: [{ - type: Output - }], - activateEvents: [{ - type: Output, - args: ["activate"] - }], - deactivateEvents: [{ - type: Output, - args: ["deactivate"] - }] - }); -})(); -var OutletInjector = class { - route; - childContexts; - parent; - constructor(route, childContexts, parent) { - this.route = route; - this.childContexts = childContexts; - this.parent = parent; - } - get(token, notFoundValue) { - if (token === ActivatedRoute) { - return this.route; - } - if (token === ChildrenOutletContexts) { - return this.childContexts; - } - return this.parent.get(token, notFoundValue); - } -}; -var INPUT_BINDER = new InjectionToken(""); -var RoutedComponentInputBinder = class _RoutedComponentInputBinder { - outletDataSubscriptions = /* @__PURE__ */ new Map(); - bindActivatedRouteToOutletComponent(outlet) { - this.unsubscribeFromRouteData(outlet); - this.subscribeToRouteData(outlet); - } - unsubscribeFromRouteData(outlet) { - this.outletDataSubscriptions.get(outlet)?.unsubscribe(); - this.outletDataSubscriptions.delete(outlet); - } - subscribeToRouteData(outlet) { - const { - activatedRoute - } = outlet; - const dataSubscription = combineLatest([activatedRoute.queryParams, activatedRoute.params, activatedRoute.data]).pipe(switchMap(([queryParams, params, data], index) => { - data = __spreadValues(__spreadValues(__spreadValues({}, queryParams), params), data); - if (index === 0) { - return of(data); - } - return Promise.resolve(data); - })).subscribe((data) => { - if (!outlet.isActivated || !outlet.activatedComponentRef || outlet.activatedRoute !== activatedRoute || activatedRoute.component === null) { - this.unsubscribeFromRouteData(outlet); - return; - } - const mirror = reflectComponentType(activatedRoute.component); - if (!mirror) { - this.unsubscribeFromRouteData(outlet); - return; - } - for (const { - templateName - } of mirror.inputs) { - outlet.activatedComponentRef.setInput(templateName, data[templateName]); - } - }); - this.outletDataSubscriptions.set(outlet, dataSubscription); - } - /** @nocollapse */ - static ɵfac = function RoutedComponentInputBinder_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _RoutedComponentInputBinder)(); - }; - /** @nocollapse */ - static ɵprov = ɵɵdefineInjectable({ - token: _RoutedComponentInputBinder, - factory: _RoutedComponentInputBinder.ɵfac - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(RoutedComponentInputBinder, [{ - type: Injectable - }], null, null); -})(); -var provideComponentInputBinding = () => { - return { - provide: INPUT_BINDER, - useFactory: componentInputBindingFactory, - deps: [Router] - }; -}; -function componentInputBindingFactory(router) { - if (router?.componentInputBindingEnabled) { - return new RoutedComponentInputBinder(); - } - return null; -} -var raf = (h19) => { - if (typeof __zone_symbol__requestAnimationFrame === "function") { - return __zone_symbol__requestAnimationFrame(h19); - } - if (typeof requestAnimationFrame === "function") { - return requestAnimationFrame(h19); - } - return setTimeout(h19); -}; -var ValueAccessor = class _ValueAccessor { - injector; - elementRef; - onChange = () => { - }; - onTouched = () => { - }; - lastValue; - statusChanges; - constructor(injector, elementRef) { - this.injector = injector; - this.elementRef = elementRef; - } - writeValue(value) { - this.elementRef.nativeElement.value = this.lastValue = value; - setIonicClasses(this.elementRef); - } - /** - * Notifies the ControlValueAccessor of a change in the value of the control. - * - * This is called by each of the ValueAccessor directives when we want to update - * the status and validity of the form control. For example with text components this - * is called when the ionInput event is fired. For select components this is called - * when the ionChange event is fired. - * - * This also updates the Ionic form status classes on the element. - * - * @param el The component element. - * @param value The new value of the control. - */ - handleValueChange(el, value) { - if (el === this.elementRef.nativeElement) { - if (value !== this.lastValue) { - this.lastValue = value; - this.onChange(value); - } - setIonicClasses(this.elementRef); - } - } - _handleBlurEvent(el) { - if (el === this.elementRef.nativeElement) { - this.onTouched(); - setIonicClasses(this.elementRef); - } else if (el.closest("ion-radio-group") === this.elementRef.nativeElement) { - this.onTouched(); - } - } - registerOnChange(fn) { - this.onChange = fn; - } - registerOnTouched(fn) { - this.onTouched = fn; - } - setDisabledState(isDisabled) { - this.elementRef.nativeElement.disabled = isDisabled; - } - ngOnDestroy() { - if (this.statusChanges) { - this.statusChanges.unsubscribe(); - } - } - ngAfterViewInit() { - let ngControl; - try { - ngControl = this.injector.get(NgControl); - } catch { - } - if (!ngControl) { - return; - } - if (ngControl.statusChanges) { - this.statusChanges = ngControl.statusChanges.subscribe(() => setIonicClasses(this.elementRef)); - } - const formControl = ngControl.control; - if (formControl) { - const methodsToPatch = ["markAsTouched", "markAllAsTouched", "markAsUntouched", "markAsDirty", "markAsPristine"]; - methodsToPatch.forEach((method) => { - if (typeof formControl[method] !== "undefined") { - const oldFn = formControl[method].bind(formControl); - formControl[method] = (...params) => { - oldFn(...params); - setIonicClasses(this.elementRef); - }; - } - }); - } - } - /** @nocollapse */ - static ɵfac = function ValueAccessor_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _ValueAccessor)(ɵɵdirectiveInject(Injector), ɵɵdirectiveInject(ElementRef)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: _ValueAccessor, - hostBindings: function ValueAccessor_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("ionBlur", function ValueAccessor_ionBlur_HostBindingHandler($event) { - return ctx._handleBlurEvent($event.target); - }); - } - }, - standalone: false - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ValueAccessor, [{ - type: Directive - }], function() { - return [{ - type: Injector - }, { - type: ElementRef - }]; - }, { - _handleBlurEvent: [{ - type: HostListener, - args: ["ionBlur", ["$event.target"]] - }] - }); -})(); -var setIonicClasses = (element) => { - raf(() => { - const input = element.nativeElement; - const hasValue = input.value != null && input.value.toString().length > 0; - const classes = getClasses(input); - setClasses(input, classes); - const item = input.closest("ion-item"); - if (item) { - if (hasValue) { - setClasses(item, [...classes, "item-has-value"]); - } else { - setClasses(item, classes); - } - } - }); -}; -var getClasses = (element) => { - const classList = element.classList; - const classes = []; - for (let i16 = 0; i16 < classList.length; i16++) { - const item = classList.item(i16); - if (item !== null && startsWith(item, "ng-")) { - classes.push(`ion-${item.substring(3)}`); - } - } - return classes; -}; -var setClasses = (element, classes) => { - const classList = element.classList; - classList.remove("ion-valid", "ion-invalid", "ion-touched", "ion-untouched", "ion-dirty", "ion-pristine"); - classList.add(...classes); -}; -var startsWith = (input, search) => { - return input.substring(0, search.length) === search; -}; -var BACK_BUTTON_INPUTS = ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"]; -var IonBackButton = class IonBackButton2 { - routerOutlet; - navCtrl; - config; - r; - z; - el; - constructor(routerOutlet, navCtrl, config, r32, z11, c36) { - this.routerOutlet = routerOutlet; - this.navCtrl = navCtrl; - this.config = config; - this.r = r32; - this.z = z11; - c36.detach(); - this.el = this.r.nativeElement; - } - /** - * @internal - */ - onClick(ev) { - const defaultHref = this.defaultHref || this.config.get("backButtonDefaultHref"); - if (this.routerOutlet?.canGoBack()) { - this.navCtrl.setDirection("back", void 0, void 0, this.routerAnimation); - this.routerOutlet.pop(); - ev.preventDefault(); - } else if (defaultHref != null) { - this.navCtrl.navigateBack(defaultHref, { - animation: this.routerAnimation - }); - ev.preventDefault(); - } - } - /** @nocollapse */ - static ɵfac = function IonBackButton_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || IonBackButton2)(ɵɵdirectiveInject(IonRouterOutlet, 8), ɵɵdirectiveInject(NavController), ɵɵdirectiveInject(Config), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ChangeDetectorRef)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: IonBackButton2, - hostBindings: function IonBackButton_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("click", function IonBackButton_click_HostBindingHandler($event) { - return ctx.onClick($event); - }); - } - }, - inputs: { - color: "color", - defaultHref: "defaultHref", - disabled: "disabled", - icon: "icon", - mode: "mode", - routerAnimation: "routerAnimation", - text: "text", - type: "type" - }, - standalone: false - }); -}; -IonBackButton = __decorate([ProxyCmp({ - inputs: BACK_BUTTON_INPUTS -})], IonBackButton); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonBackButton, [{ - type: Directive, - args: [{ - // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: BACK_BUTTON_INPUTS - }] - }], function() { - return [{ - type: IonRouterOutlet, - decorators: [{ - type: Optional - }] - }, { - type: NavController - }, { - type: Config - }, { - type: ElementRef - }, { - type: NgZone - }, { - type: ChangeDetectorRef - }]; - }, { - onClick: [{ - type: HostListener, - args: ["click", ["$event"]] - }] - }); -})(); -var NAV_INPUTS = ["animated", "animation", "root", "rootParams", "swipeGesture"]; -var NAV_METHODS = ["push", "insert", "insertPages", "pop", "popTo", "popToRoot", "removeIndex", "setRoot", "setPages", "getActive", "getByIndex", "canGoBack", "getPrevious"]; -var IonNav = class IonNav2 { - z; - el; - constructor(ref, environmentInjector, injector, angularDelegate, z11, c36) { - this.z = z11; - c36.detach(); - this.el = ref.nativeElement; - ref.nativeElement.delegate = angularDelegate.create(environmentInjector, injector); - proxyOutputs(this, this.el, ["ionNavDidChange", "ionNavWillChange"]); - } - /** @nocollapse */ - static ɵfac = function IonNav_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || IonNav2)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(EnvironmentInjector), ɵɵdirectiveInject(Injector), ɵɵdirectiveInject(AngularDelegate), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ChangeDetectorRef)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: IonNav2, - inputs: { - animated: "animated", - animation: "animation", - root: "root", - rootParams: "rootParams", - swipeGesture: "swipeGesture" - }, - standalone: false - }); -}; -IonNav = __decorate([ProxyCmp({ - inputs: NAV_INPUTS, - methods: NAV_METHODS -})], IonNav); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonNav, [{ - type: Directive, - args: [{ - // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: NAV_INPUTS - }] - }], function() { - return [{ - type: ElementRef - }, { - type: EnvironmentInjector - }, { - type: Injector - }, { - type: AngularDelegate - }, { - type: NgZone - }, { - type: ChangeDetectorRef - }]; - }, null); -})(); -var RouterLinkDelegateDirective = class _RouterLinkDelegateDirective { - locationStrategy; - navCtrl; - elementRef; - router; - routerLink; - routerDirection = "forward"; - routerAnimation; - constructor(locationStrategy, navCtrl, elementRef, router, routerLink) { - this.locationStrategy = locationStrategy; - this.navCtrl = navCtrl; - this.elementRef = elementRef; - this.router = router; - this.routerLink = routerLink; - } - ngOnInit() { - this.updateTargetUrlAndHref(); - this.updateTabindex(); - } - ngOnChanges() { - this.updateTargetUrlAndHref(); - } - /** - * The `tabindex` is set to `0` by default on the host element when - * the `routerLink` directive is used. This causes issues with Ionic - * components that wrap an `a` or `button` element, such as `ion-item`. - * See issue https://github.com/angular/angular/issues/28345 - * - * This method removes the `tabindex` attribute from the host element - * to allow the Ionic component to manage the focus state correctly. - */ - updateTabindex() { - const ionicComponents = ["ION-BACK-BUTTON", "ION-BREADCRUMB", "ION-BUTTON", "ION-CARD", "ION-FAB-BUTTON", "ION-ITEM", "ION-ITEM-OPTION", "ION-MENU-BUTTON", "ION-SEGMENT-BUTTON", "ION-TAB-BUTTON"]; - const hostElement = this.elementRef.nativeElement; - if (ionicComponents.includes(hostElement.tagName)) { - if (hostElement.getAttribute("tabindex") === "0") { - hostElement.removeAttribute("tabindex"); - } - } - } - updateTargetUrlAndHref() { - if (this.routerLink?.urlTree) { - const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree)); - this.elementRef.nativeElement.href = href; - } - } - /** - * @internal - */ - onClick(ev) { - this.navCtrl.setDirection(this.routerDirection, void 0, void 0, this.routerAnimation); - ev.preventDefault(); - } - /** @nocollapse */ - static ɵfac = function RouterLinkDelegateDirective_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _RouterLinkDelegateDirective)(ɵɵdirectiveInject(LocationStrategy), ɵɵdirectiveInject(NavController), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Router), ɵɵdirectiveInject(RouterLink, 8)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: _RouterLinkDelegateDirective, - selectors: [["", "routerLink", "", 5, "a", 5, "area"]], - hostBindings: function RouterLinkDelegateDirective_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("click", function RouterLinkDelegateDirective_click_HostBindingHandler($event) { - return ctx.onClick($event); - }); - } - }, - inputs: { - routerDirection: "routerDirection", - routerAnimation: "routerAnimation" - }, - standalone: false, - features: [ɵɵNgOnChangesFeature] - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(RouterLinkDelegateDirective, [{ - type: Directive, - args: [{ - selector: ":not(a):not(area)[routerLink]" - }] - }], function() { - return [{ - type: LocationStrategy - }, { - type: NavController - }, { - type: ElementRef - }, { - type: Router - }, { - type: RouterLink, - decorators: [{ - type: Optional - }] - }]; - }, { - routerDirection: [{ - type: Input - }], - routerAnimation: [{ - type: Input - }], - onClick: [{ - type: HostListener, - args: ["click", ["$event"]] - }] - }); -})(); -var RouterLinkWithHrefDelegateDirective = class _RouterLinkWithHrefDelegateDirective { - locationStrategy; - navCtrl; - elementRef; - router; - routerLink; - routerDirection = "forward"; - routerAnimation; - constructor(locationStrategy, navCtrl, elementRef, router, routerLink) { - this.locationStrategy = locationStrategy; - this.navCtrl = navCtrl; - this.elementRef = elementRef; - this.router = router; - this.routerLink = routerLink; - } - ngOnInit() { - this.updateTargetUrlAndHref(); - } - ngOnChanges() { - this.updateTargetUrlAndHref(); - } - updateTargetUrlAndHref() { - if (this.routerLink?.urlTree) { - const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree)); - this.elementRef.nativeElement.href = href; - } - } - /** - * @internal - */ - onClick() { - this.navCtrl.setDirection(this.routerDirection, void 0, void 0, this.routerAnimation); - } - /** @nocollapse */ - static ɵfac = function RouterLinkWithHrefDelegateDirective_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _RouterLinkWithHrefDelegateDirective)(ɵɵdirectiveInject(LocationStrategy), ɵɵdirectiveInject(NavController), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Router), ɵɵdirectiveInject(RouterLink, 8)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: _RouterLinkWithHrefDelegateDirective, - selectors: [["a", "routerLink", ""], ["area", "routerLink", ""]], - hostBindings: function RouterLinkWithHrefDelegateDirective_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("click", function RouterLinkWithHrefDelegateDirective_click_HostBindingHandler() { - return ctx.onClick(); - }); - } - }, - inputs: { - routerDirection: "routerDirection", - routerAnimation: "routerAnimation" - }, - standalone: false, - features: [ɵɵNgOnChangesFeature] - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(RouterLinkWithHrefDelegateDirective, [{ - type: Directive, - args: [{ - selector: "a[routerLink],area[routerLink]" - }] - }], function() { - return [{ - type: LocationStrategy - }, { - type: NavController - }, { - type: ElementRef - }, { - type: Router - }, { - type: RouterLink, - decorators: [{ - type: Optional - }] - }]; - }, { - routerDirection: [{ - type: Input - }], - routerAnimation: [{ - type: Input - }], - onClick: [{ - type: HostListener, - args: ["click"] - }] - }); -})(); -var IonTabs = class _IonTabs { - navCtrl; - tabsInner; - /** - * Emitted before the tab view is changed. - */ - ionTabsWillChange = new EventEmitter(); - /** - * Emitted after the tab view is changed. - */ - ionTabsDidChange = new EventEmitter(); - tabBarSlot = "bottom"; - hasTab = false; - selectedTab; - leavingTab; - constructor(navCtrl) { - this.navCtrl = navCtrl; - } - ngAfterViewInit() { - const firstTab = this.tabs.length > 0 ? this.tabs.first : void 0; - if (firstTab) { - this.hasTab = true; - this.setActiveTab(firstTab.tab); - this.tabSwitch(); - } - } - ngAfterContentInit() { - this.detectSlotChanges(); - } - ngAfterContentChecked() { - this.detectSlotChanges(); - } - /** - * @internal - */ - onStackWillChange({ - enteringView, - tabSwitch - }) { - const stackId = enteringView.stackId; - if (tabSwitch && stackId !== void 0) { - this.ionTabsWillChange.emit({ - tab: stackId - }); - } - } - /** - * @internal - */ - onStackDidChange({ - enteringView, - tabSwitch - }) { - const stackId = enteringView.stackId; - if (tabSwitch && stackId !== void 0) { - if (this.tabBar) { - this.tabBar.selectedTab = stackId; - } - this.ionTabsDidChange.emit({ - tab: stackId - }); - } - } - /** - * When a tab button is clicked, there are several scenarios: - * 1. If the selected tab is currently active (the tab button has been clicked - * again), then it should go to the root view for that tab. - * - * a. Get the saved root view from the router outlet. If the saved root view - * matches the tabRootUrl, set the route view to this view including the - * navigation extras. - * b. If the saved root view from the router outlet does - * not match, navigate to the tabRootUrl. No navigation extras are - * included. - * - * 2. If the current tab tab is not currently selected, get the last route - * view from the router outlet. - * - * a. If the last route view exists, navigate to that view including any - * navigation extras - * b. If the last route view doesn't exist, then navigate - * to the default tabRootUrl - */ - select(tabOrEvent) { - const isTabString = typeof tabOrEvent === "string"; - const tab = isTabString ? tabOrEvent : tabOrEvent.detail.tab; - if (this.hasTab) { - this.setActiveTab(tab); - this.tabSwitch(); - return; - } - const alreadySelected = this.outlet.getActiveStackId() === tab; - const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`; - if (!isTabString) { - tabOrEvent.stopPropagation(); - } - if (alreadySelected) { - const activeStackId = this.outlet.getActiveStackId(); - const activeView = this.outlet.getLastRouteView(activeStackId); - if (activeView?.url === tabRootUrl) { - return; - } - const rootView = this.outlet.getRootView(tab); - const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras; - return this.navCtrl.navigateRoot(tabRootUrl, __spreadProps(__spreadValues({}, navigationExtras), { - animated: true, - animationDirection: "back" - })); - } else { - const lastRoute = this.outlet.getLastRouteView(tab); - const url = lastRoute?.url || tabRootUrl; - const navigationExtras = lastRoute?.savedExtras; - return this.navCtrl.navigateRoot(url, __spreadProps(__spreadValues({}, navigationExtras), { - animated: true, - animationDirection: "back" - })); - } - } - setActiveTab(tab) { - const tabs = this.tabs; - const selectedTab = tabs.find((t16) => t16.tab === tab); - if (!selectedTab) { - console.error(`[Ionic Error]: Tab with id: "${tab}" does not exist`); - return; - } - this.leavingTab = this.selectedTab; - this.selectedTab = selectedTab; - this.ionTabsWillChange.emit({ - tab - }); - selectedTab.el.active = true; - } - tabSwitch() { - const { - selectedTab, - leavingTab - } = this; - if (this.tabBar && selectedTab) { - this.tabBar.selectedTab = selectedTab.tab; - } - if (leavingTab?.tab !== selectedTab?.tab) { - if (leavingTab?.el) { - leavingTab.el.active = false; - } - } - if (selectedTab) { - this.ionTabsDidChange.emit({ - tab: selectedTab.tab - }); - } - } - getSelected() { - if (this.hasTab) { - return this.selectedTab?.tab; - } - return this.outlet.getActiveStackId(); - } - /** - * Detects changes to the slot attribute of the tab bar. - * - * If the slot attribute has changed, then the tab bar - * should be relocated to the new slot position. - */ - detectSlotChanges() { - this.tabBars.forEach((tabBar) => { - const currentSlot = tabBar.el.getAttribute("slot"); - if (currentSlot !== this.tabBarSlot) { - this.tabBarSlot = currentSlot; - this.relocateTabBar(); - } - }); - } - /** - * Relocates the tab bar to the new slot position. - */ - relocateTabBar() { - const tabBar = this.tabBar.el; - if (this.tabBarSlot === "top") { - this.tabsInner.nativeElement.before(tabBar); - } else { - this.tabsInner.nativeElement.after(tabBar); - } - } - /** @nocollapse */ - static ɵfac = function IonTabs_Factory(__ngFactoryType__) { - return new (__ngFactoryType__ || _IonTabs)(ɵɵdirectiveInject(NavController)); - }; - /** @nocollapse */ - static ɵdir = ɵɵdefineDirective({ - type: _IonTabs, - selectors: [["ion-tabs"]], - viewQuery: function IonTabs_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(_c0, 7, ElementRef); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.tabsInner = _t.first); - } - }, - hostBindings: function IonTabs_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("ionTabButtonClick", function IonTabs_ionTabButtonClick_HostBindingHandler($event) { - return ctx.select($event); - }); - } - }, - outputs: { - ionTabsWillChange: "ionTabsWillChange", - ionTabsDidChange: "ionTabsDidChange" - }, - standalone: false - }); -}; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IonTabs, [{ - type: Directive, - args: [{ - selector: "ion-tabs" - }] - }], function() { - return [{ - type: NavController - }]; - }, { - tabsInner: [{ - type: ViewChild, - args: ["tabsInner", { - read: ElementRef, - static: true - }] - }], - ionTabsWillChange: [{ - type: Output - }], - ionTabsDidChange: [{ - type: Output - }], - select: [{ - type: HostListener, - args: ["ionTabButtonClick", ["$event"]] - }] - }); -})(); -var OverlayBaseController = class { - ctrl; - constructor(ctrl) { - this.ctrl = ctrl; - } - /** - * Creates a new overlay - */ - create(opts) { - return this.ctrl.create(opts || {}); - } - /** - * When `id` is not provided, it dismisses the top overlay. - */ - dismiss(data, role, id) { - return this.ctrl.dismiss(data, role, id); - } - /** - * Returns the top overlay. - */ - getTop() { - return this.ctrl.getTop(); - } -}; -var IonicRouteStrategy = class { - /** - * Whether the given route should detach for later reuse. - */ - shouldDetach(_route) { - return false; - } - /** - * Returns `false`, meaning the route (and its subtree) is never reattached - */ - shouldAttach(_route) { - return false; - } - /** - * A no-op; the route is never stored since this strategy never detaches routes for later re-use. - */ - store(_route, _detachedTree) { - return; - } - /** - * Returns `null` because this strategy does not store routes for later re-use. - */ - retrieve(_route) { - return null; - } - /** - * Determines if a route should be reused. - * This strategy returns `true` when the future route config and - * current route config are identical and all route parameters are identical. - */ - shouldReuseRoute(future, curr) { - if (future.routeConfig !== curr.routeConfig) { - return false; - } - const futureParams = future.params; - const currentParams = curr.params; - const keysA = Object.keys(futureParams); - const keysB = Object.keys(currentParams); - if (keysA.length !== keysB.length) { - return false; - } - for (const key of keysA) { - if (currentParams[key] !== futureParams[key]) { - return false; - } - } - return true; - } -}; - -// node_modules/@ionic/core/components/p-CO7fmmxt.js -var s7 = "data:image/svg+xml;utf8,"; -var o9 = "data:image/svg+xml;utf8,"; -var i9 = "data:image/svg+xml;utf8,"; -var n6 = "data:image/svg+xml;utf8,"; -var a6 = "data:image/svg+xml;utf8,"; -var t9 = "data:image/svg+xml;utf8,"; -var l8 = "data:image/svg+xml;utf8,"; -var g3 = "data:image/svg+xml;utf8,"; -var e7 = "data:image/svg+xml;utf8,"; -var w3 = "data:image/svg+xml;utf8,"; -var c8 = "data:image/svg+xml;utf8,"; -var v5 = "data:image/svg+xml;utf8,"; -var r6 = "data:image/svg+xml;utf8,"; -var m3 = "data:image/svg+xml;utf8,"; -var d4 = "data:image/svg+xml;utf8,"; -var x4 = "data:image/svg+xml;utf8,"; -var h6 = "data:image/svg+xml;utf8,"; -var p5 = "data:image/svg+xml;utf8,"; -var u5 = "data:image/svg+xml;utf8,"; -var k2 = "data:image/svg+xml;utf8,"; -var f6 = "data:image/svg+xml;utf8,"; -var M3 = "data:image/svg+xml;utf8,"; -var B3 = "data:image/svg+xml;utf8,"; -var j3 = "data:image/svg+xml;utf8,"; -var Z2 = "data:image/svg+xml;utf8,"; - -// node_modules/@ionic/core/components/p-YLXPWgVj.js -var e8; -var c9 = (o14, t16, n15, i16, r32) => (n15 = "ios" === (n15 && h7(n15)) ? "ios" : "md", i16 && "ios" === n15 ? o14 = h7(i16) : r32 && "md" === n15 ? o14 = h7(r32) : (o14 || !t16 || a7(t16) || (o14 = t16), d5(o14) && (o14 = h7(o14))), d5(o14) && "" !== o14.trim() ? "" !== o14.replace(/[a-z]|-|\d/gi, "") ? null : o14 : null); -var l9 = (o14) => d5(o14) && (o14 = o14.trim(), a7(o14)) ? o14 : null; -var a7 = (o14) => o14.length > 0 && /(\/|\.)/.test(o14); -var d5 = (o14) => "string" == typeof o14; -var h7 = (o14) => o14.toLowerCase(); -var f7 = (o14) => { - if (1 === o14.nodeType) { - if ("script" === o14.nodeName.toLowerCase()) return false; - for (let t16 = 0; t16 < o14.attributes.length; t16++) { - const n15 = o14.attributes[t16].name; - if (d5(n15) && 0 === n15.toLowerCase().indexOf("on")) return false; - } - for (let t16 = 0; t16 < o14.childNodes.length; t16++) if (!f7(o14.childNodes[t16])) return false; - } - return true; -}; -var u6 = /* @__PURE__ */ new Map(); -var m4 = /* @__PURE__ */ new Map(); -var p6; -function g4(o14) { - return u6.set(o14, ""), ""; -} -var w4 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.iconName = null, this.inheritedAttributes = {}, this.didLoadIcon = false, this.isVisible = false, this.mode = b4(), this.lazy = false, this.sanitize = true; - } - componentWillLoad() { - this.inheritedAttributes = ((o14, t16 = []) => { - const n15 = {}; - return t16.forEach(((t17) => { - o14.hasAttribute(t17) && (null !== o14.getAttribute(t17) && (n15[t17] = o14.getAttribute(t17)), o14.removeAttribute(t17)); - })), n15; - })(this.el, ["aria-label"]); - } - connectedCallback() { - this.waitUntilVisible(this.el, "50px", (() => { - this.isVisible = true, this.loadIcon(); - })); - } - componentDidLoad() { - this.didLoadIcon || this.loadIcon(); - } - disconnectedCallback() { - this.io && (this.io.disconnect(), this.io = void 0); - } - waitUntilVisible(o14, t16, n15) { - if (!Boolean(this.lazy && "undefined" != typeof window && window.IntersectionObserver)) return n15(); - const i16 = this.io = new window.IntersectionObserver(((o15) => { - o15[0].isIntersecting && (i16.disconnect(), this.io = void 0, n15()); - }), { rootMargin: t16 }); - i16.observe(o14); - } - loadIcon() { - if (this.isVisible) { - const t16 = ((t17) => { - let n15 = l9(t17.src); - if (n15) return n15; - if (n15 = c9(t17.name, t17.icon, t17.mode, t17.ios, t17.md), n15) return ((t18, n16) => { - const i16 = (() => { - if ("undefined" == typeof window) return /* @__PURE__ */ new Map(); - if (!e8) { - const o14 = window; - o14.Ionicons = o14.Ionicons || {}, e8 = o14.Ionicons.map = o14.Ionicons.map || /* @__PURE__ */ new Map(); - } - return e8; - })().get(t18); - if (i16) return i16; - try { - return q(`svg/${t18}.svg`); - } catch (o14) { - console.log("e", o14), console.warn(`[Ionicons Warning]: Could not load icon with name "${t18}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`, n16); - } - })(n15, t17); - if (t17.icon) { - if (n15 = l9(t17.icon), n15) return n15; - if (n15 = l9(t17.icon[t17.mode]), n15) return n15; - } - return null; - })(this); - t16 && (u6.has(t16) ? this.svgContent = u6.get(t16) : ((o14, t17) => m4.get(o14) || ("undefined" != typeof fetch && "undefined" != typeof document ? ((o15) => o15.startsWith("data:image/svg+xml"))(o14) && ((o15) => -1 !== o15.indexOf(";utf8,"))(o14) ? Promise.resolve((function(o15) { - p6 || (p6 = new DOMParser()); - const t18 = p6.parseFromString(o15, "text/html").querySelector("svg"); - if (t18) return u6.set(o15, t18.outerHTML), t18.outerHTML; - throw new Error(`Could not parse svg from ${o15}`); - })(o14)) : (function(o15, t18) { - const n15 = fetch(o15).then(((n16) => n16.text().then(((n17) => { - n17 && false !== t18 && (n17 = ((o16) => { - const t19 = document.createElement("div"); - t19.innerHTML = o16; - for (let o17 = t19.childNodes.length - 1; o17 >= 0; o17--) "svg" !== t19.childNodes[o17].nodeName.toLowerCase() && t19.removeChild(t19.childNodes[o17]); - const n18 = t19.firstElementChild; - if (n18 && "svg" === n18.nodeName.toLowerCase()) { - const o17 = n18.getAttribute("class") || ""; - if (n18.setAttribute("class", (o17 + " s-ion-icon").trim()), f7(n18)) return t19.innerHTML; - } - return ""; - })(n17)); - const i16 = n17 || ""; - return u6.set(o15, i16), i16; - })).catch((() => g4(o15))))).catch((() => g4(o15))); - return m4.set(o15, n15), n15; - })(o14, t17) : Promise.resolve(g4(o14))))(t16, this.sanitize).then((() => this.svgContent = u6.get(t16))), this.didLoadIcon = true); - } - this.iconName = c9(this.name, this.icon, this.mode, this.ios, this.md); - } - render() { - const { flipRtl: o14, iconName: t16, inheritedAttributes: n15, el: s21 } = this, e16 = this.mode || "md", c36 = !!t16 && (t16.includes("arrow") || t16.includes("chevron")) && false !== o14, l28 = o14 || c36; - return Ct(It, Object.assign({ key: "0578c899781ca145dd8205acd9670af39b57cf2e", role: "img", class: Object.assign(Object.assign({ [e16]: true }, v6(this.color)), { [`icon-${this.size}`]: !!this.size, "flip-rtl": l28, "icon-rtl": l28 && (a16 = s21, a16 && "" !== a16.dir ? "rtl" === a16.dir.toLowerCase() : "rtl" === (null === document || void 0 === document ? void 0 : document.dir.toLowerCase())) }) }, n15), Ct("div", this.svgContent ? { class: "icon-inner", innerHTML: this.svgContent } : { class: "icon-inner" })); - var a16; - } - static get assetsDirs() { - return ["svg"]; - } - get el() { - return this; - } - static get watchers() { - return { name: [{ loadIcon: 0 }], src: [{ loadIcon: 0 }], icon: [{ loadIcon: 0 }], ios: [{ loadIcon: 0 }], md: [{ loadIcon: 0 }] }; - } - static get style() { - return ":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}"; - } -}, [1, "ion-icon", { mode: [1025], color: [1], ios: [1], md: [1], flipRtl: [4, "flip-rtl"], name: [513], src: [1], icon: [8], size: [1], lazy: [4], sanitize: [4], svgContent: [32], isVisible: [32] }, void 0, { name: [{ loadIcon: 0 }], src: [{ loadIcon: 0 }], icon: [{ loadIcon: 0 }], ios: [{ loadIcon: 0 }], md: [{ loadIcon: 0 }] }]); -var b4 = () => "undefined" != typeof document && document.documentElement.getAttribute("mode") || "md"; -var v6 = (o14) => o14 ? { "ion-color": true, [`ion-color-${o14}`]: true } : null; -function y4() { - "undefined" != typeof customElements && ["ion-icon"].forEach(((o14) => { - "ion-icon" === o14 && (customElements.get(Zn(o14)) || customElements.define(Zn(o14), w4)); - })); -} - -// node_modules/@ionic/core/components/p-fpbh6w3f.js -var m5 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.type = "bounded"; - } - addRipple(t16, n15) { - return __async(this, null, function* () { - return new Promise(((e16) => { - W((() => { - const i16 = this.el.getBoundingClientRect(), o14 = i16.width, r32 = i16.height, s21 = Math.sqrt(o14 * o14 + r32 * r32), m26 = Math.max(r32, o14), p33 = this.unbounded ? m26 : s21 + f8, u19 = Math.floor(m26 * l10), d24 = p33 / u19; - let b20 = t16 - i16.left, k11 = n15 - i16.top; - this.unbounded && (b20 = 0.5 * o14, k11 = 0.5 * r32); - const w11 = b20 - 0.5 * u19, y12 = k11 - 0.5 * u19, h19 = 0.5 * o14 - b20, g20 = 0.5 * r32 - k11; - P((() => { - const t17 = document.createElement("div"); - t17.classList.add("ripple-effect"); - const n16 = t17.style; - n16.top = y12 + "px", n16.left = w11 + "px", n16.width = n16.height = u19 + "px", n16.setProperty("--final-scale", `${d24}`), n16.setProperty("--translate-end", `${h19}px, ${g20}px`), (this.el.shadowRoot || this.el).appendChild(t17), setTimeout((() => { - e16((() => { - c10(t17); - })); - }), 325); - })); - })); - })); - }); - } - get unbounded() { - return "unbounded" === this.type; - } - render() { - const t16 = g(this); - return Ct(It, { key: "3b59cbb44741569a7350f9638b4392add673b6f1", role: "presentation", class: { [t16]: true, unbounded: this.unbounded } }); - } - get el() { - return this; - } - static get style() { - return ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}"; - } -}, [1, "ion-ripple-effect", { type: [1], addRipple: [64] }]); -var c10 = (t16) => { - t16.classList.add("fade-out"), setTimeout((() => { - t16.remove(); - }), 200); -}; -var f8 = 10; -var l10 = 0.5; -function p7() { - "undefined" != typeof customElements && ["ion-ripple-effect"].forEach(((t16) => { - "ion-ripple-effect" === t16 && (customElements.get(Zn(t16)) || customElements.define(Zn(t16), m5)); - })); -} - -// node_modules/@ionic/core/components/ion-back-button.js -var m6 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.inheritedAttributes = {}, this.disabled = false, this.type = "button", this.onClick = (t17) => __async(this, null, function* () { - const n15 = this.el.closest("ion-nav"); - return t17.preventDefault(), n15 && (yield n15.canGoBack()) ? n15.pop({ animationBuilder: this.routerAnimation, skipIfBusy: true }) : l7(this.defaultHref, t17, "back", this.routerAnimation); - }); - } - componentWillLoad() { - this.inheritedAttributes = s2(this.el), void 0 === this.defaultHref && (this.defaultHref = n.get("backButtonDefaultHref")); - } - get backButtonIcon() { - const t16 = this.icon; - return null != t16 ? t16 : "ios" === g(this) ? n.get("backButtonIcon", l8) : n.get("backButtonIcon", s7); - } - get backButtonText() { - const t16 = "ios" === g(this) ? "Back" : null; - return null != this.text ? this.text : n.get("backButtonText", t16); - } - get hasIconOnly() { - return this.backButtonIcon && !this.backButtonText; - } - get rippleType() { - return this.hasIconOnly ? "unbounded" : "bounded"; - } - render() { - const { color: t16, defaultHref: n15, disabled: o14, type: a16, hasIconOnly: r32, backButtonIcon: d24, backButtonText: l28, icon: p33, inheritedAttributes: b20 } = this, h19 = void 0 !== n15, m26 = g(this), u19 = b20["aria-label"] || l28 || "back"; - return Ct(It, { key: "5466624a10f1ab56f5469e6dc07080303880f2fe", onClick: this.onClick, class: o6(t16, { [m26]: true, button: true, "back-button-disabled": o14, "back-button-has-icon-only": r32, "in-toolbar": n5("ion-toolbar", this.el), "in-toolbar-color": n5("ion-toolbar[color]", this.el), "ion-activatable": true, "ion-focusable": true, "show-back-button": h19 }) }, Ct("button", { key: "63bc75ef0ad7cc9fb79e58217a3314b20acd73e3", type: a16, disabled: o14, class: "button-native", part: "native", "aria-label": u19 }, Ct("span", { key: "5d3eacbd11af2245c6e1151cab446a0d96559ad8", class: "button-inner" }, d24 && Ct("ion-icon", { key: "6439af0ae463764174e7d3207f02267811df666d", part: "icon", icon: d24, "aria-hidden": "true", lazy: false, "flip-rtl": void 0 === p33 }), l28 && Ct("span", { key: "8ee89fb18dfdb5b75948a8b197ff4cdbc008742f", part: "text", "aria-hidden": "true", class: "button-text" }, l28)), "md" === m26 && Ct("ion-ripple-effect", { key: "63803a884998bc73bea5afe0b2a0a14e3fa4d6bf", type: this.rippleType }))); - } - get el() { - return this; - } - static get style() { - return { ios: ':host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-hover:transparent;--background-hover-opacity:1;--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--icon-margin-end:1px;--icon-margin-start:-4px;--icon-font-size:1.6em;--min-height:32px;font-size:clamp(17px, 1.0625rem, 21.998px)}.button-native{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:visible;z-index:99}:host(.ion-activated) .button-native{opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}', md: ':host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--border-radius:4px;--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:0.04;--color:currentColor;--icon-margin-end:0;--icon-margin-start:0;--icon-font-size:1.5rem;--icon-font-weight:normal;--min-height:32px;--min-width:44px;--padding-start:12px;--padding-end:12px;font-size:0.875rem;font-weight:500;text-transform:uppercase}:host(.back-button-has-icon-only){--border-radius:50%;min-width:48px;min-height:48px;aspect-ratio:1/1}.button-native{-webkit-box-shadow:none;box-shadow:none}.button-text{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0}ion-icon{line-height:0.67;text-align:start}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}' }; - } -}, [33, "ion-back-button", { color: [513], defaultHref: [1025, "default-href"], disabled: [516], icon: [1], text: [1], type: [1], routerAnimation: [16] }]); -var v7 = function() { - "undefined" != typeof customElements && ["ion-back-button", "ion-icon", "ion-ripple-effect"].forEach(((t16) => { - switch (t16) { - case "ion-back-button": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), m6); - break; - case "ion-icon": - customElements.get(Zn(t16)) || y4(); - break; - case "ion-ripple-effect": - customElements.get(Zn(t16)) || p7(); - } - })); -}; - -// node_modules/@ionic/core/components/p-B-hirT0v.js -var t10 = () => { - let t16; - return { lock: () => __async(null, null, function* () { - const e16 = t16; - let n15; - return t16 = new Promise(((t17) => n15 = t17)), void 0 !== e16 && (yield e16), n15; - }) }; -}; - -// node_modules/@ionic/core/components/ion-router-outlet.js -var b5 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.ionNavWillLoad = Jt(this, "ionNavWillLoad", 7), this.ionNavWillChange = Jt(this, "ionNavWillChange", 3), this.ionNavDidChange = Jt(this, "ionNavDidChange", 3), this.lockController = t10(), this.gestureOrAnimationInProgress = false, this.mode = g(this), this.animated = true; - } - swipeHandlerChanged() { - this.gesture && this.gesture.enable(void 0 !== this.swipeHandler); - } - connectedCallback() { - return __async(this, null, function* () { - const t16 = () => { - this.gestureOrAnimationInProgress = true, this.swipeHandler && this.swipeHandler.onStart(); - }; - this.gesture = (yield import("./p-Cz5nLPGT-CBYZEIZW.js")).createSwipeBackGesture(this.el, (() => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart()), (() => t16()), ((t17) => { - var i16; - return null === (i16 = this.ani) || void 0 === i16 ? void 0 : i16.progressStep(t17); - }), ((t17, i16, s21) => { - if (this.ani) { - this.ani.onFinish((() => { - this.gestureOrAnimationInProgress = false, this.swipeHandler && this.swipeHandler.onEnd(t17); - }), { oneTimeCallback: true }); - let e16 = t17 ? -1e-3 : 1e-3; - t17 ? e16 += t6([0, 0], [0.32, 0.72], [0, 1], [1, 1], i16)[0] : (this.ani.easing("cubic-bezier(1, 0, 0.68, 0.28)"), e16 += t6([0, 0], [1, 0], [0.68, 0.28], [1, 1], i16)[0]), this.ani.progressEnd(t17 ? 1 : 0, e16, s21); - } else this.gestureOrAnimationInProgress = false; - })), this.swipeHandlerChanged(); - }); - } - componentWillLoad() { - this.ionNavWillLoad.emit(); - } - disconnectedCallback() { - this.gesture && (this.gesture.destroy(), this.gesture = void 0); - } - commit(t16, i16, s21) { - return __async(this, null, function* () { - const a16 = yield this.lockController.lock(); - let o14 = false; - try { - o14 = yield this.transition(t16, i16, s21); - } catch (t17) { - f("[ion-router-outlet] - Exception in commit:", t17); - } - return a16(), o14; - }); - } - setRouteId(t16, i16, s21, e16) { - return __async(this, null, function* () { - return { changed: yield this.setRoot(t16, i16, { duration: "root" === s21 ? 0 : void 0, direction: "back" === s21 ? "back" : "forward", animationBuilder: e16 }), element: this.activeEl }; - }); - } - getRouteId() { - return __async(this, null, function* () { - const t16 = this.activeEl; - return t16 ? { id: t16.tagName, element: t16, params: this.activeParams } : void 0; - }); - } - setRoot(t16, i16, s21) { - return __async(this, null, function* () { - if (this.activeComponent === t16 && _(i16, this.activeParams)) return false; - const e16 = this.activeEl, a16 = yield o8(this.delegate, this.el, t16, ["ion-page", "ion-page-invisible"], i16); - return this.activeComponent = t16, this.activeEl = a16, this.activeParams = i16, yield this.commit(a16, e16, s21), yield t8(this.delegate, e16), true; - }); - } - transition(_0, _1) { - return __async(this, arguments, function* (t16, i16, s21 = {}) { - if (i16 === t16) return false; - this.ionNavWillChange.emit(); - const { el: e16, mode: o14 } = this, n15 = this.animated && n.getBoolean("animated", true), h19 = s21.animationBuilder || this.animation || n.get("navAnimation"); - return yield v2(Object.assign(Object.assign({ mode: o14, animated: n15, enteringEl: t16, leavingEl: i16, baseEl: e16, deepWait: t(e16), progressCallback: s21.progressAnimation ? (t17) => { - void 0 === t17 || this.gestureOrAnimationInProgress ? this.ani = t17 : (this.gestureOrAnimationInProgress = true, t17.onFinish((() => { - this.gestureOrAnimationInProgress = false, this.swipeHandler && this.swipeHandler.onEnd(false); - }), { oneTimeCallback: true }), t17.progressEnd(0, 0, 0)); - } : void 0 }, s21), { animationBuilder: h19 })), this.ionNavDidChange.emit(), true; - }); - } - render() { - return Ct("slot", { key: "386c41745b61daba161cf75063da97fe29ba36cb" }); - } - get el() { - return this; - } - static get watchers() { - return { swipeHandler: [{ swipeHandlerChanged: 0 }] }; - } - static get style() { - return ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}"; - } -}, [257, "ion-router-outlet", { mode: [1025], delegate: [16], animated: [4], animation: [16], swipeHandler: [16], commit: [64], setRouteId: [64], getRouteId: [64] }, void 0, { swipeHandler: [{ swipeHandlerChanged: 0 }] }]); -var f9 = function() { - "undefined" != typeof customElements && ["ion-router-outlet"].forEach(((t16) => { - "ion-router-outlet" === t16 && (customElements.get(Zn(t16)) || customElements.define(Zn(t16), b5)); - })); -}; - -// node_modules/@ionic/core/components/p-CoA-aqGF.js -var e9 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.ionBackdropTap = Jt(this, "ionBackdropTap", 7), this.visible = true, this.tappable = true, this.stopPropagation = true; - } - onMouseDown(o14) { - this.emitTap(o14); - } - emitTap(o14) { - this.stopPropagation && (o14.preventDefault(), o14.stopPropagation()), this.tappable && this.ionBackdropTap.emit(); - } - render() { - const o14 = g(this); - return Ct(It, { key: "7abaf2c310aa399607451b14063265e8a5846938", "aria-hidden": "true", class: { [o14]: true, "backdrop-hide": !this.visible, "backdrop-no-tappable": !this.tappable } }); - } - static get style() { - return { ios: ":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}", md: ":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}" }; - } -}, [33, "ion-backdrop", { visible: [4], tappable: [4], stopPropagation: [4, "stop-propagation"] }, [[2, "click", "onMouseDown"]]]); -function c11() { - "undefined" != typeof customElements && ["ion-backdrop"].forEach(((o14) => { - "ion-backdrop" === o14 && (customElements.get(Zn(o14)) || customElements.define(Zn(o14), e9)); - })); -} - -// node_modules/@ionic/core/components/p-BVnB3eEn.js -var Z3; -!(function(t16) { - t16.Dark = "DARK", t16.Light = "LIGHT", t16.Default = "DEFAULT"; -})(Z3 || (Z3 = {})); -var G2 = { getEngine() { - const t16 = r3(); - if (null == t16 ? void 0 : t16.isPluginAvailable("StatusBar")) return t16.Plugins.StatusBar; -}, setStyle(t16) { - const i16 = this.getEngine(); - i16 && i16.setStyle(t16); -}, getStyle: function() { - return __async(this, null, function* () { - const t16 = this.getEngine(); - if (!t16) return Z3.Default; - const { style: i16 } = yield t16.getInfo(); - return i16; - }); -} }; -var K2 = (t16, i16) => { - if (1 === i16) return 0; - const o14 = 1 / (1 - i16); - return t16 * o14 + -i16 * o14; -}; -var U2 = () => { - !d || d.innerWidth >= 768 || G2.setStyle({ style: Z3.Dark }); -}; -var q3 = (t16 = Z3.Default) => { - !d || d.innerWidth >= 768 || G2.setStyle({ style: t16 }); -}; -var J2 = (t16, i16) => __async(null, null, function* () { - "function" == typeof t16.canDismiss && (yield t16.canDismiss(void 0, K)) && (i16.isRunning() ? i16.onFinish((() => { - t16.dismiss(void 0, "handler"); - }), { oneTimeCallback: true }) : t16.dismiss(void 0, "handler")); -}); -var X2 = (t16) => 255275e-8 * 2.71828 ** (-14.9619 * t16) - 1.00255 * 2.71828 ** (-0.0380968 * t16) + 1; -var _3 = 0.915; -var Q2 = (t16, i16) => b(400, t16 / Math.abs(1.1 * i16), 500); -var tt = (t16, i16) => { - const o14 = window.innerHeight, e16 = t16.getBoundingClientRect().top, a16 = Math.round(1e3 * (1 - i16 / (o14 - e16))) / 1e3; - return Math.max(0, Math.min(1, a16)); -}; -var it = (t16) => { - const { currentBreakpoint: i16, backdropBreakpoint: o14, expandToScroll: e16 } = t16, a16 = void 0 === o14 || o14 < i16, r32 = a16 ? `calc(var(--backdrop-opacity) * ${i16})` : "0", s21 = r("backdropAnimation").fromTo("opacity", 0, r32); - return a16 && s21.beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), { wrapperAnimation: r("wrapperAnimation").keyframes([{ offset: 0, opacity: 1, transform: "translateY(100%)" }, { offset: 1, opacity: 1, transform: `translateY(${100 - 100 * i16}%)` }]), backdropAnimation: s21, contentAnimation: e16 ? void 0 : r("contentAnimation").keyframes([{ offset: 0, opacity: 1, maxHeight: 100 * (1 - i16) + "%" }, { offset: 1, opacity: 1, maxHeight: 100 * i16 + "%" }]) }; -}; -var ot = (t16) => { - const { currentBreakpoint: i16, backdropBreakpoint: o14 } = t16, e16 = `calc(var(--backdrop-opacity) * ${K2(i16, o14)})`, a16 = [{ offset: 0, opacity: e16 }, { offset: 1, opacity: 0 }], r32 = [{ offset: 0, opacity: e16 }, { offset: o14, opacity: 0 }, { offset: 1, opacity: 0 }], s21 = r("backdropAnimation").keyframes(0 !== o14 ? r32 : a16); - return { wrapperAnimation: r("wrapperAnimation").keyframes([{ offset: 0, opacity: 1, transform: `translateY(${100 - 100 * i16}%)` }, { offset: 1, opacity: 1, transform: "translateY(100%)" }]), backdropAnimation: s21 }; -}; -var et = (t16, i16) => { - const { presentingEl: o14, currentBreakpoint: e16, expandToScroll: a16 } = i16, r32 = c(t16), { wrapperAnimation: s21, backdropAnimation: n15, contentAnimation: d24 } = void 0 !== e16 ? it(i16) : { backdropAnimation: r().fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), wrapperAnimation: r().fromTo("transform", "translateY(100vh)", "translateY(0vh)"), contentAnimation: void 0 }; - n15.addElement(r32.querySelector("ion-backdrop")), s21.addElement(r32.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({ opacity: 1 }), !a16 && (null == d24 || d24.addElement(t16.querySelector(".ion-page"))); - const h19 = r("entering-base").addElement(t16).easing("cubic-bezier(0.32,0.72,0,1)").duration(500).addAnimation([s21]); - if (d24 && h19.addAnimation(d24), o14) { - const t17 = window.innerWidth < 768, i17 = "ION-MODAL" === o14.tagName && void 0 !== o14.presentingElement, e17 = c(o14), a17 = r().beforeStyles({ transform: "translateY(0)", "transform-origin": "top center", overflow: "hidden" }), r33 = document.body; - if (t17) { - const t18 = CSS.supports("width", "max(0px, 1px)") ? "max(30px, var(--ion-safe-area-top))" : "30px", e18 = `translateY(${i17 ? "-10px" : t18}) scale(0.915)`; - a17.afterStyles({ transform: e18 }).beforeAddWrite((() => r33.style.setProperty("background-color", "black"))).addElement(o14).keyframes([{ offset: 0, filter: "contrast(1)", transform: "translateY(0px) scale(1)", borderRadius: "0px" }, { offset: 1, filter: "contrast(0.85)", transform: e18, borderRadius: "10px 10px 0 0" }]), h19.addAnimation(a17); - } else if (h19.addAnimation(n15), i17) { - const t18 = `translateY(-10px) scale(${i17 ? _3 : 1})`; - a17.afterStyles({ transform: t18 }).addElement(e17.querySelector(".modal-wrapper")).keyframes([{ offset: 0, filter: "contrast(1)", transform: "translateY(0) scale(1)" }, { offset: 1, filter: "contrast(0.85)", transform: t18 }]); - const o15 = r().afterStyles({ transform: t18 }).addElement(e17.querySelector(".modal-shadow")).keyframes([{ offset: 0, opacity: "1", transform: "translateY(0) scale(1)" }, { offset: 1, opacity: "0", transform: t18 }]); - h19.addAnimation([a17, o15]); - } else s21.fromTo("opacity", "0", "1"); - } else h19.addAnimation(n15); - return h19; -}; -var at = (t16, i16, o14 = 500) => { - const { presentingEl: e16, currentBreakpoint: a16 } = i16, r32 = c(t16), { wrapperAnimation: s21, backdropAnimation: n15 } = void 0 !== a16 ? ot(i16) : { backdropAnimation: r().fromTo("opacity", "var(--backdrop-opacity)", 0), wrapperAnimation: r().fromTo("transform", "translateY(0vh)", "translateY(100vh)") }; - n15.addElement(r32.querySelector("ion-backdrop")), s21.addElement(r32.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({ opacity: 1 }); - const d24 = r("leaving-base").addElement(t16).easing("cubic-bezier(0.32,0.72,0,1)").duration(o14).addAnimation(s21); - if (e16) { - const t17 = window.innerWidth < 768, i17 = "ION-MODAL" === e16.tagName && void 0 !== e16.presentingElement, o15 = c(e16), a17 = r().beforeClearStyles(["transform"]).afterClearStyles(["transform"]).onFinish(((t18) => { - 1 === t18 && (e16.style.setProperty("overflow", ""), Array.from(r33.querySelectorAll("ion-modal:not(.overlay-hidden)")).filter(((t19) => void 0 !== t19.presentingElement)).length <= 1 && r33.style.setProperty("background-color", "")); - })), r33 = document.body; - if (t17) { - const t18 = CSS.supports("width", "max(0px, 1px)") ? "max(30px, var(--ion-safe-area-top))" : "30px", o16 = `translateY(${i17 ? "-10px" : t18}) scale(0.915)`; - a17.addElement(e16).keyframes([{ offset: 0, filter: "contrast(0.85)", transform: o16, borderRadius: "10px 10px 0 0" }, { offset: 1, filter: "contrast(1)", transform: "translateY(0px) scale(1)", borderRadius: "0px" }]), d24.addAnimation(a17); - } else if (d24.addAnimation(n15), i17) { - const t18 = `translateY(-10px) scale(${i17 ? _3 : 1})`; - a17.addElement(o15.querySelector(".modal-wrapper")).afterStyles({ transform: "translate3d(0, 0, 0)" }).keyframes([{ offset: 0, filter: "contrast(0.85)", transform: t18 }, { offset: 1, filter: "contrast(1)", transform: "translateY(0) scale(1)" }]); - const e17 = r().addElement(o15.querySelector(".modal-shadow")).afterStyles({ transform: "translateY(0) scale(1)" }).keyframes([{ offset: 0, opacity: "0", transform: t18 }, { offset: 1, opacity: "1", transform: "translateY(0) scale(1)" }]); - d24.addAnimation([a17, e17]); - } else s21.fromTo("opacity", "1", "0"); - } else d24.addAnimation(n15); - return d24; -}; -var rt = (t16, i16) => { - const { currentBreakpoint: o14, expandToScroll: e16 } = i16, a16 = c(t16), { wrapperAnimation: r32, backdropAnimation: s21, contentAnimation: n15 } = void 0 !== o14 ? it(i16) : { backdropAnimation: r().fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), wrapperAnimation: r().keyframes([{ offset: 0, opacity: 0.01, transform: "translateY(40px)" }, { offset: 1, opacity: 1, transform: "translateY(0px)" }]), contentAnimation: void 0 }; - s21.addElement(a16.querySelector("ion-backdrop")), r32.addElement(a16.querySelector(".modal-wrapper")), !e16 && (null == n15 || n15.addElement(t16.querySelector(".ion-page"))); - const d24 = r().addElement(t16).easing("cubic-bezier(0.36,0.66,0.04,1)").duration(280).addAnimation([s21, r32]); - return n15 && d24.addAnimation(n15), d24; -}; -var st = (t16, i16) => { - const { currentBreakpoint: o14 } = i16, e16 = c(t16), { wrapperAnimation: a16, backdropAnimation: r32 } = void 0 !== o14 ? ot(i16) : { backdropAnimation: r().fromTo("opacity", "var(--backdrop-opacity)", 0), wrapperAnimation: r().keyframes([{ offset: 0, opacity: 0.99, transform: "translateY(0px)" }, { offset: 1, opacity: 0, transform: "translateY(40px)" }]) }; - return r32.addElement(e16.querySelector("ion-backdrop")), a16.addElement(e16.querySelector(".modal-wrapper")), r().easing("cubic-bezier(0.47,0,0.745,0.715)").duration(200).addAnimation([r32, a16]); -}; -var nt = null; -var dt = false; -var ht = (t16, i16) => { - t16.style.setProperty("--ion-safe-area-top", i16.top), t16.style.setProperty("--ion-safe-area-bottom", i16.bottom), t16.style.setProperty("--ion-safe-area-left", i16.left), t16.style.setProperty("--ion-safe-area-right", i16.right); -}; -var lt = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.didPresent = Jt(this, "ionModalDidPresent", 7), this.willPresent = Jt(this, "ionModalWillPresent", 7), this.willDismiss = Jt(this, "ionModalWillDismiss", 7), this.didDismiss = Jt(this, "ionModalDidDismiss", 7), this.ionBreakpointDidChange = Jt(this, "ionBreakpointDidChange", 7), this.didPresentShorthand = Jt(this, "didPresent", 7), this.willPresentShorthand = Jt(this, "willPresent", 7), this.willDismissShorthand = Jt(this, "willDismiss", 7), this.didDismissShorthand = Jt(this, "didDismiss", 7), this.ionMount = Jt(this, "ionMount", 7), this.ionDragStart = Jt(this, "ionDragStart", 7), this.ionDragMove = Jt(this, "ionDragMove", 7), this.ionDragEnd = Jt(this, "ionDragEnd", 7), this.lockController = t10(), this.triggerController = Y(), this.coreDelegate = i8(), this.isSheetModal = false, this.inheritedAttributes = {}, this.inline = false, this.gestureAnimationDismissing = false, this.presented = false, this.hasController = false, this.keyboardClose = true, this.expandToScroll = true, this.backdropBreakpoint = 0, this.handleBehavior = "none", this.backdropDismiss = true, this.showBackdrop = true, this.animated = true, this.isOpen = false, this.keepContentsMounted = false, this.focusTrap = true, this.canDismiss = true, this.onHandleClick = () => { - const { sheetTransition: t17, handleBehavior: i16 } = this; - "cycle" === i16 && void 0 === t17 && this.moveToNextBreakpoint(); - }, this.onBackdropTap = () => { - const { sheetTransition: t17 } = this; - void 0 === t17 && this.dismiss(void 0, H); - }, this.onLifecycle = (t17) => { - const i16 = this.usersElement, o14 = pt[t17.type]; - if (i16 && o14) { - const e16 = new CustomEvent(o14, { bubbles: false, cancelable: false, detail: t17.detail }); - i16.dispatchEvent(e16); - } - }, this.onModalFocus = (t17) => { - const { dragHandleEl: i16, el: o14 } = this; - t17.target === o14 && i16 && -1 !== i16.tabIndex && i16.focus(); - }, this.onSlotChange = ({ target: t17 }) => { - t17.assignedElements().forEach(((t18) => { - t18.querySelectorAll("ion-modal").forEach(((t19) => { - null === t19.getAttribute("data-parent-ion-modal") && t19.setAttribute("data-parent-ion-modal", this.el.id); - })); - })); - }; - } - onIsOpenChange(t16, i16) { - true === t16 && false === i16 ? this.present() : false === t16 && true === i16 && this.dismiss(); - } - triggerChanged() { - const { trigger: t16, el: i16, triggerController: o14 } = this; - t16 && o14.addClickListener(i16, t16); - } - onWindowResize() { - this.presented && (clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout((() => { - const t16 = this.getSafeAreaContext(); - !t16.isCardModal || this.enterAnimation || this.leaveAnimation || this.handleViewTransition(), t16.isSheetModal && this.updateSheetOffsetTop(), t16.isSheetModal || t16.isCardModal || (this.updateSafeAreaOverrides(), this.wrapperEl && (this.wrapperEl.style.removeProperty("height"), this.wrapperEl.style.removeProperty("padding-bottom")), this.applyFullscreenSafeArea()); - }), 50)); - } - breakpointsChanged(t16) { - void 0 !== t16 && (this.sortedBreakpoints = t16.sort(((t17, i16) => t17 - i16))); - } - connectedCallback() { - const { el: t16 } = this; - I2(t16), this.triggerChanged(); - } - disconnectedCallback() { - this.triggerController.removeClickListener(), this.cleanupViewTransitionListener(), this.cleanupParentRemovalObserver(), this.cleanupSafeAreaOverrides(); - } - componentWillLoad() { - var t16; - const { breakpoints: i16, initialBreakpoint: o14, el: a16, htmlAttributes: r32 } = this, s21 = this.isSheetModal = void 0 !== i16 && void 0 !== o14, n15 = ["aria-label", "role"]; - this.inheritedAttributes = n2(a16, n15), a16.parentNode && (this.cachedOriginalParent = a16.parentNode), void 0 !== r32 && n15.forEach(((t17) => { - r32[t17] && (this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [t17]: r32[t17] }), delete r32[t17]); - })), s21 && (this.currentBreakpoint = this.initialBreakpoint), void 0 === i16 || void 0 === o14 || i16.includes(o14) || u("[ion-modal] - Your breakpoints array must include the initialBreakpoint value."), (null === (t16 = this.htmlAttributes) || void 0 === t16 ? void 0 : t16.id) || N(this.el); - } - componentDidLoad() { - true === this.isOpen && d2((() => this.present())), this.breakpointsChanged(this.breakpoints), this.triggerChanged(); - } - getDelegate(t16 = false) { - if (this.workingDelegate && !t16) return { delegate: this.workingDelegate, inline: this.inline }; - const i16 = this.inline = null !== this.el.parentNode && !this.hasController; - return { inline: i16, delegate: this.workingDelegate = i16 ? this.delegate || this.coreDelegate : this.delegate }; - } - checkCanDismiss(t16, i16) { - return __async(this, null, function* () { - const { canDismiss: o14 } = this; - return "function" == typeof o14 ? o14(t16, i16) : o14; - }); - } - present() { - return __async(this, null, function* () { - const t16 = yield this.lockController.lock(); - if (this.presented) return void t16(); - const { presentingElement: i16, el: o14 } = this; - this.currentBreakpoint = this.initialBreakpoint; - const { inline: e16, delegate: r32 } = this.getDelegate(true); - this.ionMount.emit(), this.usersElement = yield o8(r32, o14, this.component, ["ion-page"], this.componentProps, e16), t(o14) ? yield B(this.usersElement) : this.keepContentsMounted || (yield L()), P((() => this.el.classList.add("show-modal"))), this.isSheetModal = void 0 !== this.breakpoints && void 0 !== this.initialBreakpoint, this.setInitialSafeAreaOverrides(); - const s21 = void 0 !== i16; - s21 && "ios" === g(this) && (this.statusBarStyle = yield G2.getStyle(), U2()), yield $(this, "modalEnter", et, rt, { presentingEl: i16, currentBreakpoint: this.initialBreakpoint, backdropBreakpoint: this.backdropBreakpoint, expandToScroll: this.expandToScroll }), this.updateSafeAreaOverrides(), this.applyFullscreenSafeArea(), "undefined" != typeof window && (this.keyboardOpenCallback = () => { - this.gesture && (this.gesture.enable(false), d2((() => { - this.gesture && this.gesture.enable(true); - }))); - }, window.addEventListener(t5, this.keyboardOpenCallback)), this.isSheetModal ? this.initSheetGesture() : s21 && this.initSwipeToClose(), this.initViewTransitionListener(), this.initParentRemovalObserver(), t16(); - }); - } - initSwipeToClose() { - var t16; - if ("ios" !== g(this)) return; - const { el: i16 } = this, o14 = this.leaveAnimation || n.get("modalLeave", at), e16 = this.animation = o14(i16, { presentingEl: this.presentingElement, expandToScroll: this.expandToScroll }); - if (!n3(i16)) return void p2(i16); - const a16 = null !== (t16 = this.statusBarStyle) && void 0 !== t16 ? t16 : Z3.Default; - this.gesture = ((t17, i17, o15, e17, a17, r32, s21) => { - const n15 = 0.5, d24 = t17.offsetHeight; - let m26 = false, f27 = false, u19 = null, b20 = null, v18 = true, g20 = 0; - const k11 = s4({ el: t17, gestureName: "modalSwipeToClose", gesturePriority: U, direction: "y", threshold: 10, canStart: (t18) => { - const i18 = t18.event.target; - if (null === i18 || !i18.closest) return true; - if (u19 = f3(i18), u19) { - if (e3(u19)) { - const t19 = c(u19); - b20 = t19.querySelector(".inner-scroll"); - } else b20 = u19; - return !u19.querySelector("ion-refresher") && 0 === b20.scrollTop; - } - return null === i18.closest("ion-footer"); - }, onStart: (o16) => { - const { deltaY: e18 } = o16; - v18 = !u19 || !e3(u19) || u19.scrollY, f27 = void 0 !== t17.canDismiss && true !== t17.canDismiss, e18 > 0 && u19 && h2(u19), i17.progressStart(true, m26 ? 1 : 0), a17(); - }, onMove: (e18) => { - const { deltaY: a18 } = e18; - a18 > 0 && u19 && h2(u19); - const s22 = e18.deltaY / d24, h19 = s22 >= 0 && f27, l28 = h19 ? 0.2 : 0.9999, c36 = h19 ? X2(s22 / l28) : s22, m27 = b(1e-4, c36, l28); - i17.progressStep(m27), m27 >= n15 && g20 < n15 ? q3(o15) : m27 < n15 && g20 >= n15 && U2(), g20 = m27; - const b21 = { currentY: e18.currentY, deltaY: e18.deltaY, velocityY: e18.velocityY, progress: tt(t17, e18.deltaY) }; - r32(b21); - }, onEnd: (o16) => { - const a18 = o16.velocityY, r33 = o16.deltaY / d24, h19 = r33 >= 0 && f27, l28 = h19 ? 0.2 : 0.9999, p33 = h19 ? X2(r33 / l28) : r33, b21 = b(1e-4, p33, l28), w11 = !h19 && (o16.deltaY + 1e3 * a18) / d24 >= n15; - let g21 = w11 ? -1e-3 : 1e-3; - w11 ? (i17.easing("cubic-bezier(0.32, 0.72, 0, 1)"), g21 += t6([0, 0], [0.32, 0.72], [0, 1], [1, 1], b21)[0]) : (i17.easing("cubic-bezier(1, 0, 0.68, 0.28)"), g21 += t6([0, 0], [1, 0], [0.68, 0.28], [1, 1], b21)[0]); - const y12 = Q2(w11 ? r33 * d24 : (1 - b21) * d24, a18); - m26 = w11, k11.enable(false), u19 && l4(u19, v18), i17.onFinish((() => { - w11 || k11.enable(true); - })).progressEnd(w11 ? 1 : 0, g21, y12), h19 && b21 > l28 / 4 ? J2(t17, i17) : w11 && e17(); - const A6 = { currentY: o16.currentY, deltaY: o16.deltaY, velocityY: o16.velocityY, progress: tt(t17, o16.deltaY) }; - s21(A6); - } }); - return k11; - })(i16, e16, a16, (() => this.cardOnDismiss()), (() => this.onDragStart()), ((t17) => this.onDragMove(t17)), ((t17) => this.onDragEnd(t17))), this.gesture.enable(true); - } - initSheetGesture() { - const { wrapperEl: t16, initialBreakpoint: i16, backdropBreakpoint: o14 } = this; - if (!t16 || void 0 === i16) return; - const e16 = this.enterAnimation || n.get("modalEnter", et), a16 = this.animation = e16(this.el, { presentingEl: this.presentingElement, currentBreakpoint: i16, backdropBreakpoint: o14, expandToScroll: this.expandToScroll }); - a16.progressStart(true, 1); - const { gesture: s21, moveSheetToBreakpoint: n15 } = ((t17, i17, o15, e17, a17, r32, s22 = [], n16, d24, p33, c36, m26, f27, u19) => { - const b20 = { WRAPPER_KEYFRAMES: [{ offset: 0, transform: "translateY(0%)" }, { offset: 1, transform: "translateY(100%)" }], BACKDROP_KEYFRAMES: 0 !== a17 ? [{ offset: 0, opacity: "var(--backdrop-opacity)" }, { offset: 1 - a17, opacity: 0 }, { offset: 1, opacity: 0 }] : [{ offset: 0, opacity: "var(--backdrop-opacity)" }, { offset: 1, opacity: 0.01 }], CONTENT_KEYFRAMES: [{ offset: 0, maxHeight: "100%" }, { offset: 1, maxHeight: "0%" }] }, v18 = t17.querySelector("ion-content"), k11 = o15.clientHeight; - let y12 = e17, A6 = 0, Y5 = false, D6 = null, O9 = null, E10 = null, S6 = null; - const M6 = s22[s22.length - 1], T7 = s22[0], B11 = r32.childAnimations.find(((t18) => "wrapperAnimation" === t18.id)), P6 = r32.childAnimations.find(((t18) => "backdropAnimation" === t18.id)), I7 = r32.childAnimations.find(((t18) => "contentAnimation" === t18.id)), N4 = () => { - false !== t17.focusTrap && false !== t17.showBackdrop && (t17.style.setProperty("pointer-events", "auto"), i17.style.setProperty("pointer-events", "auto"), t17.classList.remove(nn)); - }, R4 = () => { - t17.style.setProperty("pointer-events", "none"), i17.style.setProperty("pointer-events", "none"), t17.classList.add(nn); - }, j8 = (i18) => { - if (!O9 && (O9 = Array.from(t17.querySelectorAll("ion-footer")), !O9.length)) return; - const o16 = t17.querySelector(".ion-page"); - if (S6 = i18, "stationary" === i18) O9.forEach(((t18) => { - t18.classList.remove("modal-footer-moving"), t18.style.removeProperty("position"), t18.style.removeProperty("width"), t18.style.removeProperty("height"), t18.style.removeProperty("top"), t18.style.removeProperty("left"), null == o16 || o16.style.removeProperty("padding-bottom"), null == o16 || o16.appendChild(t18); - })); - else { - let i19 = 0; - O9.forEach(((o17, e18) => { - const a18 = o17.getBoundingClientRect(), r33 = document.body.getBoundingClientRect(); - i19 += o17.clientHeight; - const s23 = a18.top - r33.top, n17 = a18.left - r33.left; - if (o17.style.setProperty("--pinned-width", `${o17.clientWidth}px`), o17.style.setProperty("--pinned-height", `${o17.clientHeight}px`), o17.style.setProperty("--pinned-top", `${s23}px`), o17.style.setProperty("--pinned-left", `${n17}px`), 0 === e18) { - E10 = s23; - const i20 = t17.querySelector("ion-header"); - i20 && (E10 -= i20.clientHeight); - } - })), O9.forEach(((t18) => { - null == o16 || o16.style.setProperty("padding-bottom", `${i19}px`), t18.classList.add("modal-footer-moving"), t18.style.setProperty("position", "absolute"), t18.style.setProperty("width", "var(--pinned-width)"), t18.style.setProperty("height", "var(--pinned-height)"), t18.style.setProperty("top", "var(--pinned-top)"), t18.style.setProperty("left", "var(--pinned-left)"), document.body.appendChild(t18); - })); - } - }; - B11 && P6 && (B11.keyframes([...b20.WRAPPER_KEYFRAMES]), P6.keyframes([...b20.BACKDROP_KEYFRAMES]), null == I7 || I7.keyframes([...b20.CONTENT_KEYFRAMES]), r32.progressStart(true, 1 - y12), y12 > a17 && false !== t17.focusTrap && false !== t17.showBackdrop ? N4() : R4()), v18 && y12 !== M6 && n16 && (v18.scrollY = false); - const $4 = (i18) => { - const { breakpoint: o16, canDismiss: e18, breakpointOffset: d25, animated: h19 } = i18, l28 = e18 && 0 === o16, m27 = l28 ? y12 : o16, f28 = 0 !== m27; - return y12 = 0, B11 && P6 && (B11.keyframes([{ offset: 0, transform: `translateY(${100 * d25}%)` }, { offset: 1, transform: `translateY(${100 * (1 - m27)}%)` }]), P6.keyframes([{ offset: 0, opacity: `calc(var(--backdrop-opacity) * ${K2(1 - d25, a17)})` }, { offset: 1, opacity: `calc(var(--backdrop-opacity) * ${K2(m27, a17)})` }]), I7 && I7.keyframes([{ offset: 0, maxHeight: 100 * (1 - d25) + "%" }, { offset: 1, maxHeight: 100 * m27 + "%" }]), r32.progressStep(0)), H7.enable(false), l28 ? J2(t17, r32) : f28 || p33(), !v18 || m27 !== s22[s22.length - 1] && n16 || (v18.scrollY = true), n16 || 0 !== m27 || j8("stationary"), new Promise(((i19) => { - r32.onFinish((() => { - f28 ? (n16 || j8("stationary"), B11 && P6 ? d2((() => { - B11.keyframes([...b20.WRAPPER_KEYFRAMES]), P6.keyframes([...b20.BACKDROP_KEYFRAMES]), null == I7 || I7.keyframes([...b20.CONTENT_KEYFRAMES]), r32.progressStart(true, 1 - m27), y12 = m27, c36(y12), y12 > a17 && false !== t17.focusTrap && false !== t17.showBackdrop ? N4() : R4(), H7.enable(true), i19(); - })) : (H7.enable(true), i19())) : i19(); - }), { oneTimeCallback: true }).progressEnd(1, 0, h19 ? 500 : 0); - })); - }, L8 = (t18) => { - const i18 = o15.getBoundingClientRect().top + t18, e18 = z11(i18); - return s22.reduce(((t19, i19) => Math.abs(i19 - e18) < Math.abs(t19 - e18) ? i19 : t19)); - }, z11 = (t18) => { - const i18 = s22[s22.length - 1], o16 = W7(s22[0]), e18 = W7(i18), a18 = Math.round((o16 - t18) / (o16 - e18) * 1e3) / 1e3; - return Math.max(0, Math.min(1, a18)); - }, W7 = (i18) => { - const o16 = t17.getBoundingClientRect(); - return window.innerHeight - o16.height * i18; - }, H7 = s4({ el: o15, gestureName: "modalSheet", gesturePriority: 40, direction: "y", threshold: 10, canStart: (t18) => { - const i18 = f3(t18.event.target); - if (y12 = d24(), !n16 && i18) return 0 === (e3(i18) ? c(i18).querySelector(".inner-scroll") : i18).scrollTop; - if (1 === y12 && i18) { - const t19 = e3(i18) ? c(i18).querySelector(".inner-scroll") : i18; - return !i18.querySelector("ion-refresher") && 0 === t19.scrollTop; - } - return true; - }, onStart: (i18) => { - if (Y5 = void 0 !== t17.canDismiss && true !== t17.canDismiss && 0 === T7, !n16) { - const t18 = f3(i18.event.target); - D6 = t18 && e3(t18) ? c(t18).querySelector(".inner-scroll") : t18; - } - n16 || j8("moving"), i18.deltaY > 0 && v18 && (v18.scrollY = false), d2((() => { - t17.focus(); - })), r32.progressStart(true, 1 - y12), m26(); - }, onMove: (t18) => { - if (n16 || null === E10 || null === S6 || (t18.currentY >= E10 && "moving" === S6 ? j8("stationary") : t18.currentY < E10 && "stationary" === S6 && j8("moving")), !n16 && t18.deltaY <= 0 && D6) return; - t18.deltaY > 0 && v18 && (v18.scrollY = false); - const i18 = s22.length > 1 ? 1 - s22[1] : void 0, o16 = 1 - y12 + t18.deltaY / k11, e18 = void 0 !== i18 && o16 >= i18 && Y5, a18 = e18 ? 0.95 : 0.9999, d25 = e18 && void 0 !== i18 ? i18 + X2((o16 - i18) / (a18 - i18)) : o16; - A6 = b(1e-4, d25, a18), r32.progressStep(A6); - const h19 = L8(t18.deltaY), l28 = { currentY: t18.currentY, deltaY: t18.deltaY, velocityY: t18.velocityY, progress: z11(t18.currentY), snapBreakpoint: h19 }; - f27(l28); - }, onEnd: (t18) => { - const i18 = L8(t18.deltaY), o16 = { currentY: t18.currentY, deltaY: t18.deltaY, velocityY: t18.velocityY, progress: z11(t18.currentY), snapBreakpoint: i18 }; - if (!n16 && t18.deltaY <= 0 && D6 && D6.scrollTop > 0) return j8("stationary"), void u19(o16); - $4({ breakpoint: i18, breakpointOffset: A6, canDismiss: Y5, animated: true }), u19(o16); - } }); - return { gesture: H7, moveSheetToBreakpoint: $4 }; - })(this.el, this.backdropEl, t16, i16, o14, a16, this.sortedBreakpoints, this.expandToScroll, (() => { - var t17; - return null !== (t17 = this.currentBreakpoint) && void 0 !== t17 ? t17 : 0; - }), (() => this.sheetOnDismiss()), ((t17) => { - this.currentBreakpoint !== t17 && (this.currentBreakpoint = t17, this.ionBreakpointDidChange.emit({ breakpoint: t17 })); - }), (() => this.onDragStart()), ((t17) => this.onDragMove(t17)), ((t17) => this.onDragEnd(t17))); - this.gesture = s21, this.moveSheetToBreakpoint = n15, this.gesture.enable(true), (false === this.showBackdrop || false === this.focusTrap || o14 > 0) && this.setupChildRoutePassthrough(); - } - setupChildRoutePassthrough() { - var t16; - this.cachedPageParent = this.getOriginalPageParent(); - const o14 = this.cachedPageParent; - if (!o14 || "ION-APP" === o14.tagName) return; - const e16 = Array.from(o14.children).some(((t17) => { - var o15; - return !(t17 === this.el || t17 instanceof I && "none" === window.getComputedStyle(t17).display || "TEMPLATE" === t17.tagName || "SLOT" === t17.tagName || t17.nodeType === Node.TEXT_NODE && !(null === (o15 = t17.textContent) || void 0 === o15 ? void 0 : o15.trim())); - })); - if (e16) return; - o14.classList.add("ion-page-overlay-passthrough"); - const a16 = o14.parentElement; - "ION-ROUTER-OUTLET" === (null == a16 ? void 0 : a16.tagName) && "ION-APP" !== (null === (t16 = a16.parentElement) || void 0 === t16 ? void 0 : t16.tagName) && (a16.style.setProperty("pointer-events", "none"), a16.setAttribute("data-overlay-passthrough", "true")); - } - getOriginalPageParent() { - if (!this.cachedOriginalParent) return null; - let t16 = this.cachedOriginalParent; - for (; t16 && !t16.classList.contains("ion-page"); ) t16 = t16.parentElement; - return t16; - } - cleanupChildRoutePassthrough() { - const t16 = this.cachedPageParent; - if (!t16) return; - t16.classList.remove("ion-page-overlay-passthrough"); - const i16 = t16.parentElement; - (null == i16 ? void 0 : i16.hasAttribute("data-overlay-passthrough")) && (i16.style.removeProperty("pointer-events"), i16.removeAttribute("data-overlay-passthrough")), this.cachedPageParent = void 0; - } - sheetOnDismiss() { - this.gestureAnimationDismissing = true, this.animation.onFinish((() => __async(this, null, function* () { - this.currentBreakpoint = 0, this.ionBreakpointDidChange.emit({ breakpoint: this.currentBreakpoint }), yield this.dismiss(void 0, K), this.gestureAnimationDismissing = false; - }))); - } - cardOnDismiss() { - this.gestureAnimationDismissing = true, q3(this.statusBarStyle), this.animation.onFinish((() => __async(this, null, function* () { - yield this.dismiss(void 0, K), this.gestureAnimationDismissing = false; - }))); - } - dismiss(t16, i16) { - return __async(this, null, function* () { - var o14; - if (this.gestureAnimationDismissing && i16 !== K) return false; - clearTimeout(this.resizeTimeout), this.resizeTimeout = void 0; - const e16 = yield this.lockController.lock(); - if (yield this.dismissNestedModals(), "handler" !== i16 && !(yield this.checkCanDismiss(t16, i16))) return e16(), false; - const { presentingElement: r32 } = this; - void 0 !== r32 && "ios" === g(this) && q3(this.statusBarStyle), "undefined" != typeof window && this.keyboardOpenCallback && (window.removeEventListener(t5, this.keyboardOpenCallback), this.keyboardOpenCallback = void 0); - const s21 = yield J(this, t16, i16, "modalLeave", at, st, { presentingEl: r32, currentBreakpoint: null !== (o14 = this.currentBreakpoint) && void 0 !== o14 ? o14 : this.initialBreakpoint, backdropBreakpoint: this.backdropBreakpoint, expandToScroll: this.expandToScroll }); - if (s21) { - const { delegate: t17 } = this.getDelegate(); - yield t8(t17, this.usersElement), P((() => this.el.classList.remove("show-modal"))), this.animation && this.animation.destroy(), this.gesture && this.gesture.destroy(), this.cleanupViewTransitionListener(), this.cleanupParentRemovalObserver(), this.cleanupSafeAreaOverrides(), this.cleanupChildRoutePassthrough(); - } - return this.currentBreakpoint = void 0, this.animation = void 0, e16(), s21; - }); - } - onDidDismiss() { - return q2(this.el, "ionModalDidDismiss"); - } - onWillDismiss() { - return q2(this.el, "ionModalWillDismiss"); - } - setCurrentBreakpoint(t16) { - return __async(this, null, function* () { - if (!this.isSheetModal) return void u("[ion-modal] - setCurrentBreakpoint is only supported on sheet modals."); - if (!this.breakpoints.includes(t16)) return void u(`[ion-modal] - Attempted to set invalid breakpoint value ${t16}. Please double check that the breakpoint value is part of your defined breakpoints.`); - const { currentBreakpoint: i16, moveSheetToBreakpoint: o14, canDismiss: a16, breakpoints: r32, animated: s21 } = this; - i16 !== t16 && o14 && (this.sheetTransition = o14({ breakpoint: t16, breakpointOffset: 1 - i16, canDismiss: void 0 !== a16 && true !== a16 && 0 === r32[0], animated: s21 }), yield this.sheetTransition, this.sheetTransition = void 0); - }); - } - getCurrentBreakpoint() { - return __async(this, null, function* () { - return this.currentBreakpoint; - }); - } - moveToNextBreakpoint() { - return __async(this, null, function* () { - const { breakpoints: t16, currentBreakpoint: i16 } = this; - if (!t16 || null == i16) return false; - const o14 = t16.filter(((t17) => 0 !== t17)), e16 = o14.indexOf(i16), a16 = o14[(e16 + 1) % o14.length]; - return yield this.setCurrentBreakpoint(a16), true; - }); - } - initViewTransitionListener() { - "ios" !== g(this) || !this.presentingElement || this.enterAnimation || this.leaveAnimation || (this.currentViewIsPortrait = window.innerWidth < 768); - } - handleViewTransition() { - if (!this.presented) return; - const t16 = window.innerWidth < 768; - if (this.currentViewIsPortrait === t16) return; - this.viewTransitionAnimation && (this.viewTransitionAnimation.destroy(), this.viewTransitionAnimation = void 0); - const { presentingElement: i16 } = this; - if (!i16) return; - let o14; - o14 = this.currentViewIsPortrait && !t16 ? ((t17, i17, o15 = 300) => { - const { presentingEl: e16 } = i17; - if (!e16) return r("portrait-to-landscape-transition"); - const a16 = "ION-MODAL" === e16.tagName && void 0 !== e16.presentingElement, r32 = c(e16), s21 = document.body, n15 = r("portrait-to-landscape-transition").addElement(t17).easing("cubic-bezier(0.32,0.72,0,1)").duration(o15), d24 = r().beforeStyles({ transform: "translateY(0)", "transform-origin": "top center", overflow: "hidden" }); - if (a16) { - const t18 = "translateY(-10px) scale(0.915)", i18 = "translateY(0px) scale(1)"; - d24.addElement(e16).afterStyles({ transform: i18 }).fromTo("transform", t18, i18).fromTo("filter", "contrast(0.85)", "contrast(1)"); - const o16 = r().addElement(r32.querySelector(".modal-shadow")).afterStyles({ transform: i18, opacity: "0" }).fromTo("transform", t18, i18); - n15.addAnimation([d24, o16]); - } else { - const i18 = c(t17), o16 = r().addElement(i18.querySelectorAll(".modal-wrapper, .modal-shadow")).fromTo("opacity", "1", "1"), a17 = r().addElement(i18.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", "var(--backdrop-opacity)"), r33 = `translateY(${CSS.supports("width", "max(0px, 1px)") ? "max(30px, var(--ion-safe-area-top))" : "30px"}) scale(0.915)`; - d24.addElement(e16).afterStyles({ transform: "translateY(0px) scale(1)", "border-radius": "0px" }).beforeAddWrite((() => s21.style.setProperty("background-color", ""))).fromTo("transform", r33, "translateY(0px) scale(1)").fromTo("filter", "contrast(0.85)", "contrast(1)").fromTo("border-radius", "10px 10px 0 0", "0px"), n15.addAnimation([d24, o16, a17]); - } - return n15; - })(this.el, { presentingEl: i16 }) : ((t17, i17, o15 = 300) => { - const { presentingEl: e16 } = i17; - if (!e16) return r("landscape-to-portrait-transition"); - const a16 = "ION-MODAL" === e16.tagName && void 0 !== e16.presentingElement, r32 = c(e16), s21 = document.body, n15 = r("landscape-to-portrait-transition").addElement(t17).easing("cubic-bezier(0.32,0.72,0,1)").duration(o15), d24 = r().beforeStyles({ transform: "translateY(0)", "transform-origin": "top center", overflow: "hidden" }); - if (a16) { - const t18 = "translateY(-10px) scale(0.915)", i18 = "translateY(0) scale(1)"; - d24.addElement(e16).afterStyles({ transform: i18 }).fromTo("transform", t18, i18); - const o16 = r().addElement(r32.querySelector(".modal-shadow")).afterStyles({ transform: i18, opacity: "0" }).fromTo("transform", t18, i18); - n15.addAnimation([d24, o16]); - } else { - const i18 = c(t17), o16 = r().addElement(i18.querySelectorAll(".modal-wrapper, .modal-shadow")).fromTo("opacity", "1", "1"), a17 = r().addElement(i18.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", "var(--backdrop-opacity)"), r33 = `translateY(${CSS.supports("width", "max(0px, 1px)") ? "max(30px, var(--ion-safe-area-top))" : "30px"}) scale(0.915)`; - d24.addElement(e16).afterStyles({ transform: r33 }).beforeAddWrite((() => s21.style.setProperty("background-color", "black"))).keyframes([{ offset: 0, transform: "translateY(0px) scale(1)", filter: "contrast(1)", borderRadius: "0px" }, { offset: 0.2, transform: "translateY(0px) scale(1)", filter: "contrast(1)", borderRadius: "10px 10px 0 0" }, { offset: 1, transform: r33, filter: "contrast(0.85)", borderRadius: "10px 10px 0 0" }]), n15.addAnimation([d24, o16, a17]); - } - return n15; - })(this.el, { presentingEl: i16 }), this.currentViewIsPortrait = t16, this.viewTransitionAnimation = o14, o14.play().then((() => { - this.viewTransitionAnimation = void 0, d2((() => this.updateSafeAreaOverrides())), this.reinitSwipeToClose(); - })); - } - cleanupViewTransitionListener() { - this.resizeTimeout && (clearTimeout(this.resizeTimeout), this.resizeTimeout = void 0), this.viewTransitionAnimation && (this.viewTransitionAnimation.destroy(), this.viewTransitionAnimation = void 0); - } - reinitSwipeToClose() { - "ios" === g(this) && this.presentingElement && (this.gesture && (this.gesture.destroy(), this.gesture = void 0), this.animation && (this.animation.progressEnd(0, 0, 0), this.animation.destroy(), this.animation = void 0), d2((() => { - this.ensureCorrectModalPosition(), this.initSwipeToClose(); - }))); - } - ensureCorrectModalPosition() { - const { el: t16, presentingElement: i16 } = this, o14 = c(t16).querySelector(".modal-wrapper"); - if (o14 && (o14.style.transform = "translateY(0vh)", o14.style.opacity = "1"), "ION-MODAL" === (null == i16 ? void 0 : i16.tagName)) if (window.innerWidth < 768) { - const t17 = CSS.supports("width", "max(0px, 1px)") ? "max(30px, var(--ion-safe-area-top))" : "30px"; - i16.style.transform = `translateY(${t17}) scale(0.915)`; - } else i16.style.transform = "translateY(0px) scale(1)"; - } - dismissNestedModals() { - return __async(this, null, function* () { - const t16 = document.querySelectorAll(`ion-modal[data-parent-ion-modal="${this.el.id}"]`); - null == t16 || t16.forEach(((t17) => __async(this, null, function* () { - yield t17.dismiss(void 0, "parent-dismissed"); - }))); - }); - } - initParentRemovalObserver() { - "undefined" != typeof MutationObserver && "undefined" != typeof window && this.cachedOriginalParent && this.cachedOriginalParent.nodeType !== Node.DOCUMENT_NODE && this.cachedOriginalParent.nodeType !== Node.DOCUMENT_FRAGMENT_NODE && (this.hasController || this.cachedOriginalParent === document.body || "ION-APP" === this.cachedOriginalParent.tagName || (this.parentRemovalObserver = new MutationObserver(((t16) => { - t16.forEach(((t17) => { - "childList" === t17.type && t17.removedNodes.length > 0 && (Array.from(t17.removedNodes).some(((t18) => { - var i16, o14; - const e16 = t18 === this.cachedOriginalParent, a16 = !!this.cachedOriginalParent && (null === (o14 = (i16 = t18).contains) || void 0 === o14 ? void 0 : o14.call(i16, this.cachedOriginalParent)); - return e16 || a16; - })) || this.cachedOriginalParent && !this.cachedOriginalParent.isConnected) && (this.dismiss(void 0, "parent-removed"), this.cachedOriginalParent = void 0); - })); - })), this.parentRemovalObserver.observe(document.body, { childList: true, subtree: true }))); - } - cleanupParentRemovalObserver() { - var t16; - null === (t16 = this.parentRemovalObserver) || void 0 === t16 || t16.disconnect(), this.parentRemovalObserver = void 0; - } - onDragStart() { - this.ionDragStart.emit(); - } - onDragMove(t16) { - this.ionDragMove.emit(t16); - } - onDragEnd(t16) { - this.ionDragEnd.emit(t16); - } - getSafeAreaContext() { - return { isSheetModal: this.isSheetModal, isCardModal: void 0 !== this.presentingElement && "ios" === g(this), presentingElement: this.presentingElement, breakpoints: this.breakpoints, currentBreakpoint: this.currentBreakpoint }; - } - setInitialSafeAreaOverrides() { - const t16 = this.getSafeAreaContext(), i16 = ((t17) => { - const { isSheetModal: i17, isCardModal: o14 } = t17; - return i17 ? { top: "0px", bottom: "inherit", left: "0px", right: "0px" } : o14 ? { top: "inherit", bottom: "inherit", left: "0px", right: "0px" } : d && d.matchMedia("(min-width: 768px) and (min-height: 600px)").matches ? { top: "0px", bottom: "0px", left: "0px", right: "0px" } : { top: "inherit", bottom: "inherit", left: "inherit", right: "inherit" }; - })(t16); - ht(this.el, i16), t16.isSheetModal && this.updateSheetOffsetTop(); - } - updateSheetOffsetTop() { - const t16 = (() => { - if (null !== nt) return nt; - const t17 = null == d ? void 0 : d.document; - if (!(null == t17 ? void 0 : t17.body)) return 0; - const i16 = t17.createElement("div"); - i16.style.cssText = "position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);", t17.body.appendChild(i16); - const o14 = parseFloat(getComputedStyle(i16).paddingTop) || 0; - return i16.remove(), nt = o14, dt || (dt = true, d2((() => { - nt = null, dt = false; - }))), o14; - })(); - this.el.style.setProperty("--ion-modal-offset-top", `${t16}px`); - } - updateSafeAreaOverrides() { - const { wrapperEl: t16, el: i16 } = this, o14 = this.getSafeAreaContext(); - if (o14.isSheetModal) return; - if (o14.isCardModal) return; - if (!t16) return; - const e16 = ((t17) => { - var i17, o15; - const e17 = t17.getBoundingClientRect(), a16 = null !== (i17 = null == d ? void 0 : d.innerHeight) && void 0 !== i17 ? i17 : 0, r32 = null !== (o15 = null == d ? void 0 : d.innerWidth) && void 0 !== o15 ? o15 : 0; - return { top: e17.top <= 5 ? "inherit" : "0px", bottom: e17.bottom >= a16 - 5 ? "inherit" : "0px", left: e17.left <= 5 ? "inherit" : "0px", right: e17.right >= r32 - 5 ? "inherit" : "0px" }; - })(t16); - ht(i16, e16); - } - applyFullscreenSafeArea() { - const { wrapperEl: t16, el: i16 } = this; - if (!t16) return; - const o14 = this.getSafeAreaContext(); - if (o14.isSheetModal || o14.isCardModal) return; - let e16 = false, a16 = false; - for (const t17 of Array.from(i16.children)) { - "ION-CONTENT" === t17.tagName && (e16 = true), "ION-FOOTER" === t17.tagName && (a16 = true); - for (const i17 of Array.from(t17.children)) "ION-CONTENT" === i17.tagName && (e16 = true), "ION-FOOTER" === i17.tagName && (a16 = true); - } - e16 && !a16 && (t16.style.setProperty("height", "calc(var(--height) - var(--ion-safe-area-bottom, 0px))"), t16.style.setProperty("padding-bottom", "var(--ion-safe-area-bottom, 0px)")); - } - cleanupSafeAreaOverrides() { - var t16; - (t16 = this.el).style.removeProperty("--ion-safe-area-top"), t16.style.removeProperty("--ion-safe-area-bottom"), t16.style.removeProperty("--ion-safe-area-left"), t16.style.removeProperty("--ion-safe-area-right"), this.el.style.removeProperty("--ion-modal-offset-top"), this.wrapperEl && (this.wrapperEl.style.removeProperty("height"), this.wrapperEl.style.removeProperty("padding-bottom")); - } - render() { - const { handle: t16, isSheetModal: i16, presentingElement: o14, htmlAttributes: e16, handleBehavior: a16, inheritedAttributes: r32, focusTrap: d24, expandToScroll: h19 } = this, l28 = false !== t16 && i16, p33 = g(this), c36 = void 0 !== o14 && "ios" === p33, m26 = "cycle" === a16; - return Ct(It, Object.assign({ key: "1a53e8f87532abccc169ca4b24973a39c5f9ba16", "no-router": true, tabIndex: m26 && i16 && l28 ? 0 : -1 }, e16, { style: { zIndex: `${2e4 + this.overlayIndex}` }, class: Object.assign({ [p33]: true, "modal-default": !c36 && !i16, "modal-card": c36, "modal-sheet": i16, "modal-no-expand-scroll": i16 && !h19, "overlay-hidden": true, [nn]: false === d24 }, r5(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), Ct("ion-backdrop", { key: "fa8e0a436c0d458331402e1850f87af3dc97b582", ref: (t17) => this.backdropEl = t17, visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), "ios" === p33 && Ct("div", { key: "f00de6027d3c8b5bc93db3b0f7a50a87628d40bb", class: "modal-shadow" }), Ct("div", Object.assign({ key: "ae5e33bd6c58e541edb2edbca92420ea02dd5175", role: "dialog" }, r32, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (t17) => this.wrapperEl = t17 }), l28 && Ct("button", { key: "141cdd8f8522331f4b764e2a4d79ec6596b1eb3a", class: "modal-handle", tabIndex: m26 ? 0 : -1, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: m26 ? this.onHandleClick : void 0, part: "handle", ref: (t17) => this.dragHandleEl = t17 }), Ct("slot", { key: "7de20298b61abee67a16d275c9ebd9a25ce7dd26", onSlotchange: this.onSlotChange }))); - } - get el() { - return this; - } - static get watchers() { - return { isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }] }; - } - static get style() { - return { ios: ':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}', md: ':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}' }; - } -}, [289, "ion-modal", { hasController: [4, "has-controller"], overlayIndex: [2, "overlay-index"], delegate: [16], keyboardClose: [4, "keyboard-close"], enterAnimation: [16], leaveAnimation: [16], breakpoints: [16], expandToScroll: [4, "expand-to-scroll"], initialBreakpoint: [2, "initial-breakpoint"], backdropBreakpoint: [2, "backdrop-breakpoint"], handle: [4], handleBehavior: [1, "handle-behavior"], component: [1], componentProps: [16], cssClass: [1, "css-class"], backdropDismiss: [4, "backdrop-dismiss"], showBackdrop: [4, "show-backdrop"], animated: [4], presentingElement: [16], htmlAttributes: [16], isOpen: [4, "is-open"], trigger: [1], keepContentsMounted: [4, "keep-contents-mounted"], focusTrap: [4, "focus-trap"], canDismiss: [4, "can-dismiss"], isSheetModal: [32], presented: [32], present: [64], dismiss: [64], onDidDismiss: [64], onWillDismiss: [64], setCurrentBreakpoint: [64], getCurrentBreakpoint: [64] }, [[9, "resize", "onWindowResize"]], { isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }] }]); -var pt = { ionModalDidPresent: "ionViewDidEnter", ionModalWillPresent: "ionViewWillEnter", ionModalWillDismiss: "ionViewWillLeave", ionModalDidDismiss: "ionViewDidLeave" }; -function ct() { - "undefined" != typeof customElements && ["ion-modal", "ion-backdrop"].forEach(((t16) => { - switch (t16) { - case "ion-modal": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), lt); - break; - case "ion-backdrop": - customElements.get(Zn(t16)) || c11(); - } - })); -} - -// node_modules/@ionic/core/components/ion-modal.js -var p8 = ct; - -// node_modules/@ionic/core/components/p-DHsZWn1l.js -var O3 = null; -var L3 = false; -var N2 = (t16) => { - if (null !== O3) return O3; - if (null === t16.body) return { top: 0, bottom: 0, left: 0, right: 0 }; - const e16 = t16.createElement("div"); - e16.style.cssText = "position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);padding-bottom:var(--ion-safe-area-bottom,0px);padding-left:var(--ion-safe-area-left,0px);padding-right:var(--ion-safe-area-right,0px);", t16.body.appendChild(e16); - const o14 = getComputedStyle(e16), r32 = { top: parseFloat(o14.paddingTop) || 0, bottom: parseFloat(o14.paddingBottom) || 0, left: parseFloat(o14.paddingLeft) || 0, right: parseFloat(o14.paddingRight) || 0 }; - return e16.remove(), O3 = r32, L3 || (L3 = true, d2((() => { - O3 = null, L3 = false; - }))), r32; -}; -var W3 = (t16, e16, o14) => { - const r32 = e16.getBoundingClientRect(), i16 = r32.height; - let s21 = r32.width; - return "cover" === t16 && o14 && (s21 = o14.getBoundingClientRect().width), { contentWidth: s21, contentHeight: i16 }; -}; -var j4 = (t16, e16) => e16 && "ION-ITEM" === e16.tagName ? t16.findIndex(((t17) => t17 === e16)) : -1; -var z3 = (t16) => { - const e16 = c(t16).querySelector("button"); - e16 && d2((() => e16.focus())); -}; -var E3 = (t16, e16, o14, r32, i16, s21, n15, a16, p33, c36, d24) => { - var l28; - let h19 = { top: 0, left: 0, width: 0, height: 0 }; - if ("event" === s21) { - if (!d24) return p33; - h19 = { top: d24.clientY, left: d24.clientX, width: 1, height: 1 }; - } else { - const t17 = c36 || (null === (l28 = null == d24 ? void 0 : d24.detail) || void 0 === l28 ? void 0 : l28.ionShadowTarget) || (null == d24 ? void 0 : d24.target); - if (!t17) return p33; - const e17 = t17.getBoundingClientRect(); - h19 = { top: e17.top, left: e17.left, width: e17.width, height: e17.height }; - } - const v18 = M4(n15, h19, e16, o14, r32, i16, t16), f27 = R2(a16, n15, h19, e16, o14), g20 = v18.top + f27.top, m26 = v18.left + f27.left, { arrowTop: x15, arrowLeft: b20 } = Y2(n15, r32, i16, g20, m26, e16, o14, t16), { originX: u19, originY: w11 } = S2(n15, a16, t16); - return { top: g20, left: m26, referenceCoordinates: h19, arrowTop: x15, arrowLeft: b20, originX: u19, originY: w11 }; -}; -var S2 = (t16, e16, o14) => { - switch (t16) { - case "top": - return { originX: X3(e16), originY: "bottom" }; - case "bottom": - return { originX: X3(e16), originY: "top" }; - case "left": - return { originX: "right", originY: B4(e16) }; - case "right": - return { originX: "left", originY: B4(e16) }; - case "start": - return { originX: o14 ? "left" : "right", originY: B4(e16) }; - case "end": - return { originX: o14 ? "right" : "left", originY: B4(e16) }; - } -}; -var X3 = (t16) => { - switch (t16) { - case "start": - return "left"; - case "center": - return "center"; - case "end": - return "right"; - } -}; -var B4 = (t16) => { - switch (t16) { - case "start": - return "top"; - case "center": - return "center"; - case "end": - return "bottom"; - } -}; -var Y2 = (t16, e16, o14, r32, i16, s21, n15, a16) => { - const p33 = { arrowTop: r32 + n15 / 2 - e16 / 2, arrowLeft: i16 + s21 - e16 / 2 }, c36 = { arrowTop: r32 + n15 / 2 - e16 / 2, arrowLeft: i16 - 1.5 * e16 }; - switch (t16) { - case "top": - return { arrowTop: r32 + n15, arrowLeft: i16 + s21 / 2 - e16 / 2 }; - case "bottom": - return { arrowTop: r32 - o14, arrowLeft: i16 + s21 / 2 - e16 / 2 }; - case "left": - return p33; - case "right": - return c36; - case "start": - return a16 ? c36 : p33; - case "end": - return a16 ? p33 : c36; - default: - return { arrowTop: 0, arrowLeft: 0 }; - } -}; -var M4 = (t16, e16, o14, r32, i16, s21, n15) => { - const a16 = { top: e16.top, left: e16.left - o14 - i16 }, p33 = { top: e16.top, left: e16.left + e16.width + i16 }; - switch (t16) { - case "top": - return { top: e16.top - r32 - s21, left: e16.left }; - case "right": - return p33; - case "bottom": - return { top: e16.top + e16.height + s21, left: e16.left }; - case "left": - return a16; - case "start": - return n15 ? p33 : a16; - case "end": - return n15 ? a16 : p33; - } -}; -var R2 = (t16, e16, o14, r32, i16) => { - switch (t16) { - case "center": - return H2(e16, o14, r32, i16); - case "end": - return F2(e16, o14, r32, i16); - default: - return { top: 0, left: 0 }; - } -}; -var F2 = (t16, e16, o14, r32) => { - switch (t16) { - case "start": - case "end": - case "left": - case "right": - return { top: -(r32 - e16.height), left: 0 }; - default: - return { top: 0, left: -(o14 - e16.width) }; - } -}; -var H2 = (t16, e16, o14, r32) => { - switch (t16) { - case "start": - case "end": - case "left": - case "right": - return { top: -(r32 / 2 - e16.height / 2), left: 0 }; - default: - return { top: 0, left: -(o14 / 2 - e16.width / 2) }; - } -}; -var V2 = (t16, e16, o14, r32, i16, s21, n15, a16, p33, c36, d24, l28, h19 = 0, v18 = 0, f27 = 0) => { - let g20, m26 = h19, x15 = o14, b20 = e16, u19 = c36, w11 = d24, k11 = false, y12 = false, P6 = false, D6 = false; - const T7 = l28 ? l28.top + l28.height : s21 / 2 - a16 / 2, A6 = l28 ? l28.height : 0; - let $4 = false; - if (x15 < r32 + p33.left ? (x15 = r32, k11 = true, u19 = "left") : n15 + r32 + x15 + p33.right > i16 && (y12 = true, x15 = i16 - n15 - r32, u19 = "right"), T7 + A6 + a16 > s21 - p33.bottom && ("top" === t16 || "bottom" === t16)) { - const t17 = T7 - a16 - A6 - (f27 - 1); - t17 >= p33.top + r32 ? (b20 = t17, m26 = b20 + a16, w11 = "bottom", $4 = true) : (g20 = r32, D6 = true, b20 >= s21 - p33.bottom - r32 && (b20 = p33.top + r32, P6 = true)); - } - return { top: b20, left: x15, bottom: g20, originX: u19, originY: w11, checkSafeAreaLeft: k11, checkSafeAreaRight: y12, checkSafeAreaTop: P6, checkSafeAreaBottom: D6, arrowTop: m26, arrowLeft: v18, addPopoverBottomClass: $4, hideArrow: false }; -}; -var q4 = (t16, e16) => { - var o14; - const { event: r32, size: i16, trigger: s21, reference: n15, side: a16, align: p33 } = e16, c36 = t16.ownerDocument, d24 = "rtl" === c36.dir, l28 = c36.defaultView.innerWidth, h19 = c36.defaultView.innerHeight, v18 = c(t16), f27 = v18.querySelector(".popover-content"), g20 = v18.querySelector(".popover-arrow"), m26 = s21 || (null === (o14 = null == r32 ? void 0 : r32.detail) || void 0 === o14 ? void 0 : o14.ionShadowTarget) || (null == r32 ? void 0 : r32.target), { contentWidth: x15, contentHeight: u19 } = W3(i16, f27, m26), { arrowWidth: w11, arrowHeight: k11 } = ((t17) => { - if (!t17) return { arrowWidth: 0, arrowHeight: 0 }; - const { width: e17, height: o15 } = t17.getBoundingClientRect(); - return { arrowWidth: e17, arrowHeight: o15 }; - })(g20), y12 = E3(d24, x15, u19, w11, k11, n15, a16, p33, { top: h19 / 2 - u19 / 2, left: l28 / 2 - x15 / 2, originX: d24 ? "right" : "left", originY: "top" }, s21, r32), P6 = "cover" === i16 ? 0 : 5, D6 = N2(c36), T7 = "cover" === i16 ? { top: 0, bottom: 0, left: 0, right: 0 } : { top: Math.max(D6.top, 25), bottom: Math.max(D6.bottom, 25), left: Math.max(D6.left, 25), right: Math.max(D6.right, 25) }, { originX: A6, originY: $4, top: I7, left: O9, bottom: L8, checkSafeAreaLeft: j8, checkSafeAreaRight: z11, checkSafeAreaTop: S6, checkSafeAreaBottom: X6, arrowTop: B11, arrowLeft: Y5, addPopoverBottomClass: M6 } = V2(a16, y12.top, y12.left, P6, l28, h19, x15, u19, T7, y12.originX, y12.originY, y12.referenceCoordinates, y12.arrowTop, y12.arrowLeft, k11), R4 = r(), F4 = r(), H7 = r(); - return F4.addElement(v18.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), H7.addElement(v18.querySelector(".popover-arrow")).addElement(v18.querySelector(".popover-content")).fromTo("opacity", 0.01, 1), R4.easing("ease").duration(100).beforeAddWrite((() => { - if ("cover" === i16 && t16.style.setProperty("--width", `${x15}px`), M6 && t16.classList.add("popover-bottom"), void 0 !== L8) { - let t17 = `${L8}px`; - X6 && (t17 = `${L8}px + var(--ion-safe-area-bottom, 0px)`), f27.style.setProperty("bottom", `calc(${t17})`); - } - let e17 = `${O9}px`; - j8 && (e17 = `${O9}px + var(--ion-safe-area-left, 0px)`), z11 && (e17 = `${O9}px - var(--ion-safe-area-right, 0px)`); - let o15 = `${I7}px`; - if (S6 && (o15 = `${I7}px + var(--ion-safe-area-top, 0px)`), f27.style.setProperty("top", `calc(${o15} + var(--offset-y, 0))`), f27.style.setProperty("left", `calc(${e17} + var(--offset-x, 0))`), f27.style.setProperty("transform-origin", `${$4} ${A6}`), null !== g20) { - const t17 = /* @__PURE__ */ ((t18, e18 = false, o16, r33) => !(!o16 && !r33 || "top" !== t18 && "bottom" !== t18 && e18))(a16, y12.top !== I7 || y12.left !== O9, r32, s21); - t17 ? (g20.style.setProperty("top", `calc(${B11}px + var(--offset-y, 0))`), g20.style.setProperty("left", `calc(${Y5}px + var(--offset-x, 0))`)) : g20.style.setProperty("display", "none"); - } - })).addAnimation([F4, H7]); -}; -var J3 = (t16) => { - const e16 = c(t16), o14 = e16.querySelector(".popover-content"), r32 = e16.querySelector(".popover-arrow"), i16 = r(), s21 = r(), n15 = r(); - return s21.addElement(e16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), n15.addElement(e16.querySelector(".popover-arrow")).addElement(e16.querySelector(".popover-content")).fromTo("opacity", 0.99, 0), i16.easing("ease").afterAddWrite((() => { - t16.style.removeProperty("--width"), t16.classList.remove("popover-bottom"), o14.style.removeProperty("top"), o14.style.removeProperty("left"), o14.style.removeProperty("bottom"), o14.style.removeProperty("transform-origin"), r32 && (r32.style.removeProperty("top"), r32.style.removeProperty("left"), r32.style.removeProperty("display")); - })).duration(300).addAnimation([s21, n15]); -}; -var K3 = (t16, e16) => { - var o14; - const { event: r32, size: i16, trigger: s21, reference: n15, side: a16, align: p33 } = e16, c36 = t16.ownerDocument, d24 = "rtl" === c36.dir, l28 = c36.defaultView.innerWidth, h19 = c36.defaultView.innerHeight, v18 = c(t16), f27 = v18.querySelector(".popover-content"), g20 = s21 || (null === (o14 = null == r32 ? void 0 : r32.detail) || void 0 === o14 ? void 0 : o14.ionShadowTarget) || (null == r32 ? void 0 : r32.target), { contentWidth: m26, contentHeight: x15 } = W3(i16, f27, g20), u19 = E3(d24, m26, x15, 0, 0, n15, a16, p33, { top: h19 / 2 - x15 / 2, left: l28 / 2 - m26 / 2, originX: d24 ? "right" : "left", originY: "top" }, s21, r32), w11 = "cover" === i16 ? 0 : 12, k11 = "cover" === i16 ? { top: 0, bottom: 0, left: 0, right: 0 } : N2(c36), { originX: y12, originY: P6, top: D6, left: T7, bottom: A6, checkSafeAreaLeft: $4, checkSafeAreaRight: I7, checkSafeAreaTop: O9, checkSafeAreaBottom: L8, addPopoverBottomClass: j8 } = V2(a16, u19.top, u19.left, w11, l28, h19, m26, x15, k11, u19.originX, u19.originY, u19.referenceCoordinates); - let z11 = `${T7}px`; - $4 && (z11 = `${T7}px + var(--ion-safe-area-left, 0px)`), I7 && (z11 = `${T7}px - var(--ion-safe-area-right, 0px)`); - let S6 = `${D6}px`; - O9 && (S6 = `${D6}px + var(--ion-safe-area-top, 0px)`); - const X6 = r(), B11 = r(), Y5 = r(), M6 = r(), R4 = r(); - return B11.addElement(v18.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), Y5.addElement(v18.querySelector(".popover-wrapper")).duration(150).fromTo("opacity", 0.01, 1), M6.addElement(f27).beforeStyles({ top: `calc(${S6} + var(--offset-y, 0px))`, left: `calc(${z11} + var(--offset-x, 0px))`, "transform-origin": `${P6} ${y12}` }).beforeAddWrite((() => { - if (void 0 !== A6) { - let t17 = `${A6}px`; - L8 && (t17 = `${A6}px + var(--ion-safe-area-bottom, 0px)`), f27.style.setProperty("bottom", `calc(${t17})`); - } - })).fromTo("transform", "scale(0.8)", "scale(1)"), R4.addElement(v18.querySelector(".popover-viewport")).fromTo("opacity", 0.01, 1), X6.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((() => { - "cover" === i16 && t16.style.setProperty("--width", `${m26}px`), j8 && t16.classList.add("popover-bottom"); - })).addAnimation([B11, Y5, M6, R4]); -}; -var Q3 = (t16) => { - const e16 = c(t16), o14 = e16.querySelector(".popover-content"), r32 = r(), i16 = r(), s21 = r(); - return i16.addElement(e16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), s21.addElement(e16.querySelector(".popover-wrapper")).fromTo("opacity", 0.99, 0), r32.easing("ease").afterAddWrite((() => { - t16.style.removeProperty("--width"), t16.classList.remove("popover-bottom"), o14.style.removeProperty("top"), o14.style.removeProperty("left"), o14.style.removeProperty("bottom"), o14.style.removeProperty("transform-origin"); - })).duration(150).addAnimation([i16, s21]); -}; -var U3 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.didPresent = Jt(this, "ionPopoverDidPresent", 7), this.willPresent = Jt(this, "ionPopoverWillPresent", 7), this.willDismiss = Jt(this, "ionPopoverWillDismiss", 7), this.didDismiss = Jt(this, "ionPopoverDidDismiss", 7), this.didPresentShorthand = Jt(this, "didPresent", 7), this.willPresentShorthand = Jt(this, "willPresent", 7), this.willDismissShorthand = Jt(this, "willDismiss", 7), this.didDismissShorthand = Jt(this, "didDismiss", 7), this.ionMount = Jt(this, "ionMount", 7), this.parentPopover = null, this.coreDelegate = i8(), this.lockController = t10(), this.inline = false, this.focusDescendantOnPresent = false, this.presented = false, this.hasController = false, this.keyboardClose = true, this.backdropDismiss = true, this.showBackdrop = true, this.translucent = false, this.animated = true, this.triggerAction = "click", this.size = "auto", this.dismissOnSelect = false, this.reference = "trigger", this.side = "bottom", this.arrow = true, this.isOpen = false, this.keyboardEvents = false, this.focusTrap = true, this.keepContentsMounted = false, this.onBackdropTap = () => { - this.dismiss(void 0, H); - }, this.onLifecycle = (t17) => { - const e16 = this.usersElement, o14 = G3[t17.type]; - if (e16 && o14) { - const r32 = new CustomEvent(o14, { bubbles: false, cancelable: false, detail: t17.detail }); - e16.dispatchEvent(r32); - } - }, this.configureTriggerInteraction = () => { - const { trigger: t17, triggerAction: e16, el: o14, destroyTriggerInteraction: i16 } = this; - if (i16 && i16(), void 0 === t17) return; - const s21 = this.triggerEl = void 0 !== t17 ? document.getElementById(t17) : null; - s21 ? this.destroyTriggerInteraction = ((t18, e17, o15) => { - let r32 = []; - switch (e17) { - case "hover": - let t19; - r32 = [{ eventName: "mouseenter", callback: (e18) => __async(this, null, function* () { - e18.stopPropagation(), t19 && clearTimeout(t19), t19 = setTimeout((() => { - d2((() => { - o15.presentFromTrigger(e18), t19 = void 0; - })); - }), 100); - }) }, { eventName: "mouseleave", callback: (e18) => { - t19 && clearTimeout(t19); - const r33 = e18.relatedTarget; - r33 && r33.closest("ion-popover") !== o15 && o15.dismiss(void 0, void 0, false); - } }, { eventName: "click", callback: (t20) => t20.stopPropagation() }, { eventName: "ionPopoverActivateTrigger", callback: (t20) => o15.presentFromTrigger(t20, true) }]; - break; - case "context-menu": - r32 = [{ eventName: "contextmenu", callback: (t20) => { - t20.preventDefault(), o15.presentFromTrigger(t20); - } }, { eventName: "click", callback: (t20) => t20.stopPropagation() }, { eventName: "ionPopoverActivateTrigger", callback: (t20) => o15.presentFromTrigger(t20, true) }]; - break; - default: - r32 = [{ eventName: "click", callback: (t20) => o15.presentFromTrigger(t20) }, { eventName: "ionPopoverActivateTrigger", callback: (t20) => o15.presentFromTrigger(t20, true) }]; - } - return r32.forEach((({ eventName: e18, callback: o16 }) => t18.addEventListener(e18, o16))), t18.setAttribute("data-ion-popover-trigger", "true"), () => { - r32.forEach((({ eventName: e18, callback: o16 }) => t18.removeEventListener(e18, o16))), t18.removeAttribute("data-ion-popover-trigger"); - }; - })(s21, e16, o14) : u(`[ion-popover] - A trigger element with the ID "${t17}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`, this.el); - }, this.configureKeyboardInteraction = () => { - const { destroyKeyboardInteraction: t17, el: e16 } = this; - t17 && t17(), this.destroyKeyboardInteraction = ((t18) => { - const e17 = (e18) => __async(this, null, function* () { - var o14; - const r32 = document.activeElement; - let i16 = []; - const s21 = null === (o14 = e18.target) || void 0 === o14 ? void 0 : o14.tagName; - if ("ION-POPOVER" === s21 || "ION-ITEM" === s21) { - try { - i16 = Array.from(t18.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])")); - } catch (t19) { - } - switch (e18.key) { - case "ArrowLeft": - (yield t18.getParentPopover()) && t18.dismiss(void 0, void 0, false); - break; - case "ArrowDown": - e18.preventDefault(); - const o15 = ((t19, e19) => t19[j4(t19, e19) + 1])(i16, r32); - void 0 !== o15 && z3(o15); - break; - case "ArrowUp": - e18.preventDefault(); - const s22 = ((t19, e19) => t19[j4(t19, e19) - 1])(i16, r32); - void 0 !== s22 && z3(s22); - break; - case "Home": - e18.preventDefault(); - const n15 = i16[0]; - void 0 !== n15 && z3(n15); - break; - case "End": - e18.preventDefault(); - const a16 = i16[i16.length - 1]; - void 0 !== a16 && z3(a16); - break; - case "ArrowRight": - case " ": - case "Enter": - if (r32 && r32.hasAttribute("data-ion-popover-trigger")) { - const t19 = new CustomEvent("ionPopoverActivateTrigger"); - r32.dispatchEvent(t19); - } - } - } - }); - return t18.addEventListener("keydown", e17), () => t18.removeEventListener("keydown", e17); - })(e16); - }, this.configureDismissInteraction = () => { - const { destroyDismissInteraction: t17, parentPopover: e16, triggerAction: o14, triggerEl: r32, el: i16 } = this; - e16 && r32 && (t17 && t17(), this.destroyDismissInteraction = ((t18, e17, o15, r33) => { - let i17 = []; - const s21 = c(r33).querySelector(".popover-content"); - return i17 = "hover" === e17 ? [{ eventName: "mouseenter", callback: (e18) => { - document.elementFromPoint(e18.clientX, e18.clientY) !== t18 && o15.dismiss(void 0, void 0, false); - } }] : [{ eventName: "click", callback: (e18) => { - e18.target.closest("[data-ion-popover-trigger]") !== t18 ? o15.dismiss(void 0, void 0, false) : e18.stopPropagation(); - } }], i17.forEach((({ eventName: t19, callback: e18 }) => s21.addEventListener(t19, e18))), () => { - i17.forEach((({ eventName: t19, callback: e18 }) => s21.removeEventListener(t19, e18))); - }; - })(r32, o14, i16, e16)); - }; - } - onTriggerChange() { - this.configureTriggerInteraction(); - } - onIsOpenChange(t16, e16) { - true === t16 && false === e16 ? this.present() : false === t16 && true === e16 && this.dismiss(); - } - connectedCallback() { - const { configureTriggerInteraction: t16, el: e16 } = this; - I2(e16), t16(); - } - disconnectedCallback() { - const { destroyTriggerInteraction: t16 } = this; - t16 && t16(), this.headerResizeObserver && (this.headerResizeObserver.disconnect(), this.headerResizeObserver = void 0); - } - componentWillLoad() { - var t16, e16; - const { el: o14 } = this, r32 = null !== (e16 = null === (t16 = this.htmlAttributes) || void 0 === t16 ? void 0 : t16.id) && void 0 !== e16 ? e16 : N(o14); - this.parentPopover = o14.closest(`ion-popover:not(#${r32})`), void 0 === this.alignment && (this.alignment = "ios" === g(this) ? "center" : "start"); - } - componentDidLoad() { - const { parentPopover: t16, isOpen: e16 } = this; - true === e16 && d2((() => this.present())), t16 && l(t16, "ionPopoverWillDismiss", (() => { - this.dismiss(void 0, void 0, false); - })), this.configureTriggerInteraction(); - } - presentFromTrigger(t16, e16 = false) { - return __async(this, null, function* () { - this.focusDescendantOnPresent = e16, yield this.present(t16), this.focusDescendantOnPresent = false; - }); - } - getDelegate(t16 = false) { - if (this.workingDelegate && !t16) return { delegate: this.workingDelegate, inline: this.inline }; - const e16 = this.inline = null !== this.el.parentNode && !this.hasController; - return { inline: e16, delegate: this.workingDelegate = e16 ? this.delegate || this.coreDelegate : this.delegate }; - } - present(t16) { - return __async(this, null, function* () { - const e16 = yield this.lockController.lock(); - if (this.presented) return void e16(); - const { el: o14 } = this, { inline: r32, delegate: i16 } = this.getDelegate(true); - this.ionMount.emit(), this.usersElement = yield o8(i16, o14, this.component, ["popover-viewport"], this.componentProps, r32), this.recalculateContentOnHeaderReady(), this.keyboardEvents || this.configureKeyboardInteraction(), this.configureDismissInteraction(), t(o14) ? yield B(this.usersElement) : this.keepContentsMounted || (yield L()), yield $(this, "popoverEnter", q4, K3, { event: t16 || this.event, size: this.size, trigger: this.triggerEl, reference: this.reference, side: this.side, align: this.alignment }), this.focusDescendantOnPresent && f5(o14), e16(); - }); - } - recalculateContentOnHeaderReady() { - var t16; - const e16 = null === (t16 = this.el.shadowRoot) || void 0 === t16 ? void 0 : t16.querySelector(".popover-content"); - if (!e16) return; - const o14 = this.usersElement || e16, r32 = o14.querySelector("ion-header"), i16 = o14.querySelectorAll("ion-content"); - r32 && 0 !== i16.length && (this.headerResizeObserver = new ResizeObserver((() => __async(this, null, function* () { - var t17; - if (r32.offsetHeight > 0) { - null === (t17 = this.headerResizeObserver) || void 0 === t17 || t17.disconnect(), this.headerResizeObserver = void 0; - for (const t18 of i16) yield t18.recalculateDimensions(); - } - }))), this.headerResizeObserver.observe(r32)); - } - dismiss(t16, e16, o14 = true) { - return __async(this, null, function* () { - const r32 = yield this.lockController.lock(), { destroyKeyboardInteraction: i16, destroyDismissInteraction: s21 } = this; - o14 && this.parentPopover && this.parentPopover.dismiss(t16, e16, o14); - const n15 = yield J(this, t16, e16, "popoverLeave", J3, Q3, this.event); - if (n15) { - i16 && (i16(), this.destroyKeyboardInteraction = void 0), s21 && (s21(), this.destroyDismissInteraction = void 0); - const { delegate: t17 } = this.getDelegate(); - yield t8(t17, this.usersElement); - } - return r32(), n15; - }); - } - getParentPopover() { - return __async(this, null, function* () { - return this.parentPopover; - }); - } - onDidDismiss() { - return q2(this.el, "ionPopoverDidDismiss"); - } - onWillDismiss() { - return q2(this.el, "ionPopoverWillDismiss"); - } - render() { - const t16 = g(this), { onLifecycle: e16, parentPopover: o14, dismissOnSelect: r32, side: n15, arrow: a16, htmlAttributes: p33, focusTrap: c36 } = this, d24 = s5("desktop"), l28 = a16 && !o14; - return Ct(It, Object.assign({ key: "2edd8333c630efbce59071f8a383e4326e928dbc", "aria-modal": "true", "no-router": true, tabindex: "-1" }, p33, { style: { zIndex: `${2e4 + this.overlayIndex}` }, class: Object.assign(Object.assign({}, r5(this.cssClass)), { [t16]: true, "popover-translucent": this.translucent, "overlay-hidden": true, "popover-desktop": d24, [`popover-side-${n15}`]: true, [nn]: false === c36, "popover-nested": !!o14 }), onIonPopoverDidPresent: e16, onIonPopoverWillPresent: e16, onIonPopoverWillDismiss: e16, onIonPopoverDidDismiss: e16, onIonBackdropTap: this.onBackdropTap }), !o14 && Ct("ion-backdrop", { key: "aac4e68b08197534375e8ea3f8c9ea0c10ab2af4", tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), Ct("div", { key: "b7f4ebf57d4148b32856b0075d286f454be8de5d", class: "popover-wrapper ion-overlay-wrapper", onClick: r32 ? () => this.dismiss() : void 0 }, l28 && Ct("div", { key: "607d94c28d73e8e957175a7c0f6e8a99ec4dcd53", class: "popover-arrow", part: "arrow" }), Ct("div", { key: "4366a5a5de550c09895e923f345583508e1ec30c", class: "popover-content", part: "content" }, Ct("slot", { key: "eb7886fbc99c15b667b7d825d24f1c12d9380f03" })))); - } - get el() { - return this; - } - static get watchers() { - return { trigger: [{ onTriggerChange: 0 }], triggerAction: [{ onTriggerChange: 0 }], isOpen: [{ onIsOpenChange: 0 }] }; - } - static get style() { - return { ios: ':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}', md: ":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}" }; - } -}, [289, "ion-popover", { hasController: [4, "has-controller"], delegate: [16], overlayIndex: [2, "overlay-index"], enterAnimation: [16], leaveAnimation: [16], component: [1], componentProps: [16], keyboardClose: [4, "keyboard-close"], cssClass: [1, "css-class"], backdropDismiss: [4, "backdrop-dismiss"], event: [8], showBackdrop: [4, "show-backdrop"], translucent: [4], animated: [4], htmlAttributes: [16], triggerAction: [1, "trigger-action"], trigger: [1], size: [1], dismissOnSelect: [4, "dismiss-on-select"], reference: [1], side: [1], alignment: [1025], arrow: [4], isOpen: [4, "is-open"], keyboardEvents: [4, "keyboard-events"], focusTrap: [4, "focus-trap"], keepContentsMounted: [4, "keep-contents-mounted"], presented: [32], presentFromTrigger: [64], present: [64], dismiss: [64], getParentPopover: [64], onDidDismiss: [64], onWillDismiss: [64] }, void 0, { trigger: [{ onTriggerChange: 0 }], triggerAction: [{ onTriggerChange: 0 }], isOpen: [{ onIsOpenChange: 0 }] }]); -var G3 = { ionPopoverDidPresent: "ionViewDidEnter", ionPopoverWillPresent: "ionViewWillEnter", ionPopoverWillDismiss: "ionViewWillLeave", ionPopoverDidDismiss: "ionViewDidLeave" }; -function Z4() { - "undefined" != typeof customElements && ["ion-popover", "ion-backdrop"].forEach(((t16) => { - switch (t16) { - case "ion-popover": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), U3); - break; - case "ion-backdrop": - customElements.get(Zn(t16)) || c11(); - } - })); -} - -// node_modules/@ionic/core/components/ion-popover.js -var r7 = Z4; - -// node_modules/@ionic/core/components/ion-accordion.js -var u7 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.__attachShadow(), this.accordionGroupUpdateHandler = () => { - const t17 = this.accordionGroupEl; - if (t17) { - const i16 = t17.value, o14 = this.value, e16 = Array.isArray(i16) ? i16.includes(o14) : i16 === o14; - this.hasReceivedFirstUpdate && e16 !== (4 === this.state || 8 === this.state) && (this.hasInteracted = true), void 0 !== i16 && (this.hasReceivedFirstUpdate = true); - } - this.updateState(); - }, this.state = 1, this.isNext = false, this.isPrevious = false, this.hasInteracted = false, this.hasEverBeenExpanded = false, this.hasReceivedFirstUpdate = false, this.value = "ion-accordion-" + b6++, this.disabled = false, this.readonly = false, this.toggleIcon = g3, this.toggleIconSlot = "end", this.setItemDefaults = () => { - const t17 = this.getSlottedHeaderIonItem(); - t17 && (t17.button = true, t17.detail = false, void 0 === t17.lines && (t17.lines = "full")); - }, this.getSlottedHeaderIonItem = () => { - const { headerEl: t17 } = this; - if (!t17) return; - const i16 = t17.querySelector("slot"); - return i16 && void 0 !== i16.assignedElements ? i16.assignedElements().find(((t18) => "ION-ITEM" === t18.tagName)) : void 0; - }, this.setAria = (t17 = false) => { - const i16 = this.getSlottedHeaderIonItem(); - if (!i16) return; - const o14 = c(i16).querySelector("button"); - o14 && o14.setAttribute("aria-expanded", "" + t17); - }, this.slotToggleIcon = () => { - const t17 = this.getSlottedHeaderIonItem(); - if (!t17) return; - const { toggleIconSlot: i16, toggleIcon: o14 } = this; - if (t17.querySelector(".ion-accordion-toggle-icon")) return; - const e16 = document.createElement("ion-icon"); - e16.slot = i16, e16.lazy = false, e16.classList.add("ion-accordion-toggle-icon"), e16.icon = o14, e16.setAttribute("aria-hidden", "true"), t17.appendChild(e16); - }, this.expandAccordion = () => { - const { contentEl: t17, contentElWrapper: i16 } = this; - if (void 0 === t17 || void 0 === i16) return this.state = 4, void (this.hasEverBeenExpanded = true); - 4 !== this.state && (void 0 !== this.currentRaf && cancelAnimationFrame(this.currentRaf), this.hasEverBeenExpanded = true, this.shouldAnimate() ? d2((() => { - this.state = 8, this.currentRaf = d2((() => __async(this, null, function* () { - const o14 = i16.offsetHeight, e16 = i(t17, 2e3); - t17.style.setProperty("max-height", o14 + "px"), yield e16, this.state = 4, t17.style.removeProperty("max-height"); - }))); - })) : this.state = 4); - }, this.collapseAccordion = () => { - const { contentEl: t17 } = this; - void 0 !== t17 ? 1 !== this.state && (void 0 !== this.currentRaf && cancelAnimationFrame(this.currentRaf), this.shouldAnimate() ? this.currentRaf = d2((() => __async(this, null, function* () { - t17.style.setProperty("max-height", t17.offsetHeight + "px"), d2((() => __async(this, null, function* () { - const i16 = i(t17, 2e3); - this.state = 2, yield i16, this.state = 1, t17.style.removeProperty("max-height"); - }))); - }))) : this.state = 1) : this.state = 1; - }, this.shouldAnimate = () => !(!this.hasInteracted || !this.hasEverBeenExpanded) && ("undefined" != typeof window && (!matchMedia("(prefers-reduced-motion: reduce)").matches && !(!n.get("animated", true) || this.accordionGroupEl && !this.accordionGroupEl.animated))), this.updateState = () => __async(this, null, function* () { - const t17 = this.accordionGroupEl, i16 = this.value; - if (!t17) return; - const o14 = t17.value; - if (Array.isArray(o14) ? o14.includes(i16) : o14 === i16) this.expandAccordion(), this.isNext = this.isPrevious = false; - else { - this.collapseAccordion(); - const t18 = this.getNextSibling(), i17 = null == t18 ? void 0 : t18.value; - void 0 !== i17 && (this.isPrevious = Array.isArray(o14) ? o14.includes(i17) : o14 === i17); - const e16 = this.getPreviousSibling(), n15 = null == e16 ? void 0 : e16.value; - void 0 !== n15 && (this.isNext = Array.isArray(o14) ? o14.includes(n15) : o14 === n15); - } - }), this.getNextSibling = () => { - if (!this.el) return; - const t17 = this.el.nextElementSibling; - return "ION-ACCORDION" === (null == t17 ? void 0 : t17.tagName) ? t17 : void 0; - }, this.getPreviousSibling = () => { - if (!this.el) return; - const t17 = this.el.previousElementSibling; - return "ION-ACCORDION" === (null == t17 ? void 0 : t17.tagName) ? t17 : void 0; - }; - } - valueChanged() { - this.updateState(); - } - connectedCallback() { - var t16; - const i16 = this.accordionGroupEl = null === (t16 = this.el) || void 0 === t16 ? void 0 : t16.closest("ion-accordion-group"); - i16 && (this.updateState(), l(i16, "ionValueChange", this.accordionGroupUpdateHandler)); - } - disconnectedCallback() { - const t16 = this.accordionGroupEl; - t16 && u2(t16, "ionValueChange", this.accordionGroupUpdateHandler); - } - componentDidLoad() { - this.setItemDefaults(), this.slotToggleIcon(), d2((() => { - this.setAria(4 === this.state || 8 === this.state); - })); - } - toggleExpanded() { - const { accordionGroupEl: t16, disabled: i16, readonly: o14, value: e16, state: n15 } = this; - i16 || o14 || (this.hasInteracted = true, !t16) || t16.requestAccordionToggle(e16, 1 === n15 || 2 === n15); - } - render() { - const { disabled: t16, readonly: i16 } = this, o14 = g(this), e16 = 4 === this.state || 8 === this.state, a16 = e16 ? "header expanded" : "header", c36 = e16 ? "content expanded" : "content"; - return this.setAria(e16), Ct(It, { key: "5c58b3809a4636d69f0f9957ecf1f50c42cdfc03", class: { [o14]: true, "accordion-expanding": 8 === this.state, "accordion-expanded": 4 === this.state, "accordion-collapsing": 2 === this.state, "accordion-collapsed": 1 === this.state, "accordion-next": this.isNext, "accordion-previous": this.isPrevious, "accordion-disabled": t16, "accordion-readonly": i16, "accordion-animated": this.shouldAnimate() }, tabindex: t16 ? "-1" : void 0 }, Ct("div", { key: "f76bc02347639b41c9a5be8a9488a8be8559cba7", onClick: () => this.toggleExpanded(), id: "header", part: a16, "aria-controls": "content", ref: (t17) => this.headerEl = t17 }, Ct("slot", { key: "e01744bf0af3200239e82c60c632ed36295db2da", name: "header" })), Ct("div", { key: "c613345a7e244ee361f76ff4ebed139d2a1b9572", id: "content", part: c36, role: "region", "aria-labelledby": "header", ref: (t17) => this.contentEl = t17 }, Ct("div", { key: "943b65d9a129759b4c213974ae5ed777b5f6166e", id: "content-wrapper", ref: (t17) => this.contentElWrapper = t17 }, Ct("slot", { key: "b0df520dad9d5557df63a35f8206ada4a765d238", name: "content" })))); - } - static get delegatesFocus() { - return true; - } - get el() { - return this; - } - static get watchers() { - return { value: [{ valueChanged: 0 }] }; - } - static get style() { - return { ios: ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}", md: ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}" }; - } -}, [305, "ion-accordion", { value: [1], disabled: [4], readonly: [4], toggleIcon: [1, "toggle-icon"], toggleIconSlot: [1, "toggle-icon-slot"], state: [32], isNext: [32], isPrevious: [32], hasInteracted: [32] }, void 0, { value: [{ valueChanged: 0 }] }]); -var b6 = 0; -var f10 = function() { - "undefined" != typeof customElements && ["ion-accordion", "ion-icon"].forEach(((t16) => { - switch (t16) { - case "ion-accordion": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), u7); - break; - case "ion-icon": - customElements.get(Zn(t16)) || y4(); - } - })); -}; - -// node_modules/@ionic/core/components/ion-accordion-group.js -var d6 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.ionChange = Jt(this, "ionChange", 7), this.ionValueChange = Jt(this, "ionValueChange", 7), this.animated = true, this.disabled = false, this.readonly = false, this.expand = "compact"; - } - valueChanged() { - const { value: o14, multiple: n15 } = this; - !n15 && Array.isArray(o14) && u(`[ion-accordion-group] - An array of values was passed, but multiple is "false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false". - - Value Passed: [${o14.map(((o15) => `'${o15}'`)).join(", ")}] -`, this.el), this.ionValueChange.emit({ value: this.value }); - } - disabledChanged() { - return __async(this, null, function* () { - const { disabled: o14 } = this, n15 = yield this.getAccordions(); - for (const i16 of n15) i16.disabled = o14; - }); - } - readonlyChanged() { - return __async(this, null, function* () { - const { readonly: o14 } = this, n15 = yield this.getAccordions(); - for (const i16 of n15) i16.readonly = o14; - }); - } - onKeydown(o14) { - return __async(this, null, function* () { - const n15 = document.activeElement; - if (!n15) return; - if (!n15.closest('ion-accordion [slot="header"]')) return; - const i16 = "ION-ACCORDION" === n15.tagName ? n15 : n15.closest("ion-accordion"); - if (!i16) return; - if (i16.closest("ion-accordion-group") !== this.el) return; - const t16 = yield this.getAccordions(), e16 = t16.findIndex(((o15) => o15 === i16)); - if (-1 === e16) return; - let a16; - "ArrowDown" === o14.key ? a16 = this.findNextAccordion(t16, e16) : "ArrowUp" === o14.key ? a16 = this.findPreviousAccordion(t16, e16) : "Home" === o14.key ? a16 = t16[0] : "End" === o14.key && (a16 = t16[t16.length - 1]), void 0 !== a16 && a16 !== n15 && a16.focus(); - }); - } - componentDidLoad() { - return __async(this, null, function* () { - this.disabled && this.disabledChanged(), this.readonly && this.readonlyChanged(), this.valueChanged(); - }); - } - setValue(o14) { - const n15 = this.value = o14; - this.ionChange.emit({ value: n15 }); - } - requestAccordionToggle(o14, n15) { - return __async(this, null, function* () { - const { multiple: i16, value: t16, readonly: e16, disabled: a16 } = this; - if (!e16 && !a16) if (n15) if (i16) { - const n16 = null != t16 ? t16 : [], i17 = Array.isArray(n16) ? n16 : [n16]; - void 0 === i17.find(((n17) => n17 === o14)) && void 0 !== o14 && this.setValue([...i17, o14]); - } else this.setValue(o14); - else if (i16) { - const n16 = null != t16 ? t16 : []; - this.setValue((Array.isArray(n16) ? n16 : [n16]).filter(((n17) => n17 !== o14))); - } else this.setValue(void 0); - }); - } - findNextAccordion(o14, n15) { - const i16 = o14[n15 + 1]; - return void 0 === i16 ? o14[0] : i16; - } - findPreviousAccordion(o14, n15) { - const i16 = o14[n15 - 1]; - return void 0 === i16 ? o14[o14.length - 1] : i16; - } - getAccordions() { - return __async(this, null, function* () { - return Array.from(this.el.querySelectorAll(":scope > ion-accordion")); - }); - } - render() { - const { disabled: o14, readonly: n15, expand: i16 } = this, t16 = g(this); - return Ct(It, { key: "d1a79a93179474fbba66fcf11a92f4871dacc975", class: { [t16]: true, "accordion-group-disabled": o14, "accordion-group-readonly": n15, ["accordion-group-expand-" + i16]: true }, role: "presentation" }, Ct("slot", { key: "e6b8954b686d1fbb4fc92adb07fddc97a24b0a31" })); - } - get el() { - return this; - } - static get watchers() { - return { value: [{ valueChanged: 0 }], disabled: [{ disabledChanged: 0 }], readonly: [{ readonlyChanged: 0 }] }; - } - static get style() { - return { ios: ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}", md: ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion){-webkit-box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;border-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-previous){border-end-end-radius:6px;border-end-start-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-next){border-start-start-radius:6px;border-start-end-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion):first-of-type{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}" }; - } -}, [289, "ion-accordion-group", { animated: [4], multiple: [4], value: [1025], disabled: [4], readonly: [4], expand: [1], requestAccordionToggle: [64], getAccordions: [64] }, [[0, "keydown", "onKeydown"]], { value: [{ valueChanged: 0 }], disabled: [{ disabledChanged: 0 }], readonly: [{ readonlyChanged: 0 }] }]); -var p9 = function() { - "undefined" != typeof customElements && ["ion-accordion-group"].forEach(((o14) => { - "ion-accordion-group" === o14 && (customElements.get(Zn(o14)) || customElements.define(Zn(o14), d6)); - })); -}; - -// node_modules/@ionic/core/components/p-cyNmxje6.js -var n7; -var s8; -!(function(t16) { - t16.Heavy = "HEAVY", t16.Medium = "MEDIUM", t16.Light = "LIGHT"; -})(n7 || (n7 = {})), (function(t16) { - t16.Success = "SUCCESS", t16.Warning = "WARNING", t16.Error = "ERROR"; -})(s8 || (s8 = {})); -var i10 = { getEngine() { - const n15 = r3(); - if (null == n15 ? void 0 : n15.isPluginAvailable("Haptics")) return n15.Plugins.Haptics; -}, available() { - if (!this.getEngine()) return false; - const n15 = r3(); - return "web" !== (null == n15 ? void 0 : n15.getPlatform()) || "undefined" != typeof navigator && void 0 !== navigator.vibrate; -}, impact(t16) { - const n15 = this.getEngine(); - n15 && n15.impact({ style: t16.style }); -}, notification(t16) { - const n15 = this.getEngine(); - n15 && n15.notification({ type: t16.type }); -}, selection() { - this.impact({ style: n7.Light }); -}, selectionStart() { - const t16 = this.getEngine(); - t16 && t16.selectionStart(); -}, selectionChanged() { - const t16 = this.getEngine(); - t16 && t16.selectionChanged(); -}, selectionEnd() { - const t16 = this.getEngine(); - t16 && t16.selectionEnd(); -} }; -var o10 = () => i10.available(); -var e10 = () => { - o10() && i10.selection(); -}; -var a8 = () => { - o10() && i10.selectionStart(); -}; -var c12 = () => { - o10() && i10.selectionChanged(); -}; -var r8 = () => { - o10() && i10.selectionEnd(); -}; -var l11 = (t16) => { - o10() && i10.impact(t16); -}; - -// node_modules/@ionic/core/components/p-C4jPsTQa.js -var s9 = (s21, a16) => { - let i16, c36; - const d24 = (t16, o14, e16) => { - if ("undefined" == typeof document) return; - const n15 = document.elementFromPoint(t16, o14); - n15 && a16(n15) && !n15.disabled ? n15 !== i16 && (f27(), m26(n15, e16)) : f27(); - }, m26 = (o14, e16) => { - i16 = o14, c36 || (c36 = i16); - const n15 = i16; - P((() => n15.classList.add("ion-activated"))), e16(); - }, f27 = (o14 = false) => { - if (!i16) return; - const e16 = i16; - P((() => e16.classList.remove("ion-activated"))), o14 && c36 !== i16 && i16.click(), i16 = void 0; - }; - return s4({ el: s21, gestureName: "buttonActiveDrag", threshold: 0, onStart: (t16) => d24(t16.currentX, t16.currentY, a8), onMove: (t16) => d24(t16.currentX, t16.currentY, c12), onEnd: () => { - f27(true), r8(), c36 = void 0; - } }); -}; - -// node_modules/@ionic/core/components/p-1KVKSLu5.js -var D3 = (t16) => { - const o14 = r(), e16 = r(), i16 = r(); - return e16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), i16.addElement(t16.querySelector(".action-sheet-wrapper")).fromTo("transform", "translateY(100%)", "translateY(0%)"), o14.addElement(t16).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e16, i16]); -}; -var A2 = (t16) => { - const o14 = r(), e16 = r(), i16 = r(); - return e16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), i16.addElement(t16.querySelector(".action-sheet-wrapper")).fromTo("transform", "translateY(0%)", "translateY(100%)"), o14.addElement(t16).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e16, i16]); -}; -var O4 = (t16) => { - const o14 = r(), e16 = r(), i16 = r(); - return e16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), i16.addElement(t16.querySelector(".action-sheet-wrapper")).fromTo("transform", "translateY(100%)", "translateY(0%)"), o14.addElement(t16).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e16, i16]); -}; -var I3 = (t16) => { - const o14 = r(), e16 = r(), i16 = r(); - return e16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), i16.addElement(t16.querySelector(".action-sheet-wrapper")).fromTo("transform", "translateY(0%)", "translateY(100%)"), o14.addElement(t16).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e16, i16]); -}; -var B5 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.didPresent = Jt(this, "ionActionSheetDidPresent", 7), this.willPresent = Jt(this, "ionActionSheetWillPresent", 7), this.willDismiss = Jt(this, "ionActionSheetWillDismiss", 7), this.didDismiss = Jt(this, "ionActionSheetDidDismiss", 7), this.didPresentShorthand = Jt(this, "didPresent", 7), this.willPresentShorthand = Jt(this, "willPresent", 7), this.willDismissShorthand = Jt(this, "willDismiss", 7), this.didDismissShorthand = Jt(this, "didDismiss", 7), this.delegateController = X(this), this.lockController = t10(), this.triggerController = Y(), this.hasRadioButtons = false, this.presented = false, this.hasController = false, this.keyboardClose = true, this.buttons = [], this.backdropDismiss = true, this.translucent = false, this.animated = true, this.isOpen = false, this.onBackdropTap = () => { - this.dismiss(void 0, H); - }, this.dispatchCancelHandler = (t17) => { - if (Q(t17.detail.role)) { - const t18 = this.getButtons().find(((t19) => "cancel" === t19.role)); - this.callButtonHandler(t18); - } - }; - } - buttonsChanged() { - const t16 = this.getRadioButtons(); - if (this.hasRadioButtons = t16.length > 0, this.hasRadioButtons) { - const o14 = t16.find(((t17) => { - var o15; - return "true" === (null === (o15 = t17.htmlAttributes) || void 0 === o15 ? void 0 : o15["aria-checked"]); - })); - if (o14) { - const t17 = this.getButtons().indexOf(o14); - this.activeRadioId = this.getButtonId(o14, t17); - } - } - } - onIsOpenChange(t16, o14) { - true === t16 && false === o14 ? this.present() : false === t16 && true === o14 && this.dismiss(); - } - triggerChanged() { - const { trigger: t16, el: o14, triggerController: e16 } = this; - t16 && e16.addClickListener(o14, t16); - } - present() { - return __async(this, null, function* () { - const t16 = yield this.lockController.lock(); - yield this.delegateController.attachViewToDom(), yield $(this, "actionSheetEnter", D3, O4), t16(); - }); - } - dismiss(t16, o14) { - return __async(this, null, function* () { - const e16 = yield this.lockController.lock(), i16 = yield J(this, t16, o14, "actionSheetLeave", A2, I3); - return i16 && this.delegateController.removeViewFromDom(), e16(), i16; - }); - } - onDidDismiss() { - return q2(this.el, "ionActionSheetDidDismiss"); - } - onWillDismiss() { - return q2(this.el, "ionActionSheetWillDismiss"); - } - buttonClick(t16) { - return __async(this, null, function* () { - const o14 = t16.role; - return Q(o14) ? this.dismiss(t16.data, o14) : (yield this.callButtonHandler(t16)) ? this.dismiss(t16.data, t16.role) : Promise.resolve(); - }); - } - callButtonHandler(t16) { - return __async(this, null, function* () { - return !t16 || false !== (yield _2(t16.handler)); - }); - } - getButtons() { - return this.buttons.map(((t16) => "string" == typeof t16 ? { text: t16 } : t16)); - } - getRadioButtons() { - return this.getButtons().filter(((t16) => { - var o14; - const e16 = null === (o14 = t16.htmlAttributes) || void 0 === o14 ? void 0 : o14.role; - return "radio" === e16 && !Q(e16); - })); - } - selectRadioButton(t16) { - const o14 = this.getButtonId(t16); - this.activeRadioId = o14; - } - getButtonId(t16, o14) { - if (t16.id) return t16.id; - const e16 = this.getButtons(), i16 = void 0 !== o14 ? o14 : e16.indexOf(t16); - return `action-sheet-button-${this.overlayIndex}-${i16}`; - } - onKeydown(t16) { - if (!this.hasRadioButtons || !this.presented) return; - const o14 = t16.target; - if (!this.el.contains(o14) || !o14.classList.contains("action-sheet-button") || "radio" !== o14.getAttribute("role")) return; - const e16 = Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter(((t17) => !t17.disabled)), i16 = e16.findIndex(((t17) => t17.id === o14.id)); - if (-1 === i16) return; - const n15 = this.getButtons(), a16 = this.getRadioButtons(), s21 = /* @__PURE__ */ new Map(); - let r32; - if (a16.forEach(((t17) => { - const o15 = n15.indexOf(t17), e17 = this.getButtonId(t17, o15); - s21.set(e17, t17); - })), ["ArrowDown", "ArrowRight"].includes(t16.key)) t16.preventDefault(), t16.stopPropagation(), r32 = i16 === e16.length - 1 ? e16[0] : e16[i16 + 1]; - else if (["ArrowUp", "ArrowLeft"].includes(t16.key)) t16.preventDefault(), t16.stopPropagation(), r32 = 0 === i16 ? e16[e16.length - 1] : e16[i16 - 1]; - else if (" " === t16.key || "Enter" === t16.key) { - t16.preventDefault(), t16.stopPropagation(); - const e17 = s21.get(o14.id); - return void (e17 && (this.selectRadioButton(e17), this.buttonClick(e17))); - } - if (r32) { - const t17 = s21.get(r32.id); - t17 && (this.selectRadioButton(t17), r32.focus()); - } - } - connectedCallback() { - I2(this.el), this.triggerChanged(); - } - disconnectedCallback() { - this.gesture && (this.gesture.destroy(), this.gesture = void 0), this.triggerController.removeClickListener(); - } - componentWillLoad() { - var t16; - (null === (t16 = this.htmlAttributes) || void 0 === t16 ? void 0 : t16.id) || N(this.el), this.buttonsChanged(); - } - componentDidLoad() { - const { groupEl: t16, wrapperEl: o14 } = this; - !this.gesture && "ios" === g(this) && o14 && t16 && W((() => { - t16.scrollHeight > t16.clientHeight || (this.gesture = s9(o14, ((t17) => t17.classList.contains("action-sheet-button"))), this.gesture.enable(true)); - })), true === this.isOpen && d2((() => this.present())), this.triggerChanged(); - } - renderActionSheetButtons(t16) { - const o14 = g(this), { activeRadioId: e16 } = this; - return t16.map(((t17, i16) => { - var a16; - const s21 = "radio" === (null === (a16 = t17.htmlAttributes) || void 0 === a16 ? void 0 : a16.role), r32 = this.getButtonId(t17, i16), c36 = this.getRadioButtons(), d24 = s21 && r32 === e16; - let l28; - l28 = s21 ? d24 || !e16 && s21 && t17 === c36[0] ? 0 : -1 : void 0; - const h19 = Object.assign({}, t17.htmlAttributes); - return s21 && (h19["aria-checked"] = d24 ? "true" : "false"), Ct("button", Object.assign({}, h19, { role: s21 ? "radio" : void 0, type: "button", id: r32, class: Object.assign(Object.assign({}, E4(t17)), { "action-sheet-selected": d24 }), onClick: () => { - s21 && this.selectRadioButton(t17), this.buttonClick(t17); - }, disabled: t17.disabled, tabIndex: l28 }), Ct("span", { class: "action-sheet-button-inner" }, t17.icon && Ct("ion-icon", { icon: t17.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), t17.text), "md" === o14 && Ct("ion-ripple-effect", null)); - })); - } - render() { - const { header: t16, htmlAttributes: o14, overlayIndex: e16, hasRadioButtons: i16 } = this, s21 = g(this), r32 = this.getButtons(), c36 = r32.find(((t17) => "cancel" === t17.role)), d24 = r32.filter(((t17) => "cancel" !== t17.role)), l28 = `action-sheet-${e16}-header`; - return Ct(It, Object.assign({ key: "173fcff5b1da7c33c267de4667591c946b8c8d03", role: "dialog", "aria-modal": "true", "aria-labelledby": void 0 !== t16 ? l28 : null, tabindex: "-1" }, o14, { style: { zIndex: `${2e4 + this.overlayIndex}` }, class: Object.assign(Object.assign({ [s21]: true }, r5(this.cssClass)), { "overlay-hidden": true, "action-sheet-translucent": this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), Ct("ion-backdrop", { key: "521ede659f747864f6c974e09016436eceb7158c", tappable: this.backdropDismiss }), Ct("div", { key: "7a7946fc434bc444f16a70638f5e948c69d33fcd", tabindex: "0", "aria-hidden": "true" }), Ct("div", { key: "bcff39a580489dbafa255842e57aa8602c6d0f18", class: "action-sheet-wrapper ion-overlay-wrapper", ref: (t17) => this.wrapperEl = t17 }, Ct("div", { key: "84bba13ce14261f0f0daa3f9c77648c9e7f36e0e", class: "action-sheet-container" }, Ct("div", { key: "d9c8ac404fd6719a7adf8cb36549f67616f9a0c4", class: "action-sheet-group", ref: (t17) => this.groupEl = t17, role: i16 ? "radiogroup" : void 0 }, void 0 !== t16 && Ct("div", { key: "180433a8ad03ef5c54728a1a8f34715b6921d658", id: l28, class: { "action-sheet-title": true, "action-sheet-has-sub-title": void 0 !== this.subHeader } }, t16, this.subHeader && Ct("div", { key: "7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a", class: "action-sheet-sub-title" }, this.subHeader)), this.renderActionSheetButtons(d24)), c36 && Ct("div", { key: "b617c722f5b8028d73ed34b69310f312c65f34a7", class: "action-sheet-group action-sheet-group-cancel" }, Ct("button", Object.assign({ key: "d0dd876fc48815df3710413c201c0b445a8e16c0" }, c36.htmlAttributes, { type: "button", class: E4(c36), onClick: () => this.buttonClick(c36) }), Ct("span", { key: "e7b960157cc6fc5fe92a12090b2be55e8ae072e4", class: "action-sheet-button-inner" }, c36.icon && Ct("ion-icon", { key: "05498ffc60cab911dbff0ecbc6168dea59ada9a5", icon: c36.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), c36.text), "md" === s21 && Ct("ion-ripple-effect", { key: "3d401346cea301be4ca03671f7370f6f4b0b6bde" }))))), Ct("div", { key: "971f3c5fcc07f36c28eb469a47ec0290c692e139", tabindex: "0", "aria-hidden": "true" })); - } - get el() { - return this; - } - static get watchers() { - return { buttons: [{ buttonsChanged: 0 }], isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }] }; - } - static get style() { - return { ios: '.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}', md: '.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}' }; - } -}, [34, "ion-action-sheet", { overlayIndex: [2, "overlay-index"], delegate: [16], hasController: [4, "has-controller"], keyboardClose: [4, "keyboard-close"], enterAnimation: [16], leaveAnimation: [16], buttons: [16], cssClass: [1, "css-class"], backdropDismiss: [4, "backdrop-dismiss"], header: [1], subHeader: [1, "sub-header"], translucent: [4], animated: [4], htmlAttributes: [16], isOpen: [4, "is-open"], trigger: [1], activeRadioId: [32], present: [64], dismiss: [64], onDidDismiss: [64], onWillDismiss: [64] }, [[0, "keydown", "onKeydown"]], { buttons: [{ buttonsChanged: 0 }], isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }] }]); -var E4 = (t16) => Object.assign({ "action-sheet-button": true, "ion-activatable": !t16.disabled, "ion-focusable": !t16.disabled, [`action-sheet-${t16.role}`]: void 0 !== t16.role }, r5(t16.cssClass)); -function S3() { - "undefined" != typeof customElements && ["ion-action-sheet", "ion-backdrop", "ion-icon", "ion-ripple-effect"].forEach(((t16) => { - switch (t16) { - case "ion-action-sheet": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), B5); - break; - case "ion-backdrop": - customElements.get(Zn(t16)) || c11(); - break; - case "ion-icon": - customElements.get(Zn(t16)) || y4(); - break; - case "ion-ripple-effect": - customElements.get(Zn(t16)) || p7(); - } - })); -} - -// node_modules/@ionic/core/components/ion-action-sheet.js -var r9 = S3; - -// node_modules/@ionic/core/components/p-CH0NYjKq.js -var I4 = (t16) => { - const e16 = r(), i16 = r(), r32 = r(); - return i16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), r32.addElement(t16.querySelector(".alert-wrapper")).keyframes([{ offset: 0, opacity: "0.01", transform: "scale(1.1)" }, { offset: 1, opacity: "1", transform: "scale(1)" }]), e16.addElement(t16).easing("ease-in-out").duration(200).addAnimation([i16, r32]); -}; -var $2 = (t16) => { - const e16 = r(), i16 = r(), r32 = r(); - return i16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), r32.addElement(t16.querySelector(".alert-wrapper")).keyframes([{ offset: 0, opacity: 0.99, transform: "scale(1)" }, { offset: 1, opacity: 0, transform: "scale(0.9)" }]), e16.addElement(t16).easing("ease-in-out").duration(200).addAnimation([i16, r32]); -}; -var E5 = (t16) => { - const e16 = r(), i16 = r(), r32 = r(); - return i16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", 0.01, "var(--backdrop-opacity)").beforeStyles({ "pointer-events": "none" }).afterClearStyles(["pointer-events"]), r32.addElement(t16.querySelector(".alert-wrapper")).keyframes([{ offset: 0, opacity: "0.01", transform: "scale(0.9)" }, { offset: 1, opacity: "1", transform: "scale(1)" }]), e16.addElement(t16).easing("ease-in-out").duration(150).addAnimation([i16, r32]); -}; -var T3 = (t16) => { - const e16 = r(), i16 = r(), r32 = r(); - return i16.addElement(t16.querySelector("ion-backdrop")).fromTo("opacity", "var(--backdrop-opacity)", 0), r32.addElement(t16.querySelector(".alert-wrapper")).fromTo("opacity", 0.99, 0), e16.addElement(t16).easing("ease-in-out").duration(150).addAnimation([i16, r32]); -}; -var B6 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(), this.didPresent = Jt(this, "ionAlertDidPresent", 7), this.willPresent = Jt(this, "ionAlertWillPresent", 7), this.willDismiss = Jt(this, "ionAlertWillDismiss", 7), this.didDismiss = Jt(this, "ionAlertDidDismiss", 7), this.didPresentShorthand = Jt(this, "didPresent", 7), this.willPresentShorthand = Jt(this, "willPresent", 7), this.willDismissShorthand = Jt(this, "willDismiss", 7), this.didDismissShorthand = Jt(this, "didDismiss", 7), this.delegateController = X(this), this.lockController = t10(), this.triggerController = Y(), this.customHTMLEnabled = n.get("innerHTMLTemplatesEnabled", l6), this.processedInputs = [], this.processedButtons = [], this.presented = false, this.hasController = false, this.keyboardClose = true, this.buttons = [], this.inputs = [], this.backdropDismiss = true, this.translucent = false, this.animated = true, this.isOpen = false, this.onBackdropTap = () => { - this.dismiss(void 0, H); - }, this.dispatchCancelHandler = (t17) => { - if (Q(t17.detail.role)) { - const t18 = this.processedButtons.find(((t19) => "cancel" === t19.role)); - this.callButtonHandler(t18); - } - }; - } - onIsOpenChange(t16, e16) { - true === t16 && false === e16 ? this.present() : false === t16 && true === e16 && this.dismiss(); - } - triggerChanged() { - const { trigger: t16, el: e16, triggerController: i16 } = this; - t16 && i16.addClickListener(e16, t16); - } - onKeydown(t16) { - var e16; - const i16 = new Set(this.processedInputs.map(((t17) => t17.type))); - if (i16.has("checkbox") && "Enter" === t16.key) return void t16.preventDefault(); - if (t16.target.classList.contains("alert-wrapper") && "Tab" === t16.key && t16.shiftKey) return t16.preventDefault(), void (null === (e16 = this.wrapperEl) || void 0 === e16 ? void 0 : e16.querySelector(".alert-button:last-child")).focus(); - if (!i16.has("radio") || t16.target && !this.el.contains(t16.target) || t16.target.classList.contains("alert-button")) return; - const r32 = this.el.querySelectorAll(".alert-radio"), o14 = Array.from(r32).filter(((t17) => !t17.disabled)), a16 = o14.findIndex(((e17) => e17.id === t16.target.id)); - let n15; - if (["ArrowDown", "ArrowRight"].includes(t16.key) && (n15 = a16 === o14.length - 1 ? o14[0] : o14[a16 + 1]), ["ArrowUp", "ArrowLeft"].includes(t16.key) && (n15 = 0 === a16 ? o14[o14.length - 1] : o14[a16 - 1]), n15 && o14.includes(n15)) { - const t17 = this.processedInputs.find(((t18) => t18.id === (null == n15 ? void 0 : n15.id))); - t17 && (this.rbClick(t17), n15.focus()); - } - } - buttonsChanged() { - this.processedButtons = this.buttons.map(((t16) => "string" == typeof t16 ? { text: t16, role: "cancel" === t16.toLowerCase() ? "cancel" : void 0 } : t16)); - } - inputsChanged() { - const t16 = this.inputs, e16 = t16.find(((t17) => !t17.disabled)), i16 = t16.find(((t17) => t17.checked && !t17.disabled)) || e16, r32 = new Set(t16.map(((t17) => t17.type))); - r32.has("checkbox") && r32.has("radio") && u(`[ion-alert] - Alert cannot mix input types: ${Array.from(r32.values()).join("/")}. Please see alert docs for more info.`), this.inputType = r32.values().next().value, this.processedInputs = t16.map(((t17, e17) => { - var r33; - return { type: t17.type || "text", name: t17.name || `${e17}`, placeholder: t17.placeholder || "", value: t17.value, label: t17.label, checked: !!t17.checked, disabled: !!t17.disabled, id: t17.id || `alert-input-${this.overlayIndex}-${e17}`, handler: t17.handler, min: t17.min, max: t17.max, cssClass: null !== (r33 = t17.cssClass) && void 0 !== r33 ? r33 : "", attributes: t17.attributes || {}, tabindex: "radio" === t17.type && t17 !== i16 ? -1 : 0 }; - })); - } - connectedCallback() { - I2(this.el), this.triggerChanged(); - } - componentWillLoad() { - var t16; - (null === (t16 = this.htmlAttributes) || void 0 === t16 ? void 0 : t16.id) || N(this.el), this.inputsChanged(), this.buttonsChanged(); - } - disconnectedCallback() { - this.triggerController.removeClickListener(), this.gesture && (this.gesture.destroy(), this.gesture = void 0); - } - componentDidLoad() { - !this.gesture && "ios" === g(this) && this.wrapperEl && (this.gesture = s9(this.wrapperEl, ((t16) => t16.classList.contains("alert-button"))), this.gesture.enable(true)), true === this.isOpen && d2((() => this.present())), this.triggerChanged(); - } - present() { - return __async(this, null, function* () { - const t16 = yield this.lockController.lock(); - yield this.delegateController.attachViewToDom(), yield $(this, "alertEnter", I4, E5).then((() => { - var t17, e16; - 1 === this.buttons.length && 0 === this.inputs.length ? (null === (t17 = this.wrapperEl) || void 0 === t17 ? void 0 : t17.querySelector(".alert-button")).focus() : null === (e16 = this.wrapperEl) || void 0 === e16 || e16.focus(); - })), t16(); - }); - } - dismiss(t16, e16) { - return __async(this, null, function* () { - const i16 = yield this.lockController.lock(), r32 = yield J(this, t16, e16, "alertLeave", $2, T3); - return r32 && this.delegateController.removeViewFromDom(), i16(), r32; - }); - } - onDidDismiss() { - return q2(this.el, "ionAlertDidDismiss"); - } - onWillDismiss() { - return q2(this.el, "ionAlertWillDismiss"); - } - rbClick(t16) { - for (const e16 of this.processedInputs) e16.checked = e16 === t16, e16.tabindex = e16 === t16 ? 0 : -1; - this.activeId = t16.id, _2(t16.handler, t16), Rn(this); - } - cbClick(t16) { - t16.checked = !t16.checked, _2(t16.handler, t16), Rn(this); - } - buttonClick(t16) { - return __async(this, null, function* () { - const e16 = t16.role, i16 = this.getValues(); - if (Q(e16)) return this.dismiss({ values: i16 }, e16); - const r32 = yield this.callButtonHandler(t16, i16); - return false !== r32 && this.dismiss(Object.assign({ values: i16 }, r32), t16.role); - }); - } - callButtonHandler(t16, e16) { - return __async(this, null, function* () { - if (null == t16 ? void 0 : t16.handler) { - const i16 = yield _2(t16.handler, e16); - if (false === i16) return false; - if ("object" == typeof i16) return i16; - } - return {}; - }); - } - getValues() { - if (0 === this.processedInputs.length) return; - if ("radio" === this.inputType) { - const t17 = this.processedInputs.find(((t18) => !!t18.checked)); - return t17 ? t17.value : void 0; - } - if ("checkbox" === this.inputType) return this.processedInputs.filter(((t17) => t17.checked)).map(((t17) => t17.value)); - const t16 = {}; - return this.processedInputs.forEach(((e16) => { - t16[e16.name] = e16.value || ""; - })), t16; - } - renderAlertInputs() { - switch (this.inputType) { - case "checkbox": - return this.renderCheckbox(); - case "radio": - return this.renderRadio(); - default: - return this.renderInput(); - } - } - renderCheckbox() { - const t16 = this.processedInputs, e16 = g(this); - return 0 === t16.length ? null : Ct("div", { class: "alert-checkbox-group" }, t16.map(((t17) => Ct("button", { type: "button", onClick: () => this.cbClick(t17), "aria-checked": `${t17.checked}`, id: t17.id, disabled: t17.disabled, tabIndex: t17.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, r5(t17.cssClass)), { "alert-tappable": true, "alert-checkbox": true, "alert-checkbox-button": true, "ion-focusable": true, "alert-checkbox-button-disabled": t17.disabled || false }) }, Ct("div", { class: "alert-button-inner" }, Ct("div", { class: "alert-checkbox-icon" }, Ct("div", { class: "alert-checkbox-inner" })), Ct("div", { class: "alert-checkbox-label" }, t17.label)), "md" === e16 && Ct("ion-ripple-effect", null))))); - } - renderRadio() { - const t16 = this.processedInputs; - return 0 === t16.length ? null : Ct("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, t16.map(((t17) => Ct("button", { type: "button", onClick: () => this.rbClick(t17), "aria-checked": `${t17.checked}`, disabled: t17.disabled, id: t17.id, tabIndex: t17.tabindex, class: Object.assign(Object.assign({}, r5(t17.cssClass)), { "alert-radio-button": true, "alert-tappable": true, "alert-radio": true, "ion-focusable": true, "alert-radio-button-disabled": t17.disabled || false }), role: "radio" }, Ct("div", { class: "alert-button-inner" }, Ct("div", { class: "alert-radio-icon" }, Ct("div", { class: "alert-radio-inner" })), Ct("div", { class: "alert-radio-label" }, t17.label)))))); - } - renderInput() { - const t16 = this.processedInputs; - return 0 === t16.length ? null : Ct("div", { class: "alert-input-group" }, t16.map(((t17) => { - var e16, i16, r32, o14; - return Ct("div", { class: "alert-input-wrapper" }, "textarea" === t17.type ? Ct("textarea", Object.assign({ placeholder: t17.placeholder, value: t17.value, id: t17.id, tabIndex: t17.tabindex }, t17.attributes, { disabled: null !== (i16 = null === (e16 = t17.attributes) || void 0 === e16 ? void 0 : e16.disabled) && void 0 !== i16 ? i16 : t17.disabled, class: L4(t17), onInput: (e17) => { - var i17; - t17.value = e17.target.value, (null === (i17 = t17.attributes) || void 0 === i17 ? void 0 : i17.onInput) && t17.attributes.onInput(e17); - } })) : Ct("input", Object.assign({ placeholder: t17.placeholder, type: t17.type, min: t17.min, max: t17.max, value: t17.value, id: t17.id, tabIndex: t17.tabindex }, t17.attributes, { disabled: null !== (o14 = null === (r32 = t17.attributes) || void 0 === r32 ? void 0 : r32.disabled) && void 0 !== o14 ? o14 : t17.disabled, class: L4(t17), onInput: (e17) => { - var i17; - t17.value = e17.target.value, (null === (i17 = t17.attributes) || void 0 === i17 ? void 0 : i17.onInput) && t17.attributes.onInput(e17); - } }))); - }))); - } - renderAlertButtons() { - const t16 = this.processedButtons, e16 = g(this); - return Ct("div", { class: { "alert-button-group": true, "alert-button-group-vertical": t16.length > 2 } }, t16.map(((t17) => Ct("button", Object.assign({}, t17.htmlAttributes, { type: "button", id: t17.id, class: W4(t17), tabIndex: 0, onClick: () => this.buttonClick(t17) }), Ct("span", { class: "alert-button-inner" }, t17.text), "md" === e16 && Ct("ion-ripple-effect", null))))); - } - renderAlertMessage(t16) { - const { customHTMLEnabled: e16, message: i16 } = this; - return e16 ? Ct("div", { id: t16, class: "alert-message", innerHTML: n4(i16) }) : Ct("div", { id: t16, class: "alert-message" }, i16); - } - render() { - const { overlayIndex: t16, header: e16, subHeader: i16, message: r32, htmlAttributes: o14 } = this, a16 = g(this), s21 = `alert-${t16}-hdr`, d24 = `alert-${t16}-msg`, c36 = `alert-${t16}-sub-hdr`, p33 = this.inputs.length > 0 || this.buttons.length > 0 ? "alertdialog" : "alert", b20 = e16 && i16 ? `${s21} ${c36}` : e16 ? s21 : i16 ? c36 : null; - return Ct(It, { key: "6025440b9cd369d4fac89e7e4296c84a10a0b8e0", tabindex: "-1", style: { zIndex: `${2e4 + t16}` }, class: Object.assign(Object.assign({}, r5(this.cssClass)), { [a16]: true, "overlay-hidden": true, "alert-translucent": this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, Ct("ion-backdrop", { key: "3cd5ca8b99cb95b11dd22ab41a820d841142896f", tappable: this.backdropDismiss }), Ct("div", { key: "4cc62ae6e21424057d22aeef1e8fc77011e77cd5", tabindex: "0", "aria-hidden": "true" }), Ct("div", Object.assign({ key: "364057a69f25aa88904df17bdcf7e5bf714e7830", class: "alert-wrapper ion-overlay-wrapper", role: p33, "aria-modal": "true", "aria-labelledby": b20, "aria-describedby": void 0 !== r32 ? d24 : null, tabindex: "0", ref: (t17) => this.wrapperEl = t17 }, o14), Ct("div", { key: "78694e3c0db2d408df3899fb1a90859bcc8d14cc", class: "alert-head" }, e16 && Ct("h2", { key: "ec88ff3e4e1ea871b5975133fdcf4cac38b05e0f", id: s21, class: "alert-title" }, e16), i16 && !e16 && Ct("h2", { key: "9b09bc8bb68af255ef8b7d22587acc946148e544", id: c36, class: "alert-sub-title" }, i16), i16 && e16 && Ct("h3", { key: "99abe815f75d2df7f1b77c0df9f3436724fea76f", id: c36, class: "alert-sub-title" }, i16)), this.renderAlertMessage(d24), this.renderAlertInputs(), this.renderAlertButtons()), Ct("div", { key: "a43d0c22c0e46b1ef911f92ffeb253d7911b85f7", tabindex: "0", "aria-hidden": "true" })); - } - get el() { - return this; - } - static get watchers() { - return { isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }], buttons: [{ buttonsChanged: 0 }], inputs: [{ inputsChanged: 0 }] }; - } - static get style() { - return { ios: ".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-ios,.alert-radio-label.sc-ion-alert-ios{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:clamp(270px, 16.875rem, 324px);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:max(14px, 0.875rem)}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:7px;text-align:center}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:max(17px, 1.0625rem);font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:max(14px, 0.875rem)}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:max(13px, 0.8125rem);text-align:center}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:7px;margin-top:10px;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:7px;padding-bottom:7px;border:0.55px solid var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf));background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1rem}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-input.sc-ion-alert-ios::-webkit-date-and-time-value{height:18px}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{min-height:44px}.alert-radio-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000)}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #0054e9)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-start:7px}.alert-checkbox-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000)}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px;margin-top:10px;margin-bottom:10px;position:relative;width:min(1.375rem, 55.836px);height:min(1.375rem, 55.836px);border-width:0.125rem;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{top:calc(min(1.375rem, 55.836px) / 8);position:absolute;width:calc(min(1.375rem, 55.836px) / 6 + 1px);height:calc(min(1.375rem, 55.836px) * 0.5);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-start:calc(min(1.375rem, 55.836px) / 3)}.alert-button-group.sc-ion-alert-ios{-webkit-margin-end:-0.55px;margin-inline-end:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios{border-right:none}[dir=rtl].sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}[dir=rtl].sc-ion-alert-ios .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}@supports selector(:dir(rtl)){.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:none}}.alert-button.sc-ion-alert-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:max(44px, 2.75rem);border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #0054e9);font-size:max(17px, 1.0625rem);overflow:hidden}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child{border-right:0}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:first-child:dir(rtl){border-right:0}}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #c5000f)}", md: ".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-md,.alert-radio-label.sc-ion-alert-md{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:0.875rem}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px;padding-top:20px;padding-bottom:15px;text-align:start}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1.25rem;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1rem}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, var(--ion-text-color-step-450, #737373))}.alert-message.sc-ion-alert-md{font-size:1rem}@media screen and (max-width: 767px){.alert-message.sc-ion-alert-md{max-height:266px}}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #0054e9)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;border-top:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));overflow:auto}@media screen and (max-width: 767px){.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{max-height:266px}}.alert-tappable.sc-ion-alert-md{position:relative;min-height:48px}.alert-radio-label.sc-ion-alert-md{-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-radio-icon.sc-ion-alert-md{top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373))}.alert-radio-icon.sc-ion-alert-md{inset-inline-start:26px}.alert-radio-inner.sc-ion-alert-md{top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #0054e9)}.alert-radio-inner.sc-ion-alert-md{inset-inline-start:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626))}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;width:calc(100% - 53px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-checkbox-icon.sc-ion-alert-md{top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));contain:strict}.alert-checkbox-icon.sc-ion-alert-md{inset-inline-start:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{inset-inline-start:3px}.alert-button-group.sc-ion-alert-md{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.alert-button.sc-ion-alert-md{border-radius:2px;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:0;margin-bottom:0;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #0054e9);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}@media screen and (min-width: 768px){.sc-ion-alert-md-h{--max-width:min(100vw - 96px, 560px);--max-height:min(100vh - 96px, 560px)}}" }; - } -}, [34, "ion-alert", { overlayIndex: [2, "overlay-index"], delegate: [16], hasController: [4, "has-controller"], keyboardClose: [4, "keyboard-close"], enterAnimation: [16], leaveAnimation: [16], cssClass: [1, "css-class"], header: [1], subHeader: [1, "sub-header"], message: [1], buttons: [16], inputs: [1040], backdropDismiss: [4, "backdrop-dismiss"], translucent: [4], animated: [4], htmlAttributes: [16], isOpen: [4, "is-open"], trigger: [1], present: [64], dismiss: [64], onDidDismiss: [64], onWillDismiss: [64] }, [[4, "keydown", "onKeydown"]], { isOpen: [{ onIsOpenChange: 0 }], trigger: [{ triggerChanged: 0 }], buttons: [{ buttonsChanged: 0 }], inputs: [{ inputsChanged: 0 }] }]); -var L4 = (t16) => { - var e16, i16, r32; - return Object.assign(Object.assign({ "alert-input": true, "alert-input-disabled": (null !== (i16 = null === (e16 = t16.attributes) || void 0 === e16 ? void 0 : e16.disabled) && void 0 !== i16 ? i16 : t16.disabled) || false }, r5(t16.cssClass)), r5(t16.attributes ? null === (r32 = t16.attributes.class) || void 0 === r32 ? void 0 : r32.toString() : "")); -}; -var W4 = (t16) => Object.assign({ "alert-button": true, "ion-focusable": true, "ion-activatable": true, [`alert-button-role-${t16.role}`]: void 0 !== t16.role }, r5(t16.cssClass)); -function H3() { - "undefined" != typeof customElements && ["ion-alert", "ion-backdrop", "ion-ripple-effect"].forEach(((t16) => { - switch (t16) { - case "ion-alert": - customElements.get(Zn(t16)) || customElements.define(Zn(t16), B6); - break; - case "ion-backdrop": - customElements.get(Zn(t16)) || c11(); - break; - case "ion-ripple-effect": - customElements.get(Zn(t16)) || p7(); - } - })); -} - -// node_modules/@ionic/core/components/ion-alert.js -var r10 = H3; - -// node_modules/@ionic/core/components/ion-app.js -var d7 = Dn(class extends I { - constructor(t16) { - super(), false !== t16 && this.__registerHost(); - } - componentDidLoad() { - this.rIC((() => __async(this, null, function* () { - const t16 = s5(window, "hybrid"); - if (n.getBoolean("_testing") || import("./p-BgwEQWW6-7UMWWZOQ.js").then(((t17) => t17.startTapClick(n))), n.getBoolean("statusTap", t16) && import("./p-CneGxKsZ-L7LCWPIG.js").then(((t17) => t17.startStatusTap())), n.getBoolean("inputShims", m7())) { - const t17 = s5(window, "ios") ? "ios" : "android"; - import("./p-Cwv-vmkN-JMIGKRIJ.js").then(((e17) => e17.startInputShims(n, t17))); - } - const e16 = yield import("./p-vEbVo2hO-5KN2ULFU.js"), i16 = t16 || o3(); - n.getBoolean("hardwareBackButton", i16) ? e16.startHardwareBackButton() : (o3() && u("[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used."), e16.blockHardwareBackButton()), "undefined" != typeof window && import("./p-D6Ynv7Xh-QQS7GUVE.js").then(((t17) => t17.startKeyboardAssist(window))), import("./p-BmVRXR1y-HVY3VTQM.js").then(((t17) => this.focusVisible = t17.startFocusVisible())); - }))); - } - disconnectedCallback() { - this.loadTimeout && clearTimeout(this.loadTimeout); - } - setFocus(t16) { - return __async(this, null, function* () { - this.focusVisible && this.focusVisible.setFocus(t16); - }); - } - rIC(t16) { - "requestIdleCallback" in window ? window.requestIdleCallback(t16) : this.loadTimeout = setTimeout(t16, 32); - } - render() { - const t16 = g(this); - return Ct(It, { key: "77a7459d3e42b3715a5a7e1cf468e2ebc99e54bb", class: { [t16]: true, "ion-page": true, "force-statusbar-padding": n.getBoolean("_forceStatusbarPadding") } }); - } - get el() { - return this; - } - static get style() { - return "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}"; - } -}, [0, "ion-app", { setFocus: [64] }]); -var m7 = () => !(!s5(window, "ios") || !s5(window, "mobile")) || !(!s5(window, "android") || !s5(window, "mobileweb")); -var l12 = function() { - "undefined" != typeof customElements && ["ion-app"].forEach(((t16) => { - "ion-app" === t16 && (customElements.get(Zn(t16)) || customElements.define(Zn(t16), d7)); - })); -}; - -// node_modules/@ionic/core/components/ion-avatar.js -var i11 = Dn(class extends I { - constructor(r32) { - super(), false !== r32 && this.__registerHost(), this.__attachShadow(); - } - render() { - return Ct(It, { key: "998217066084f966bf5d356fed85bcbd451f675a", class: g(this) }, Ct("slot", { key: "1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22" })); - } - static get style() { - return { ios: ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}", md: ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}" }; - } -}, [289, "ion-avatar"]); -var c13 = function() { - "undefined" != typeof customElements && ["ion-avatar"].forEach(((r32) => { - "ion-avatar" === r32 && (customElements.get(Zn(r32)) || customElements.define(Zn(r32), i11)); - })); -}; - -// node_modules/@ionic/core/components/ion-backdrop.js -var p10 = c11; - -// node_modules/@ionic/core/components/ion-badge.js -var e11 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(); - } - render() { - const o14 = g(this); - return Ct(It, { key: "1a2d39c5deec771a2f2196447627b62a7d4c8389", class: o6(this.color, { [o14]: true }) }, Ct("slot", { key: "fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd" })); - } - static get style() { - return { ios: ":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}", md: ":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}" }; - } -}, [289, "ion-badge", { color: [513] }]); -var s10 = function() { - "undefined" != typeof customElements && ["ion-badge"].forEach(((o14) => { - "ion-badge" === o14 && (customElements.get(Zn(o14)) || customElements.define(Zn(o14), e11)); - })); -}; - -// node_modules/@ionic/core/components/ion-breadcrumb.js -var h8 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.ionFocus = Jt(this, "ionFocus", 7), this.ionBlur = Jt(this, "ionBlur", 7), this.collapsedClick = Jt(this, "collapsedClick", 7), this.inheritedAttributes = {}, this.collapsed = false, this.active = false, this.disabled = false, this.routerDirection = "forward", this.onFocus = () => { - this.ionFocus.emit(); - }, this.onBlur = () => { - this.ionBlur.emit(); - }, this.collapsedIndicatorClick = () => { - this.collapsedClick.emit({ ionShadowTarget: this.collapsedRef }); - }; - } - componentWillLoad() { - this.inheritedAttributes = s2(this.el); - } - isClickable() { - return void 0 !== this.href; - } - render() { - const { color: o14, active: r32, collapsed: e16, disabled: a16, download: n15, el: m26, inheritedAttributes: h19, last: u19, routerAnimation: f27, routerDirection: g20, separator: x15, showCollapsedIndicator: v18, target: k11 } = this, y12 = this.isClickable(), w11 = void 0 === this.href ? "span" : "a", z11 = a16 ? void 0 : this.href, j8 = g(this), C7 = "span" === w11 ? {} : { download: n15, href: z11, target: k11 }, D6 = !u19 && (e16 ? !(!v18 || u19) : x15); - return Ct(It, { key: "32ca61c83721dff52b5e97171ed449dce3584a55", onClick: (o15) => l7(z11, o15, g20, f27), "aria-disabled": a16 ? "true" : null, class: o6(o14, { [j8]: true, "breadcrumb-active": r32, "breadcrumb-collapsed": e16, "breadcrumb-disabled": a16, "in-breadcrumbs-color": n5("ion-breadcrumbs[color]", m26), "in-toolbar": n5("ion-toolbar", this.el), "in-toolbar-color": n5("ion-toolbar[color]", this.el), "ion-activatable": y12, "ion-focusable": y12 }) }, Ct(w11, Object.assign({ key: "479feb845f4a6d8009d5422b33eb423730b9722b" }, C7, { class: "breadcrumb-native", part: "native", disabled: a16, onFocus: this.onFocus, onBlur: this.onBlur }, h19), Ct("slot", { key: "3c5dcaeb0d258235d1b7707868026ff1d1404099", name: "start" }), Ct("slot", { key: "f1cfb934443cd97dc220882c5e3596ea879d66cf" }), Ct("slot", { key: "539710121b5b1f3ee8d4c24a9651b67c2ae08add", name: "end" })), v18 && Ct("button", { key: "ed53a95ccd89022c8b7bee0658a221ec62a5c73b", part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (o15) => this.collapsedRef = o15, class: { "breadcrumbs-collapsed-indicator": true } }, Ct("ion-icon", { key: "a849e1142a86f06f207cf11662fa2a560ab7fc6a", "aria-hidden": "true", icon: x4, lazy: false })), D6 && Ct("span", { key: "fc3c741cb01fafef8b26046c7ee5b190efc69a7c", class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, Ct("slot", { key: "4871932ae1dae520767e0713e7cee2d11b0bba6d", name: "separator" }, "ios" === j8 ? Ct("ion-icon", { icon: c8, lazy: false, "flip-rtl": true }) : Ct("span", null, "/")))); - } - get el() { - return this; - } - static get style() { - return { ios: ":host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:1rem;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:1.375rem}:host{--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #2d4665));--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--color-active);--background-focused:var(--ion-color-step-50, var(--ion-background-color-step-50, rgba(233, 237, 243, 0.7)));font-size:clamp(16px, 1rem, 22px)}:host(.breadcrumb-active){font-weight:600}.breadcrumb-native{border-radius:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:5px;padding-bottom:5px;border:1px solid transparent}:host(.ion-focused) .breadcrumb-native{border-radius:8px}:host(.in-breadcrumbs-color.ion-focused) .breadcrumb-native,:host(.ion-color.ion-focused) .breadcrumb-native{background:rgba(var(--ion-color-base-rgb), 0.1);color:var(--ion-color-base)}:host(.ion-focused) ::slotted(ion-icon),:host(.in-breadcrumbs-color.ion-focused) ::slotted(ion-icon),:host(.ion-color.ion-focused) ::slotted(ion-icon){color:var(--ion-color-step-750, var(--ion-text-color-step-250, #445b78))}.breadcrumb-separator{color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}::slotted(ion-icon){color:var(--ion-color-step-400, var(--ion-text-color-step-600, #92a0b3));font-size:min(1.125rem, 21.6px)}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, var(--ion-text-color-step-150, #242d39))}.breadcrumbs-collapsed-indicator{border-radius:4px;background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e9edf3));color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}.breadcrumbs-collapsed-indicator:hover{opacity:0.45}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9e0ea))}.breadcrumbs-collapsed-indicator ion-icon{font-size:min(1.375rem, 22px)}", md: ":host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:1rem;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:1.375rem}:host{--color:var(--ion-color-step-600, var(--ion-text-color-step-400, #677483));--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--ion-color-step-800, var(--ion-text-color-step-200, #35404e));--background-focused:var(--ion-color-step-50, var(--ion-background-color-step-50, #fff))}:host(.breadcrumb-active){font-weight:500}.breadcrumb-native{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px}.breadcrumb-separator{-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:-1px}:host(.ion-focused) .breadcrumb-native{border-radius:4px;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.2), 0px 2px 8px rgba(0, 0, 0, 0.12);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.2), 0px 2px 8px rgba(0, 0, 0, 0.12)}.breadcrumb-separator{color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}::slotted(ion-icon){color:var(--ion-color-step-550, var(--ion-text-color-step-450, #7d8894));font-size:1.125rem}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, var(--ion-text-color-step-150, #222d3a))}.breadcrumbs-collapsed-indicator{border-radius:2px;background:var(--ion-color-step-100, var(--ion-background-color-step-100, #eef1f3));color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}.breadcrumbs-collapsed-indicator:hover{opacity:0.7}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, var(--ion-background-color-step-150, #dfe5e8))}" }; - } -}, [289, "ion-breadcrumb", { collapsed: [4], last: [4], showCollapsedIndicator: [4, "show-collapsed-indicator"], color: [1], active: [4], disabled: [4], download: [1], href: [1], rel: [1], separator: [4], target: [1], routerDirection: [1, "router-direction"], routerAnimation: [16] }]); -var f11 = function() { - "undefined" != typeof customElements && ["ion-breadcrumb", "ion-icon"].forEach(((o14) => { - switch (o14) { - case "ion-breadcrumb": - customElements.get(Zn(o14)) || customElements.define(Zn(o14), h8); - break; - case "ion-icon": - customElements.get(Zn(o14)) || y4(); - } - })); -}; - -// node_modules/@ionic/core/components/ion-breadcrumbs.js -var c14 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.ionCollapsedClick = Jt(this, "ionCollapsedClick", 7), this.itemsBeforeCollapse = 1, this.itemsAfterCollapse = 1, this.breadcrumbsInit = () => { - this.setBreadcrumbSeparator(), this.setMaxItems(); - }, this.resetActiveBreadcrumb = () => { - const o15 = this.getBreadcrumbs().find(((o16) => o16.active)); - o15 && this.activeChanged && (o15.active = false); - }, this.setMaxItems = () => { - const { itemsAfterCollapse: o15, itemsBeforeCollapse: t16, maxItems: s21 } = this, e16 = this.getBreadcrumbs(); - for (const o16 of e16) o16.showCollapsedIndicator = false, o16.collapsed = false; - void 0 !== s21 && e16.length > s21 && t16 + o15 <= s21 && e16.forEach(((s22, a16) => { - a16 === t16 && (s22.showCollapsedIndicator = true), a16 >= t16 && a16 < e16.length - o15 && (s22.collapsed = true); - })); - }, this.setBreadcrumbSeparator = () => { - const { itemsAfterCollapse: o15, itemsBeforeCollapse: t16, maxItems: s21 } = this, e16 = this.getBreadcrumbs(), a16 = e16.find(((o16) => o16.active)); - for (const i16 of e16) { - const r32 = void 0 !== s21 && 0 === o15 ? i16 === e16[t16] : i16 === e16[e16.length - 1]; - i16.last = r32, i16.separator = void 0 !== i16.separator ? i16.separator : !r32 || void 0, !a16 && r32 && (i16.active = true, this.activeChanged = true); - } - }, this.getBreadcrumbs = () => Array.from(this.el.querySelectorAll("ion-breadcrumb")), this.slotChanged = () => { - this.resetActiveBreadcrumb(), this.breadcrumbsInit(); - }; - } - onCollapsedClick(o14) { - const t16 = this.getBreadcrumbs().filter(((o15) => o15.collapsed)); - this.ionCollapsedClick.emit(Object.assign(Object.assign({}, o14.detail), { collapsedBreadcrumbs: t16 })); - } - maxItemsChanged() { - this.resetActiveBreadcrumb(), this.breadcrumbsInit(); - } - componentWillLoad() { - this.breadcrumbsInit(); - } - render() { - const { color: o14, collapsed: t16 } = this, s21 = g(this); - return Ct(It, { key: "fe64e9cdf597ede2db140bf5fa05a0359d82db57", class: o6(o14, { [s21]: true, "in-toolbar": n5("ion-toolbar", this.el), "in-toolbar-color": n5("ion-toolbar[color]", this.el), "breadcrumbs-collapsed": t16 }) }, Ct("slot", { key: "a2c99b579e339055c50a613d5c6b61032f5ddffe", onSlotchange: this.slotChanged })); - } - get el() { - return this; - } - static get watchers() { - return { maxItems: [{ maxItemsChanged: 0 }], itemsBeforeCollapse: [{ maxItemsChanged: 0 }], itemsAfterCollapse: [{ maxItemsChanged: 0 }] }; - } - static get style() { - return { ios: ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumbs-collapsed-indicator ion-icon{color:var(--ion-color-contrast)}:host(.in-toolbar-color) .breadcrumbs-collapsed-indicator{background:rgba(var(--ion-color-contrast-rgb), 0.11)}:host(.in-toolbar){-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:0;padding-bottom:0;-ms-flex-pack:center;justify-content:center}", md: ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumbs-collapsed-indicator ion-icon{color:var(--ion-color-contrast)}:host(.in-toolbar-color) .breadcrumbs-collapsed-indicator{background:rgba(var(--ion-color-contrast-rgb), 0.11)}:host(.in-toolbar){-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}" }; - } -}, [289, "ion-breadcrumbs", { color: [513], maxItems: [2, "max-items"], itemsBeforeCollapse: [2, "items-before-collapse"], itemsAfterCollapse: [2, "items-after-collapse"], collapsed: [32], activeChanged: [32] }, [[0, "collapsedClick", "onCollapsedClick"]], { maxItems: [{ maxItemsChanged: 0 }], itemsBeforeCollapse: [{ maxItemsChanged: 0 }], itemsAfterCollapse: [{ maxItemsChanged: 0 }] }]); -var m8 = function() { - "undefined" != typeof customElements && ["ion-breadcrumbs"].forEach(((o14) => { - "ion-breadcrumbs" === o14 && (customElements.get(Zn(o14)) || customElements.define(Zn(o14), c14)); - })); -}; - -// node_modules/@ionic/core/components/p-BTeL5HCK.js -var g5 = Dn(class extends I { - constructor(o14) { - super(), false !== o14 && this.__registerHost(), this.__attachShadow(), this.ionFocus = Jt(this, "ionFocus", 7), this.ionBlur = Jt(this, "ionBlur", 7), this.inItem = false, this.inListHeader = false, this.inToolbar = false, this.formButtonEl = null, this.formEl = null, this.inheritedAttributes = {}, this.isCircle = false, this.buttonType = "button", this.disabled = false, this.routerDirection = "forward", this.strong = false, this.type = "button", this.handleClick = (o15) => { - const { el: t16 } = this; - "button" === this.type ? l7(this.href, o15, this.routerDirection, this.routerAnimation) : m(t16) && this.submitForm(o15); - }, this.onFocus = () => { - this.ionFocus.emit(); - }, this.onBlur = () => { - this.ionBlur.emit(); - }, this.slotChanged = () => { - this.isCircle = this.hasIconOnly; - }; - } - disabledChanged() { - const { disabled: o14 } = this; - this.formButtonEl && (this.formButtonEl.disabled = o14); - } - onAriaChanged(o14, t16, n15) { - this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [n15]: o14 }), Rn(this); - } - renderHiddenButton() { - const o14 = this.formEl = this.findForm(); - if (o14) { - const { formButtonEl: t16 } = this; - if (null !== t16 && o14.contains(t16)) return; - const n15 = this.formButtonEl = document.createElement("button"); - n15.type = this.type, n15.style.display = "none", n15.disabled = this.disabled, o14.appendChild(n15); - } - } - componentWillLoad() { - this.inToolbar = !!this.el.closest("ion-buttons"), this.inListHeader = !!this.el.closest("ion-list-header"), this.inItem = !!this.el.closest("ion-item") || !!this.el.closest("ion-item-divider"), this.inheritedAttributes = s2(this.el); - } - get hasIconOnly() { - return !!this.el.querySelector('[slot="icon-only"]'); - } - get rippleType() { - return (void 0 === this.fill || "clear" === this.fill) && this.hasIconOnly && this.inToolbar ? "unbounded" : "bounded"; - } - findForm() { - const { form: o14 } = this; - if (o14 instanceof HTMLFormElement) return o14; - if ("string" == typeof o14) { - const t16 = document.getElementById(o14); - return t16 ? t16 instanceof HTMLFormElement ? t16 : (u(`[ion-button] - Form with selector: "#${o14}" could not be found. Verify that the id is attached to a