diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index edd1da5..d945243 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,6 +1,6 @@ - tainacan-mobile + Tainacan tainacan-mobile org.tainacan.mobileapp org.tainacan.mobileapp diff --git a/ios/App/App/capacitor.config.json b/ios/App/App/capacitor.config.json new file mode 100644 index 0000000..c943f0c --- /dev/null +++ b/ios/App/App/capacitor.config.json @@ -0,0 +1,6 @@ +{ + "appId": "org.tainacan.mobileapp", + "appName": "Tainacan", + "webDir": "dist", + "bundledWebRuntime": false +} diff --git a/ios/App/App/config.xml b/ios/App/App/config.xml new file mode 100644 index 0000000..13ab0ec --- /dev/null +++ b/ios/App/App/config.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ios/App/App/public/assets/icon/favicon.png b/ios/App/App/public/assets/icon/favicon.png new file mode 100644 index 0000000..51888a7 Binary files /dev/null and b/ios/App/App/public/assets/icon/favicon.png differ diff --git a/ios/App/App/public/assets/icon/icon.png b/ios/App/App/public/assets/icon/icon.png new file mode 100644 index 0000000..a7f6374 Binary files /dev/null and b/ios/App/App/public/assets/icon/icon.png differ diff --git a/ios/App/App/public/assets/shapes.svg b/ios/App/App/public/assets/shapes.svg new file mode 100644 index 0000000..d370b4d --- /dev/null +++ b/ios/App/App/public/assets/shapes.svg @@ -0,0 +1 @@ + diff --git a/ios/App/App/public/cordova.js b/ios/App/App/public/cordova.js new file mode 100644 index 0000000..3c42fca --- /dev/null +++ b/ios/App/App/public/cordova.js @@ -0,0 +1,1689 @@ +// Platform: Capacitor +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +(function () { + var PLATFORM_VERSION_BUILD_LABEL = '1.0.0'; + // file: src/scripts/require.js + + /* jshint -W079 */ + /* jshint -W020 */ + + var require; + var define; + + (function () { + var modules = {}; + // Stack of moduleIds currently being built. + var requireStack = []; + // Map of module ID -> index into requireStack of modules currently being built. + var inProgressModules = {}; + var SEPARATOR = '.'; + + function build(module) { + var factory = module.factory; + var localRequire = function (id) { + var resultantId = id; + // Its a relative path, so lop off the last portion and add the id (minus "./") + if (id.charAt(0) === '.') { + resultantId = + module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + + SEPARATOR + + id.slice(2); + } + return require(resultantId); + }; + module.exports = {}; + delete module.factory; + factory(localRequire, module.exports, module); + return module.exports; + } + + require = function (id) { + if (!modules[id]) { + throw 'module ' + id + ' not found'; + } else if (id in inProgressModules) { + var cycle = + requireStack.slice(inProgressModules[id]).join('->') + '->' + id; + throw 'Cycle in require graph: ' + cycle; + } + if (modules[id].factory) { + try { + inProgressModules[id] = requireStack.length; + requireStack.push(id); + return build(modules[id]); + } finally { + delete inProgressModules[id]; + requireStack.pop(); + } + } + return modules[id].exports; + }; + + define = function (id, factory) { + if (modules[id]) { + throw 'module ' + id + ' already defined'; + } + + modules[id] = { + id: id, + factory: factory, + }; + }; + + define.remove = function (id) { + delete modules[id]; + }; + + define.moduleMap = modules; + })(); + + // Export for use in node + if (typeof module === 'object' && typeof require === 'function') { + module.exports.require = require; + module.exports.define = define; + } + + // file: src/cordova.js + define('cordova', function (require, exports, module) { + var channel = require('cordova/channel'); + var platform = require('cordova/platform'); + + /** + * Intercept calls to addEventListener + removeEventListener and handle deviceready, + * resume, and pause events. + */ + var m_document_addEventListener = document.addEventListener; + var m_document_removeEventListener = document.removeEventListener; + var m_window_addEventListener = window.addEventListener; + var m_window_removeEventListener = window.removeEventListener; + + /** + * Houses custom event handlers to intercept on document + window event listeners. + */ + var documentEventHandlers = {}; + var windowEventHandlers = {}; + + document.addEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof documentEventHandlers[e] !== 'undefined') { + documentEventHandlers[e].subscribe(handler); + } else { + m_document_addEventListener.call(document, evt, handler, capture); + } + }; + + window.addEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof windowEventHandlers[e] !== 'undefined') { + windowEventHandlers[e].subscribe(handler); + } else { + m_window_addEventListener.call(window, evt, handler, capture); + } + }; + + document.removeEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof documentEventHandlers[e] !== 'undefined') { + documentEventHandlers[e].unsubscribe(handler); + } else { + m_document_removeEventListener.call(document, evt, handler, capture); + } + }; + + window.removeEventListener = function (evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof windowEventHandlers[e] !== 'undefined') { + windowEventHandlers[e].unsubscribe(handler); + } else { + m_window_removeEventListener.call(window, evt, handler, capture); + } + }; + + /* eslint-disable no-undef */ + var cordova = { + define: define, + require: require, + version: PLATFORM_VERSION_BUILD_LABEL, + platformVersion: PLATFORM_VERSION_BUILD_LABEL, + platformId: platform.id, + + /* eslint-enable no-undef */ + + /** + * Methods to add/remove your own addEventListener hijacking on document + window. + */ + addWindowEventHandler: function (event) { + return (windowEventHandlers[event] = channel.create(event)); + }, + addStickyDocumentEventHandler: function (event) { + return (documentEventHandlers[event] = channel.createSticky(event)); + }, + addDocumentEventHandler: function (event) { + return (documentEventHandlers[event] = channel.create(event)); + }, + removeWindowEventHandler: function (event) { + delete windowEventHandlers[event]; + }, + removeDocumentEventHandler: function (event) { + delete documentEventHandlers[event]; + }, + /** + * Retrieve original event handlers that were replaced by Cordova + * + * @return object + */ + getOriginalHandlers: function () { + return { + document: { + addEventListener: m_document_addEventListener, + removeEventListener: m_document_removeEventListener, + }, + window: { + addEventListener: m_window_addEventListener, + removeEventListener: m_window_removeEventListener, + }, + }; + }, + /** + * Method to fire event from native code + * bNoDetach is required for events which cause an exception which needs to be caught in native code + */ + fireDocumentEvent: function (type, data, bNoDetach) { + var evt = Capacitor.createEvent(type, data); + if (typeof documentEventHandlers[type] !== 'undefined') { + if (bNoDetach) { + documentEventHandlers[type].fire(evt); + } else { + setTimeout(function () { + // Fire deviceready on listeners that were registered before cordova.js was loaded. + if (type === 'deviceready') { + document.dispatchEvent(evt); + } + documentEventHandlers[type].fire(evt); + }, 0); + } + } else { + document.dispatchEvent(evt); + } + }, + fireWindowEvent: function (type, data) { + var evt = Capacitor.createEvent(type, data); + if (typeof windowEventHandlers[type] !== 'undefined') { + setTimeout(function () { + windowEventHandlers[type].fire(evt); + }, 0); + } else { + window.dispatchEvent(evt); + } + }, + + /** + * Plugin callback mechanism. + */ + // Randomize the starting callbackId to avoid collisions after refreshing or navigating. + // This way, it's very unlikely that any new callback would get the same callbackId as an old callback. + callbackId: Math.floor(Math.random() * 2000000000), + callbacks: {}, + callbackStatus: { + NO_RESULT: 0, + OK: 1, + CLASS_NOT_FOUND_EXCEPTION: 2, + ILLEGAL_ACCESS_EXCEPTION: 3, + INSTANTIATION_EXCEPTION: 4, + MALFORMED_URL_EXCEPTION: 5, + IO_EXCEPTION: 6, + INVALID_ACTION: 7, + JSON_EXCEPTION: 8, + ERROR: 9, + }, + + /** + * Called by native code when returning successful result from an action. + */ + callbackSuccess: function (callbackId, args) { + cordova.callbackFromNative( + callbackId, + true, + args.status, + [args.message], + args.keepCallback, + ); + }, + + /** + * Called by native code when returning error result from an action. + */ + callbackError: function (callbackId, args) { + // TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative. + // Derive success from status. + cordova.callbackFromNative( + callbackId, + false, + args.status, + [args.message], + args.keepCallback, + ); + }, + + /** + * Called by native code when returning the result from an action. + */ + callbackFromNative: function ( + callbackId, + isSuccess, + status, + args, + keepCallback, + ) { + try { + var callback = cordova.callbacks[callbackId]; + if (callback) { + if (isSuccess && status === cordova.callbackStatus.OK) { + callback.success && callback.success.apply(null, args); + } else if (!isSuccess) { + callback.fail && callback.fail.apply(null, args); + } + /* + else + Note, this case is intentionally not caught. + this can happen if isSuccess is true, but callbackStatus is NO_RESULT + which is used to remove a callback from the list without calling the callbacks + typically keepCallback is false in this case + */ + // Clear callback if not expecting any more results + if (!keepCallback) { + delete cordova.callbacks[callbackId]; + } + } + } catch (err) { + var msg = + 'Error in ' + + (isSuccess ? 'Success' : 'Error') + + ' callbackId: ' + + callbackId + + ' : ' + + err; + console && console.log && console.log(msg); + cordova.fireWindowEvent('cordovacallbackerror', { message: msg }); + throw err; + } + }, + addConstructor: function (func) { + channel.onCordovaReady.subscribe(function () { + try { + func(); + } catch (e) { + console.log('Failed to run constructor: ' + e); + } + }); + }, + }; + + module.exports = cordova; + }); + + // file: src/common/argscheck.js + define('cordova/argscheck', function (require, exports, module) { + var utils = require('cordova/utils'); + + var moduleExports = module.exports; + + var typeMap = { + A: 'Array', + D: 'Date', + N: 'Number', + S: 'String', + F: 'Function', + O: 'Object', + }; + + function extractParamName(callee, argIndex) { + return /.*?\((.*?)\)/.exec(callee)[1].split(', ')[argIndex]; + } + + function checkArgs(spec, functionName, args, opt_callee) { + if (!moduleExports.enableChecks) { + return; + } + var errMsg = null; + var typeName; + for (var i = 0; i < spec.length; ++i) { + var c = spec.charAt(i); + var cUpper = c.toUpperCase(); + var arg = args[i]; + // Asterix means allow anything. + if (c === '*') { + continue; + } + typeName = utils.typeName(arg); + if ((arg === null || arg === undefined) && c === cUpper) { + continue; + } + if (typeName !== typeMap[cUpper]) { + errMsg = 'Expected ' + typeMap[cUpper]; + break; + } + } + if (errMsg) { + errMsg += ', but got ' + typeName + '.'; + errMsg = + 'Wrong type for parameter "' + + extractParamName(opt_callee || args.callee, i) + + '" of ' + + functionName + + ': ' + + errMsg; + // Don't log when running unit tests. + if (typeof jasmine === 'undefined') { + console.error(errMsg); + } + throw TypeError(errMsg); + } + } + + function getValue(value, defaultValue) { + return value === undefined ? defaultValue : value; + } + + moduleExports.checkArgs = checkArgs; + moduleExports.getValue = getValue; + moduleExports.enableChecks = true; + }); + + // file: src/common/base64.js + define('cordova/base64', function (require, exports, module) { + var base64 = exports; + + base64.fromArrayBuffer = function (arrayBuffer) { + var array = new Uint8Array(arrayBuffer); + return uint8ToBase64(array); + }; + + base64.toArrayBuffer = function (str) { + var decodedStr = + typeof atob !== 'undefined' + ? atob(str) + : Buffer.from(str, 'base64').toString('binary'); // eslint-disable-line no-undef + var arrayBuffer = new ArrayBuffer(decodedStr.length); + var array = new Uint8Array(arrayBuffer); + for (var i = 0, len = decodedStr.length; i < len; i++) { + array[i] = decodedStr.charCodeAt(i); + } + return arrayBuffer; + }; + + // ------------------------------------------------------------------------------ + + /* This code is based on the performance tests at http://jsperf.com/b64tests + * This 12-bit-at-a-time algorithm was the best performing version on all + * platforms tested. + */ + + var b64_6bit = + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var b64_12bit; + + var b64_12bitTable = function () { + b64_12bit = []; + for (var i = 0; i < 64; i++) { + for (var j = 0; j < 64; j++) { + b64_12bit[i * 64 + j] = b64_6bit[i] + b64_6bit[j]; + } + } + b64_12bitTable = function () { + return b64_12bit; + }; + return b64_12bit; + }; + + function uint8ToBase64(rawData) { + var numBytes = rawData.byteLength; + var output = ''; + var segment; + var table = b64_12bitTable(); + for (var i = 0; i < numBytes - 2; i += 3) { + segment = (rawData[i] << 16) + (rawData[i + 1] << 8) + rawData[i + 2]; + output += table[segment >> 12]; + output += table[segment & 0xfff]; + } + if (numBytes - i === 2) { + segment = (rawData[i] << 16) + (rawData[i + 1] << 8); + output += table[segment >> 12]; + output += b64_6bit[(segment & 0xfff) >> 6]; + output += '='; + } else if (numBytes - i === 1) { + segment = rawData[i] << 16; + output += table[segment >> 12]; + output += '=='; + } + return output; + } + }); + + // file: src/common/builder.js + define('cordova/builder', function (require, exports, module) { + var utils = require('cordova/utils'); + + function each(objects, func, context) { + for (var prop in objects) { + if (objects.hasOwnProperty(prop)) { + func.apply(context, [objects[prop], prop]); + } + } + } + + function clobber(obj, key, value) { + exports.replaceHookForTesting(obj, key); + var needsProperty = false; + try { + obj[key] = value; + } catch (e) { + needsProperty = true; + } + // Getters can only be overridden by getters. + if (needsProperty || obj[key] !== value) { + utils.defineGetter(obj, key, function () { + return value; + }); + } + } + + function assignOrWrapInDeprecateGetter(obj, key, value, message) { + if (message) { + utils.defineGetter(obj, key, function () { + console.log(message); + delete obj[key]; + clobber(obj, key, value); + return value; + }); + } else { + clobber(obj, key, value); + } + } + + function include(parent, objects, clobber, merge) { + each(objects, function (obj, key) { + try { + var result = obj.path ? require(obj.path) : {}; + + if (clobber) { + // Clobber if it doesn't exist. + if (typeof parent[key] === 'undefined') { + assignOrWrapInDeprecateGetter( + parent, + key, + result, + obj.deprecated, + ); + } else if (typeof obj.path !== 'undefined') { + // If merging, merge properties onto parent, otherwise, clobber. + if (merge) { + recursiveMerge(parent[key], result); + } else { + assignOrWrapInDeprecateGetter( + parent, + key, + result, + obj.deprecated, + ); + } + } + result = parent[key]; + } else { + // Overwrite if not currently defined. + if (typeof parent[key] === 'undefined') { + assignOrWrapInDeprecateGetter( + parent, + key, + result, + obj.deprecated, + ); + } else { + // Set result to what already exists, so we can build children into it if they exist. + result = parent[key]; + } + } + + if (obj.children) { + include(result, obj.children, clobber, merge); + } + } catch (e) { + utils.alert( + 'Exception building Cordova JS globals: ' + + e + + ' for key "' + + key + + '"', + ); + } + }); + } + + /** + * Merge properties from one object onto another recursively. Properties from + * the src object will overwrite existing target property. + * + * @param target Object to merge properties into. + * @param src Object to merge properties from. + */ + function recursiveMerge(target, src) { + for (var prop in src) { + if (src.hasOwnProperty(prop)) { + if (target.prototype && target.prototype.constructor === target) { + // If the target object is a constructor override off prototype. + clobber(target.prototype, prop, src[prop]); + } else { + if ( + typeof src[prop] === 'object' && + typeof target[prop] === 'object' + ) { + recursiveMerge(target[prop], src[prop]); + } else { + clobber(target, prop, src[prop]); + } + } + } + } + } + + exports.buildIntoButDoNotClobber = function (objects, target) { + include(target, objects, false, false); + }; + exports.buildIntoAndClobber = function (objects, target) { + include(target, objects, true, false); + }; + exports.buildIntoAndMerge = function (objects, target) { + include(target, objects, true, true); + }; + exports.recursiveMerge = recursiveMerge; + exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter; + exports.replaceHookForTesting = function () {}; + }); + + // file: src/common/channel.js + define('cordova/channel', function (require, exports, module) { + var utils = require('cordova/utils'); + var nextGuid = 1; + + /** + * Custom pub-sub "channel" that can have functions subscribed to it + * This object is used to define and control firing of events for + * cordova initialization, as well as for custom events thereafter. + * + * The order of events during page load and Cordova startup is as follows: + * + * onDOMContentLoaded* Internal event that is received when the web page is loaded and parsed. + * onNativeReady* Internal event that indicates the Cordova native side is ready. + * onCordovaReady* Internal event fired when all Cordova JavaScript objects have been created. + * onDeviceReady* User event fired to indicate that Cordova is ready + * onResume User event fired to indicate a start/resume lifecycle event + * onPause User event fired to indicate a pause lifecycle event + * + * The events marked with an * are sticky. Once they have fired, they will stay in the fired state. + * All listeners that subscribe after the event is fired will be executed right away. + * + * The only Cordova events that user code should register for are: + * deviceready Cordova native code is initialized and Cordova APIs can be called from JavaScript + * pause App has moved to background + * resume App has returned to foreground + * + * Listeners can be registered as: + * document.addEventListener("deviceready", myDeviceReadyListener, false); + * document.addEventListener("resume", myResumeListener, false); + * document.addEventListener("pause", myPauseListener, false); + * + * The DOM lifecycle events should be used for saving and restoring state + * window.onload + * window.onunload + * + */ + + /** + * Channel + * @constructor + * @param type String the channel name + */ + var Channel = function (type, sticky) { + this.type = type; + // Map of guid -> function. + this.handlers = {}; + // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired. + this.state = sticky ? 1 : 0; + // Used in sticky mode to remember args passed to fire(). + this.fireArgs = null; + // Used by onHasSubscribersChange to know if there are any listeners. + this.numHandlers = 0; + // Function that is called when the first listener is subscribed, or when + // the last listener is unsubscribed. + this.onHasSubscribersChange = null; + }; + var channel = { + /** + * Calls the provided function only after all of the channels specified + * have been fired. All channels must be sticky channels. + */ + join: function (h, c) { + var len = c.length; + var i = len; + var f = function () { + if (!--i) h(); + }; + for (var j = 0; j < len; j++) { + if (c[j].state === 0) { + throw Error('Can only use join with sticky channels.'); + } + c[j].subscribe(f); + } + if (!len) h(); + }, + /* eslint-disable no-return-assign */ + create: function (type) { + return (channel[type] = new Channel(type, false)); + }, + createSticky: function (type) { + return (channel[type] = new Channel(type, true)); + }, + /* eslint-enable no-return-assign */ + /** + * cordova Channels that must fire before "deviceready" is fired. + */ + deviceReadyChannelsArray: [], + deviceReadyChannelsMap: {}, + + /** + * Indicate that a feature needs to be initialized before it is ready to be used. + * This holds up Cordova's "deviceready" event until the feature has been initialized + * and Cordova.initComplete(feature) is called. + * + * @param feature {String} The unique feature name + */ + waitForInitialization: function (feature) { + if (feature) { + var c = channel[feature] || this.createSticky(feature); + this.deviceReadyChannelsMap[feature] = c; + this.deviceReadyChannelsArray.push(c); + } + }, + + /** + * Indicate that initialization code has completed and the feature is ready to be used. + * + * @param feature {String} The unique feature name + */ + initializationComplete: function (feature) { + var c = this.deviceReadyChannelsMap[feature]; + if (c) { + c.fire(); + } + }, + }; + + function checkSubscriptionArgument(argument) { + if ( + typeof argument !== 'function' && + typeof argument.handleEvent !== 'function' + ) { + throw new Error( + 'Must provide a function or an EventListener object ' + + 'implementing the handleEvent interface.', + ); + } + } + + /** + * Subscribes the given function to the channel. Any time that + * Channel.fire is called so too will the function. + * Optionally specify an execution context for the function + * and a guid that can be used to stop subscribing to the channel. + * Returns the guid. + */ + Channel.prototype.subscribe = function ( + eventListenerOrFunction, + eventListener, + ) { + checkSubscriptionArgument(eventListenerOrFunction); + var handleEvent, guid; + + if ( + eventListenerOrFunction && + typeof eventListenerOrFunction === 'object' + ) { + // Received an EventListener object implementing the handleEvent interface + handleEvent = eventListenerOrFunction.handleEvent; + eventListener = eventListenerOrFunction; + } else { + // Received a function to handle event + handleEvent = eventListenerOrFunction; + } + + if (this.state === 2) { + handleEvent.apply(eventListener || this, this.fireArgs); + return; + } + + guid = eventListenerOrFunction.observer_guid; + if (typeof eventListener === 'object') { + handleEvent = utils.close(eventListener, handleEvent); + } + + if (!guid) { + // First time any channel has seen this subscriber + guid = '' + nextGuid++; + } + handleEvent.observer_guid = guid; + eventListenerOrFunction.observer_guid = guid; + + // Don't add the same handler more than once. + if (!this.handlers[guid]) { + this.handlers[guid] = handleEvent; + this.numHandlers++; + if (this.numHandlers === 1) { + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } + }; + + /** + * Unsubscribes the function with the given guid from the channel. + */ + Channel.prototype.unsubscribe = function (eventListenerOrFunction) { + checkSubscriptionArgument(eventListenerOrFunction); + var handleEvent, guid, handler; + + if ( + eventListenerOrFunction && + typeof eventListenerOrFunction === 'object' + ) { + // Received an EventListener object implementing the handleEvent interface + handleEvent = eventListenerOrFunction.handleEvent; + } else { + // Received a function to handle event + handleEvent = eventListenerOrFunction; + } + + guid = handleEvent.observer_guid; + handler = this.handlers[guid]; + if (handler) { + delete this.handlers[guid]; + this.numHandlers--; + if (this.numHandlers === 0) { + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } + }; + + /** + * Calls all functions subscribed to this channel. + */ + Channel.prototype.fire = function (e) { + var fail = false; // eslint-disable-line no-unused-vars + var fireArgs = Array.prototype.slice.call(arguments); + // Apply stickiness. + if (this.state === 1) { + this.state = 2; + this.fireArgs = fireArgs; + } + if (this.numHandlers) { + // Copy the values first so that it is safe to modify it from within + // callbacks. + var toCall = []; + for (var item in this.handlers) { + toCall.push(this.handlers[item]); + } + for (var i = 0; i < toCall.length; ++i) { + toCall[i].apply(this, fireArgs); + } + if (this.state === 2 && this.numHandlers) { + this.numHandlers = 0; + this.handlers = {}; + this.onHasSubscribersChange && this.onHasSubscribersChange(); + } + } + }; + + // defining them here so they are ready super fast! + // DOM event that is received when the web page is loaded and parsed. + channel.createSticky('onDOMContentLoaded'); + + // Event to indicate the Cordova native side is ready. + channel.createSticky('onNativeReady'); + + // Event to indicate that all Cordova JavaScript objects have been created + // and it's time to run plugin constructors. + channel.createSticky('onCordovaReady'); + + // Event to indicate that all automatically loaded JS plugins are loaded and ready. + // FIXME remove this + channel.createSticky('onPluginsReady'); + + // Event to indicate that Cordova is ready + channel.createSticky('onDeviceReady'); + + // Event to indicate a resume lifecycle event + channel.create('onResume'); + + // Event to indicate a pause lifecycle event + channel.create('onPause'); + + // Channels that must fire before "deviceready" is fired. + channel.waitForInitialization('onCordovaReady'); + channel.waitForInitialization('onDOMContentLoaded'); + + module.exports = channel; + }); + + define('cordova/exec', function (require, exports, module) { + /*global require, module, atob, document */ + + /** + * Creates a gap bridge iframe used to notify the native code about queued + * commands. + */ + var cordova = require('cordova'), + utils = require('cordova/utils'), + base64 = require('cordova/base64'), + execIframe, + commandQueue = [], // Contains pending JS->Native messages. + isInContextOfEvalJs = 0, + failSafeTimerId = 0; + + function massageArgsJsToNative(args) { + if (window.androidBridge) { + for (var i = 0; i < args.length; i++) { + if (utils.typeName(args[i]) == 'ArrayBuffer') { + args[i] = base64.fromArrayBuffer(args[i]); + } + } + return args; + } else { + if (!args || utils.typeName(args) !== 'Array') { + return args; + } + var ret = []; + args.forEach(function (arg, i) { + if (utils.typeName(arg) === 'ArrayBuffer') { + ret.push({ + CDVType: 'ArrayBuffer', + data: base64.fromArrayBuffer(arg), + }); + } else { + ret.push(arg); + } + }); + return ret; + } + } + + function massageMessageNativeToJs(message) { + if (message.CDVType === 'ArrayBuffer') { + var stringToArrayBuffer = function (str) { + var ret = new Uint8Array(str.length); + for (var i = 0; i < str.length; i++) { + ret[i] = str.charCodeAt(i); + } + return ret.buffer; + }; + var base64ToArrayBuffer = function (b64) { + return stringToArrayBuffer(atob(b64)); // eslint-disable-line no-undef + }; + message = base64ToArrayBuffer(message.data); + } + return message; + } + + function convertMessageToArgsNativeToJs(message) { + var args = []; + if (!message || !message.hasOwnProperty('CDVType')) { + args.push(message); + } else if (message.CDVType === 'MultiPart') { + message.messages.forEach(function (e) { + args.push(massageMessageNativeToJs(e)); + }); + } else { + args.push(massageMessageNativeToJs(message)); + } + return args; + } + + var capacitorExec = function () { + // detect change in bridge, if there is a change, we forward to new bridge + + var successCallback, failCallback, service, action, actionArgs; + var callbackId = null; + if (typeof arguments[0] !== 'string') { + // FORMAT ONE + successCallback = arguments[0]; + failCallback = arguments[1]; + service = arguments[2]; + action = arguments[3]; + actionArgs = arguments[4]; + + // Since we need to maintain backwards compatibility, we have to pass + // an invalid callbackId even if no callback was provided since plugins + // will be expecting it. The Cordova.exec() implementation allocates + // an invalid callbackId and passes it even if no callbacks were given. + callbackId = 'INVALID'; + } else { + throw new Error( + 'The old format of this exec call has been removed (deprecated since 2.1). Change to: ' + // eslint-disable-line + "cordova.exec(null, null, 'Service', 'action', [ arg1, arg2 ]);", + ); + } + + // If actionArgs is not provided, default to an empty array + actionArgs = actionArgs || []; + + // Register the callbacks and add the callbackId to the positional + // arguments if given. + if (successCallback || failCallback) { + callbackId = service + cordova.callbackId++; + cordova.callbacks[callbackId] = { + success: successCallback, + fail: failCallback, + }; + } + + // Properly encode ArrayBuffer action arguments + actionArgs = massageArgsJsToNative(actionArgs); + actionArgs = JSON.parse(JSON.stringify(actionArgs)); + var command = { + type: 'cordova', + callbackId: callbackId, + service: service, + action: action, + actionArgs: actionArgs, + }; + if (window.androidBridge) { + window.androidBridge.postMessage(JSON.stringify(command)); + } else if ( + window.webkit && + window.webkit.messageHandlers && + window.webkit.messageHandlers.bridge + ) { + window.webkit.messageHandlers.bridge.postMessage(command); + } + }; + + // CB-10530 + function proxyChanged() { + var cexec = cordovaExec(); + + return ( + execProxy !== cexec && capacitorExec !== cexec // proxy objects are different // proxy object is not the current capacitorExec + ); + } + + // CB-10106 + function handleBridgeChange() { + if (proxyChanged()) { + var commandString = commandQueue.shift(); + while (commandString) { + var command = JSON.parse(commandString); + var callbackId = command[0]; + var service = command[1]; + var action = command[2]; + var actionArgs = command[3]; + var callbacks = cordova.callbacks[callbackId] || {}; + + execProxy( + callbacks.success, + callbacks.fail, + service, + action, + actionArgs, + ); + + commandString = commandQueue.shift(); + } + return true; + } + + return false; + } + + function pokeNative() { + // CB-5488 - Don't attempt to create iframe before document.body is available. + if (!document.body) { + setTimeout(pokeNative); + return; + } + + // Check if they've removed it from the DOM, and put it back if so. + if (execIframe && execIframe.contentWindow) { + execIframe.contentWindow.location = 'gap://ready'; + } else { + execIframe = document.createElement('iframe'); + execIframe.style.display = 'none'; + execIframe.src = 'gap://ready'; + document.body.appendChild(execIframe); + } + // Use a timer to protect against iframe being unloaded during the poke (CB-7735). + // This makes the bridge ~ 7% slower, but works around the poke getting lost + // when the iframe is removed from the DOM. + // An onunload listener could be used in the case where the iframe has just been + // created, but since unload events fire only once, it doesn't work in the normal + // case of iframe reuse (where unload will have already fired due to the attempted + // navigation of the page). + failSafeTimerId = setTimeout(function () { + if (commandQueue.length) { + // CB-10106 - flush the queue on bridge change + if (!handleBridgeChange()) { + pokeNative(); + } + } + }, 50); // Making this > 0 improves performance (marginally) in the normal case (where it doesn't fire). + } + + capacitorExec.nativeFetchMessages = function () { + // Stop listing for window detatch once native side confirms poke. + if (failSafeTimerId) { + clearTimeout(failSafeTimerId); + failSafeTimerId = 0; + } + // Each entry in commandQueue is a JSON string already. + if (!commandQueue.length) { + return ''; + } + var json = '[' + commandQueue.join(',') + ']'; + commandQueue.length = 0; + return json; + }; + + capacitorExec.nativeCallback = function ( + callbackId, + status, + message, + keepCallback, + debug, + ) { + var success = status === 0 || status === 1; + var args = convertMessageToArgsNativeToJs(message); + Promise.resolve().then(function () { + cordova.callbackFromNative( + callbackId, + success, + status, + args, + keepCallback, + ); // eslint-disable-line + }); + }; + + // for backwards compatibility + capacitorExec.nativeEvalAndFetch = function (func) { + try { + func(); + } catch (e) { + console.log(e); + } + }; + + // Proxy the exec for bridge changes. See CB-10106 + function cordovaExec() { + var cexec = require('cordova/exec'); + var cexec_valid = + typeof cexec.nativeFetchMessages === 'function' && + typeof cexec.nativeEvalAndFetch === 'function' && + typeof cexec.nativeCallback === 'function'; + return cexec_valid && execProxy !== cexec ? cexec : capacitorExec; + } + function execProxy() { + cordovaExec().apply(null, arguments); + } + + execProxy.nativeFetchMessages = function () { + return cordovaExec().nativeFetchMessages.apply(null, arguments); + }; + + execProxy.nativeEvalAndFetch = function () { + return cordovaExec().nativeEvalAndFetch.apply(null, arguments); + }; + + execProxy.nativeCallback = function () { + return cordovaExec().nativeCallback.apply(null, arguments); + }; + + module.exports = execProxy; + }); + + // file: src/common/exec/proxy.js + define('cordova/exec/proxy', function (require, exports, module) { + // internal map of proxy function + var CommandProxyMap = {}; + + module.exports = { + // example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...); + add: function (id, proxyObj) { + console.log('adding proxy for ' + id); + CommandProxyMap[id] = proxyObj; + return proxyObj; + }, + + // cordova.commandProxy.remove("Accelerometer"); + remove: function (id) { + var proxy = CommandProxyMap[id]; + delete CommandProxyMap[id]; + CommandProxyMap[id] = null; + return proxy; + }, + + get: function (service, action) { + return CommandProxyMap[service] + ? CommandProxyMap[service][action] + : null; + }, + }; + }); + + // file: src/common/init.js + define('cordova/init', function (require, exports, module) { + var channel = require('cordova/channel'); + var cordova = require('cordova'); + var modulemapper = require('cordova/modulemapper'); + var platform = require('cordova/platform'); + var pluginloader = require('cordova/pluginloader'); + var utils = require('cordova/utils'); + + var platformInitChannelsArray = [ + channel.onNativeReady, + channel.onPluginsReady, + ]; + + function logUnfiredChannels(arr) { + for (var i = 0; i < arr.length; ++i) { + if (arr[i].state !== 2) { + console.log('Channel not fired: ' + arr[i].type); + } + } + } + + window.setTimeout(function () { + if (channel.onDeviceReady.state !== 2) { + console.log('deviceready has not fired after 5 seconds.'); + logUnfiredChannels(platformInitChannelsArray); + logUnfiredChannels(channel.deviceReadyChannelsArray); + } + }, 5000); + + // Replace navigator before any modules are required(), to ensure it happens as soon as possible. + // We replace it so that properties that can't be clobbered can instead be overridden. + function replaceNavigator(origNavigator) { + var CordovaNavigator = function () {}; + CordovaNavigator.prototype = origNavigator; + var newNavigator = new CordovaNavigator(); + // This work-around really only applies to new APIs that are newer than Function.bind. + // Without it, APIs such as getGamepads() break. + if (CordovaNavigator.bind) { + for (var key in origNavigator) { + if (typeof origNavigator[key] === 'function') { + newNavigator[key] = origNavigator[key].bind(origNavigator); + } else { + (function (k) { + utils.defineGetterSetter(newNavigator, key, function () { + return origNavigator[k]; + }); + })(key); + } + } + } + return newNavigator; + } + + if (window.navigator) { + window.navigator = replaceNavigator(window.navigator); + } + + // Register pause, resume and deviceready channels as events on document. + channel.onPause = cordova.addDocumentEventHandler('pause'); + channel.onResume = cordova.addDocumentEventHandler('resume'); + channel.onActivated = cordova.addDocumentEventHandler('activated'); + channel.onDeviceReady = + cordova.addStickyDocumentEventHandler('deviceready'); + + // Listen for DOMContentLoaded and notify our channel subscribers. + if ( + document.readyState === 'complete' || + document.readyState === 'interactive' + ) { + channel.onDOMContentLoaded.fire(); + } else { + document.addEventListener( + 'DOMContentLoaded', + function () { + channel.onDOMContentLoaded.fire(); + }, + false, + ); + } + + // _nativeReady is global variable that the native side can set + // to signify that the native code is ready. It is a global since + // it may be called before any cordova JS is ready. + if (window._nativeReady) { + channel.onNativeReady.fire(); + } + + modulemapper.clobbers('cordova', 'cordova'); + modulemapper.clobbers('cordova/exec', 'cordova.exec'); + modulemapper.clobbers('cordova/exec', 'Cordova.exec'); + + // Call the platform-specific initialization. + platform.bootstrap && platform.bootstrap(); + + // Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js. + // The delay allows the attached modules to be defined before the plugin loader looks for them. + setTimeout(function () { + pluginloader.load(function () { + channel.onPluginsReady.fire(); + }); + }, 0); + + /** + * Create all cordova objects once native side is ready. + */ + channel.join(function () { + modulemapper.mapModules(window); + + platform.initialize && platform.initialize(); + + // Fire event to notify that all objects are created + channel.onCordovaReady.fire(); + + // Fire onDeviceReady event once page has fully loaded, all + // constructors have run and cordova info has been received from native + // side. + channel.join(function () { + require('cordova').fireDocumentEvent('deviceready'); + }, channel.deviceReadyChannelsArray); + }, platformInitChannelsArray); + }); + + // file: src/common/modulemapper.js + define('cordova/modulemapper', function (require, exports, module) { + var builder = require('cordova/builder'); + var moduleMap = define.moduleMap; // eslint-disable-line no-undef + var symbolList; + var deprecationMap; + + exports.reset = function () { + symbolList = []; + deprecationMap = {}; + }; + + function addEntry( + strategy, + moduleName, + symbolPath, + opt_deprecationMessage, + ) { + if (!(moduleName in moduleMap)) { + throw new Error('Module ' + moduleName + ' does not exist.'); + } + symbolList.push(strategy, moduleName, symbolPath); + if (opt_deprecationMessage) { + deprecationMap[symbolPath] = opt_deprecationMessage; + } + } + + // Note: Android 2.3 does have Function.bind(). + exports.clobbers = function ( + moduleName, + symbolPath, + opt_deprecationMessage, + ) { + addEntry('c', moduleName, symbolPath, opt_deprecationMessage); + }; + + exports.merges = function (moduleName, symbolPath, opt_deprecationMessage) { + addEntry('m', moduleName, symbolPath, opt_deprecationMessage); + }; + + exports.defaults = function ( + moduleName, + symbolPath, + opt_deprecationMessage, + ) { + addEntry('d', moduleName, symbolPath, opt_deprecationMessage); + }; + + exports.runs = function (moduleName) { + addEntry('r', moduleName, null); + }; + + function prepareNamespace(symbolPath, context) { + if (!symbolPath) { + return context; + } + var parts = symbolPath.split('.'); + var cur = context; + for (var i = 0, part; (part = parts[i]); ++i) { + // eslint-disable-line no-cond-assign + cur = cur[part] = cur[part] || {}; + } + return cur; + } + + exports.mapModules = function (context) { + var origSymbols = {}; + context.CDV_origSymbols = origSymbols; + for (var i = 0, len = symbolList.length; i < len; i += 3) { + var strategy = symbolList[i]; + var moduleName = symbolList[i + 1]; + var module = require(moduleName); + // + if (strategy === 'r') { + continue; + } + var symbolPath = symbolList[i + 2]; + var lastDot = symbolPath.lastIndexOf('.'); + var namespace = symbolPath.substr(0, lastDot); + var lastName = symbolPath.substr(lastDot + 1); + + var deprecationMsg = + symbolPath in deprecationMap + ? 'Access made to deprecated symbol: ' + + symbolPath + + '. ' + + deprecationMsg + : null; + var parentObj = prepareNamespace(namespace, context); + var target = parentObj[lastName]; + + if (strategy === 'm' && target) { + builder.recursiveMerge(target, module); + } else if ((strategy === 'd' && !target) || strategy !== 'd') { + if (!(symbolPath in origSymbols)) { + origSymbols[symbolPath] = target; + } + builder.assignOrWrapInDeprecateGetter( + parentObj, + lastName, + module, + deprecationMsg, + ); + } + } + }; + + exports.getOriginalSymbol = function (context, symbolPath) { + var origSymbols = context.CDV_origSymbols; + if (origSymbols && symbolPath in origSymbols) { + return origSymbols[symbolPath]; + } + var parts = symbolPath.split('.'); + var obj = context; + for (var i = 0; i < parts.length; ++i) { + obj = obj && obj[parts[i]]; + } + return obj; + }; + + exports.reset(); + }); + + define('cordova/platform', function (require, exports, module) { + module.exports = { + id: Capacitor.platform, + bootstrap: function () { + require('cordova/channel').onNativeReady.fire(); + }, + }; + }); + + // file: src/common/pluginloader.js + define('cordova/pluginloader', function (require, exports, module) { + var modulemapper = require('cordova/modulemapper'); + + function onScriptLoadingComplete(moduleList, finishPluginLoading) { + console.log('onscript loading complete'); + // Loop through all the plugins and then through their clobbers and merges. + for (var i = 0, module; (module = moduleList[i]); i++) { + // eslint-disable-line no-cond-assign + if (module.clobbers && module.clobbers.length) { + for (var j = 0; j < module.clobbers.length; j++) { + modulemapper.clobbers(module.id, module.clobbers[j]); + } + } + + if (module.merges && module.merges.length) { + for (var k = 0; k < module.merges.length; k++) { + modulemapper.merges(module.id, module.merges[k]); + } + } + + // Finally, if runs is truthy we want to simply require() the module. + if (module.runs) { + modulemapper.runs(module.id); + } + } + + finishPluginLoading(); + } + + // Tries to load all plugins' js-modules. + // This is an async process, but onDeviceReady is blocked on onPluginsReady. + // onPluginsReady is fired when there are no plugins to load, or they are all done. + exports.load = function (callback) { + var moduleList = require('cordova/plugin_list'); + onScriptLoadingComplete(moduleList, callback); + }; + }); + + // file: src/common/urlutil.js + define('cordova/urlutil', function (require, exports, module) { + /** + * For already absolute URLs, returns what is passed in. + * For relative URLs, converts them to absolute ones. + */ + exports.makeAbsolute = function makeAbsolute(url) { + var anchorEl = document.createElement('a'); + anchorEl.href = url; + return anchorEl.href; + }; + }); + + // file: src/common/utils.js + define('cordova/utils', function (require, exports, module) { + var utils = exports; + + /** + * Defines a property getter / setter for obj[key]. + */ + utils.defineGetterSetter = function (obj, key, getFunc, opt_setFunc) { + if (Object.defineProperty) { + var desc = { + get: getFunc, + configurable: true, + }; + if (opt_setFunc) { + desc.set = opt_setFunc; + } + Object.defineProperty(obj, key, desc); + } else { + obj.__defineGetter__(key, getFunc); + if (opt_setFunc) { + obj.__defineSetter__(key, opt_setFunc); + } + } + }; + + /** + * Defines a property getter for obj[key]. + */ + utils.defineGetter = utils.defineGetterSetter; + + utils.arrayIndexOf = function (a, item) { + if (a.indexOf) { + return a.indexOf(item); + } + var len = a.length; + for (var i = 0; i < len; ++i) { + if (a[i] === item) { + return i; + } + } + return -1; + }; + + /** + * Returns whether the item was found in the array. + */ + utils.arrayRemove = function (a, item) { + var index = utils.arrayIndexOf(a, item); + if (index !== -1) { + a.splice(index, 1); + } + return index !== -1; + }; + + utils.typeName = function (val) { + return Object.prototype.toString.call(val).slice(8, -1); + }; + + /** + * Returns an indication of whether the argument is an array or not + */ + utils.isArray = + Array.isArray || + function (a) { + return utils.typeName(a) === 'Array'; + }; + + /** + * Returns an indication of whether the argument is a Date or not + */ + utils.isDate = function (d) { + return d instanceof Date; + }; + + /** + * Does a deep clone of the object. + */ + utils.clone = function (obj) { + if ( + !obj || + typeof obj === 'function' || + utils.isDate(obj) || + typeof obj !== 'object' + ) { + return obj; + } + + var retVal, i; + + if (utils.isArray(obj)) { + retVal = []; + for (i = 0; i < obj.length; ++i) { + retVal.push(utils.clone(obj[i])); + } + return retVal; + } + + retVal = {}; + for (i in obj) { + // https://issues.apache.org/jira/browse/CB-11522 'unknown' type may be returned in + // custom protocol activation case on Windows Phone 8.1 causing "No such interface supported" exception + // on cloning. + if ( + (!(i in retVal) || retVal[i] !== obj[i]) && + typeof obj[i] !== 'undefined' && + typeof obj[i] !== 'unknown' + ) { + // eslint-disable-line valid-typeof + retVal[i] = utils.clone(obj[i]); + } + } + return retVal; + }; + + /** + * Returns a wrapped version of the function + */ + utils.close = function (context, func, params) { + return function () { + var args = params || arguments; + return func.apply(context, args); + }; + }; + + // ------------------------------------------------------------------------------ + function UUIDcreatePart(length) { + var uuidpart = ''; + for (var i = 0; i < length; i++) { + var uuidchar = parseInt(Math.random() * 256, 10).toString(16); + if (uuidchar.length === 1) { + uuidchar = '0' + uuidchar; + } + uuidpart += uuidchar; + } + return uuidpart; + } + + /** + * Create a UUID + */ + utils.createUUID = function () { + return ( + UUIDcreatePart(4) + + '-' + + UUIDcreatePart(2) + + '-' + + UUIDcreatePart(2) + + '-' + + UUIDcreatePart(2) + + '-' + + UUIDcreatePart(6) + ); + }; + + /** + * Extends a child object from a parent object using classical inheritance + * pattern. + */ + utils.extend = (function () { + // proxy used to establish prototype chain + var F = function () {}; + // extend Child from Parent + return function (Child, Parent) { + F.prototype = Parent.prototype; + Child.prototype = new F(); + Child.__super__ = Parent.prototype; + Child.prototype.constructor = Child; + }; + })(); + + /** + * Alerts a message in any available way: alert or console.log. + */ + utils.alert = function (msg) { + if (window.alert) { + window.alert(msg); + } else if (console && console.log) { + console.log(msg); + } + }; + }); + + window.cordova = require('cordova'); + // file: src/scripts/bootstrap.js + + require('cordova/init'); +})(); diff --git a/ios/App/App/public/cordova_plugins.js b/ios/App/App/public/cordova_plugins.js new file mode 100644 index 0000000..6d91343 --- /dev/null +++ b/ios/App/App/public/cordova_plugins.js @@ -0,0 +1,20 @@ + + cordova.define('cordova/plugin_list', function(require, exports, module) { + module.exports = [ + { + "id": "cordova-plugin-inappbrowser.inappbrowser", + "file": "plugins/cordova-plugin-inappbrowser/www/inappbrowser.js", + "pluginId": "cordova-plugin-inappbrowser", + "clobbers": [ + "cordova.InAppBrowser.open" + ] + } + ]; + module.exports.metadata = + // TOP OF METADATA + { + "cordova-plugin-inappbrowser": "5.0.0" + }; + // BOTTOM OF METADATA + }); + \ No newline at end of file diff --git a/ios/App/App/public/css/app.908e70a8.css b/ios/App/App/public/css/app.908e70a8.css new file mode 100644 index 0000000..d3a3279 --- /dev/null +++ b/ios/App/App/public/css/app.908e70a8.css @@ -0,0 +1 @@ +.header__tainacan-logo{max-width:65%;height:42px}ion-img.header__tainacan-logo::part(image){width:auto}.collection-list-item{--border-color:var(--ion-color-step-900,#e6e6e6)}.collection-list-item ion-img{--border-radius:4px}.items-list-container{--ion-grid-column-padding:0px;padding:12px}.items-list-container ion-card{box-shadow:none;margin:4px}.items-list-container ion-card-header{padding:12px}.items-list-container ion-card-title{font-size:.875rem;font-weight:400}.login-form-content{--ion-background-color:var(--ion-color-step-950,#f2f2f2)}.login-form-content form{display:flex;flex-direction:column;width:100%}.login-form-content form ion-button{margin-left:auto}.login-form-content ion-row{height:100%}.login-form-content__tainacan-logo{max-width:250px;padding:2rem;margin:.5rem auto}.add-items-button{text-transform:capitalize;position:fixed;bottom:16px;right:16px;height:50px;--padding-start:20px;--padding-bottom:10px;--padding-top:10px;--padding-end:20px;--border-radius:16px}ion-spinner,ion-spinner[data-v-5ba64bfe]{margin-top:2rem}html.ios{--ion-default-font:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Roboto",sans-serif}html.md{--ion-default-font:"Roboto","Helvetica Neue",sans-serif}html{--ion-font-family:var(--ion-default-font)}body{background:var(--ion-background-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity:0.18}}ion-modal.modal-default:not(.overlay-hidden)~ion-modal.modal-default{--backdrop-opacity:0;--box-shadow:none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base:var(--ion-color-primary,#3880ff)!important;--ion-color-base-rgb:var(--ion-color-primary-rgb,56,128,255)!important;--ion-color-contrast:var(--ion-color-primary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-primary-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-primary-shade,#3171e0)!important;--ion-color-tint:var(--ion-color-primary-tint,#4c8dff)!important}.ion-color-secondary{--ion-color-base:var(--ion-color-secondary,#3dc2ff)!important;--ion-color-base-rgb:var(--ion-color-secondary-rgb,61,194,255)!important;--ion-color-contrast:var(--ion-color-secondary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-secondary-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-secondary-shade,#36abe0)!important;--ion-color-tint:var(--ion-color-secondary-tint,#50c8ff)!important}.ion-color-tertiary{--ion-color-base:var(--ion-color-tertiary,#5260ff)!important;--ion-color-base-rgb:var(--ion-color-tertiary-rgb,82,96,255)!important;--ion-color-contrast:var(--ion-color-tertiary-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-tertiary-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-tertiary-shade,#4854e0)!important;--ion-color-tint:var(--ion-color-tertiary-tint,#6370ff)!important}.ion-color-success{--ion-color-base:var(--ion-color-success,#2dd36f)!important;--ion-color-base-rgb:var(--ion-color-success-rgb,45,211,111)!important;--ion-color-contrast:var(--ion-color-success-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-success-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-success-shade,#28ba62)!important;--ion-color-tint:var(--ion-color-success-tint,#42d77d)!important}.ion-color-warning{--ion-color-base:var(--ion-color-warning,#ffc409)!important;--ion-color-base-rgb:var(--ion-color-warning-rgb,255,196,9)!important;--ion-color-contrast:var(--ion-color-warning-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-warning-contrast-rgb,0,0,0)!important;--ion-color-shade:var(--ion-color-warning-shade,#e0ac08)!important;--ion-color-tint:var(--ion-color-warning-tint,#ffca22)!important}.ion-color-danger{--ion-color-base:var(--ion-color-danger,#eb445a)!important;--ion-color-base-rgb:var(--ion-color-danger-rgb,235,68,90)!important;--ion-color-contrast:var(--ion-color-danger-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-danger-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-danger-shade,#cf3c4f)!important;--ion-color-tint:var(--ion-color-danger-tint,#ed576b)!important}.ion-color-light{--ion-color-base:var(--ion-color-light,#f4f5f8)!important;--ion-color-base-rgb:var(--ion-color-light-rgb,244,245,248)!important;--ion-color-contrast:var(--ion-color-light-contrast,#000)!important;--ion-color-contrast-rgb:var(--ion-color-light-contrast-rgb,0,0,0)!important;--ion-color-shade:var(--ion-color-light-shade,#d7d8da)!important;--ion-color-tint:var(--ion-color-light-tint,#f5f6f9)!important}.ion-color-medium{--ion-color-base:var(--ion-color-medium,#92949c)!important;--ion-color-base-rgb:var(--ion-color-medium-rgb,146,148,156)!important;--ion-color-contrast:var(--ion-color-medium-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-medium-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-medium-shade,#808289)!important;--ion-color-tint:var(--ion-color-medium-tint,#9d9fa6)!important}.ion-color-dark{--ion-color-base:var(--ion-color-dark,#222428)!important;--ion-color-base-rgb:var(--ion-color-dark-rgb,34,36,40)!important;--ion-color-contrast:var(--ion-color-dark-contrast,#fff)!important;--ion-color-contrast-rgb:var(--ion-color-dark-contrast-rgb,255,255,255)!important;--ion-color-shade:var(--ion-color-dark-shade,#1e2023)!important;--ion-color-tint:var(--ion-color-dark-tint,#383a3e)!important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;overflow:hidden;z-index:0}.split-pane-visible>.ion-page.split-pane-main{position:relative}.ion-page-hidden,[hidden],ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-menu-controller,ion-modal-controller,ion-nav-controller,ion-picker-controller,ion-popover-controller,ion-route,ion-route-redirect,ion-router,ion-select-option,ion-toast-controller{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding:20px}@supports (padding-top:20px){html{--ion-safe-area-top:var(--ion-statusbar-padding)}}@supports (padding-top:constant(safe-area-inset-top)){html{--ion-safe-area-top:constant(safe-area-inset-top);--ion-safe-area-bottom:constant(safe-area-inset-bottom);--ion-safe-area-left:constant(safe-area-inset-left);--ion-safe-area-right:constant(safe-area-inset-right)}}@supports (padding-top:env(safe-area-inset-top)){html{--ion-safe-area-top:env(safe-area-inset-top);--ion-safe-area-bottom:env(safe-area-inset-bottom);--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:env(safe-area-inset-right)}}ion-card-header.ion-color .ion-inherit-color,ion-card.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-push,.md .menu-content-reveal{box-shadow:4px 0 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width:0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width:0px;--inner-border-width:0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%;border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}input,label,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::-moz-placeholder{padding-left:2px}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}.ion-tappable,[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;-webkit-appearance:button}[tappable],button{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{padding:0;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}a{background-color:transparent;color:var(--ion-color-primary,#3880ff)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:26px}h2{margin-top:18px;font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}small,sub,sup{font-size:75%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.ion-padding{--padding-start:var(--ion-padding,16px);--padding-end:var(--ion-padding,16px);--padding-top:var(--ion-padding,16px);--padding-bottom:var(--ion-padding,16px);padding-left:var(--ion-padding,16px);padding-right:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-padding{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}}.ion-padding-top{--padding-top:var(--ion-padding,16px);padding-top:var(--ion-padding,16px)}.ion-padding-start{--padding-start:var(--ion-padding,16px);padding-left:var(--ion-padding,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-padding-start{padding-left:unset;-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px)}}.ion-padding-end{--padding-end:var(--ion-padding,16px);padding-right:var(--ion-padding,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-padding-end{padding-right:unset;-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}}.ion-padding-bottom{--padding-bottom:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-vertical{--padding-top:var(--ion-padding,16px);--padding-bottom:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-horizontal{--padding-start:var(--ion-padding,16px);--padding-end:var(--ion-padding,16px);padding-left:var(--ion-padding,16px);padding-right:var(--ion-padding,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-padding-horizontal{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}}.ion-no-margin{--margin-start:0;--margin-end:0;--margin-top:0;--margin-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.ion-margin{--margin-start:var(--ion-margin,16px);--margin-end:var(--ion-margin,16px);--margin-top:var(--ion-margin,16px);--margin-bottom:var(--ion-margin,16px);margin-left:var(--ion-margin,16px);margin-right:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-margin{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}}.ion-margin-top{--margin-top:var(--ion-margin,16px);margin-top:var(--ion-margin,16px)}.ion-margin-start{--margin-start:var(--ion-margin,16px);margin-left:var(--ion-margin,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-margin-start{margin-left:unset;-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px)}}.ion-margin-end{--margin-end:var(--ion-margin,16px);margin-right:var(--ion-margin,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-margin-end{margin-right:unset;-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}}.ion-margin-bottom{--margin-bottom:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-vertical{--margin-top:var(--ion-margin,16px);--margin-bottom:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-horizontal{--margin-start:var(--ion-margin,16px);--margin-end:var(--ion-margin,16px);margin-left:var(--ion-margin,16px);margin-right:var(--ion-margin,16px)}@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.ion-margin-horizontal{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start,[dir=rtl] .ion-float-start{float:right!important}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end,[dir=rtl] .ion-float-end{float:left!important}@media (min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start,[dir=rtl] .ion-float-sm-start{float:right!important}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end,[dir=rtl] .ion-float-sm-end{float:left!important}}@media (min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start,[dir=rtl] .ion-float-md-start{float:right!important}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end,[dir=rtl] .ion-float-md-end{float:left!important}}@media (min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start,[dir=rtl] .ion-float-lg-start{float:right!important}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end,[dir=rtl] .ion-float-lg-end{float:left!important}}@media (min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start,[dir=rtl] .ion-float-xl-start{float:right!important}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end,[dir=rtl] .ion-float-xl-end{float:left!important}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media (min-width:576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media (min-width:768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media (min-width:992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media (min-width:1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media (min-width:576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media (min-width:768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media (min-width:992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media (min-width:1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}.ion-hide,.ion-hide-down,.ion-hide-up{display:none!important}@media (min-width:576px){.ion-hide-sm-up{display:none!important}}@media (max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media (min-width:768px){.ion-hide-md-up{display:none!important}}@media (max-width:767.98px){.ion-hide-md-down{display:none!important}}@media (min-width:992px){.ion-hide-lg-up{display:none!important}}@media (max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media (min-width:1200px){.ion-hide-xl-up{display:none!important}}@media (max-width:1199.98px){.ion-hide-xl-down{display:none!important}}:root{--ion-background-color:#f6f6f6;--ion-color-primary:#298596;--ion-color-primary-rgb:41,133,150;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255,255,255;--ion-color-primary-shade:#247584;--ion-color-primary-tint:#3e91a1;--ion-color-secondary:#4ea2ad;--ion-color-secondary-rgb:78,162,173;--ion-color-secondary-contrast:#000;--ion-color-secondary-contrast-rgb:0,0,0;--ion-color-secondary-shade:#458f98;--ion-color-secondary-tint:#60abb5;--ion-color-tertiary:#76c6cc;--ion-color-tertiary-rgb:118,198,204;--ion-color-tertiary-contrast:#000;--ion-color-tertiary-contrast-rgb:0,0,0;--ion-color-tertiary-shade:#68aeb4;--ion-color-tertiary-tint:#84ccd1;--ion-color-success:#2dd36f;--ion-color-success-rgb:45,211,111;--ion-color-success-contrast:#000;--ion-color-success-contrast-rgb:0,0,0;--ion-color-success-shade:#28ba62;--ion-color-success-tint:#42d77d;--ion-color-warning:#ffc409;--ion-color-warning-rgb:255,196,9;--ion-color-warning-contrast:#000;--ion-color-warning-contrast-rgb:0,0,0;--ion-color-warning-shade:#e0ac08;--ion-color-warning-tint:#ffca22;--ion-color-danger:#eb445a;--ion-color-danger-rgb:235,68,90;--ion-color-danger-contrast:#fff;--ion-color-danger-contrast-rgb:255,255,255;--ion-color-danger-shade:#cf3c4f;--ion-color-danger-tint:#ed576b;--ion-color-medium:#92949c;--ion-color-medium-rgb:146,148,156;--ion-color-medium-contrast:#000;--ion-color-medium-contrast-rgb:0,0,0;--ion-color-medium-shade:#808289;--ion-color-medium-tint:#9d9fa6;--ion-color-light:#f4f5f8;--ion-color-light-rgb:244,245,248;--ion-color-light-contrast:#000;--ion-color-light-contrast-rgb:0,0,0;--ion-color-light-shade:#d7d8da;--ion-color-light-tint:#f5f6f9}ion-spinner{display:block;margin:auto}ion-card{background:#fff;border-radius:0}.collection-list-item{--ion-item-background:#fff}.results-not-found{text-align:center}.searchbar-input{border-radius:30px!important;box-shadow:none!important;--background:#efefef}.header-md:after{display:none} \ No newline at end of file diff --git a/ios/App/App/public/img/logo.c406a55a.png b/ios/App/App/public/img/logo.c406a55a.png new file mode 100644 index 0000000..c4d9926 Binary files /dev/null and b/ios/App/App/public/img/logo.c406a55a.png differ diff --git a/ios/App/App/public/img/logo_square.e3a150ee.png b/ios/App/App/public/img/logo_square.e3a150ee.png new file mode 100644 index 0000000..210adc0 Binary files /dev/null and b/ios/App/App/public/img/logo_square.e3a150ee.png differ diff --git a/ios/App/App/public/index.html b/ios/App/App/public/index.html new file mode 100644 index 0000000..d874e49 --- /dev/null +++ b/ios/App/App/public/index.html @@ -0,0 +1 @@ +Ionic App
\ No newline at end of file diff --git a/ios/App/App/public/js/168.c83a23ff.js b/ios/App/App/public/js/168.c83a23ff.js new file mode 100644 index 0000000..fdb8b60 --- /dev/null +++ b/ios/App/App/public/js/168.c83a23ff.js @@ -0,0 +1,5 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[168],{3168:function(e,t,n){n.r(t),n.d(t,{startTapClick:function(){return i}});var o=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */const i=e=>{let t,n,i,v=10*-u,f=0;const p=e.getBoolean("animated",!0)&&e.getBoolean("rippleEffect",!0),m=new WeakMap,h=e=>{v=(0,o.u)(e),T(e)},L=e=>{v=(0,o.u)(e),g(e)},w=e=>{const t=(0,o.u)(e)-u;v{const t=(0,o.u)(e)-u;v{g(e)},k=()=>{clearTimeout(i),i=void 0,t&&(y(!1),t=void 0)},T=e=>{t||R(s(e),e)},g=e=>{R(void 0,e)},R=(e,n)=>{if(e&&e===t)return;clearTimeout(i),i=void 0;const{x:s,y:c}=(0,o.q)(n);if(t){if(m.has(t))throw new Error("internal error");t.classList.contains(r)||C(t,s,c),y(!0)}if(e){const t=m.get(e);t&&(clearTimeout(t),m.delete(e));const n=a(e)?0:d;e.classList.remove(r),i=setTimeout((()=>{C(e,s,c),i=void 0}),n)}t=e},C=(e,t,o)=>{f=Date.now(),e.classList.add(r);const i=p&&c(e);i&&i.addRipple&&(q(),n=i.addRipple(t,o))},q=()=>{void 0!==n&&(n.then((e=>e())),n=void 0)},y=e=>{q();const n=t;if(!n)return;const o=l-Date.now()+f;if(e&&o>0&&!a(n)){const e=setTimeout((()=>{n.classList.remove(r),m.delete(n)}),l);m.set(n,e)}else n.classList.remove(r)},S=document;S.addEventListener("ionGestureCaptured",k),S.addEventListener("touchstart",h,!0),S.addEventListener("touchcancel",L,!0),S.addEventListener("touchend",L,!0),S.addEventListener("pointercancel",k,!0),S.addEventListener("mousedown",w,!0),S.addEventListener("mouseup",E,!0),S.addEventListener("contextmenu",b,!0)},s=e=>{if(!e.composedPath)return e.target.closest(".ion-activatable");{const t=e.composedPath();for(let e=0;ee.classList.contains("ion-activatable-instant"),c=e=>{if(e.shadowRoot){const t=e.shadowRoot.querySelector("ion-ripple-effect");if(t)return t}return e.querySelector("ion-ripple-effect")},r="ion-activated",d=200,l=200,u=2500}}]); +//# sourceMappingURL=168.c83a23ff.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/168.c83a23ff.js.map b/ios/App/App/public/js/168.c83a23ff.js.map new file mode 100644 index 0000000..03dab8f --- /dev/null +++ b/ios/App/App/public/js/168.c83a23ff.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/168.c83a23ff.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/tap-click.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { u as now, q as pointerCoord } from './helpers.js';\n\nconst startTapClick = (config) => {\n let lastTouch = -MOUSE_WAIT * 10;\n let lastActivated = 0;\n let activatableEle;\n let activeRipple;\n let activeDefer;\n const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);\n const clearDefers = new WeakMap();\n // Touch Events\n const onTouchStart = (ev) => {\n lastTouch = now(ev);\n pointerDown(ev);\n };\n const onTouchEnd = (ev) => {\n lastTouch = now(ev);\n pointerUp(ev);\n };\n const onMouseDown = (ev) => {\n const t = now(ev) - MOUSE_WAIT;\n if (lastTouch < t) {\n pointerDown(ev);\n }\n };\n const onMouseUp = (ev) => {\n const t = now(ev) - MOUSE_WAIT;\n if (lastTouch < t) {\n pointerUp(ev);\n }\n };\n const onContextMenu = (ev) => {\n pointerUp(ev);\n };\n const cancelActive = () => {\n clearTimeout(activeDefer);\n activeDefer = undefined;\n if (activatableEle) {\n removeActivated(false);\n activatableEle = undefined;\n }\n };\n const pointerDown = (ev) => {\n if (activatableEle) {\n return;\n }\n setActivatedElement(getActivatableTarget(ev), ev);\n };\n const pointerUp = (ev) => {\n setActivatedElement(undefined, ev);\n };\n const setActivatedElement = (el, ev) => {\n // do nothing\n if (el && el === activatableEle) {\n return;\n }\n clearTimeout(activeDefer);\n activeDefer = undefined;\n const { x, y } = pointerCoord(ev);\n // deactivate selected\n if (activatableEle) {\n if (clearDefers.has(activatableEle)) {\n throw new Error('internal error');\n }\n if (!activatableEle.classList.contains(ACTIVATED)) {\n addActivated(activatableEle, x, y);\n }\n removeActivated(true);\n }\n // activate\n if (el) {\n const deferId = clearDefers.get(el);\n if (deferId) {\n clearTimeout(deferId);\n clearDefers.delete(el);\n }\n const delay = isInstant(el) ? 0 : ADD_ACTIVATED_DEFERS;\n el.classList.remove(ACTIVATED);\n activeDefer = setTimeout(() => {\n addActivated(el, x, y);\n activeDefer = undefined;\n }, delay);\n }\n activatableEle = el;\n };\n const addActivated = (el, x, y) => {\n lastActivated = Date.now();\n el.classList.add(ACTIVATED);\n const rippleEffect = useRippleEffect && getRippleEffect(el);\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (rippleEffect && rippleEffect.addRipple) {\n removeRipple();\n activeRipple = rippleEffect.addRipple(x, y);\n }\n };\n const removeRipple = () => {\n if (activeRipple !== undefined) {\n activeRipple.then((remove) => remove());\n activeRipple = undefined;\n }\n };\n const removeActivated = (smooth) => {\n removeRipple();\n const active = activatableEle;\n if (!active) {\n return;\n }\n const time = CLEAR_STATE_DEFERS - Date.now() + lastActivated;\n if (smooth && time > 0 && !isInstant(active)) {\n const deferId = setTimeout(() => {\n active.classList.remove(ACTIVATED);\n clearDefers.delete(active);\n }, CLEAR_STATE_DEFERS);\n clearDefers.set(active, deferId);\n }\n else {\n active.classList.remove(ACTIVATED);\n }\n };\n const doc = document;\n doc.addEventListener('ionGestureCaptured', cancelActive);\n doc.addEventListener('touchstart', onTouchStart, true);\n doc.addEventListener('touchcancel', onTouchEnd, true);\n doc.addEventListener('touchend', onTouchEnd, true);\n /**\n * Tap click effects such as the ripple effect should\n * not happen when scrolling. For example, if a user scrolls\n * the page but also happens to do a touchstart on a button\n * as part of the scroll, the ripple effect should not\n * be dispatched. The ripple effect should only happen\n * if the button is activated and the page is not scrolling.\n *\n * pointercancel is dispatched on a gesture when scrolling\n * starts, so this lets us avoid having to listen for\n * ion-content's scroll events.\n */\n doc.addEventListener('pointercancel', cancelActive, true);\n doc.addEventListener('mousedown', onMouseDown, true);\n doc.addEventListener('mouseup', onMouseUp, true);\n doc.addEventListener('contextmenu', onContextMenu, true);\n};\nconst getActivatableTarget = (ev) => {\n if (ev.composedPath) {\n /**\n * composedPath returns EventTarget[]. However,\n * objects other than Element can be targets too.\n * For example, AudioContext can be a target. In this\n * case, we know that the event is a UIEvent so we\n * can assume that the path will contain either Element\n * or ShadowRoot.\n */\n const path = ev.composedPath();\n for (let i = 0; i < path.length - 2; i++) {\n const el = path[i];\n if (!(el instanceof ShadowRoot) && el.classList.contains('ion-activatable')) {\n return el;\n }\n }\n }\n else {\n return ev.target.closest('.ion-activatable');\n }\n};\nconst isInstant = (el) => {\n return el.classList.contains('ion-activatable-instant');\n};\nconst getRippleEffect = (el) => {\n if (el.shadowRoot) {\n const ripple = el.shadowRoot.querySelector('ion-ripple-effect');\n if (ripple) {\n return ripple;\n }\n }\n return el.querySelector('ion-ripple-effect');\n};\nconst ACTIVATED = 'ion-activated';\nconst ADD_ACTIVATED_DEFERS = 200;\nconst CLEAR_STATE_DEFERS = 200;\nconst MOUSE_WAIT = 2500;\n\nexport { startTapClick };\n"],"names":["startTapClick","config","activatableEle","activeRipple","activeDefer","lastTouch","MOUSE_WAIT","lastActivated","useRippleEffect","getBoolean","clearDefers","WeakMap","onTouchStart","ev","pointerDown","onTouchEnd","pointerUp","onMouseDown","t","onMouseUp","onContextMenu","cancelActive","clearTimeout","undefined","removeActivated","setActivatedElement","getActivatableTarget","el","x","y","has","Error","classList","contains","ACTIVATED","addActivated","deferId","get","delete","delay","isInstant","ADD_ACTIVATED_DEFERS","remove","setTimeout","Date","now","add","rippleEffect","getRippleEffect","addRipple","removeRipple","then","smooth","active","time","CLEAR_STATE_DEFERS","set","doc","document","addEventListener","composedPath","target","closest","path","i","length","ShadowRoot","shadowRoot","ripple","querySelector"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/338.fff3ebb3.js b/ios/App/App/public/js/338.fff3ebb3.js new file mode 100644 index 0000000..3b477e7 --- /dev/null +++ b/ios/App/App/public/js/338.fff3ebb3.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[338],{6338:function(e,t,o){o.r(t),o.d(t,{iosTransitionAnimation:function(){return p},shadow:function(){return s}});var n=o(5980),r=o(5026); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const a=540,l=e=>document.querySelector(`${e}.ion-cloned-element`),s=e=>e.shadowRoot||e,i=e=>{const t="ION-TABS"===e.tagName?e:e.querySelector("ion-tabs"),o="ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large";if(null!=t){const e=t.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");return null!=e?e.querySelector(o):null}return e.querySelector(o)},c=(e,t)=>{const o="ION-TABS"===e.tagName?e:e.querySelector("ion-tabs");let n=[];if(null!=o){const e=o.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");null!=e&&(n=e.querySelectorAll("ion-buttons"))}else n=e.querySelectorAll("ion-buttons");for(const r of n){const e=r.closest("ion-header"),o=e&&!e.classList.contains("header-collapse-condense-inactive"),n=r.querySelector("ion-back-button"),a=r.classList.contains("buttons-collapse"),l="start"===r.slot||""===r.slot;if(null!==n&&l&&(a&&o&&t||!a))return n}return null},d=(e,t,o,n,r)=>{const a=c(n,o),l=i(r),s=i(n),d=c(r,o),p=null!==a&&null!==l&&!o,y=null!==s&&null!==d&&o;if(p){const n=l.getBoundingClientRect(),r=a.getBoundingClientRect();m(e,t,o,l,n,r),f(e,t,o,a,n,r)}else if(y){const n=s.getBoundingClientRect(),r=d.getBoundingClientRect();m(e,t,o,s,n,r),f(e,t,o,d,n,r)}return{forward:p,backward:y}},f=(e,t,o,r,a,i)=>{const c=t?`calc(100% - ${i.right+4}px)`:i.left-4+"px",d=t?"7px":"-7px",f=t?"-4px":"4px",m=t?"-4px":"4px",p=t?"right":"left",y=t?"left":"right",u=[{offset:0,opacity:0,transform:`translate3d(${d}, ${a.top-40}px, 0) scale(2.1)`},{offset:1,opacity:1,transform:`translate3d(${f}, ${i.top-46}px, 0) scale(1)`}],b=[{offset:0,opacity:1,transform:`translate3d(${f}, ${i.top-46}px, 0) scale(1)`},{offset:.6,opacity:0},{offset:1,opacity:0,transform:`translate3d(${d}, ${a.top-40}px, 0) scale(2.1)`}],S=o?b:u,$=[{offset:0,opacity:0,transform:`translate3d(${m}, ${i.top-41}px, 0) scale(0.6)`},{offset:1,opacity:1,transform:`translate3d(${m}, ${i.top-46}px, 0) scale(1)`}],g=[{offset:0,opacity:1,transform:`translate3d(${m}, ${i.top-46}px, 0) scale(1)`},{offset:.2,opacity:0,transform:`translate3d(${m}, ${i.top-41}px, 0) scale(0.6)`},{offset:1,opacity:0,transform:`translate3d(${m}, ${i.top-41}px, 0) scale(0.6)`}],T=o?g:$,h=(0,n.c)(),x=(0,n.c)(),q=l("ion-back-button"),X=s(q).querySelector(".button-text"),A=s(q).querySelector("ion-icon");q.text=r.text,q.mode=r.mode,q.icon=r.icon,q.color=r.color,q.disabled=r.disabled,q.style.setProperty("display","block"),q.style.setProperty("position","fixed"),x.addElement(A),h.addElement(X),h.beforeStyles({"transform-origin":`${p} center`}).beforeAddWrite((()=>{r.style.setProperty("display","none"),q.style.setProperty(p,c)})).afterAddWrite((()=>{r.style.setProperty("display",""),q.style.setProperty("display","none"),q.style.removeProperty(p)})).keyframes(S),x.beforeStyles({"transform-origin":`${y} center`}).keyframes(T),e.addAnimation([h,x])},m=(e,t,o,r,a,s)=>{const i=t?`calc(100% - ${a.right}px)`:`${a.left}px`,c=t?"-18px":"18px",d=t?"right":"left",f=[{offset:0,opacity:0,transform:`translate3d(${c}, ${s.top-4}px, 0) scale(0.49)`},{offset:.1,opacity:0},{offset:1,opacity:1,transform:`translate3d(0, ${a.top-2}px, 0) scale(1)`}],m=[{offset:0,opacity:.99,transform:`translate3d(0, ${a.top-2}px, 0) scale(1)`},{offset:.6,opacity:0},{offset:1,opacity:0,transform:`translate3d(${c}, ${s.top-4}px, 0) scale(0.5)`}],p=o?f:m,y=l("ion-title"),u=(0,n.c)();y.innerText=r.innerText,y.size=r.size,y.color=r.color,u.addElement(y),u.beforeStyles({"transform-origin":`${d} center`,height:"46px",display:"",position:"relative",[d]:i}).beforeAddWrite((()=>{r.style.setProperty("display","none")})).afterAddWrite((()=>{r.style.setProperty("display",""),y.style.setProperty("display","none")})).keyframes(p),e.addAnimation(u)},p=(e,t)=>{try{const o="cubic-bezier(0.32,0.72,0,1)",l="opacity",i="transform",c="0%",f=.8,m="rtl"===e.ownerDocument.dir,p=m?"-99.5%":"99.5%",y=m?"33%":"-33%",u=t.enteringEl,b=t.leavingEl,S="back"===t.direction,$=u.querySelector(":scope > ion-content"),g=u.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *"),T=u.querySelectorAll(":scope > ion-header > ion-toolbar"),h=(0,n.c)(),x=(0,n.c)();if(h.addElement(u).duration(t.duration||a).easing(t.easing||o).fill("both").beforeRemoveClass("ion-page-invisible"),b&&e){const t=(0,n.c)();t.addElement(e),h.addAnimation(t)}if($||0!==T.length||0!==g.length?(x.addElement($),x.addElement(g)):x.addElement(u.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),h.addAnimation(x),S?x.beforeClearStyles([l]).fromTo("transform",`translateX(${y})`,`translateX(${c})`).fromTo(l,f,1):x.beforeClearStyles([l]).fromTo("transform",`translateX(${p})`,`translateX(${c})`),$){const e=s($).querySelector(".transition-effect");if(e){const t=e.querySelector(".transition-cover"),o=e.querySelector(".transition-shadow"),r=(0,n.c)(),a=(0,n.c)(),s=(0,n.c)();r.addElement(e).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),a.addElement(t).beforeClearStyles([l]).fromTo(l,0,.1),s.addElement(o).beforeClearStyles([l]).fromTo(l,.03,.7),r.addAnimation([a,s]),x.addAnimation([r])}}const q=u.querySelector("ion-header.header-collapse-condense"),{forward:X,backward:A}=d(h,m,S,u,b);if(T.forEach((e=>{const t=(0,n.c)();t.addElement(e),h.addAnimation(t);const o=(0,n.c)();o.addElement(e.querySelector("ion-title"));const r=(0,n.c)(),a=Array.from(e.querySelectorAll("ion-buttons,[menuToggle]")),i=e.closest("ion-header"),d=null===i||void 0===i?void 0:i.classList.contains("header-collapse-condense-inactive");let f;f=S?a.filter((e=>{const t=e.classList.contains("buttons-collapse");return t&&!d||!t})):a.filter((e=>!e.classList.contains("buttons-collapse"))),r.addElement(f);const u=(0,n.c)();u.addElement(e.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])"));const b=(0,n.c)();b.addElement(s(e).querySelector(".toolbar-background"));const $=(0,n.c)(),g=e.querySelector("ion-back-button");if(g&&$.addElement(g),t.addAnimation([o,r,u,b,$]),r.fromTo(l,.01,1),u.fromTo(l,.01,1),S)d||o.fromTo("transform",`translateX(${y})`,`translateX(${c})`).fromTo(l,.01,1),u.fromTo("transform",`translateX(${y})`,`translateX(${c})`),$.fromTo(l,.01,1);else{q||o.fromTo("transform",`translateX(${p})`,`translateX(${c})`).fromTo(l,.01,1),u.fromTo("transform",`translateX(${p})`,`translateX(${c})`),b.beforeClearStyles([l,"transform"]);const e=null===i||void 0===i?void 0:i.translucent;if(e?b.fromTo("transform",m?"translateX(-100%)":"translateX(100%)","translateX(0px)"):b.fromTo(l,.01,"var(--opacity)"),X||$.fromTo(l,.01,1),g&&!X){const e=(0,n.c)();e.addElement(s(g).querySelector(".button-text")).fromTo("transform",m?"translateX(-100px)":"translateX(100px)","translateX(0px)"),t.addAnimation(e)}}})),b){const e=(0,n.c)(),t=b.querySelector(":scope > ion-content"),o=b.querySelectorAll(":scope > ion-header > ion-toolbar"),a=b.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");if(t||0!==o.length||0!==a.length?(e.addElement(t),e.addElement(a)):e.addElement(b.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),h.addAnimation(e),S){e.beforeClearStyles([l]).fromTo("transform",`translateX(${c})`,m?"translateX(-100%)":"translateX(100%)");const t=(0,r.g)(b);h.afterAddWrite((()=>{"normal"===h.getDirection()&&t.style.setProperty("display","none")}))}else e.fromTo("transform",`translateX(${c})`,`translateX(${y})`).fromTo(l,1,f);if(t){const o=s(t).querySelector(".transition-effect");if(o){const t=o.querySelector(".transition-cover"),r=o.querySelector(".transition-shadow"),a=(0,n.c)(),s=(0,n.c)(),i=(0,n.c)();a.addElement(o).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),s.addElement(t).beforeClearStyles([l]).fromTo(l,.1,0),i.addElement(r).beforeClearStyles([l]).fromTo(l,.7,.03),a.addAnimation([s,i]),e.addAnimation([a])}}o.forEach((e=>{const t=(0,n.c)();t.addElement(e);const o=(0,n.c)();o.addElement(e.querySelector("ion-title"));const r=(0,n.c)(),a=e.querySelectorAll("ion-buttons,[menuToggle]"),d=e.closest("ion-header"),f=null===d||void 0===d?void 0:d.classList.contains("header-collapse-condense-inactive"),p=Array.from(a).filter((e=>{const t=e.classList.contains("buttons-collapse");return t&&!f||!t}));r.addElement(p);const u=(0,n.c)(),b=e.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])");b.length>0&&u.addElement(b);const $=(0,n.c)();$.addElement(s(e).querySelector(".toolbar-background"));const g=(0,n.c)(),T=e.querySelector("ion-back-button");if(T&&g.addElement(T),t.addAnimation([o,r,u,g,$]),h.addAnimation(t),g.fromTo(l,.99,0),r.fromTo(l,.99,0),u.fromTo(l,.99,0),S){f||o.fromTo("transform",`translateX(${c})`,m?"translateX(-100%)":"translateX(100%)").fromTo(l,.99,0),u.fromTo("transform",`translateX(${c})`,m?"translateX(-100%)":"translateX(100%)"),$.beforeClearStyles([l,"transform"]);const e=null===d||void 0===d?void 0:d.translucent;if(e?$.fromTo("transform","translateX(0px)",m?"translateX(-100%)":"translateX(100%)"):$.fromTo(l,"var(--opacity)",0),T&&!A){const e=(0,n.c)();e.addElement(s(T).querySelector(".button-text")).fromTo("transform",`translateX(${c})`,`translateX(${(m?-124:124)+"px"})`),t.addAnimation(e)}}else f||o.fromTo("transform",`translateX(${c})`,`translateX(${y})`).fromTo(l,.99,0).afterClearStyles([i,l]),u.fromTo("transform",`translateX(${c})`,`translateX(${y})`).afterClearStyles([i,l]),g.afterClearStyles([l]),o.afterClearStyles([l]),r.afterClearStyles([l])}))}return h}catch(o){throw o}}}}]); +//# sourceMappingURL=338.fff3ebb3.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/338.fff3ebb3.js.map b/ios/App/App/public/js/338.fff3ebb3.js.map new file mode 100644 index 0000000..0401cff --- /dev/null +++ b/ios/App/App/public/js/338.fff3ebb3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/338.fff3ebb3.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/ios.transition.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as createAnimation } from './animation.js';\nimport { g as getIonPageElement } from './index4.js';\n\nconst DURATION = 540;\nconst getClonedElement = (tagName) => {\n return document.querySelector(`${tagName}.ion-cloned-element`);\n};\nconst shadow = (el) => {\n return el.shadowRoot || el;\n};\nconst getLargeTitle = (refEl) => {\n const tabs = refEl.tagName === 'ION-TABS' ? refEl : refEl.querySelector('ion-tabs');\n const query = 'ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large';\n if (tabs != null) {\n const activeTab = tabs.querySelector('ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)');\n return activeTab != null ? activeTab.querySelector(query) : null;\n }\n return refEl.querySelector(query);\n};\nconst getBackButton = (refEl, backDirection) => {\n const tabs = refEl.tagName === 'ION-TABS' ? refEl : refEl.querySelector('ion-tabs');\n let buttonsList = [];\n if (tabs != null) {\n const activeTab = tabs.querySelector('ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)');\n if (activeTab != null) {\n buttonsList = activeTab.querySelectorAll('ion-buttons');\n }\n }\n else {\n buttonsList = refEl.querySelectorAll('ion-buttons');\n }\n for (const buttons of buttonsList) {\n const parentHeader = buttons.closest('ion-header');\n const activeHeader = parentHeader && !parentHeader.classList.contains('header-collapse-condense-inactive');\n const backButton = buttons.querySelector('ion-back-button');\n const buttonsCollapse = buttons.classList.contains('buttons-collapse');\n const startSlot = buttons.slot === 'start' || buttons.slot === '';\n if (backButton !== null && startSlot && ((buttonsCollapse && activeHeader && backDirection) || !buttonsCollapse)) {\n return backButton;\n }\n }\n return null;\n};\nconst createLargeTitleTransition = (rootAnimation, rtl, backDirection, enteringEl, leavingEl) => {\n const enteringBackButton = getBackButton(enteringEl, backDirection);\n const leavingLargeTitle = getLargeTitle(leavingEl);\n const enteringLargeTitle = getLargeTitle(enteringEl);\n const leavingBackButton = getBackButton(leavingEl, backDirection);\n const shouldAnimationForward = enteringBackButton !== null && leavingLargeTitle !== null && !backDirection;\n const shouldAnimationBackward = enteringLargeTitle !== null && leavingBackButton !== null && backDirection;\n if (shouldAnimationForward) {\n const leavingLargeTitleBox = leavingLargeTitle.getBoundingClientRect();\n const enteringBackButtonBox = enteringBackButton.getBoundingClientRect();\n animateLargeTitle(rootAnimation, rtl, backDirection, leavingLargeTitle, leavingLargeTitleBox, enteringBackButtonBox);\n animateBackButton(rootAnimation, rtl, backDirection, enteringBackButton, leavingLargeTitleBox, enteringBackButtonBox);\n }\n else if (shouldAnimationBackward) {\n const enteringLargeTitleBox = enteringLargeTitle.getBoundingClientRect();\n const leavingBackButtonBox = leavingBackButton.getBoundingClientRect();\n animateLargeTitle(rootAnimation, rtl, backDirection, enteringLargeTitle, enteringLargeTitleBox, leavingBackButtonBox);\n animateBackButton(rootAnimation, rtl, backDirection, leavingBackButton, enteringLargeTitleBox, leavingBackButtonBox);\n }\n return {\n forward: shouldAnimationForward,\n backward: shouldAnimationBackward,\n };\n};\nconst animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, largeTitleBox, backButtonBox) => {\n const BACK_BUTTON_START_OFFSET = rtl ? `calc(100% - ${backButtonBox.right + 4}px)` : `${backButtonBox.left - 4}px`;\n const START_TEXT_TRANSLATE = rtl ? '7px' : '-7px';\n const END_TEXT_TRANSLATE = rtl ? '-4px' : '4px';\n const ICON_TRANSLATE = rtl ? '-4px' : '4px';\n const TEXT_ORIGIN_X = rtl ? 'right' : 'left';\n const ICON_ORIGIN_X = rtl ? 'left' : 'right';\n const FORWARD_TEXT_KEYFRAMES = [\n {\n offset: 0,\n opacity: 0,\n transform: `translate3d(${START_TEXT_TRANSLATE}, ${largeTitleBox.top - 40}px, 0) scale(2.1)`,\n },\n { offset: 1, opacity: 1, transform: `translate3d(${END_TEXT_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },\n ];\n const BACKWARD_TEXT_KEYFRAMES = [\n { offset: 0, opacity: 1, transform: `translate3d(${END_TEXT_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },\n { offset: 0.6, opacity: 0 },\n {\n offset: 1,\n opacity: 0,\n transform: `translate3d(${START_TEXT_TRANSLATE}, ${largeTitleBox.top - 40}px, 0) scale(2.1)`,\n },\n ];\n const TEXT_KEYFRAMES = backDirection ? BACKWARD_TEXT_KEYFRAMES : FORWARD_TEXT_KEYFRAMES;\n const FORWARD_ICON_KEYFRAMES = [\n { offset: 0, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },\n { offset: 1, opacity: 1, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },\n ];\n const BACKWARD_ICON_KEYFRAMES = [\n { offset: 0, opacity: 1, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },\n { offset: 0.2, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },\n { offset: 1, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },\n ];\n const ICON_KEYFRAMES = backDirection ? BACKWARD_ICON_KEYFRAMES : FORWARD_ICON_KEYFRAMES;\n const enteringBackButtonTextAnimation = createAnimation();\n const enteringBackButtonIconAnimation = createAnimation();\n const clonedBackButtonEl = getClonedElement('ion-back-button');\n const backButtonTextEl = shadow(clonedBackButtonEl).querySelector('.button-text');\n const backButtonIconEl = shadow(clonedBackButtonEl).querySelector('ion-icon');\n clonedBackButtonEl.text = backButtonEl.text;\n clonedBackButtonEl.mode = backButtonEl.mode;\n clonedBackButtonEl.icon = backButtonEl.icon;\n clonedBackButtonEl.color = backButtonEl.color;\n clonedBackButtonEl.disabled = backButtonEl.disabled;\n clonedBackButtonEl.style.setProperty('display', 'block');\n clonedBackButtonEl.style.setProperty('position', 'fixed');\n enteringBackButtonIconAnimation.addElement(backButtonIconEl);\n enteringBackButtonTextAnimation.addElement(backButtonTextEl);\n enteringBackButtonTextAnimation\n .beforeStyles({\n 'transform-origin': `${TEXT_ORIGIN_X} center`,\n })\n .beforeAddWrite(() => {\n backButtonEl.style.setProperty('display', 'none');\n clonedBackButtonEl.style.setProperty(TEXT_ORIGIN_X, BACK_BUTTON_START_OFFSET);\n })\n .afterAddWrite(() => {\n backButtonEl.style.setProperty('display', '');\n clonedBackButtonEl.style.setProperty('display', 'none');\n clonedBackButtonEl.style.removeProperty(TEXT_ORIGIN_X);\n })\n .keyframes(TEXT_KEYFRAMES);\n enteringBackButtonIconAnimation\n .beforeStyles({\n 'transform-origin': `${ICON_ORIGIN_X} center`,\n })\n .keyframes(ICON_KEYFRAMES);\n rootAnimation.addAnimation([enteringBackButtonTextAnimation, enteringBackButtonIconAnimation]);\n};\nconst animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, largeTitleBox, backButtonBox) => {\n const TITLE_START_OFFSET = rtl ? `calc(100% - ${largeTitleBox.right}px)` : `${largeTitleBox.left}px`;\n const START_TRANSLATE = rtl ? '-18px' : '18px';\n const ORIGIN_X = rtl ? 'right' : 'left';\n const BACKWARDS_KEYFRAMES = [\n { offset: 0, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.49)` },\n { offset: 0.1, opacity: 0 },\n { offset: 1, opacity: 1, transform: `translate3d(0, ${largeTitleBox.top - 2}px, 0) scale(1)` },\n ];\n const FORWARDS_KEYFRAMES = [\n { offset: 0, opacity: 0.99, transform: `translate3d(0, ${largeTitleBox.top - 2}px, 0) scale(1)` },\n { offset: 0.6, opacity: 0 },\n { offset: 1, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.5)` },\n ];\n const KEYFRAMES = backDirection ? BACKWARDS_KEYFRAMES : FORWARDS_KEYFRAMES;\n const clonedTitleEl = getClonedElement('ion-title');\n const clonedLargeTitleAnimation = createAnimation();\n clonedTitleEl.innerText = largeTitleEl.innerText;\n clonedTitleEl.size = largeTitleEl.size;\n clonedTitleEl.color = largeTitleEl.color;\n clonedLargeTitleAnimation.addElement(clonedTitleEl);\n clonedLargeTitleAnimation\n .beforeStyles({\n 'transform-origin': `${ORIGIN_X} center`,\n height: '46px',\n display: '',\n position: 'relative',\n [ORIGIN_X]: TITLE_START_OFFSET,\n })\n .beforeAddWrite(() => {\n largeTitleEl.style.setProperty('display', 'none');\n })\n .afterAddWrite(() => {\n largeTitleEl.style.setProperty('display', '');\n clonedTitleEl.style.setProperty('display', 'none');\n })\n .keyframes(KEYFRAMES);\n rootAnimation.addAnimation(clonedLargeTitleAnimation);\n};\nconst iosTransitionAnimation = (navEl, opts) => {\n try {\n const EASING = 'cubic-bezier(0.32,0.72,0,1)';\n const OPACITY = 'opacity';\n const TRANSFORM = 'transform';\n const CENTER = '0%';\n const OFF_OPACITY = 0.8;\n const isRTL = navEl.ownerDocument.dir === 'rtl';\n const OFF_RIGHT = isRTL ? '-99.5%' : '99.5%';\n const OFF_LEFT = isRTL ? '33%' : '-33%';\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n const backDirection = opts.direction === 'back';\n const contentEl = enteringEl.querySelector(':scope > ion-content');\n const headerEls = enteringEl.querySelectorAll(':scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *');\n const enteringToolBarEls = enteringEl.querySelectorAll(':scope > ion-header > ion-toolbar');\n const rootAnimation = createAnimation();\n const enteringContentAnimation = createAnimation();\n rootAnimation\n .addElement(enteringEl)\n .duration(opts.duration || DURATION)\n .easing(opts.easing || EASING)\n .fill('both')\n .beforeRemoveClass('ion-page-invisible');\n if (leavingEl && navEl) {\n const navDecorAnimation = createAnimation();\n navDecorAnimation.addElement(navEl);\n rootAnimation.addAnimation(navDecorAnimation);\n }\n if (!contentEl && enteringToolBarEls.length === 0 && headerEls.length === 0) {\n enteringContentAnimation.addElement(enteringEl.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs')); // REVIEW\n }\n else {\n enteringContentAnimation.addElement(contentEl); // REVIEW\n enteringContentAnimation.addElement(headerEls);\n }\n rootAnimation.addAnimation(enteringContentAnimation);\n if (backDirection) {\n enteringContentAnimation\n .beforeClearStyles([OPACITY])\n .fromTo('transform', `translateX(${OFF_LEFT})`, `translateX(${CENTER})`)\n .fromTo(OPACITY, OFF_OPACITY, 1);\n }\n else {\n // entering content, forward direction\n enteringContentAnimation\n .beforeClearStyles([OPACITY])\n .fromTo('transform', `translateX(${OFF_RIGHT})`, `translateX(${CENTER})`);\n }\n if (contentEl) {\n const enteringTransitionEffectEl = shadow(contentEl).querySelector('.transition-effect');\n if (enteringTransitionEffectEl) {\n const enteringTransitionCoverEl = enteringTransitionEffectEl.querySelector('.transition-cover');\n const enteringTransitionShadowEl = enteringTransitionEffectEl.querySelector('.transition-shadow');\n const enteringTransitionEffect = createAnimation();\n const enteringTransitionCover = createAnimation();\n const enteringTransitionShadow = createAnimation();\n enteringTransitionEffect\n .addElement(enteringTransitionEffectEl)\n .beforeStyles({ opacity: '1', display: 'block' })\n .afterStyles({ opacity: '', display: '' });\n enteringTransitionCover\n .addElement(enteringTransitionCoverEl) // REVIEW\n .beforeClearStyles([OPACITY])\n .fromTo(OPACITY, 0, 0.1);\n enteringTransitionShadow\n .addElement(enteringTransitionShadowEl) // REVIEW\n .beforeClearStyles([OPACITY])\n .fromTo(OPACITY, 0.03, 0.7);\n enteringTransitionEffect.addAnimation([enteringTransitionCover, enteringTransitionShadow]);\n enteringContentAnimation.addAnimation([enteringTransitionEffect]);\n }\n }\n const enteringContentHasLargeTitle = enteringEl.querySelector('ion-header.header-collapse-condense');\n const { forward, backward } = createLargeTitleTransition(rootAnimation, isRTL, backDirection, enteringEl, leavingEl);\n enteringToolBarEls.forEach((enteringToolBarEl) => {\n const enteringToolBar = createAnimation();\n enteringToolBar.addElement(enteringToolBarEl);\n rootAnimation.addAnimation(enteringToolBar);\n const enteringTitle = createAnimation();\n enteringTitle.addElement(enteringToolBarEl.querySelector('ion-title')); // REVIEW\n const enteringToolBarButtons = createAnimation();\n const buttons = Array.from(enteringToolBarEl.querySelectorAll('ion-buttons,[menuToggle]'));\n const parentHeader = enteringToolBarEl.closest('ion-header');\n const inactiveHeader = parentHeader === null || parentHeader === void 0 ? void 0 : parentHeader.classList.contains('header-collapse-condense-inactive');\n let buttonsToAnimate;\n if (backDirection) {\n buttonsToAnimate = buttons.filter((button) => {\n const isCollapseButton = button.classList.contains('buttons-collapse');\n return (isCollapseButton && !inactiveHeader) || !isCollapseButton;\n });\n }\n else {\n buttonsToAnimate = buttons.filter((button) => !button.classList.contains('buttons-collapse'));\n }\n enteringToolBarButtons.addElement(buttonsToAnimate);\n const enteringToolBarItems = createAnimation();\n enteringToolBarItems.addElement(enteringToolBarEl.querySelectorAll(':scope > *:not(ion-title):not(ion-buttons):not([menuToggle])'));\n const enteringToolBarBg = createAnimation();\n enteringToolBarBg.addElement(shadow(enteringToolBarEl).querySelector('.toolbar-background')); // REVIEW\n const enteringBackButton = createAnimation();\n const backButtonEl = enteringToolBarEl.querySelector('ion-back-button');\n if (backButtonEl) {\n enteringBackButton.addElement(backButtonEl);\n }\n enteringToolBar.addAnimation([\n enteringTitle,\n enteringToolBarButtons,\n enteringToolBarItems,\n enteringToolBarBg,\n enteringBackButton,\n ]);\n enteringToolBarButtons.fromTo(OPACITY, 0.01, 1);\n enteringToolBarItems.fromTo(OPACITY, 0.01, 1);\n if (backDirection) {\n if (!inactiveHeader) {\n enteringTitle\n .fromTo('transform', `translateX(${OFF_LEFT})`, `translateX(${CENTER})`)\n .fromTo(OPACITY, 0.01, 1);\n }\n enteringToolBarItems.fromTo('transform', `translateX(${OFF_LEFT})`, `translateX(${CENTER})`);\n // back direction, entering page has a back button\n enteringBackButton.fromTo(OPACITY, 0.01, 1);\n }\n else {\n // entering toolbar, forward direction\n if (!enteringContentHasLargeTitle) {\n enteringTitle\n .fromTo('transform', `translateX(${OFF_RIGHT})`, `translateX(${CENTER})`)\n .fromTo(OPACITY, 0.01, 1);\n }\n enteringToolBarItems.fromTo('transform', `translateX(${OFF_RIGHT})`, `translateX(${CENTER})`);\n enteringToolBarBg.beforeClearStyles([OPACITY, 'transform']);\n const translucentHeader = parentHeader === null || parentHeader === void 0 ? void 0 : parentHeader.translucent;\n if (!translucentHeader) {\n enteringToolBarBg.fromTo(OPACITY, 0.01, 'var(--opacity)');\n }\n else {\n enteringToolBarBg.fromTo('transform', isRTL ? 'translateX(-100%)' : 'translateX(100%)', 'translateX(0px)');\n }\n // forward direction, entering page has a back button\n if (!forward) {\n enteringBackButton.fromTo(OPACITY, 0.01, 1);\n }\n if (backButtonEl && !forward) {\n const enteringBackBtnText = createAnimation();\n enteringBackBtnText\n .addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW\n .fromTo(`transform`, isRTL ? 'translateX(-100px)' : 'translateX(100px)', 'translateX(0px)');\n enteringToolBar.addAnimation(enteringBackBtnText);\n }\n }\n });\n // setup leaving view\n if (leavingEl) {\n const leavingContent = createAnimation();\n const leavingContentEl = leavingEl.querySelector(':scope > ion-content');\n const leavingToolBarEls = leavingEl.querySelectorAll(':scope > ion-header > ion-toolbar');\n const leavingHeaderEls = leavingEl.querySelectorAll(':scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *');\n if (!leavingContentEl && leavingToolBarEls.length === 0 && leavingHeaderEls.length === 0) {\n leavingContent.addElement(leavingEl.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs')); // REVIEW\n }\n else {\n leavingContent.addElement(leavingContentEl); // REVIEW\n leavingContent.addElement(leavingHeaderEls);\n }\n rootAnimation.addAnimation(leavingContent);\n if (backDirection) {\n // leaving content, back direction\n leavingContent\n .beforeClearStyles([OPACITY])\n .fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');\n const leavingPage = getIonPageElement(leavingEl);\n rootAnimation.afterAddWrite(() => {\n if (rootAnimation.getDirection() === 'normal') {\n leavingPage.style.setProperty('display', 'none');\n }\n });\n }\n else {\n // leaving content, forward direction\n leavingContent\n .fromTo('transform', `translateX(${CENTER})`, `translateX(${OFF_LEFT})`)\n .fromTo(OPACITY, 1, OFF_OPACITY);\n }\n if (leavingContentEl) {\n const leavingTransitionEffectEl = shadow(leavingContentEl).querySelector('.transition-effect');\n if (leavingTransitionEffectEl) {\n const leavingTransitionCoverEl = leavingTransitionEffectEl.querySelector('.transition-cover');\n const leavingTransitionShadowEl = leavingTransitionEffectEl.querySelector('.transition-shadow');\n const leavingTransitionEffect = createAnimation();\n const leavingTransitionCover = createAnimation();\n const leavingTransitionShadow = createAnimation();\n leavingTransitionEffect\n .addElement(leavingTransitionEffectEl)\n .beforeStyles({ opacity: '1', display: 'block' })\n .afterStyles({ opacity: '', display: '' });\n leavingTransitionCover\n .addElement(leavingTransitionCoverEl) // REVIEW\n .beforeClearStyles([OPACITY])\n .fromTo(OPACITY, 0.1, 0);\n leavingTransitionShadow\n .addElement(leavingTransitionShadowEl) // REVIEW\n .beforeClearStyles([OPACITY])\n .fromTo(OPACITY, 0.7, 0.03);\n leavingTransitionEffect.addAnimation([leavingTransitionCover, leavingTransitionShadow]);\n leavingContent.addAnimation([leavingTransitionEffect]);\n }\n }\n leavingToolBarEls.forEach((leavingToolBarEl) => {\n const leavingToolBar = createAnimation();\n leavingToolBar.addElement(leavingToolBarEl);\n const leavingTitle = createAnimation();\n leavingTitle.addElement(leavingToolBarEl.querySelector('ion-title')); // REVIEW\n const leavingToolBarButtons = createAnimation();\n const buttons = leavingToolBarEl.querySelectorAll('ion-buttons,[menuToggle]');\n const parentHeader = leavingToolBarEl.closest('ion-header');\n const inactiveHeader = parentHeader === null || parentHeader === void 0 ? void 0 : parentHeader.classList.contains('header-collapse-condense-inactive');\n const buttonsToAnimate = Array.from(buttons).filter((button) => {\n const isCollapseButton = button.classList.contains('buttons-collapse');\n return (isCollapseButton && !inactiveHeader) || !isCollapseButton;\n });\n leavingToolBarButtons.addElement(buttonsToAnimate);\n const leavingToolBarItems = createAnimation();\n const leavingToolBarItemEls = leavingToolBarEl.querySelectorAll(':scope > *:not(ion-title):not(ion-buttons):not([menuToggle])');\n if (leavingToolBarItemEls.length > 0) {\n leavingToolBarItems.addElement(leavingToolBarItemEls);\n }\n const leavingToolBarBg = createAnimation();\n leavingToolBarBg.addElement(shadow(leavingToolBarEl).querySelector('.toolbar-background')); // REVIEW\n const leavingBackButton = createAnimation();\n const backButtonEl = leavingToolBarEl.querySelector('ion-back-button');\n if (backButtonEl) {\n leavingBackButton.addElement(backButtonEl);\n }\n leavingToolBar.addAnimation([\n leavingTitle,\n leavingToolBarButtons,\n leavingToolBarItems,\n leavingBackButton,\n leavingToolBarBg,\n ]);\n rootAnimation.addAnimation(leavingToolBar);\n // fade out leaving toolbar items\n leavingBackButton.fromTo(OPACITY, 0.99, 0);\n leavingToolBarButtons.fromTo(OPACITY, 0.99, 0);\n leavingToolBarItems.fromTo(OPACITY, 0.99, 0);\n if (backDirection) {\n if (!inactiveHeader) {\n // leaving toolbar, back direction\n leavingTitle\n .fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)')\n .fromTo(OPACITY, 0.99, 0);\n }\n leavingToolBarItems.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');\n leavingToolBarBg.beforeClearStyles([OPACITY, 'transform']);\n // leaving toolbar, back direction, and there's no entering toolbar\n // should just slide out, no fading out\n const translucentHeader = parentHeader === null || parentHeader === void 0 ? void 0 : parentHeader.translucent;\n if (!translucentHeader) {\n leavingToolBarBg.fromTo(OPACITY, 'var(--opacity)', 0);\n }\n else {\n leavingToolBarBg.fromTo('transform', 'translateX(0px)', isRTL ? 'translateX(-100%)' : 'translateX(100%)');\n }\n if (backButtonEl && !backward) {\n const leavingBackBtnText = createAnimation();\n leavingBackBtnText\n .addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW\n .fromTo('transform', `translateX(${CENTER})`, `translateX(${(isRTL ? -124 : 124) + 'px'})`);\n leavingToolBar.addAnimation(leavingBackBtnText);\n }\n }\n else {\n // leaving toolbar, forward direction\n if (!inactiveHeader) {\n leavingTitle\n .fromTo('transform', `translateX(${CENTER})`, `translateX(${OFF_LEFT})`)\n .fromTo(OPACITY, 0.99, 0)\n .afterClearStyles([TRANSFORM, OPACITY]);\n }\n leavingToolBarItems\n .fromTo('transform', `translateX(${CENTER})`, `translateX(${OFF_LEFT})`)\n .afterClearStyles([TRANSFORM, OPACITY]);\n leavingBackButton.afterClearStyles([OPACITY]);\n leavingTitle.afterClearStyles([OPACITY]);\n leavingToolBarButtons.afterClearStyles([OPACITY]);\n }\n });\n }\n return rootAnimation;\n }\n catch (err) {\n throw err;\n }\n};\n\nexport { iosTransitionAnimation, shadow };\n"],"names":["DURATION","getClonedElement","tagName","document","querySelector","shadow","el","shadowRoot","getLargeTitle","refEl","tabs","query","activeTab","getBackButton","backDirection","buttonsList","querySelectorAll","buttons","parentHeader","closest","activeHeader","classList","contains","backButton","buttonsCollapse","startSlot","slot","createLargeTitleTransition","rootAnimation","rtl","enteringEl","leavingEl","enteringBackButton","leavingLargeTitle","enteringLargeTitle","leavingBackButton","shouldAnimationForward","shouldAnimationBackward","leavingLargeTitleBox","getBoundingClientRect","enteringBackButtonBox","animateLargeTitle","animateBackButton","enteringLargeTitleBox","leavingBackButtonBox","forward","backward","backButtonEl","largeTitleBox","backButtonBox","BACK_BUTTON_START_OFFSET","right","left","START_TEXT_TRANSLATE","END_TEXT_TRANSLATE","ICON_TRANSLATE","TEXT_ORIGIN_X","ICON_ORIGIN_X","FORWARD_TEXT_KEYFRAMES","offset","opacity","transform","top","BACKWARD_TEXT_KEYFRAMES","TEXT_KEYFRAMES","FORWARD_ICON_KEYFRAMES","BACKWARD_ICON_KEYFRAMES","ICON_KEYFRAMES","enteringBackButtonTextAnimation","c","enteringBackButtonIconAnimation","clonedBackButtonEl","backButtonTextEl","backButtonIconEl","text","mode","icon","color","disabled","style","setProperty","addElement","beforeStyles","beforeAddWrite","afterAddWrite","removeProperty","keyframes","addAnimation","largeTitleEl","TITLE_START_OFFSET","START_TRANSLATE","ORIGIN_X","BACKWARDS_KEYFRAMES","FORWARDS_KEYFRAMES","KEYFRAMES","clonedTitleEl","clonedLargeTitleAnimation","innerText","size","height","display","position","iosTransitionAnimation","navEl","opts","EASING","OPACITY","TRANSFORM","CENTER","OFF_OPACITY","isRTL","ownerDocument","dir","OFF_RIGHT","OFF_LEFT","direction","contentEl","headerEls","enteringToolBarEls","enteringContentAnimation","duration","easing","fill","beforeRemoveClass","navDecorAnimation","length","beforeClearStyles","fromTo","enteringTransitionEffectEl","enteringTransitionCoverEl","enteringTransitionShadowEl","enteringTransitionEffect","enteringTransitionCover","enteringTransitionShadow","afterStyles","enteringContentHasLargeTitle","forEach","enteringToolBarEl","enteringToolBar","enteringTitle","enteringToolBarButtons","Array","from","inactiveHeader","buttonsToAnimate","filter","button","isCollapseButton","enteringToolBarItems","enteringToolBarBg","translucentHeader","translucent","enteringBackBtnText","leavingContent","leavingContentEl","leavingToolBarEls","leavingHeaderEls","leavingPage","g","getDirection","leavingTransitionEffectEl","leavingTransitionCoverEl","leavingTransitionShadowEl","leavingTransitionEffect","leavingTransitionCover","leavingTransitionShadow","leavingToolBarEl","leavingToolBar","leavingTitle","leavingToolBarButtons","leavingToolBarItems","leavingToolBarItemEls","leavingToolBarBg","leavingBackBtnText","afterClearStyles","err"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/544.94817512.js b/ios/App/App/public/js/544.94817512.js new file mode 100644 index 0000000..101c1ec --- /dev/null +++ b/ios/App/App/public/js/544.94817512.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[544],{8544:function(e,t,o){o.r(t),o.d(t,{startFocusVisible:function(){return c}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const n="ion-focused",s="ion-focusable",r=["Tab","ArrowDown","Space","Escape"," ","Shift","Enter","ArrowLeft","ArrowRight","ArrowUp","Home","End"],c=e=>{let t=[],o=!0;const c=e?e.shadowRoot:document,i=e||document.body,a=e=>{t.forEach((e=>e.classList.remove(n))),e.forEach((e=>e.classList.add(n))),t=e},d=()=>{o=!1,a([])},u=e=>{o=r.includes(e.key),o||a([])},v=e=>{if(o&&e.composedPath){const t=e.composedPath().filter((e=>!!e.classList&&e.classList.contains(s)));a(t)}},f=()=>{c.activeElement===i&&a([])};c.addEventListener("keydown",u),c.addEventListener("focusin",v),c.addEventListener("focusout",f),c.addEventListener("touchstart",d),c.addEventListener("mousedown",d);const m=()=>{c.removeEventListener("keydown",u),c.removeEventListener("focusin",v),c.removeEventListener("focusout",f),c.removeEventListener("touchstart",d),c.removeEventListener("mousedown",d)};return{destroy:m,setFocus:a}}}}]); +//# sourceMappingURL=544.94817512.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/544.94817512.js.map b/ios/App/App/public/js/544.94817512.js.map new file mode 100644 index 0000000..0fb2bd4 --- /dev/null +++ b/ios/App/App/public/js/544.94817512.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/544.94817512.js","mappings":";;;;AAGA,MAAMA,EAAc,cACdC,EAAgB,gBAChBC,EAAa,CACjB,MACA,YACA,QACA,SACA,IACA,QACA,QACA,YACA,aACA,UACA,OACA,OAEIC,EAAqBC,IACzB,IAAIC,EAAe,GACfC,GAAe,EACnB,MAAMC,EAAMH,EAASA,EAAOI,WAAaC,SACnCC,EAAON,GAAkBK,SAASE,KAClCC,EAAYC,IAChBR,EAAaS,SAASC,GAAOA,EAAGC,UAAUC,OAAOjB,KACjDa,EAASC,SAASC,GAAOA,EAAGC,UAAUE,IAAIlB,KAC1CK,EAAeQ,GAEXM,EAAc,KAClBb,GAAe,EACfM,EAAS,KAELQ,EAAaC,IACjBf,EAAeJ,EAAWoB,SAASD,EAAGE,KACjCjB,GACHM,EAAS,KAGPY,EAAaH,IACjB,GAAIf,GAAgBe,EAAGI,aAAc,CACnC,MAAMC,EAAUL,EAAGI,eAAeE,QAAQZ,KACpCA,EAAGC,WACED,EAAGC,UAAUY,SAAS3B,KAIjCW,EAASc,KAGPG,EAAa,KACbtB,EAAIuB,gBAAkBpB,GACxBE,EAAS,KAGbL,EAAIwB,iBAAiB,UAAWX,GAChCb,EAAIwB,iBAAiB,UAAWP,GAChCjB,EAAIwB,iBAAiB,WAAYF,GACjCtB,EAAIwB,iBAAiB,aAAcZ,GACnCZ,EAAIwB,iBAAiB,YAAaZ,GAClC,MAAMa,EAAU,KACdzB,EAAI0B,oBAAoB,UAAWb,GACnCb,EAAI0B,oBAAoB,UAAWT,GACnCjB,EAAI0B,oBAAoB,WAAYJ,GACpCtB,EAAI0B,oBAAoB,aAAcd,GACtCZ,EAAI0B,oBAAoB,YAAad,IAEvC,MAAO,CACLa,QAAAA,EACApB,SAAAA","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/focus-visible.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst ION_FOCUSED = 'ion-focused';\nconst ION_FOCUSABLE = 'ion-focusable';\nconst FOCUS_KEYS = [\n 'Tab',\n 'ArrowDown',\n 'Space',\n 'Escape',\n ' ',\n 'Shift',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Home',\n 'End',\n];\nconst startFocusVisible = (rootEl) => {\n let currentFocus = [];\n let keyboardMode = true;\n const ref = rootEl ? rootEl.shadowRoot : document;\n const root = rootEl ? rootEl : document.body;\n const setFocus = (elements) => {\n currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));\n elements.forEach((el) => el.classList.add(ION_FOCUSED));\n currentFocus = elements;\n };\n const pointerDown = () => {\n keyboardMode = false;\n setFocus([]);\n };\n const onKeydown = (ev) => {\n keyboardMode = FOCUS_KEYS.includes(ev.key);\n if (!keyboardMode) {\n setFocus([]);\n }\n };\n const onFocusin = (ev) => {\n if (keyboardMode && ev.composedPath) {\n const toFocus = ev.composedPath().filter((el) => {\n if (el.classList) {\n return el.classList.contains(ION_FOCUSABLE);\n }\n return false;\n });\n setFocus(toFocus);\n }\n };\n const onFocusout = () => {\n if (ref.activeElement === root) {\n setFocus([]);\n }\n };\n ref.addEventListener('keydown', onKeydown);\n ref.addEventListener('focusin', onFocusin);\n ref.addEventListener('focusout', onFocusout);\n ref.addEventListener('touchstart', pointerDown);\n ref.addEventListener('mousedown', pointerDown);\n const destroy = () => {\n ref.removeEventListener('keydown', onKeydown);\n ref.removeEventListener('focusin', onFocusin);\n ref.removeEventListener('focusout', onFocusout);\n ref.removeEventListener('touchstart', pointerDown);\n ref.removeEventListener('mousedown', pointerDown);\n };\n return {\n destroy,\n setFocus,\n };\n};\n\nexport { startFocusVisible };\n"],"names":["ION_FOCUSED","ION_FOCUSABLE","FOCUS_KEYS","startFocusVisible","rootEl","currentFocus","keyboardMode","ref","shadowRoot","document","root","body","setFocus","elements","forEach","el","classList","remove","add","pointerDown","onKeydown","ev","includes","key","onFocusin","composedPath","toFocus","filter","contains","onFocusout","activeElement","addEventListener","destroy","removeEventListener"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/576.a82798ee.js b/ios/App/App/public/js/576.a82798ee.js new file mode 100644 index 0000000..d4cec6e --- /dev/null +++ b/ios/App/App/public/js/576.a82798ee.js @@ -0,0 +1,14 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[576],{576:function(e,t,s){s.r(t),s.d(t,{scopeCss:function(){return P}}); +/** + * @license + * Copyright Google Inc. 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.io/license + * + * This file is a port of shadowCSS from webcomponents.js to TypeScript. + * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js + * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts + */ +const r=e=>{const t=[];let s=0;e=e.replace(/(\[[^\]]*\])/g,((e,r)=>{const c=`__ph-${s}__`;return t.push(r),s++,c}));const r=e.replace(/(:nth-[-\w]+)(\([^)]+\))/g,((e,r,c)=>{const n=`__ph-${s}__`;return t.push(c),s++,r+n})),c={content:r,placeholders:t};return c},c=(e,t)=>t.replace(/__ph-(\d+)__/g,((t,s)=>e[+s])),n="-shadowcsshost",o="-shadowcssslotted",l="-shadowcsscontext",i=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",a=new RegExp("("+n+i,"gim"),p=new RegExp("("+l+i,"gim"),h=new RegExp("("+o+i,"gim"),u=n+"-no-combinator",g=/-shadowcsshost-no-combinator([^\s]*)/,d=[/::shadow/g,/::content/g],m="([>\\s~+[.,{:][\\s\\S]*)?$",f=/-shadowcsshost/gim,$=/:host/gim,x=/::slotted/gim,_=/:host-context/gim,w=/\/\*\s*[\s\S]*?\*\//g,b=e=>e.replace(w,""),S=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g,W=e=>e.match(S)||[],k=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,O=/([{}])/g,j=/(^.*?[^\\])??((:+)(.*)|$)/,E="{",R="}",C="%BLOCK%",T=(e,t)=>{const s=L(e);let r=0;return s.escapedString.replace(k,((...e)=>{const c=e[2];let n="",o=e[4],l="";o&&o.startsWith("{"+C)&&(n=s.blocks[r++],o=o.substring(C.length+1),l="{");const i={selector:c,content:n},a=t(i);return`${e[1]}${a.selector}${e[3]}${l}${a.content}${o}`}))},L=e=>{const t=e.split(O),s=[],r=[];let c=0,n=[];for(let l=0;l0?n.push(e):(n.length>0&&(r.push(n.join("")),s.push(C),n=[]),s.push(e)),e===E&&c++}n.length>0&&(r.push(n.join("")),s.push(C));const o={escapedString:s.join(""),blocks:r};return o},B=e=>(e=e.replace(_,l).replace($,n).replace(x,o),e),I=(e,t,s)=>e.replace(t,((...e)=>{if(e[2]){const t=e[2].split(","),r=[];for(let c=0;ce+t.replace(n,"")+s,M=e=>I(e,a,K),U=(e,t,s)=>t.indexOf(n)>-1?K(e,t,s):e+t+s+", "+t+" "+e+s,q=(e,t)=>{const s="."+t+" > ",r=[];return e=e.replace(h,((...e)=>{if(e[2]){const t=e[2].trim(),c=e[3],n=s+t+c;let o="";for(let s=e[4]-1;s>=0;s--){const t=e[5][s];if("}"===t||","===t)break;o=t+o}const l=o+n,i=`${o.trimRight()}${n.trim()}`;if(l.trim()!==i.trim()){const e=`${i}, ${l}`;r.push({orgSelector:l,updatedSelector:e})}return n}return u+e[3]})),{selectors:r,cssText:e}},v=e=>I(e,p,U),y=e=>d.reduce(((e,t)=>e.replace(t," ")),e),z=e=>{const t=/\[/g,s=/\]/g;return e=e.replace(t,"\\[").replace(s,"\\]"),new RegExp("^("+e+")"+m,"m")},A=(e,t)=>{const s=z(t);return!s.test(e)},D=(e,t)=>e.replace(j,((e,s="",r,c="",n="")=>s+t+c+n)),F=(e,t,s)=>{if(f.lastIndex=0,f.test(e)){const t=`.${s}`;return e.replace(g,((e,s)=>D(s,t))).replace(f,t+" ")}return t+" "+e},G=(e,t,s)=>{const n=/\[is=([^\]]*)\]/g;t=t.replace(n,((e,...t)=>t[0]));const o="."+t,l=e=>{let r=e.trim();if(!r)return"";if(e.indexOf(u)>-1)r=F(e,t,s);else{const t=e.replace(f,"");t.length>0&&(r=D(t,o))}return r},i=r(e);e=i.content;let a,p="",h=0;const g=/( |>|\+|~(?!=))\s*/g,d=e.indexOf(u)>-1;let m=!d;while(null!==(a=g.exec(e))){const t=a[1],s=e.slice(h,a.index).trim();m=m||s.indexOf(u)>-1;const r=m?l(s):s;p+=`${r} ${t} `,h=g.lastIndex}const $=e.substring(h);return m=m||$.indexOf(u)>-1,p+=m?l($):$,c(i.placeholders,p)},H=(e,t,s,r)=>e.split(",").map((e=>r&&e.indexOf("."+r)>-1?e.trim():A(e,t)?G(e,t,s).trim():e.trim())).join(", "),J=(e,t,s,r,c)=>T(e,(e=>{let c=e.selector,n=e.content;"@"!==e.selector[0]?c=H(e.selector,t,s,r):(e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document"))&&(n=J(e.content,t,s,r));const o={selector:c.replace(/\s{2,}/g," ").trim(),content:n};return o})),N=(e,t,s,r,c)=>{e=B(e),e=M(e),e=v(e);const n=q(e,r);return e=n.cssText,e=y(e),t&&(e=J(e,t,s,r)),e=e.replace(/-shadowcsshost-no-combinator/g,`.${s}`),e=e.replace(/>\s*\*\s+([^{, ]+)/gm," $1 "),{cssText:e.trim(),slottedSelectors:n.selectors}},P=(e,t,s)=>{const r=t+"-h",c=t+"-s",n=W(e);e=b(e);const o=[];if(s){const t=e=>{const t=`/*!@___${o.length}___*/`,s=`/*!@${e.selector}*/`;return o.push({placeholder:t,comment:s}),e.selector=t+e.selector,e};e=T(e,(e=>"@"!==e.selector[0]?t(e):e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document")?(e.content=T(e.content,t),e):e))}const l=N(e,t,r,c);return e=[l.cssText,...n].join("\n"),s&&o.forEach((({placeholder:t,comment:s})=>{e=e.replace(t,s)})),l.slottedSelectors.forEach((t=>{e=e.replace(t.orgSelector,t.updatedSelector)})),e}}}]); +//# sourceMappingURL=576.a82798ee.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/576.a82798ee.js.map b/ios/App/App/public/js/576.a82798ee.js.map new file mode 100644 index 0000000..8cfee7f --- /dev/null +++ b/ios/App/App/public/js/576.a82798ee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/576.a82798ee.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/@stencil/core/internal/client/shadow-css.js"],"sourcesContent":["/*\n Stencil Client Platform v2.17.0 | MIT Licensed | https://stenciljs.com\n */\n/**\n * @license\n * Copyright Google Inc. 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.io/license\n *\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts\n */\nconst safeSelector = (selector) => {\n const placeholders = [];\n let index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(keep);\n index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n const content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(exp);\n index++;\n return pseudo + replaceBy;\n });\n const ss = {\n content,\n placeholders,\n };\n return ss;\n};\nconst restoreSafeSelector = (placeholders, content) => {\n return content.replace(/__ph-(\\d+)__/g, (_, index) => placeholders[+index]);\n};\nconst _polyfillHost = '-shadowcsshost';\nconst _polyfillSlotted = '-shadowcssslotted';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' + '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' + ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];\nconst _selectorReSuffix = '([>\\\\s~+[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonSlottedRe = /::slotted/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nconst stripComments = (input) => {\n return input.replace(_commentRe, '');\n};\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nconst extractCommentsWithHash = (input) => {\n return input.match(_commentWithHashRe) || [];\n};\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _curlyRe = /([{}])/g;\nconst _selectorPartsRe = /(^.*?[^\\\\])??((:+)(.*)|$)/;\nconst OPEN_CURLY = '{';\nconst CLOSE_CURLY = '}';\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst processRules = (input, ruleCallback) => {\n const inputWithEscapedBlocks = escapeBlocks(input);\n let nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const cssRule = {\n selector,\n content,\n };\n const rule = ruleCallback(cssRule);\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n });\n};\nconst escapeBlocks = (input) => {\n const inputParts = input.split(_curlyRe);\n const resultParts = [];\n const escapedBlocks = [];\n let bracketCount = 0;\n let currentBlockParts = [];\n for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {\n const part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount > 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n const strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks,\n };\n return strEscapedBlocks;\n};\nconst insertPolyfillHostInCssText = (selector) => {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nconst convertColonRule = (cssText, regExp, partReplacer) => {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, (...m) => {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nconst colonHostPartReplacer = (host, part, suffix) => {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nconst convertColonHost = (cssText) => {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nconst colonHostContextPartReplacer = (host, part, suffix) => {\n if (part.indexOf(_polyfillHost) > -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nconst convertColonSlotted = (cssText, slotScopeId) => {\n const slotClass = '.' + slotScopeId + ' > ';\n const selectors = [];\n cssText = cssText.replace(_cssColonSlottedRe, (...m) => {\n if (m[2]) {\n const compound = m[2].trim();\n const suffix = m[3];\n const slottedSelector = slotClass + compound + suffix;\n let prefixSelector = '';\n for (let i = m[4] - 1; i >= 0; i--) {\n const char = m[5][i];\n if (char === '}' || char === ',') {\n break;\n }\n prefixSelector = char + prefixSelector;\n }\n const orgSelector = prefixSelector + slottedSelector;\n const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;\n if (orgSelector.trim() !== addedSelector.trim()) {\n const updatedSelector = `${addedSelector}, ${orgSelector}`;\n selectors.push({\n orgSelector,\n updatedSelector,\n });\n }\n return slottedSelector;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n return {\n selectors,\n cssText,\n };\n};\nconst convertColonHostContext = (cssText) => {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nconst convertShadowDOMSelectors = (cssText) => {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n};\nconst makeScopeMatcher = (scopeSelector) => {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nconst selectorNeedsScoping = (selector, scopeSelector) => {\n const re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nconst injectScopingSelector = (selector, scopingSelector) => {\n return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {\n return before + scopingSelector + colon + after;\n });\n};\nconst applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = `.${hostSelector}`;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nconst applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const className = '.' + scopeSelector;\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n scopedP = injectScopingSelector(t, className);\n }\n }\n return scopedP;\n };\n const safeContent = safeSelector(selector);\n selector = safeContent.content;\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nconst scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {\n return selector\n .split(',')\n .map((shallowPart) => {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nconst scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n const cssRule = {\n selector: selector.replace(/\\s{2,}/g, ' ').trim(),\n content,\n };\n return cssRule;\n });\n};\nconst scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n const slotted = convertColonSlotted(cssText, slotScopeId);\n cssText = slotted.cssText;\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);\n cssText = cssText.replace(/>\\s*\\*\\s+([^{, ]+)/gm, ' $1 ');\n return {\n cssText: cssText.trim(),\n slottedSelectors: slotted.selectors,\n };\n};\nconst scopeCss = (cssText, scopeId, commentOriginalSelector) => {\n const hostScopeId = scopeId + '-h';\n const slotScopeId = scopeId + '-s';\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n const orgSelectors = [];\n if (commentOriginalSelector) {\n const processCommentedSelector = (rule) => {\n const placeholder = `/*!@___${orgSelectors.length}___*/`;\n const comment = `/*!@${rule.selector}*/`;\n orgSelectors.push({ placeholder, comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, (rule) => {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector(rule);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector);\n return rule;\n }\n return rule;\n });\n }\n const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = [scoped.cssText, ...commentsWithHash].join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(({ placeholder, comment }) => {\n cssText = cssText.replace(placeholder, comment);\n });\n }\n scoped.slottedSelectors.forEach((slottedSelector) => {\n cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);\n });\n return cssText;\n};\n\nexport { scopeCss };\n"],"names":["safeSelector","selector","placeholders","index","replace","_","keep","replaceBy","push","content","pseudo","exp","ss","restoreSafeSelector","_polyfillHost","_polyfillSlotted","_polyfillHostContext","_parenSuffix","_cssColonHostRe","RegExp","_cssColonHostContextRe","_cssColonSlottedRe","_polyfillHostNoCombinator","_polyfillHostNoCombinatorRe","_shadowDOMSelectorsRe","_selectorReSuffix","_polyfillHostRe","_colonHostRe","_colonSlottedRe","_colonHostContextRe","_commentRe","stripComments","input","_commentWithHashRe","extractCommentsWithHash","match","_ruleRe","_curlyRe","_selectorPartsRe","OPEN_CURLY","CLOSE_CURLY","BLOCK_PLACEHOLDER","processRules","ruleCallback","inputWithEscapedBlocks","escapeBlocks","nextBlockIndex","escapedString","m","suffix","contentPrefix","startsWith","blocks","substring","length","cssRule","rule","inputParts","split","resultParts","escapedBlocks","bracketCount","currentBlockParts","partIndex","part","join","strEscapedBlocks","insertPolyfillHostInCssText","convertColonRule","cssText","regExp","partReplacer","parts","r","i","p","trim","colonHostPartReplacer","host","convertColonHost","colonHostContextPartReplacer","indexOf","convertColonSlotted","slotScopeId","slotClass","selectors","compound","slottedSelector","prefixSelector","char","orgSelector","addedSelector","trimRight","updatedSelector","convertColonHostContext","convertShadowDOMSelectors","reduce","result","pattern","makeScopeMatcher","scopeSelector","lre","rre","selectorNeedsScoping","re","test","injectScopingSelector","scopingSelector","before","_colonGroup","colon","after","applySimpleSelectorScope","hostSelector","lastIndex","applyStrictSelectorScope","isRe","className","_scopeSelectorPart","scopedP","t","safeContent","res","scopedSelector","startIndex","sep","hasHost","shouldScope","exec","separator","slice","scopedPart","scopeSelectorText","slotSelector","map","shallowPart","scopeSelectors","commentOriginalSelector","scopeCssText","scopeId","hostScopeId","slotted","slottedSelectors","scopeCss","commentsWithHash","orgSelectors","processCommentedSelector","placeholder","comment","scoped","forEach"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/753.17d4d392.js b/ios/App/App/public/js/753.17d4d392.js new file mode 100644 index 0000000..c471bae --- /dev/null +++ b/ios/App/App/public/js/753.17d4d392.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[753],{4753:function(n,e,t){t.r(e),t.d(e,{mdTransitionAnimation:function(){return o}});var i=t(5980),a=t(5026); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o=(n,e)=>{const t="40px",o="0px",r="back"===e.direction,s=e.enteringEl,c=e.leavingEl,l=(0,a.g)(s),d=l.querySelector("ion-toolbar"),m=(0,i.c)();if(m.addElement(l).fill("both").beforeRemoveClass("ion-page-invisible"),r?m.duration(e.duration||200).easing("cubic-bezier(0.47,0,0.745,0.715)"):m.duration(e.duration||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform",`translateY(${t})`,`translateY(${o})`).fromTo("opacity",.01,1),d){const n=(0,i.c)();n.addElement(d),m.addAnimation(n)}if(c&&r){m.duration(e.duration||200).easing("cubic-bezier(0.47,0,0.745,0.715)");const n=(0,i.c)();n.addElement((0,a.g)(c)).onFinish((e=>{1===e&&n.elements.length>0&&n.elements[0].style.setProperty("display","none")})).fromTo("transform",`translateY(${o})`,`translateY(${t})`).fromTo("opacity",1,0),m.addAnimation(n)}return m}}}]); +//# sourceMappingURL=753.17d4d392.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/753.17d4d392.js.map b/ios/App/App/public/js/753.17d4d392.js.map new file mode 100644 index 0000000..500c65b --- /dev/null +++ b/ios/App/App/public/js/753.17d4d392.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/753.17d4d392.js","mappings":";;;;AAMA,MAAMA,EAAwB,CAACC,EAAGC,KAChC,MAAMC,EAAa,OACbC,EAAS,MACTC,EAAmC,SAAnBH,EAAKI,UACrBC,EAAaL,EAAKK,WAClBC,EAAYN,EAAKM,UACjBC,GAAiB,IAAAC,GAAkBH,GACnCI,EAAqBF,EAAeG,cAAc,eAClDC,GAAiB,IAAAC,KAcvB,GAbAD,EAAeE,WAAWN,GAAgBO,KAAK,QAAQC,kBAAkB,sBAErEZ,EACFQ,EAAeK,SAAShB,EAAKgB,UAAY,KAAKC,OAAO,oCAGrDN,EACGK,SAAShB,EAAKgB,UAAY,KAC1BC,OAAO,kCACPC,OAAO,YAAa,cAAcjB,KAAe,cAAcC,MAC/DgB,OAAO,UAAW,IAAM,GAGzBT,EAAoB,CACtB,MAAMU,GAAkB,IAAAP,KACxBO,EAAgBN,WAAWJ,GAC3BE,EAAeS,aAAaD,GAG9B,GAAIb,GAAaH,EAAe,CAE9BQ,EAAeK,SAAShB,EAAKgB,UAAY,KAAKC,OAAO,oCACrD,MAAMI,GAAc,IAAAT,KACpBS,EACGR,YAAW,IAAAL,GAAkBF,IAC7BgB,UAAUC,IACS,IAAhBA,GAAqBF,EAAYG,SAASC,OAAS,GACrDJ,EAAYG,SAAS,GAAGE,MAAMC,YAAY,UAAW,WAGtDT,OAAO,YAAa,cAAchB,KAAW,cAAcD,MAC3DiB,OAAO,UAAW,EAAG,GACxBP,EAAeS,aAAaC,GAE9B,OAAOV","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/md.transition.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as createAnimation } from './animation.js';\nimport { g as getIonPageElement } from './index4.js';\n\nconst mdTransitionAnimation = (_, opts) => {\n const OFF_BOTTOM = '40px';\n const CENTER = '0px';\n const backDirection = opts.direction === 'back';\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n const ionPageElement = getIonPageElement(enteringEl);\n const enteringToolbarEle = ionPageElement.querySelector('ion-toolbar');\n const rootTransition = createAnimation();\n rootTransition.addElement(ionPageElement).fill('both').beforeRemoveClass('ion-page-invisible');\n // animate the component itself\n if (backDirection) {\n rootTransition.duration(opts.duration || 200).easing('cubic-bezier(0.47,0,0.745,0.715)');\n }\n else {\n rootTransition\n .duration(opts.duration || 280)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .fromTo('transform', `translateY(${OFF_BOTTOM})`, `translateY(${CENTER})`)\n .fromTo('opacity', 0.01, 1);\n }\n // Animate toolbar if it's there\n if (enteringToolbarEle) {\n const enteringToolBar = createAnimation();\n enteringToolBar.addElement(enteringToolbarEle);\n rootTransition.addAnimation(enteringToolBar);\n }\n // setup leaving view\n if (leavingEl && backDirection) {\n // leaving content\n rootTransition.duration(opts.duration || 200).easing('cubic-bezier(0.47,0,0.745,0.715)');\n const leavingPage = createAnimation();\n leavingPage\n .addElement(getIonPageElement(leavingEl))\n .onFinish((currentStep) => {\n if (currentStep === 1 && leavingPage.elements.length > 0) {\n leavingPage.elements[0].style.setProperty('display', 'none');\n }\n })\n .fromTo('transform', `translateY(${CENTER})`, `translateY(${OFF_BOTTOM})`)\n .fromTo('opacity', 1, 0);\n rootTransition.addAnimation(leavingPage);\n }\n return rootTransition;\n};\n\nexport { mdTransitionAnimation };\n"],"names":["mdTransitionAnimation","_","opts","OFF_BOTTOM","CENTER","backDirection","direction","enteringEl","leavingEl","ionPageElement","g","enteringToolbarEle","querySelector","rootTransition","c","addElement","fill","beforeRemoveClass","duration","easing","fromTo","enteringToolBar","addAnimation","leavingPage","onFinish","currentStep","elements","length","style","setProperty"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/775.c55644c6.js b/ios/App/App/public/js/775.c55644c6.js new file mode 100644 index 0000000..bb715f1 --- /dev/null +++ b/ios/App/App/public/js/775.c55644c6.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[775],{8775:function(e,t,n){n.r(t),n.d(t,{startInputShims:function(){return D}});var o=n(8487),r=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const i=new WeakMap,a=(e,t,n,o=0)=>{i.has(e)!==n&&(n?l(e,t,o):d(e,t))},s=e=>e===e.getRootNode().activeElement,l=(e,t,n)=>{const o=t.parentNode,r=t.cloneNode(!1);r.classList.add("cloned-input"),r.tabIndex=-1,o.appendChild(r),i.set(e,r);const a=e.ownerDocument,s="rtl"===a.dir?9999:-9999;e.style.pointerEvents="none",t.style.transform=`translate3d(${s}px,${n}px,0) scale(0)`},d=(e,t)=>{const n=i.get(e);n&&(i.delete(e),n.remove()),e.style.pointerEvents="",t.style.transform=""},c=(e,t,n)=>{if(!n||!t)return()=>{};const o=n=>{s(t)&&a(e,t,n)},i=()=>a(e,t,!1),l=()=>o(!0),d=()=>o(!1);return(0,r.a)(n,"ionScrollStart",l),(0,r.a)(n,"ionScrollEnd",d),t.addEventListener("blur",i),()=>{(0,r.b)(n,"ionScrollStart",l),(0,r.b)(n,"ionScrollEnd",d),t.addEventListener("ionBlur",i)}},u="input, textarea, [no-blur], [contenteditable]",m=()=>{let e=!0,t=!1;const n=document,o=()=>{t=!0},i=()=>{e=!0},a=o=>{if(t)return void(t=!1);const r=n.activeElement;if(!r)return;if(r.matches(u))return;const i=o.target;i!==r&&(i.matches(u)||i.closest(u)||(e=!1,setTimeout((()=>{e||r.blur()}),50)))};return(0,r.a)(n,"ionScrollStart",o),n.addEventListener("focusin",i,!0),n.addEventListener("touchend",a,!1),()=>{(0,r.b)(n,"ionScrollStart",o,!0),n.removeEventListener("focusin",i,!0),n.removeEventListener("touchend",a,!1)}},f=.3,v=(e,t,n)=>{const o=e.closest("ion-item,[ion-item]")||e;return p(o.getBoundingClientRect(),t.getBoundingClientRect(),n,e.ownerDocument.defaultView.innerHeight)},p=(e,t,n,o)=>{const r=e.top,i=e.bottom,a=t.top,s=Math.min(t.bottom,o-n),l=a+15,d=.75*s,c=d-i,u=l-r,m=Math.round(c<0?-c:u>0?-u:0),v=Math.min(m,r-a),p=Math.abs(v),h=p/f,w=Math.min(400,Math.max(150,h));return{scrollAmount:v,scrollDuration:w,scrollPadding:n,inputSafeY:4-(r-l)}},h=(e,t,n,o,i)=>{let a;const l=e=>{a=(0,r.q)(e)},d=l=>{if(!a)return;const d=(0,r.q)(l);E(6,a,d)||s(t)||w(e,t,n,o,i)};return e.addEventListener("touchstart",l,!0),e.addEventListener("touchend",d,!0),()=>{e.removeEventListener("touchstart",l,!0),e.removeEventListener("touchend",d,!0)}},w=async(e,t,n,i,s)=>{if(!n&&!i)return;const l=v(e,n||i,s);if(n&&Math.abs(l.scrollAmount)<4)t.focus();else if(a(e,t,!0,l.inputSafeY),t.focus(),(0,r.r)((()=>e.click())),"undefined"!==typeof window){let r;const i=async()=>{void 0!==r&&clearTimeout(r),window.removeEventListener("ionKeyboardDidShow",s),window.removeEventListener("ionKeyboardDidShow",i),n&&await(0,o.c)(n,0,l.scrollAmount,l.scrollDuration),a(e,t,!1,l.inputSafeY),t.focus()},s=()=>{window.removeEventListener("ionKeyboardDidShow",s),window.addEventListener("ionKeyboardDidShow",i)};if(n){const e=await(0,o.g)(n),a=e.scrollHeight-e.clientHeight;if(l.scrollAmount>a-e.scrollTop)return"password"===t.type?(l.scrollAmount+=50,window.addEventListener("ionKeyboardDidShow",s)):window.addEventListener("ionKeyboardDidShow",i),void(r=setTimeout(i,1e3))}i()}},E=(e,t,n)=>{if(t&&n){const o=t.x-n.x,r=t.y-n.y,i=o*o+r*r;return i>e*e}return!1},g="$ionPaddingTimer",y=e=>{const t=document,n=t=>{b(t.target,e)},o=e=>{b(e.target,0)};return t.addEventListener("focusin",n),t.addEventListener("focusout",o),()=>{t.removeEventListener("focusin",n),t.removeEventListener("focusout",o)}},b=(e,t)=>{var n,r;if("INPUT"!==e.tagName)return;if(e.parentElement&&"ION-INPUT"===e.parentElement.tagName)return;if("ION-SEARCHBAR"===(null===(r=null===(n=e.parentElement)||void 0===n?void 0:n.parentElement)||void 0===r?void 0:r.tagName))return;const i=(0,o.a)(e);if(null===i)return;const a=i[g];a&&clearTimeout(a),t>0?i.style.setProperty("--keyboard-offset",`${t}px`):i[g]=setTimeout((()=>{i.style.setProperty("--keyboard-offset","0px")}),120)},S=!0,L=!0,D=e=>{const t=document,n=e.getNumber("keyboardHeight",290),i=e.getBoolean("scrollAssist",!0),a=e.getBoolean("hideCaretOnScroll",!0),s=e.getBoolean("inputBlurring",!0),l=e.getBoolean("scrollPadding",!0),d=Array.from(t.querySelectorAll("ion-input, ion-textarea")),u=new WeakMap,f=new WeakMap,v=async e=>{await new Promise((t=>(0,r.c)(e,t)));const t=e.shadowRoot||e,s=t.querySelector("input")||t.querySelector("textarea"),l=(0,o.a)(e),d=l?null:e.closest("ion-footer");if(s){if(l&&a&&!u.has(e)){const t=c(e,s,l);u.set(e,t)}if((l||d)&&i&&!f.has(e)){const t=h(e,s,l,d,n);f.set(e,t)}}},p=e=>{if(a){const t=u.get(e);t&&t(),u.delete(e)}if(i){const t=f.get(e);t&&t(),f.delete(e)}};s&&S&&m(),l&&L&&y(n);for(const o of d)v(o);t.addEventListener("ionInputDidLoad",(e=>{v(e.detail)})),t.addEventListener("ionInputDidUnload",(e=>{p(e.detail)}))}}}]); +//# sourceMappingURL=775.c55644c6.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/775.c55644c6.js.map b/ios/App/App/public/js/775.c55644c6.js.map new file mode 100644 index 0000000..b134ccb --- /dev/null +++ b/ios/App/App/public/js/775.c55644c6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/775.c55644c6.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/input-shims.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index8.js';\nimport { a as addEventListener, b as removeEventListener, r as raf, q as pointerCoord, c as componentOnReady } from './helpers.js';\n\nconst cloneMap = new WeakMap();\nconst relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0) => {\n if (cloneMap.has(componentEl) === shouldRelocate) {\n return;\n }\n if (shouldRelocate) {\n addClone(componentEl, inputEl, inputRelativeY);\n }\n else {\n removeClone(componentEl, inputEl);\n }\n};\nconst isFocused = (input) => {\n return input === input.getRootNode().activeElement;\n};\nconst addClone = (componentEl, inputEl, inputRelativeY) => {\n // this allows for the actual input to receive the focus from\n // the user's touch event, but before it receives focus, it\n // moves the actual input to a location that will not screw\n // up the app's layout, and does not allow the native browser\n // to attempt to scroll the input into place (messing up headers/footers)\n // the cloned input fills the area of where native input should be\n // while the native input fakes out the browser by relocating itself\n // before it receives the actual focus event\n // We hide the focused input (with the visible caret) invisible by making it scale(0),\n const parentEl = inputEl.parentNode;\n // DOM WRITES\n const clonedEl = inputEl.cloneNode(false);\n clonedEl.classList.add('cloned-input');\n clonedEl.tabIndex = -1;\n parentEl.appendChild(clonedEl);\n cloneMap.set(componentEl, clonedEl);\n const doc = componentEl.ownerDocument;\n const tx = doc.dir === 'rtl' ? 9999 : -9999;\n componentEl.style.pointerEvents = 'none';\n inputEl.style.transform = `translate3d(${tx}px,${inputRelativeY}px,0) scale(0)`;\n};\nconst removeClone = (componentEl, inputEl) => {\n const clone = cloneMap.get(componentEl);\n if (clone) {\n cloneMap.delete(componentEl);\n clone.remove();\n }\n componentEl.style.pointerEvents = '';\n inputEl.style.transform = '';\n};\n\nconst enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {\n if (!scrollEl || !inputEl) {\n return () => {\n return;\n };\n }\n const scrollHideCaret = (shouldHideCaret) => {\n if (isFocused(inputEl)) {\n relocateInput(componentEl, inputEl, shouldHideCaret);\n }\n };\n const onBlur = () => relocateInput(componentEl, inputEl, false);\n const hideCaret = () => scrollHideCaret(true);\n const showCaret = () => scrollHideCaret(false);\n addEventListener(scrollEl, 'ionScrollStart', hideCaret);\n addEventListener(scrollEl, 'ionScrollEnd', showCaret);\n inputEl.addEventListener('blur', onBlur);\n return () => {\n removeEventListener(scrollEl, 'ionScrollStart', hideCaret);\n removeEventListener(scrollEl, 'ionScrollEnd', showCaret);\n inputEl.addEventListener('ionBlur', onBlur);\n };\n};\n\nconst SKIP_SELECTOR = 'input, textarea, [no-blur], [contenteditable]';\nconst enableInputBlurring = () => {\n let focused = true;\n let didScroll = false;\n const doc = document;\n const onScroll = () => {\n didScroll = true;\n };\n const onFocusin = () => {\n focused = true;\n };\n const onTouchend = (ev) => {\n // if app did scroll return early\n if (didScroll) {\n didScroll = false;\n return;\n }\n const active = doc.activeElement;\n if (!active) {\n return;\n }\n // only blur if the active element is a text-input or a textarea\n if (active.matches(SKIP_SELECTOR)) {\n return;\n }\n // if the selected target is the active element, do not blur\n const tapped = ev.target;\n if (tapped === active) {\n return;\n }\n if (tapped.matches(SKIP_SELECTOR) || tapped.closest(SKIP_SELECTOR)) {\n return;\n }\n focused = false;\n // TODO: find a better way, why 50ms?\n setTimeout(() => {\n if (!focused) {\n active.blur();\n }\n }, 50);\n };\n addEventListener(doc, 'ionScrollStart', onScroll);\n doc.addEventListener('focusin', onFocusin, true);\n doc.addEventListener('touchend', onTouchend, false);\n return () => {\n removeEventListener(doc, 'ionScrollStart', onScroll, true);\n doc.removeEventListener('focusin', onFocusin, true);\n doc.removeEventListener('touchend', onTouchend, false);\n };\n};\n\nconst SCROLL_ASSIST_SPEED = 0.3;\nconst getScrollData = (componentEl, contentEl, keyboardHeight) => {\n const itemEl = componentEl.closest('ion-item,[ion-item]') || componentEl;\n return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight);\n};\nconst calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {\n // compute input's Y values relative to the body\n const inputTop = inputRect.top;\n const inputBottom = inputRect.bottom;\n // compute visible area\n const visibleAreaTop = contentRect.top;\n const visibleAreaBottom = Math.min(contentRect.bottom, platformHeight - keyboardHeight);\n // compute safe area\n const safeAreaTop = visibleAreaTop + 15;\n const safeAreaBottom = visibleAreaBottom * 0.75;\n // figure out if each edge of the input is within the safe area\n const distanceToBottom = safeAreaBottom - inputBottom;\n const distanceToTop = safeAreaTop - inputTop;\n // desiredScrollAmount is the negated distance to the safe area according to our calculations.\n const desiredScrollAmount = Math.round(distanceToBottom < 0 ? -distanceToBottom : distanceToTop > 0 ? -distanceToTop : 0);\n // our calculations make some assumptions that aren't always true, like the keyboard being closed when an input\n // gets focus, so make sure we don't scroll the input above the visible area\n const scrollAmount = Math.min(desiredScrollAmount, inputTop - visibleAreaTop);\n const distance = Math.abs(scrollAmount);\n const duration = distance / SCROLL_ASSIST_SPEED;\n const scrollDuration = Math.min(400, Math.max(150, duration));\n return {\n scrollAmount,\n scrollDuration,\n scrollPadding: keyboardHeight,\n inputSafeY: -(inputTop - safeAreaTop) + 4,\n };\n};\n\nconst enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {\n let coord;\n const touchStart = (ev) => {\n coord = pointerCoord(ev);\n };\n const touchEnd = (ev) => {\n // input cover touchend/mouseup\n if (!coord) {\n return;\n }\n // get where the touchend/mouseup ended\n const endCoord = pointerCoord(ev);\n // focus this input if the pointer hasn't moved XX pixels\n // and the input doesn't already have focus\n if (!hasPointerMoved(6, coord, endCoord) && !isFocused(inputEl)) {\n // begin the input focus process\n jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight);\n }\n };\n componentEl.addEventListener('touchstart', touchStart, true);\n componentEl.addEventListener('touchend', touchEnd, true);\n return () => {\n componentEl.removeEventListener('touchstart', touchStart, true);\n componentEl.removeEventListener('touchend', touchEnd, true);\n };\n};\nconst jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {\n if (!contentEl && !footerEl) {\n return;\n }\n const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);\n if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {\n // the text input is in a safe position that doesn't\n // require it to be scrolled into view, just set focus now\n inputEl.focus();\n return;\n }\n // temporarily move the focus to the focus holder so the browser\n // doesn't freak out while it's trying to get the input in place\n // at this point the native text input still does not have focus\n relocateInput(componentEl, inputEl, true, scrollData.inputSafeY);\n inputEl.focus();\n /**\n * Relocating/Focusing input causes the\n * click event to be cancelled, so\n * manually fire one here.\n */\n raf(() => componentEl.click());\n if (typeof window !== 'undefined') {\n let scrollContentTimeout;\n const scrollContent = async () => {\n // clean up listeners and timeouts\n if (scrollContentTimeout !== undefined) {\n clearTimeout(scrollContentTimeout);\n }\n window.removeEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);\n window.removeEventListener('ionKeyboardDidShow', scrollContent);\n // scroll the input into place\n if (contentEl) {\n await scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);\n }\n // the scroll view is in the correct position now\n // give the native text input focus\n relocateInput(componentEl, inputEl, false, scrollData.inputSafeY);\n // ensure this is the focused input\n inputEl.focus();\n };\n const doubleKeyboardEventListener = () => {\n window.removeEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);\n window.addEventListener('ionKeyboardDidShow', scrollContent);\n };\n if (contentEl) {\n const scrollEl = await getScrollElement(contentEl);\n /**\n * scrollData will only consider the amount we need\n * to scroll in order to properly bring the input\n * into view. It will not consider the amount\n * we can scroll in the content element.\n * As a result, scrollData may request a greater\n * scroll position than is currently available\n * in the DOM. If this is the case, we need to\n * wait for the webview to resize/the keyboard\n * to show in order for additional scroll\n * bandwidth to become available.\n */\n const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;\n if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {\n /**\n * On iOS devices, the system will show a \"Passwords\" bar above the keyboard\n * after the initial keyboard is shown. This prevents the webview from resizing\n * until the \"Passwords\" bar is shown, so we need to wait for that to happen first.\n */\n if (inputEl.type === 'password') {\n // Add 50px to account for the \"Passwords\" bar\n scrollData.scrollAmount += 50;\n window.addEventListener('ionKeyboardDidShow', doubleKeyboardEventListener);\n }\n else {\n window.addEventListener('ionKeyboardDidShow', scrollContent);\n }\n /**\n * This should only fire in 2 instances:\n * 1. The app is very slow.\n * 2. The app is running in a browser on an old OS\n * that does not support Ionic Keyboard Events\n */\n scrollContentTimeout = setTimeout(scrollContent, 1000);\n return;\n }\n }\n scrollContent();\n }\n};\nconst hasPointerMoved = (threshold, startCoord, endCoord) => {\n if (startCoord && endCoord) {\n const deltaX = startCoord.x - endCoord.x;\n const deltaY = startCoord.y - endCoord.y;\n const distance = deltaX * deltaX + deltaY * deltaY;\n return distance > threshold * threshold;\n }\n return false;\n};\n\nconst PADDING_TIMER_KEY = '$ionPaddingTimer';\nconst enableScrollPadding = (keyboardHeight) => {\n const doc = document;\n const onFocusin = (ev) => {\n setScrollPadding(ev.target, keyboardHeight);\n };\n const onFocusout = (ev) => {\n setScrollPadding(ev.target, 0);\n };\n doc.addEventListener('focusin', onFocusin);\n doc.addEventListener('focusout', onFocusout);\n return () => {\n doc.removeEventListener('focusin', onFocusin);\n doc.removeEventListener('focusout', onFocusout);\n };\n};\nconst setScrollPadding = (input, keyboardHeight) => {\n var _a, _b;\n if (input.tagName !== 'INPUT') {\n return;\n }\n if (input.parentElement && input.parentElement.tagName === 'ION-INPUT') {\n return;\n }\n if (((_b = (_a = input.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.tagName) === 'ION-SEARCHBAR') {\n return;\n }\n const el = findClosestIonContent(input);\n if (el === null) {\n return;\n }\n const timer = el[PADDING_TIMER_KEY];\n if (timer) {\n clearTimeout(timer);\n }\n if (keyboardHeight > 0) {\n el.style.setProperty('--keyboard-offset', `${keyboardHeight}px`);\n }\n else {\n el[PADDING_TIMER_KEY] = setTimeout(() => {\n el.style.setProperty('--keyboard-offset', '0px');\n }, 120);\n }\n};\n\nconst INPUT_BLURRING = true;\nconst SCROLL_PADDING = true;\nconst startInputShims = (config) => {\n const doc = document;\n const keyboardHeight = config.getNumber('keyboardHeight', 290);\n const scrollAssist = config.getBoolean('scrollAssist', true);\n const hideCaret = config.getBoolean('hideCaretOnScroll', true);\n const inputBlurring = config.getBoolean('inputBlurring', true);\n const scrollPadding = config.getBoolean('scrollPadding', true);\n const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea'));\n const hideCaretMap = new WeakMap();\n const scrollAssistMap = new WeakMap();\n const registerInput = async (componentEl) => {\n await new Promise((resolve) => componentOnReady(componentEl, resolve));\n const inputRoot = componentEl.shadowRoot || componentEl;\n const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');\n const scrollEl = findClosestIonContent(componentEl);\n const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;\n if (!inputEl) {\n return;\n }\n if (!!scrollEl && hideCaret && !hideCaretMap.has(componentEl)) {\n const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl);\n hideCaretMap.set(componentEl, rmFn);\n }\n if ((!!scrollEl || !!footerEl) && scrollAssist && !scrollAssistMap.has(componentEl)) {\n const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight);\n scrollAssistMap.set(componentEl, rmFn);\n }\n };\n const unregisterInput = (componentEl) => {\n if (hideCaret) {\n const fn = hideCaretMap.get(componentEl);\n if (fn) {\n fn();\n }\n hideCaretMap.delete(componentEl);\n }\n if (scrollAssist) {\n const fn = scrollAssistMap.get(componentEl);\n if (fn) {\n fn();\n }\n scrollAssistMap.delete(componentEl);\n }\n };\n if (inputBlurring && INPUT_BLURRING) {\n enableInputBlurring();\n }\n if (scrollPadding && SCROLL_PADDING) {\n enableScrollPadding(keyboardHeight);\n }\n // Input might be already loaded in the DOM before ion-device-hacks did.\n // At this point we need to look for all of the inputs not registered yet\n // and register them.\n for (const input of inputs) {\n registerInput(input);\n }\n doc.addEventListener('ionInputDidLoad', ((ev) => {\n registerInput(ev.detail);\n }));\n doc.addEventListener('ionInputDidUnload', ((ev) => {\n unregisterInput(ev.detail);\n }));\n};\n\nexport { startInputShims };\n"],"names":["cloneMap","WeakMap","relocateInput","componentEl","inputEl","shouldRelocate","inputRelativeY","has","addClone","removeClone","isFocused","input","getRootNode","activeElement","parentEl","parentNode","clonedEl","cloneNode","classList","add","tabIndex","appendChild","set","doc","ownerDocument","tx","dir","style","pointerEvents","transform","clone","get","delete","remove","enableHideCaretOnScroll","scrollEl","scrollHideCaret","shouldHideCaret","onBlur","hideCaret","showCaret","a","addEventListener","SKIP_SELECTOR","enableInputBlurring","focused","didScroll","document","onScroll","onFocusin","onTouchend","ev","active","matches","tapped","target","closest","setTimeout","blur","removeEventListener","SCROLL_ASSIST_SPEED","getScrollData","contentEl","keyboardHeight","itemEl","calcScrollData","getBoundingClientRect","defaultView","innerHeight","inputRect","contentRect","platformHeight","inputTop","top","inputBottom","bottom","visibleAreaTop","visibleAreaBottom","Math","min","safeAreaTop","safeAreaBottom","distanceToBottom","distanceToTop","desiredScrollAmount","round","scrollAmount","distance","abs","duration","scrollDuration","max","scrollPadding","inputSafeY","enableScrollAssist","footerEl","coord","touchStart","touchEnd","endCoord","hasPointerMoved","jsSetFocus","async","scrollData","focus","r","click","window","scrollContentTimeout","scrollContent","undefined","clearTimeout","doubleKeyboardEventListener","g","totalScrollAmount","scrollHeight","clientHeight","scrollTop","type","threshold","startCoord","deltaX","x","deltaY","y","PADDING_TIMER_KEY","enableScrollPadding","setScrollPadding","onFocusout","_a","_b","tagName","parentElement","el","timer","setProperty","INPUT_BLURRING","SCROLL_PADDING","startInputShims","config","getNumber","scrollAssist","getBoolean","inputBlurring","inputs","Array","from","querySelectorAll","hideCaretMap","scrollAssistMap","registerInput","Promise","resolve","c","inputRoot","shadowRoot","querySelector","rmFn","unregisterInput","fn","detail"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/78.51f18a44.js b/ios/App/App/public/js/78.51f18a44.js new file mode 100644 index 0000000..828cf79 --- /dev/null +++ b/ios/App/App/public/js/78.51f18a44.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[78],{6078:function(e,t,n){n.r(t),n.d(t,{startStatusTap:function(){return a}});var o=n(65),r=n(8487),s=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const a=()=>{const e=window;e.addEventListener("statusTap",(()=>{(0,o.wj)((()=>{const t=e.innerWidth,n=e.innerHeight,a=document.elementFromPoint(t/2,n/2);if(!a)return;const i=(0,r.a)(a);i&&new Promise((e=>(0,s.c)(i,e))).then((()=>{(0,o.Iu)((async()=>{i.style.setProperty("--overflow","hidden"),await(0,r.s)(i,300),i.style.removeProperty("--overflow")}))}))}))}))}}}]); +//# sourceMappingURL=78.51f18a44.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/78.51f18a44.js.map b/ios/App/App/public/js/78.51f18a44.js.map new file mode 100644 index 0000000..69b8e70 --- /dev/null +++ b/ios/App/App/public/js/78.51f18a44.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/78.51f18a44.js","mappings":";;;;AAOA,MAAMA,EAAiB,KACrB,MAAMC,EAAMC,OACZD,EAAIE,iBAAiB,aAAa,MAChC,SAAS,KACP,MAAMC,EAAQH,EAAII,WACZC,EAASL,EAAIM,YACbC,EAAKC,SAASC,iBAAiBN,EAAQ,EAAGE,EAAS,GACzD,IAAKE,EACH,OAEF,MAAMG,GAAY,OAAsBH,GACpCG,GACF,IAAIC,SAASC,IAAY,IAAAC,GAAiBH,EAAWE,KAAUE,MAAK,MAClE,SAAUC,UAQRL,EAAUM,MAAMC,YAAY,aAAc,gBACpC,IAAAC,GAAYR,EAAW,KAC7BA,EAAUM,MAAMG,eAAe","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/status-tap.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { readTask, writeTask } from '@stencil/core/internal/client';\nimport { a as findClosestIonContent, s as scrollToTop } from './index8.js';\nimport { c as componentOnReady } from './helpers.js';\n\nconst startStatusTap = () => {\n const win = window;\n win.addEventListener('statusTap', () => {\n readTask(() => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const el = document.elementFromPoint(width / 2, height / 2);\n if (!el) {\n return;\n }\n const contentEl = findClosestIonContent(el);\n if (contentEl) {\n new Promise((resolve) => componentOnReady(contentEl, resolve)).then(() => {\n writeTask(async () => {\n /**\n * If scrolling and user taps status bar,\n * only calling scrollToTop is not enough\n * as engines like WebKit will jump the\n * scroll position back down and complete\n * any in-progress momentum scrolling.\n */\n contentEl.style.setProperty('--overflow', 'hidden');\n await scrollToTop(contentEl, 300);\n contentEl.style.removeProperty('--overflow');\n });\n });\n }\n });\n });\n};\n\nexport { startStatusTap };\n"],"names":["startStatusTap","win","window","addEventListener","width","innerWidth","height","innerHeight","el","document","elementFromPoint","contentEl","Promise","resolve","c","then","async","style","setProperty","s","removeProperty"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/880.e288775e.js b/ios/App/App/public/js/880.e288775e.js new file mode 100644 index 0000000..83daa84 --- /dev/null +++ b/ios/App/App/public/js/880.e288775e.js @@ -0,0 +1,14 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[880],{5880:function(e,t,s){s.r(t),s.d(t,{scopeCss:function(){return P}}); +/** + * @license + * Copyright Google Inc. 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.io/license + * + * This file is a port of shadowCSS from webcomponents.js to TypeScript. + * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js + * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts + */ +const r=e=>{const t=[];let s=0;e=e.replace(/(\[[^\]]*\])/g,((e,r)=>{const c=`__ph-${s}__`;return t.push(r),s++,c}));const r=e.replace(/(:nth-[-\w]+)(\([^)]+\))/g,((e,r,c)=>{const n=`__ph-${s}__`;return t.push(c),s++,r+n})),c={content:r,placeholders:t};return c},c=(e,t)=>t.replace(/__ph-(\d+)__/g,((t,s)=>e[+s])),n="-shadowcsshost",o="-shadowcssslotted",l="-shadowcsscontext",i=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",a=new RegExp("("+n+i,"gim"),p=new RegExp("("+l+i,"gim"),h=new RegExp("("+o+i,"gim"),u=n+"-no-combinator",g=/-shadowcsshost-no-combinator([^\s]*)/,d=[/::shadow/g,/::content/g],m="([>\\s~+[.,{:][\\s\\S]*)?$",f=/-shadowcsshost/gim,$=/:host/gim,x=/::slotted/gim,_=/:host-context/gim,w=/\/\*\s*[\s\S]*?\*\//g,b=e=>e.replace(w,""),S=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g,W=e=>e.match(S)||[],k=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,O=/([{}])/g,j=/(^.*?[^\\])??((:+)(.*)|$)/,E="{",R="}",C="%BLOCK%",T=(e,t)=>{const s=L(e);let r=0;return s.escapedString.replace(k,((...e)=>{const c=e[2];let n="",o=e[4],l="";o&&o.startsWith("{"+C)&&(n=s.blocks[r++],o=o.substring(C.length+1),l="{");const i={selector:c,content:n},a=t(i);return`${e[1]}${a.selector}${e[3]}${l}${a.content}${o}`}))},L=e=>{const t=e.split(O),s=[],r=[];let c=0,n=[];for(let l=0;l0?n.push(e):(n.length>0&&(r.push(n.join("")),s.push(C),n=[]),s.push(e)),e===E&&c++}n.length>0&&(r.push(n.join("")),s.push(C));const o={escapedString:s.join(""),blocks:r};return o},B=e=>(e=e.replace(_,l).replace($,n).replace(x,o),e),I=(e,t,s)=>e.replace(t,((...e)=>{if(e[2]){const t=e[2].split(","),r=[];for(let c=0;ce+t.replace(n,"")+s,M=e=>I(e,a,K),U=(e,t,s)=>t.indexOf(n)>-1?K(e,t,s):e+t+s+", "+t+" "+e+s,q=(e,t)=>{const s="."+t+" > ",r=[];return e=e.replace(h,((...e)=>{if(e[2]){const t=e[2].trim(),c=e[3],n=s+t+c;let o="";for(let s=e[4]-1;s>=0;s--){const t=e[5][s];if("}"===t||","===t)break;o=t+o}const l=o+n,i=`${o.trimRight()}${n.trim()}`;if(l.trim()!==i.trim()){const e=`${i}, ${l}`;r.push({orgSelector:l,updatedSelector:e})}return n}return u+e[3]})),{selectors:r,cssText:e}},v=e=>I(e,p,U),y=e=>d.reduce(((e,t)=>e.replace(t," ")),e),z=e=>{const t=/\[/g,s=/\]/g;return e=e.replace(t,"\\[").replace(s,"\\]"),new RegExp("^("+e+")"+m,"m")},A=(e,t)=>{const s=z(t);return!s.test(e)},D=(e,t)=>e.replace(j,((e,s="",r,c="",n="")=>s+t+c+n)),F=(e,t,s)=>{if(f.lastIndex=0,f.test(e)){const t=`.${s}`;return e.replace(g,((e,s)=>D(s,t))).replace(f,t+" ")}return t+" "+e},G=(e,t,s)=>{const n=/\[is=([^\]]*)\]/g;t=t.replace(n,((e,...t)=>t[0]));const o="."+t,l=e=>{let r=e.trim();if(!r)return"";if(e.indexOf(u)>-1)r=F(e,t,s);else{const t=e.replace(f,"");t.length>0&&(r=D(t,o))}return r},i=r(e);e=i.content;let a,p="",h=0;const g=/( |>|\+|~(?!=))\s*/g,d=e.indexOf(u)>-1;let m=!d;while(null!==(a=g.exec(e))){const t=a[1],s=e.slice(h,a.index).trim();m=m||s.indexOf(u)>-1;const r=m?l(s):s;p+=`${r} ${t} `,h=g.lastIndex}const $=e.substring(h);return m=m||$.indexOf(u)>-1,p+=m?l($):$,c(i.placeholders,p)},H=(e,t,s,r)=>e.split(",").map((e=>r&&e.indexOf("."+r)>-1?e.trim():A(e,t)?G(e,t,s).trim():e.trim())).join(", "),J=(e,t,s,r,c)=>T(e,(e=>{let c=e.selector,n=e.content;"@"!==e.selector[0]?c=H(e.selector,t,s,r):(e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document"))&&(n=J(e.content,t,s,r));const o={selector:c.replace(/\s{2,}/g," ").trim(),content:n};return o})),N=(e,t,s,r,c)=>{e=B(e),e=M(e),e=v(e);const n=q(e,r);return e=n.cssText,e=y(e),t&&(e=J(e,t,s,r)),e=e.replace(/-shadowcsshost-no-combinator/g,`.${s}`),e=e.replace(/>\s*\*\s+([^{, ]+)/gm," $1 "),{cssText:e.trim(),slottedSelectors:n.selectors}},P=(e,t,s)=>{const r=t+"-h",c=t+"-s",n=W(e);e=b(e);const o=[];if(s){const t=e=>{const t=`/*!@___${o.length}___*/`,s=`/*!@${e.selector}*/`;return o.push({placeholder:t,comment:s}),e.selector=t+e.selector,e};e=T(e,(e=>"@"!==e.selector[0]?t(e):e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document")?(e.content=T(e.content,t),e):e))}const l=N(e,t,r,c);return e=[l.cssText,...n].join("\n"),s&&o.forEach((({placeholder:t,comment:s})=>{e=e.replace(t,s)})),l.slottedSelectors.forEach((t=>{e=e.replace(t.orgSelector,t.updatedSelector)})),e}}}]); +//# sourceMappingURL=880.e288775e.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/880.e288775e.js.map b/ios/App/App/public/js/880.e288775e.js.map new file mode 100644 index 0000000..fd9782a --- /dev/null +++ b/ios/App/App/public/js/880.e288775e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/880.e288775e.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/ionicons/node_modules/@stencil/core/internal/client/shadow-css.js"],"sourcesContent":["/*\n Stencil Client Platform v2.16.1 | MIT Licensed | https://stenciljs.com\n */\n/**\n * @license\n * Copyright Google Inc. 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.io/license\n *\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts\n */\nconst safeSelector = (selector) => {\n const placeholders = [];\n let index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(keep);\n index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n const content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(exp);\n index++;\n return pseudo + replaceBy;\n });\n const ss = {\n content,\n placeholders,\n };\n return ss;\n};\nconst restoreSafeSelector = (placeholders, content) => {\n return content.replace(/__ph-(\\d+)__/g, (_, index) => placeholders[+index]);\n};\nconst _polyfillHost = '-shadowcsshost';\nconst _polyfillSlotted = '-shadowcssslotted';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' + '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' + ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];\nconst _selectorReSuffix = '([>\\\\s~+[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonSlottedRe = /::slotted/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nconst stripComments = (input) => {\n return input.replace(_commentRe, '');\n};\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nconst extractCommentsWithHash = (input) => {\n return input.match(_commentWithHashRe) || [];\n};\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _curlyRe = /([{}])/g;\nconst _selectorPartsRe = /(^.*?[^\\\\])??((:+)(.*)|$)/;\nconst OPEN_CURLY = '{';\nconst CLOSE_CURLY = '}';\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst processRules = (input, ruleCallback) => {\n const inputWithEscapedBlocks = escapeBlocks(input);\n let nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const cssRule = {\n selector,\n content,\n };\n const rule = ruleCallback(cssRule);\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n });\n};\nconst escapeBlocks = (input) => {\n const inputParts = input.split(_curlyRe);\n const resultParts = [];\n const escapedBlocks = [];\n let bracketCount = 0;\n let currentBlockParts = [];\n for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {\n const part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount > 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n const strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks,\n };\n return strEscapedBlocks;\n};\nconst insertPolyfillHostInCssText = (selector) => {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nconst convertColonRule = (cssText, regExp, partReplacer) => {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, (...m) => {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nconst colonHostPartReplacer = (host, part, suffix) => {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nconst convertColonHost = (cssText) => {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nconst colonHostContextPartReplacer = (host, part, suffix) => {\n if (part.indexOf(_polyfillHost) > -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nconst convertColonSlotted = (cssText, slotScopeId) => {\n const slotClass = '.' + slotScopeId + ' > ';\n const selectors = [];\n cssText = cssText.replace(_cssColonSlottedRe, (...m) => {\n if (m[2]) {\n const compound = m[2].trim();\n const suffix = m[3];\n const slottedSelector = slotClass + compound + suffix;\n let prefixSelector = '';\n for (let i = m[4] - 1; i >= 0; i--) {\n const char = m[5][i];\n if (char === '}' || char === ',') {\n break;\n }\n prefixSelector = char + prefixSelector;\n }\n const orgSelector = prefixSelector + slottedSelector;\n const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;\n if (orgSelector.trim() !== addedSelector.trim()) {\n const updatedSelector = `${addedSelector}, ${orgSelector}`;\n selectors.push({\n orgSelector,\n updatedSelector,\n });\n }\n return slottedSelector;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n return {\n selectors,\n cssText,\n };\n};\nconst convertColonHostContext = (cssText) => {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nconst convertShadowDOMSelectors = (cssText) => {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n};\nconst makeScopeMatcher = (scopeSelector) => {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nconst selectorNeedsScoping = (selector, scopeSelector) => {\n const re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nconst injectScopingSelector = (selector, scopingSelector) => {\n return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {\n return before + scopingSelector + colon + after;\n });\n};\nconst applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = `.${hostSelector}`;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nconst applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const className = '.' + scopeSelector;\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n scopedP = injectScopingSelector(t, className);\n }\n }\n return scopedP;\n };\n const safeContent = safeSelector(selector);\n selector = safeContent.content;\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nconst scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {\n return selector\n .split(',')\n .map((shallowPart) => {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nconst scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n const cssRule = {\n selector: selector.replace(/\\s{2,}/g, ' ').trim(),\n content,\n };\n return cssRule;\n });\n};\nconst scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n const slotted = convertColonSlotted(cssText, slotScopeId);\n cssText = slotted.cssText;\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);\n cssText = cssText.replace(/>\\s*\\*\\s+([^{, ]+)/gm, ' $1 ');\n return {\n cssText: cssText.trim(),\n slottedSelectors: slotted.selectors,\n };\n};\nconst scopeCss = (cssText, scopeId, commentOriginalSelector) => {\n const hostScopeId = scopeId + '-h';\n const slotScopeId = scopeId + '-s';\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n const orgSelectors = [];\n if (commentOriginalSelector) {\n const processCommentedSelector = (rule) => {\n const placeholder = `/*!@___${orgSelectors.length}___*/`;\n const comment = `/*!@${rule.selector}*/`;\n orgSelectors.push({ placeholder, comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, (rule) => {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector(rule);\n }\n else if (rule.selector.startsWith('@media') ||\n rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') ||\n rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector);\n return rule;\n }\n return rule;\n });\n }\n const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = [scoped.cssText, ...commentsWithHash].join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(({ placeholder, comment }) => {\n cssText = cssText.replace(placeholder, comment);\n });\n }\n scoped.slottedSelectors.forEach((slottedSelector) => {\n cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);\n });\n return cssText;\n};\n\nexport { scopeCss };\n"],"names":["safeSelector","selector","placeholders","index","replace","_","keep","replaceBy","push","content","pseudo","exp","ss","restoreSafeSelector","_polyfillHost","_polyfillSlotted","_polyfillHostContext","_parenSuffix","_cssColonHostRe","RegExp","_cssColonHostContextRe","_cssColonSlottedRe","_polyfillHostNoCombinator","_polyfillHostNoCombinatorRe","_shadowDOMSelectorsRe","_selectorReSuffix","_polyfillHostRe","_colonHostRe","_colonSlottedRe","_colonHostContextRe","_commentRe","stripComments","input","_commentWithHashRe","extractCommentsWithHash","match","_ruleRe","_curlyRe","_selectorPartsRe","OPEN_CURLY","CLOSE_CURLY","BLOCK_PLACEHOLDER","processRules","ruleCallback","inputWithEscapedBlocks","escapeBlocks","nextBlockIndex","escapedString","m","suffix","contentPrefix","startsWith","blocks","substring","length","cssRule","rule","inputParts","split","resultParts","escapedBlocks","bracketCount","currentBlockParts","partIndex","part","join","strEscapedBlocks","insertPolyfillHostInCssText","convertColonRule","cssText","regExp","partReplacer","parts","r","i","p","trim","colonHostPartReplacer","host","convertColonHost","colonHostContextPartReplacer","indexOf","convertColonSlotted","slotScopeId","slotClass","selectors","compound","slottedSelector","prefixSelector","char","orgSelector","addedSelector","trimRight","updatedSelector","convertColonHostContext","convertShadowDOMSelectors","reduce","result","pattern","makeScopeMatcher","scopeSelector","lre","rre","selectorNeedsScoping","re","test","injectScopingSelector","scopingSelector","before","_colonGroup","colon","after","applySimpleSelectorScope","hostSelector","lastIndex","applyStrictSelectorScope","isRe","className","_scopeSelectorPart","scopedP","t","safeContent","res","scopedSelector","startIndex","sep","hasHost","shouldScope","exec","separator","slice","scopedPart","scopeSelectorText","slotSelector","map","shallowPart","scopeSelectors","commentOriginalSelector","scopeCssText","scopeId","hostScopeId","slotted","slottedSelectors","scopeCss","commentsWithHash","orgSelectors","processCommentedSelector","placeholder","comment","scoped","forEach"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/961.2fab5ec9.js b/ios/App/App/public/js/961.2fab5ec9.js new file mode 100644 index 0000000..eb1e385 --- /dev/null +++ b/ios/App/App/public/js/961.2fab5ec9.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[961],{7961:function(e,t,i){i.r(t),i.d(t,{DeviceWeb:function(){return o}});var n=i(9895);class o extends n.Uw{async getId(){return{uuid:this.getUid()}}async getInfo(){if("undefined"===typeof navigator||!navigator.userAgent)throw this.unavailable("Device API not available in this browser");const e=navigator.userAgent,t=this.parseUa(e);return{model:t.model,platform:"web",operatingSystem:t.operatingSystem,osVersion:t.osVersion,manufacturer:navigator.vendor,isVirtual:!1,webViewVersion:t.browserVersion}}async getBatteryInfo(){if("undefined"===typeof navigator||!navigator.getBattery)throw this.unavailable("Device API not available in this browser");let e={};try{e=await navigator.getBattery()}catch(t){}return{batteryLevel:e.level,isCharging:e.charging}}async getLanguageCode(){return{value:navigator.language}}parseUa(e){const t={},i=e.indexOf("(")+1;let n=e.indexOf(") AppleWebKit");-1!==e.indexOf(") Gecko")&&(n=e.indexOf(") Gecko"));const o=e.substring(i,n);if(-1!==e.indexOf("Android")){const e=o.replace("; wv","").split("; ").pop();e&&(t.model=e.split(" Build")[0]),t.osVersion=o.split("; ")[1]}else if(t.model=o.split("; ")[0],"undefined"!==typeof navigator&&navigator.oscpu)t.osVersion=navigator.oscpu;else if(-1!==e.indexOf("Windows"))t.osVersion=o;else{const e=o.split("; ").pop();if(e){const i=e.replace(" like Mac OS X","").split(" ");t.osVersion=i[i.length-1].replace(/_/g,".")}}/android/i.test(e)?t.operatingSystem="android":/iPad|iPhone|iPod/.test(e)&&!window.MSStream?t.operatingSystem="ios":/Win/.test(e)?t.operatingSystem="windows":/Mac/i.test(e)?t.operatingSystem="mac":t.operatingSystem="unknown";const r=!!window.InstallTrigger,s=!!window.ApplePaySession,a=!!window.chrome,l=/Edg/.test(e),d=/FxiOS/.test(e),c=/CriOS/.test(e),g=/EdgiOS/.test(e);if(s||a&&!l||d||c||g){let i;i=d?"FxiOS":c?"CriOS":g?"EdgiOS":s?"Version":"Chrome";const n=e.split(" ");for(const e of n)if(e.includes(i)){const i=e.split("/")[1];t.browserVersion=i}}else if(r||l){const i=e.split("").reverse().join(""),n=i.split("/")[0],o=n.split("").reverse().join("");t.browserVersion=o}return t}getUid(){if("undefined"!==typeof window){let e=window.localStorage.getItem("_capuid");return e||(e=this.uuid4(),window.localStorage.setItem("_capuid",e),e)}return this.uuid4()}uuid4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)}))}}}}]); +//# sourceMappingURL=961.2fab5ec9.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/961.2fab5ec9.js.map b/ios/App/App/public/js/961.2fab5ec9.js.map new file mode 100644 index 0000000..c85f6e2 --- /dev/null +++ b/ios/App/App/public/js/961.2fab5ec9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/961.2fab5ec9.js","mappings":"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","sources":["webpack://tainacan-mobile/./node_modules/@capacitor/device/dist/esm/web.js"],"sourcesContent":["import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n uuid: this.getUid(),\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion,\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n }\n catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging,\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language,\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n }\n else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n }\n else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n }\n else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields\n .replace(' like Mac OS X', '')\n .split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n }\n else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n }\n else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n }\n else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n }\n else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isFirefox = !!window.InstallTrigger;\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari ||\n (isChrome && !isEdge) ||\n isFirefoxIOS ||\n isChromeIOS ||\n isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n }\n else if (isChromeIOS) {\n searchWord = 'CriOS';\n }\n else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n }\n else if (isSafari) {\n searchWord = 'Version';\n }\n else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n }\n else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined') {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["DeviceWeb","async","uuid","this","getUid","navigator","userAgent","unavailable","ua","uaFields","parseUa","model","platform","operatingSystem","osVersion","manufacturer","vendor","isVirtual","webViewVersion","browserVersion","getBattery","battery","e","batteryLevel","level","isCharging","charging","value","language","start","indexOf","end","fields","substring","tmpFields","replace","split","pop","oscpu","lastParts","length","test","window","MSStream","isFirefox","InstallTrigger","isSafari","ApplePaySession","isChrome","chrome","isEdge","isFirefoxIOS","isChromeIOS","isEdgeIOS","searchWord","words","word","includes","version","reverseUA","reverse","join","reverseVersion","uid","localStorage","getItem","uuid4","setItem","c","r","Math","random","v","toString"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/990.cdf4956e.js b/ios/App/App/public/js/990.cdf4956e.js new file mode 100644 index 0000000..8f5e84d --- /dev/null +++ b/ios/App/App/public/js/990.cdf4956e.js @@ -0,0 +1,6 @@ +"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[990],{8990:function(t,e,n){n.r(e),n.d(e,{createSwipeBackGesture:function(){return c}});var r=n(6587),a=n(545),i=n(6515); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const c=(t,e,n,c,o)=>{const s=t.ownerDocument.defaultView,u=(0,a.i)(t),l=t=>{const e=50,{startX:n}=t;return u?n>=s.innerWidth-e:n<=e},h=t=>u?-t.deltaX:t.deltaX,d=t=>u?-t.velocityX:t.velocityX,b=t=>l(t)&&e(),f=t=>{const e=h(t),n=e/s.innerWidth;c(n)},k=t=>{const e=h(t),n=s.innerWidth,a=e/n,i=d(t),c=n/2,u=i>=0&&(i>.2||e>c),l=u?1-a:a,b=l*n;let f=0;if(b>5){const t=b/Math.abs(i);f=Math.min(t,540)}o(u,a<=0?.01:(0,r.j)(0,a,.9999),f)};return(0,i.createGesture)({el:t,gestureName:"goback-swipe",gesturePriority:40,threshold:10,canStart:b,onStart:n,onMove:f,onEnd:k})}}}]); +//# sourceMappingURL=990.cdf4956e.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/990.cdf4956e.js.map b/ios/App/App/public/js/990.cdf4956e.js.map new file mode 100644 index 0000000..914efaf --- /dev/null +++ b/ios/App/App/public/js/990.cdf4956e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/990.cdf4956e.js","mappings":";;;;AAOA,MAAMA,EAAyB,CAACC,EAAIC,EAAiBC,EAAgBC,EAAeC,KAClF,MAAMC,EAAML,EAAGM,cAAcC,YACvBC,GAAM,IAAAC,GAAMT,GAMZU,EAAYC,IAChB,MAAMC,EAAY,IACZ,OAAEC,GAAWF,EACnB,OAAIH,EACKK,GAAUR,EAAIS,WAAaF,EAE7BC,GAAUD,GAEbG,EAAaJ,GACVH,GAAOG,EAAOK,OAASL,EAAOK,OAEjCC,EAAgBN,GACbH,GAAOG,EAAOO,UAAYP,EAAOO,UAEpCC,EAAYR,GACTD,EAASC,IAAWV,IAEvBmB,EAAUT,IAEd,MAAMU,EAAQN,EAAUJ,GAClBW,EAAYD,EAAQhB,EAAIS,WAC9BX,EAAcmB,IAEVC,EAASZ,IAEb,MAAMU,EAAQN,EAAUJ,GAClBa,EAAQnB,EAAIS,WACZQ,EAAYD,EAAQG,EACpBC,EAAWR,EAAaN,GACxBe,EAAIF,EAAQ,EACZG,EAAiBF,GAAY,IAAMA,EAAW,IAAOJ,EAAQK,GAC7DE,EAAUD,EAAiB,EAAIL,EAAYA,EAC3CO,EAAkBD,EAAUJ,EAClC,IAAIM,EAAU,EACd,GAAID,EAAkB,EAAG,CACvB,MAAME,EAAMF,EAAkBG,KAAKC,IAAIR,GACvCK,EAAUE,KAAKE,IAAIH,EAAK,KAO1B3B,EAAauB,EAAgBL,GAAa,EAAI,KAAO,OAAM,EAAGA,EAAW,OAASQ,IAEpF,OAAO,IAAAK,eAAc,CACnBnC,GAAAA,EACAoC,YAAa,eACbC,gBAAiB,GACjBzB,UAAW,GACXO,SAAAA,EACAmB,QAASpC,EACTkB,OAAAA,EACAG,MAAAA","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/swipe-back.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { j as clamp } from './helpers.js';\nimport { i as isRTL } from './dir.js';\nimport { createGesture } from './index2.js';\n\nconst createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {\n const win = el.ownerDocument.defaultView;\n const rtl = isRTL(el);\n /**\n * Determine if a gesture is near the edge\n * of the screen. If true, then the swipe\n * to go back gesture should proceed.\n */\n const isAtEdge = (detail) => {\n const threshold = 50;\n const { startX } = detail;\n if (rtl) {\n return startX >= win.innerWidth - threshold;\n }\n return startX <= threshold;\n };\n const getDeltaX = (detail) => {\n return rtl ? -detail.deltaX : detail.deltaX;\n };\n const getVelocityX = (detail) => {\n return rtl ? -detail.velocityX : detail.velocityX;\n };\n const canStart = (detail) => {\n return isAtEdge(detail) && canStartHandler();\n };\n const onMove = (detail) => {\n // set the transition animation's progress\n const delta = getDeltaX(detail);\n const stepValue = delta / win.innerWidth;\n onMoveHandler(stepValue);\n };\n const onEnd = (detail) => {\n // the swipe back gesture has ended\n const delta = getDeltaX(detail);\n const width = win.innerWidth;\n const stepValue = delta / width;\n const velocity = getVelocityX(detail);\n const z = width / 2.0;\n const shouldComplete = velocity >= 0 && (velocity > 0.2 || delta > z);\n const missing = shouldComplete ? 1 - stepValue : stepValue;\n const missingDistance = missing * width;\n let realDur = 0;\n if (missingDistance > 5) {\n const dur = missingDistance / Math.abs(velocity);\n realDur = Math.min(dur, 540);\n }\n /**\n * TODO: stepValue can sometimes return negative values\n * or values greater than 1 which should not be possible.\n * Need to investigate more to find where the issue is.\n */\n onEndHandler(shouldComplete, stepValue <= 0 ? 0.01 : clamp(0, stepValue, 0.9999), realDur);\n };\n return createGesture({\n el,\n gestureName: 'goback-swipe',\n gesturePriority: 40,\n threshold: 10,\n canStart,\n onStart: onStartHandler,\n onMove,\n onEnd,\n });\n};\n\nexport { createSwipeBackGesture };\n"],"names":["createSwipeBackGesture","el","canStartHandler","onStartHandler","onMoveHandler","onEndHandler","win","ownerDocument","defaultView","rtl","i","isAtEdge","detail","threshold","startX","innerWidth","getDeltaX","deltaX","getVelocityX","velocityX","canStart","onMove","delta","stepValue","onEnd","width","velocity","z","shouldComplete","missing","missingDistance","realDur","dur","Math","abs","min","createGesture","gestureName","gesturePriority","onStart"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/app.ba3e8dbe.js b/ios/App/App/public/js/app.ba3e8dbe.js new file mode 100644 index 0000000..fea9500 --- /dev/null +++ b/ios/App/App/public/js/app.ba3e8dbe.js @@ -0,0 +1,2 @@ +(function(){var e={1993:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=1993,e.exports=t},1875:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=1875,e.exports=t},6210:function(e,t,o){"use strict";var n=o(9963),i=o(6252);function a(e,t,o,n,a,l){const s=(0,i.up)("ion-router-outlet"),r=(0,i.up)("ion-app");return(0,i.wg)(),(0,i.j4)(r,null,{default:(0,i.w5)((()=>[(0,i.Wm)(s)])),_:1})}o(6699);var l=o(9747),s=o(2406),r=(0,i.aZ)({name:"App",components:{IonApp:l.dr,IonRouterOutlet:l.jP},mounted(){const e=s.A;e.getLanguageCode().then((e=>{if(e.value.includes("-")){const t=e.value.split("-")[0];this.$i18n.locale=t}else this.$i18n.locale=e.value}))}}),c=o(3744);const u=(0,c.Z)(r,[["render",a]]);var d=u,p=o(3577);function m(e,t,o,n,a,l){const s=(0,i.up)("ion-back-button"),r=(0,i.up)("ion-buttons"),c=(0,i.up)("ion-img"),u=(0,i.up)("ion-icon"),d=(0,i.up)("ion-button"),m=(0,i.up)("ion-toolbar"),h=(0,i.up)("ion-title"),_=(0,i.up)("ion-header"),g=(0,i.up)("ion-content"),f=(0,i.up)("ion-toast"),w=(0,i.up)("ion-page");return(0,i.wg)(),(0,i.j4)(w,null,{default:(0,i.w5)((()=>[(0,i.Wm)(_,{collapse:"fade"},{default:(0,i.w5)((()=>[(0,i.Wm)(m,null,{default:(0,i.w5)((()=>[(0,i.Wm)(r,{slot:"start"},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{"default-href":o.pageDefaultBackLink},null,8,["default-href"])])),_:1}),(0,i.Wm)(c,{src:n.tainacanLogo,class:"header__tainacan-logo"},null,8,["src"]),(0,i.Wm)(r,{slot:"end"},{default:(0,i.w5)((()=>[(0,i.Wm)(d,{onClick:l.logOff,"aria-label":"Sair"},{default:(0,i.w5)((()=>[(0,i.Wm)(u,{slot:"icon-only",icon:n.logOutOutline},null,8,["icon"])])),_:1},8,["onClick"])])),_:1})])),_:1}),o.pageTitle?((0,i.wg)(),(0,i.j4)(m,{key:0},{default:(0,i.w5)((()=>[(0,i.Wm)(h,null,{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(o.pageTitle),1)])),_:1})])),_:1})):(0,i.kq)("",!0)])),_:1}),(0,i.Wm)(g,{fullscreen:"true"},{default:(0,i.w5)((()=>[(0,i.WI)(e.$slots,"default")])),_:3}),(0,i.Wm)(f,{"is-open":n.tainacanStore.errorStatus,message:e.$t(n.tainacanStore.errorMessage),duration:4e3,onDidDismiss:t[0]||(t[0]=t=>e.setOpen(!1)),color:"danger"},null,8,["is-open","message"])])),_:3})}var h=o(8903),_=o(8262),g=o(9669),f=o.n(g),w=o(3978),b=o(339);const I=new w.K,y=(0,_.Q_)("wp",{state(){return{userIsLoggedIn:!1,userSiteUrl:"",userLogin:"",userToken:"",authorizationURL:"",inAppBrowser:b.v}},actions:{async login(e,t,o){try{this.userIsLoggedIn=!0,this.userSiteUrl=e,this.userLogin=t,this.userToken=o,await I.set("userIsLoggedIn",!0),await I.set("userSiteUrl",e),await I.set("userLogin",t),await I.set("userToken",o)}catch(n){return this.userIsLoggedIn=!1,this.userSiteUrl="",this.userToken="",this.userLogin="",delete this.inAppBrowser,n}},async logoff(){try{this.userIsLoggedIn=!1,this.userSiteUrl="",this.userToken="",this.userToken="",delete this.inAppBrowser,await I.set("userIsLoggedIn",!1),await I.set("userSiteUrl",""),await I.set("userToken","")}catch(e){return this.userIsLoggedIn=!1,this.userSiteUrl="",this.userToken="",this.userToken="",delete this.inAppBrowser,e}},async fetchApplicationAuthorization(e){try{const t=e+"?rest_route=/",o=await f().get(t);if(!(o.data&&o.data.authentication&&o.data.authentication["application-passwords"]&&o.data.authentication["application-passwords"].endpoints&&o.data.authentication["application-passwords"].endpoints.authorization))return!1;this.authorizationURL=o.data.authentication["application-passwords"].endpoints.authorization}catch(t){return t}},async checkUserLogin(){await I.create(),this.userIsLoggedIn=await I.get("userIsLoggedIn"),this.userSiteUrl=await I.get("userSiteUrl"),this.userLogin=await I.get("userLogin"),this.userToken=await I.get("userToken")},createInAppBrowser(e="",t="location=no,fullscreen=no,zoom=no,hardwareback=yes"){let o=this.userSiteUrl+"/wp-admin/admin.php"+e;!this.userIsLoggedIn&&this.authorizationURL&&(o=this.authorizationURL+"?app_name=TainacanMobileApp&success_url="+o);const n=b.i.create(o,"_blank",t);this.inAppBrowser=n},openInAppBrowser(e){this.inAppBrowser&&this.inAppBrowser.executeScript||this.createInAppBrowser(e,"hidden=yes,location=no,fullscreen=no,zoom=no,hardwareback=yes");const t=`\n try {\n window.history.replaceState(\n null,\n null,\n '${this.userSiteUrl}/wp-admin/admin.php?page=tainacan_mobile_app'\n );\n window.history.pushState(\n null,\n null,\n '${this.userSiteUrl}/wp-admin/admin.php${e}'\n );\n window.history.go(0);\n } catch(err){\n //console.log('catch', err);\n }`;this.inAppBrowser.executeScript({code:t}),this.inAppBrowser.show()},hideInAppBrowser(){this.inAppBrowser&&this.inAppBrowser.hide&&this.inAppBrowser.hide()},listenEventInAppBrowser(e){this.inAppBrowser.on("message").subscribe(e),this.inAppBrowser.on("exit").subscribe((()=>{delete this.inAppBrowser})),this.inAppBrowser.on("loadstop").subscribe((e=>{if(e.url&&"string"==typeof e.url&&e.url.split("?")&&e.url.split("?").length>=2){const t=e.url.split("?")[1];t.indexOf("tainacan_mobile_app")>=0&&this.inAppBrowser.hide()}}))}}});o(2801);const A=(0,_.Q_)("tainacan",{state(){return{homeCollections:[],totalHomeCollections:0,homeItems:[],totalHomeItems:0,collections:[],totalCollections:0,collectionItems:[],totalCollectionItems:0,nextItemsByCollectionPage:1,items:[],nextItemsPage:1,totalItems:0,errorMessage:"",errorStatus:!1}},actions:{async fetchCollections(e){try{const t=y();let o=`${t.userSiteUrl}/wp-json/tainacan/v2/collections?`;const n=t.userLogin&&t.userToken?"Basic "+btoa(t.userLogin+":"+t.userToken):null;e&&e.perPage&&(o+="&perpage="+e.perPage),e&&e.orderBy&&(o+="&orderby="+e.orderBy);const i=await f().get(o,n?{headers:{authorization:n}}:{});this.collections=i.data,this.totalCollections=i.headers["x-wp-total"]}catch(t){return this.collections=[],this.totalCollections=0,this.errorMessage="error_label_fetch_collections",this.errorStatus=!0,t}},async fetchHomeCollections(){try{const e=y(),t=`${e.userSiteUrl}/wp-json/tainacan/v2/collections?perpage=4&orderby=modified`,o=e.userLogin&&e.userToken?"Basic "+btoa(e.userLogin+":"+e.userToken):null,n=await f().get(t,o?{headers:{authorization:o}}:{});this.homeCollections=n.data,this.totalHomeCollections=n.headers["x-wp-total"]}catch(e){return this.homeCollections=[],this.totalHomeCollections=0,this.errorMessage="error_label_fetch_collections",this.errorStatus=!0,e}},async fetchItemsByCollection(e,t){try{const o=y();let n=`${o.userSiteUrl}/wp-json/tainacan/v2/collection/${e}/items?context=edit&fetch_only=id,title,thumbnail`;const i=o.userLogin&&o.userToken?"Basic "+btoa(o.userLogin+":"+o.userToken):null;t&&t.perPage?n+="&perpage="+t.perPage:n+="&perpage=12",t&&t.orderBy?n+="&orderby="+t.orderBy:n+="&orderby=modified",t&&t.search&&""!==t.search&&(n+="&search="+t.search),t.reset&&(this.collectionItems=[],this.nextItemsByCollectionPage=1),n+="&paged="+this.nextItemsByCollectionPage;const a=await f().get(n,i?{headers:{authorization:i}}:{});this.collectionItems.push(...a.data.items),this.totalCollectionItems=a.headers["x-wp-total"],this.totalCollectionItems&&"0"!==this.totalCollectionItems&&this.nextItemsByCollectionPage++}catch(o){return this.collectionItems=[],this.totalCollectionItems=0,this.nextItemsByCollectionPage=1,this.errorMessage="error_label_fetch_items_collections",this.errorStatus=!0,!1}},async fetchHomeItems(){try{const e=y(),t=`${e.userSiteUrl}/wp-json/tainacan/v2/items?context=edit&fetch_only=id,title,thumbnail&perpage=12&orderby=modified`,o=e.userLogin&&e.userToken?"Basic "+btoa(e.userLogin+":"+e.userToken):null,n=await f().get(t,o?{headers:{authorization:o}}:{});this.homeItems=n.data.items,this.totalHomeItems=n.headers["x-wp-total"]}catch(e){return this.homeItems=[],this.totalHomeItems=0,this.errorMessage="error_label_fetch_items_collections",this.errorStatus=!0,e}},async fetchItems(e){try{const t=y();let o=`${t.userSiteUrl}/wp-json/tainacan/v2/items?context=edit&fetch_only=id,title,thumbnail`;const n=t.userLogin&&t.userToken?"Basic "+btoa(t.userLogin+":"+t.userToken):null;e&&e.perPage&&(o+="&perpage="+e.perPage),e&&e.orderBy&&(o+="&orderby="+e.orderBy),e&&e.search&&""!==e.search&&(o+="&search="+e.search),e.reset&&(this.items=[],this.nextItemsPage=1),o+="&paged="+this.nextItemsPage;const i=await f().get(o,n?{headers:{authorization:n}}:{});this.items.push(...i.data.items),this.totalItems=i.headers["x-wp-total"],this.totalItems&&"0"!==this.totalItems&&this.nextItemsPage++}catch(t){return this.items=[],this.totalItems=0,this.nextItemsPage=1,this.errorMessage="error_label_fetch_items",this.errorStatus=!0,t}},async deleteItem(e){try{const t=y(),o=`${t.userSiteUrl}/wp-json/tainacan/v2/items/${e}`,n=t.userLogin&&t.userToken?"Basic "+btoa(t.userLogin+":"+t.userToken):null,i=await f()["delete"](o,n?{headers:{authorization:n}}:{});if(i.data&&i.data.id){const e=this.items.indexOf((e=>e.id==i.data.id));e>=0&&this.items.splice(e,1);const t=this.homeItems.indexOf((e=>e.id==i.data.id));t>=0&&this.items.splice(t,1);const o=this.collectionItems.indexOf((e=>e.id==i.data.id));o>=0&&this.items.splice(o,1)}}catch(t){return this.errorMessage="error_delete_item",this.errorStatus=!0,t}}}});var S={props:["pageTitle","pageDefaultBackLink"],components:{IonPage:l._i,IonHeader:l.Gu,IonToolbar:l.sr,IonTitle:l.wd,IonContent:l.W2,IonIcon:l.gu,IonButton:l.YG,IonBackButton:l.oU,IonButtons:l.Sm,IonImg:l.Xz,IonToast:l.Px},setup(){const e=(0,i.Fl)((()=>o(6949)));let t=y(),n=A();return{tainacanLogo:e,wpStore:t,logOutOutline:h.euS,tainacanStore:n}},methods:{async logOff(){await this.wpStore.logoff(),this.$router.go()}}};const v=(0,c.Z)(S,[["render",m]]);var k=v;const C={key:0},L={key:1},B={key:2},U={key:0};function W(e,t,o,n,a,l){const s=(0,i.up)("ion-img"),r=(0,i.up)("ion-thumbnail"),c=(0,i.up)("ion-icon"),u=(0,i.up)("ion-label"),d=(0,i.up)("ion-radio"),m=(0,i.up)("ion-item");return(0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.collections,(t=>((0,i.wg)(),(0,i.j4)(m,{class:"collection-list-item",key:t.id,onClick:o=>e.isInSelectionMode?"":e.goToCollectionPage(t)},{default:(0,i.w5)((()=>[(0,i.Wm)(r,{slot:"start"},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{src:t.thumbnail&&t.thumbnail.thumbnail&&t.thumbnail.thumbnail[0]?t.thumbnail.thumbnail[0]:e.thumbnailPlaceholder,alt:t.name?t.name:e.$("label_collection_without_name")},null,8,["src","alt"])])),_:2},1024),(0,i.Wm)(u,null,{default:(0,i.w5)((()=>[(0,i._)("h2",null,[(0,i.Uk)((0,p.zw)(t.name?t.name:e.$t("label_collection_without_name"))+"  ",1),"private"===t.status?((0,i.wg)(),(0,i.iD)("span",C,[(0,i.Wm)(c,{icon:e.lockClosedOutline},null,8,["icon"])])):"draft"===t.status?((0,i.wg)(),(0,i.iD)("span",L,[(0,i.Wm)(c,{icon:e.readerOutline},null,8,["icon"])])):"trash"===t.status?((0,i.wg)(),(0,i.iD)("span",B,[(0,i.Wm)(c,{icon:e.trashOutline},null,8,["icon"])])):(0,i.kq)("",!0)]),t.total_items?((0,i.wg)(),(0,i.iD)("p",U,(0,p.zw)(e.$t("total_of_published_items",[t.total_items.publish])),1)):(0,i.kq)("",!0)])),_:2},1024),e.isInSelectionMode?((0,i.wg)(),(0,i.j4)(d,{key:0,slot:"end",value:t.id},null,8,["value"])):(0,i.kq)("",!0)])),_:2},1032,["onClick"])))),128)}var T=o(2119),x=(0,i.aZ)({props:["collections","isSelectionMode"],components:{IonItem:l.Ie,IonImg:l.Xz,IonThumbnail:l.Bs,IonLabel:l.Q$,IonIcon:l.gu,IonRadio:l.B7},setup(e){const t=(0,i.Fl)((()=>e.isSelectionMode)),n=(0,i.Fl)((()=>o(6445))),a=(0,T.tv)(),l=e=>{a.push({name:"collection",params:{id:e.id}})};return{thumbnailPlaceholder:n,lockClosedOutline:h.hkI,readerOutline:h.$1v,trashOutline:h.gtu,goToCollectionPage:l,isInSelectionMode:t}}});const H=(0,c.Z)(x,[["render",W]]);var j=H;function O(e,t,o,n,a,l){const s=(0,i.up)("ion-img"),r=(0,i.up)("ion-card-title"),c=(0,i.up)("ion-card-header"),u=(0,i.up)("ion-card"),d=(0,i.up)("ion-col"),m=(0,i.up)("ion-row");return(0,i.wg)(),(0,i.j4)(m,{class:"items-list-container"},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.items,(t=>((0,i.wg)(),(0,i.j4)(d,{size:"4",key:t.id},{default:(0,i.w5)((()=>[(0,i.Wm)(u,{onClick:o=>e.openActionSheet(t),button:"",color:"light"},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{src:t.thumbnail&&t.thumbnail["tainacan-medium"]&&t.thumbnail["tainacan-medium"][0]?t.thumbnail["tainacan-medium"][0]:e.thumbnailPlaceholder,alt:t.thumbnail_alt?t.thumbnail_alt:t.title?t.title:"Imagem de item sem título"},null,8,["src","alt"]),(0,i.Wm)(c,null,{default:(0,i.w5)((()=>[(0,i.Wm)(r,null,{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(t.title?t.title:e.$t("label_item_without_title")),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["onClick"])])),_:2},1024)))),128))])),_:1})}var P=o(2262),R=(0,i.aZ)({props:["items"],components:{IonCardHeader:l.Zi,IonRow:l.Nd,IonCol:l.wI,IonCard:l.PM,IonImg:l.Xz,IonCardTitle:l.Dq},setup(){const e=y(),t=A(),n=(0,i.Fl)((()=>o(6445))),a=(0,P.iH)({header:"",button1:"",button2:"",cancel:""}),s=e=>a.value=e,r=async e=>{const t=e;if(t.current_user_can_edit||t.current_user_can_delete){let e=[];t.current_user_can_edit&&e.push({text:a.value.button1,icon:h.rI1,data:"edit-item",handler:()=>{u(t)}}),t.current_user_can_delete&&e.push({text:a.value.button2,icon:h.UQi,data:"delete-item",handler:()=>{c(t)}}),e.push({text:a.value.cancel,role:"cancel"});let o={header:a.value.header,cssClass:"item-creation-action-sheet",buttons:e};const n=await l.BO.create(o);await n.present()}},c=function(e){t.deleteItem(e.id)},u=function(t){e.openInAppBrowser("?page=tainacan_admin&mobileAppMode=true#/collections/"+t.collection_id+"/items/"+t.id+"/edit"),e.listenEventInAppBrowser((t=>{t&&t.data&&"item_updated"===t.data.type&&t.data.item&&"auto-draft"!==t.data.item.status&&e.hideInAppBrowser()}))};return{thumbnailPlaceholder:n,wpStore:e,openItemEdition:u,setActionSheetLabels:s,openActionSheet:r}},async created(){this.setActionSheetLabels({header:this.$t("label_item_actions"),button1:this.$t("label_option_edit_item"),button2:this.$t("label_option_delete_item"),cancel:this.$t("label_cancel")})}});const D=(0,c.Z)(R,[["render",O]]);var z=D,M=o(1089);function Q(e,t,o,n,a,l){const s=(0,i.up)("ion-refresher-content"),r=(0,i.up)("ion-refresher"),c=(0,i.up)("ion-loading"),u=(0,i.up)("ion-list-header"),d=(0,i.up)("collections-list"),m=(0,i.up)("ion-list"),h=(0,i.up)("ion-icon"),_=(0,i.up)("ion-button"),g=(0,i.up)("items-list"),f=(0,i.up)("base-layout");return(0,i.wg)(),(0,i.j4)(f,null,{default:(0,i.w5)((()=>[(0,i.Wm)(r,{slot:"fixed",onIonRefresh:t[0]||(t[0]=e=>n.doRefresh(e))},{default:(0,i.w5)((()=>[(0,i.Wm)(s)])),_:1}),(0,i.Wm)(c,{"is-open":n.isLoading,message:e.$t("label_loading")},null,8,["is-open","message"]),(0,i.Wm)(m,null,{default:(0,i.w5)((()=>[(0,i.Wm)(u,null,{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(e.$t("label_last_modified_collections")),1)])),_:1}),(0,i.Wm)(d,{collections:n.tainacanStore.homeCollections},null,8,["collections"])])),_:1}),n.tainacanStore.homeCollections.length[(0,i.Uk)((0,p.zw)(e.$t("label_view_all_collections",[n.tainacanStore.totalHomeCollections]))+" ",1),(0,i.Wm)(h,{slot:"end",icon:n.arrowForwardOutline},null,8,["icon"])])),_:1})):(0,i.kq)("",!0),(0,i.Wm)(m,null,{default:(0,i.w5)((()=>[(0,i.Wm)(u,null,{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(e.$t("label_last_modified_items")),1)])),_:1}),(0,i.Wm)(g,{items:n.tainacanStore.homeItems},null,8,["items"]),n.tainacanStore.homeItems.length[(0,i.Uk)((0,p.zw)(e.$t("label_view_all_items",[n.tainacanStore.totalHomeItems]))+" ",1),(0,i.Wm)(h,{slot:"end",icon:n.arrowForwardOutline},null,8,["icon"])])),_:1})):(0,i.kq)("",!0)])),_:1})])),_:1})}var F={components:{IonIcon:l.gu,CollectionsList:j,ItemsList:z,BaseLayout:k,IonList:l.q_,IonListHeader:l.yh,IonButton:l.YG,IonLoading:l.wh,IonRefresher:l.nJ,IonRefresherContent:l.Wo},setup(){const e=(0,P.iH)(!1),t=t=>e.value=t,o=async()=>{await i.fetchHomeCollections(),await i.fetchHomeItems()},n=async e=>{await o(),e&&e.target&&e.target.complete()};let i=A();return{arrowForwardOutline:h.QzP,tainacanStore:i,isLoading:e,setIsLoading:t,loadCollectionsAndItems:o,doRefresh:n}},async created(){this.setIsLoading(!0),await this.loadCollectionsAndItems(),this.setIsLoading(!1)}};const E=(0,c.Z)(F,[["render",Q]]);var V=E;const N=(0,i._)("br",null,null,-1),Y=(0,i.Uk)(" Testes sem login ");function q(e,t,o,a,l,s){const r=(0,i.up)("ion-img"),c=(0,i.up)("ion-label"),u=(0,i.up)("ion-input"),d=(0,i.up)("ion-item"),m=(0,i.up)("ion-list"),h=(0,i.up)("ion-icon"),_=(0,i.up)("ion-button"),g=(0,i.up)("ion-col"),f=(0,i.up)("ion-row"),w=(0,i.up)("app-password-modal"),b=(0,i.up)("ion-content"),I=(0,i.up)("ion-page");return(0,i.wg)(),(0,i.j4)(I,null,{default:(0,i.w5)((()=>[(0,i.Wm)(b,{class:"login-form-content",fullscreen:""},{default:(0,i.w5)((()=>[(0,i.Wm)(f,{class:"ion-align-items-center ion-justify-content-center"},{default:(0,i.w5)((()=>[(0,i.Wm)(g,null,{default:(0,i.w5)((()=>[(0,i.Wm)(r,{class:"login-form-content__tainacan-logo",alt:"Logo Tainacan",src:a.image},null,8,["src"]),(0,i._)("form",{onSubmit:t[1]||(t[1]=(0,n.iM)(((...e)=>s.openLoginForm&&s.openLoginForm(...e)),["prevent"]))},[(0,i.Wm)(m,{class:"ion-no-margin",inset:""},{default:(0,i.w5)((()=>[(0,i.Wm)(d,null,{default:(0,i.w5)((()=>[(0,i.Wm)(c,{position:"floating"},{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(e.$t("label_site_url")),1)])),_:1}),(0,i.Wm)(u,{placeholder:e.$t("placeholder_site_url"),autofocus:"true",id:"siteUrl",type:"url",name:"siteUrl",modelValue:l.siteUrl,"onUpdate:modelValue":t[0]||(t[0]=e=>l.siteUrl=e),modelModifiers:{trim:!0},required:"true",autocomplete:"url",enterkeyhint:"next"},null,8,["placeholder","modelValue"])])),_:1})])),_:1}),N,(0,i.Wm)(_,{type:"submit",fill:"clear"},{default:(0,i.w5)((()=>[(0,i.Uk)((0,p.zw)(e.$t("label_access_archive"))+" ",1),(0,i.Wm)(h,{slot:"end",icon:a.arrowForwardOutline},null,8,["icon"])])),_:1}),(0,i.Wm)(_,{onClick:s.fakeLogin,color:"danger",fill:"clear"},{default:(0,i.w5)((()=>[Y,(0,i.Wm)(h,{slot:"end",icon:a.arrowForwardOutline},null,8,["icon"])])),_:1},8,["onClick"])],32)])),_:1})])),_:1}),(0,i.Wm)(w)])),_:1})])),_:1})}const X=(0,i._)("h1",null,"Application Passwords",-1),Z=(0,i._)("p",null,[(0,i._)("em",null,"Application passwords"),(0,i.Uk)(" are a safe way to peform operations without using your actual website password. To generate one, you must: "),(0,i._)("ol",null,[(0,i._)("li",null,[(0,i.Uk)("Open a web browser and login do your website traditional login page (usually "),(0,i._)("em",null,'"https://your-website.com.br/wp-admin"'),(0,i.Uk)(").")]),(0,i._)("li",null,"Go to your profile page by clicking on your picture in the upper right corner."),(0,i._)("li",null,'Scroll down to the "Application passwords" section. There should be a text input labelled "New name to the application password".'),(0,i._)("li",null,'Fill in the text input with any value to identify this password (you can have multiple), for example: "Tainacan Mobile".'),(0,i._)("li",null,'Click on the "Add new application password" button.')])],-1),J=(0,i._)("p",null,"With this steps completed, you will receive a code, that may look like this:",-1),$=(0,i._)("pre",null,[(0,i._)("code",null,"vlOh CdaH UqWw YV7X beou 6MFY")],-1),K=(0,i._)("p",null,[(0,i.Uk)("Copy this code and "),(0,i._)("strong",null,"keep it safe somewhere"),(0,i.Uk)(". You won't be able to access it later. Finally, paste it on this app login screen.")],-1),G=(0,i._)("p",null,"While it should be kept logged in, if you ever loose your access to the app, you can revogate the previous passwords and generate new ones in the same screen.",-1);function ee(e,t,o,n,a,l){const s=(0,i.up)("ion-content"),r=(0,i.up)("ion-modal");return(0,i.wg)(),(0,i.j4)(r,{ref:"modal",trigger:"open-explanation-modal","initial-breakpoint":.9,breakpoints:[0,.5,.75,1]},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{style:{"font-size":"0.9375rem",opacity:"0.85"},class:"ion-padding"},{default:(0,i.w5)((()=>[X,Z,J,$,K,G])),_:1})])),_:1},8,["initial-breakpoint","breakpoints"])}var te={components:{IonModal:l.ki,IonContent:l.W2},setup(){return{}}};const oe=(0,c.Z)(te,[["render",ee]]);var ne=oe,ie={props:["pageTitle","pageDefaultBackLink"],components:{IonIcon:l.gu,IonImg:l.Xz,IonPage:l._i,IonList:l.q_,IonItem:l.Ie,IonButton:l.YG,IonInput:l.pK,IonLabel:l.Q$,IonRow:l.Nd,IonCol:l.wI,IonContent:l.W2,AppPasswordModal:ne},data(){return{siteUrl:""}},setup(){const e=(0,i.Fl)((()=>o(9980)));let t=A(),n=y();return{image:e,tainacanStore:t,wpStore:n,arrowForwardOutline:h.QzP}},methods:{async openLoginForm(){this.wpStore.userSiteUrl=this.siteUrl,await this.wpStore.fetchApplicationAuthorization(this.siteUrl),this.wpStore.authorizationURL&&(this.wpStore.createInAppBrowser("?page=tainacan_mobile_app"),this.wpStore.inAppBrowser.on("loadstop").subscribe(this.handleBrowserLoadStop))},async handleBrowserLoadStop(e){if(e.url&&"string"==typeof e.url&&e.url.split("?")&&e.url.split("?").length>=2){const t=new URLSearchParams(e.url.split("?")[1]);if("tainacan_mobile_app"===t.get("page")){const e=t.get("user_login");let o=t.get("password");"string"==typeof o&&o.indexOf("#")>=0&&(o=o.split("#")[0]),e&&o&&(await this.wpStore.login(this.siteUrl,e,o),this.$router.push("/home")),this.wpStore.inAppBrowser.hide()}}},fakeLogin(){this.wpStore.login("https://rcteste.tainacan.org","",""),this.$router.push("/home")}}};const ae=(0,c.Z)(ie,[["render",q]]);var le=ae;const se={key:1,class:"results-not-found"};function re(e,t,o,n,a,l){const s=(0,i.up)("ion-refresher-content"),r=(0,i.up)("ion-refresher"),c=(0,i.up)("ion-searchbar"),u=(0,i.up)("ion-toolbar"),d=(0,i.up)("ion-loading"),m=(0,i.up)("ion-spinner"),h=(0,i.up)("items-list"),_=(0,i.up)("ion-infinite-scroll-content"),g=(0,i.up)("ion-infinite-scroll"),f=(0,i.up)("ion-icon"),w=(0,i.up)("ion-button"),b=(0,i.up)("base-layout");return(0,i.wg)(),(0,i.j4)(b,{"page-title":e.$t("label_collection_items_list"),"page-default-back-link":"/collections"},{default:(0,i.w5)((()=>[(0,i.Wm)(r,{slot:"fixed",onIonRefresh:t[0]||(t[0]=t=>e.doRefresh(t))},{default:(0,i.w5)((()=>[(0,i.Wm)(s)])),_:1}),(0,i.Wm)(u,null,{default:(0,i.w5)((()=>[(0,i.Wm)(c,{debounce:"500",placeholder:e.$t("label_search"),onIonChange:t[1]||(t[1]=t=>e.handleSearch(t))},null,8,["placeholder"])])),_:1}),(0,i.Wm)(d,{"is-open":e.isLoading,message:e.$t("label_loading")},null,8,["is-open","message"]),e.isSearching?((0,i.wg)(),(0,i.j4)(m,{key:0})):(0,i.kq)("",!0),e.isLoading||e.isSearching||e.tainacanStore.totalCollectionItems&&"0"!=e.tainacanStore.totalCollectionItems?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",se,[(0,i._)("span",null,(0,p.zw)(e.$t("label_no_results_found")),1)])),(0,i.Wm)(h,{items:e.tainacanStore.collectionItems},null,8,["items"]),(0,i.Wm)(g,{ref:"infiniteScroll",threshold:"5%",onIonInfinite:e.loadItemsByCollection},{default:(0,i.w5)((()=>[(0,i.Wm)(_)])),_:1},8,["onIonInfinite"]),(0,i.Wm)(w,{class:"add-items-button",color:"primary",onClick:t[2]||(t[2]=t=>e.openActionSheet())},{default:(0,i.w5)((()=>[(0,i.Wm)(f,{icon:e.add},null,8,["icon"]),(0,i.Uk)("  "+(0,p.zw)(e.$t("label_add_items")),1)])),_:1})])),_:1},8,["page-title"])}var ce=(0,i.aZ)({components:{BaseLayout:k,ItemsList:z,IonLoading:l.wh,IonRefresher:l.nJ,IonRefresherContent:l.Wo,IonIcon:l.gu,IonButton:l.YG,IonInfiniteScroll:l.ju,IonToolbar:l.sr,IonSearchbar:l.VI,IonSpinner:l.PQ,IonInfiniteScrollContent:l.MB},props:{id:String},setup(e){const t=(0,P.iH)(!1),o=(0,P.iH)(!1),n=(0,P.iH)(),i=(0,P.iH)(),a=e=>t.value=e,s=e=>o.value=e,r=e=>n.value=e,c=async(t,o)=>{await w.fetchItemsByCollection(e.id+"",{perPage:"12",orderBy:"modified",reset:o,search:n.value});let a=w.totalCollectionItems&&0!==w.totalCollectionItems;t&&t.target&&t.target.complete(),a||(i.value.$el.disabled=!0)},u=async()=>{await c(null,!0)},d=async e=>{let t=e&&e.detail&&e.detail.value;r(t),s(!0),""!==t?await c(null,!0):await u(),s(!1)},p=async e=>{await c({},!0),e&&e.target&&(e.target.complete(),i.value.$el.disabled=!1)},m=y(),_=(0,P.iH)({header:"",button1:"",button2:"",button3:"",cancel:""}),g=e=>_.value=e,f=async()=>{const t=await l.BO.create({header:_.value.header,cssClass:"item-creation-action-sheet",buttons:[{text:_.value.button3,icon:h.Pf6,data:"single item",handler:()=>{m.openInAppBrowser("?page=tainacan_admin&mobileAppMode=true#/collections/"+e.id+"/items/new"),m.listenEventInAppBrowser((e=>{e&&e.data&&"item_updated"===e.data.type&&e.data.item&&"auto-draft"!==e.data.item.status&&(m.hideInAppBrowser(),c({},!0))}))}},{text:_.value.cancel,role:"cancel"}]});await t.present()};let w=A();return{isLoading:t,isSearching:o,tainacanStore:w,wpStore:m,setIsLoading:a,loadItemsByCollection:c,doRefresh:p,openActionSheet:f,add:h.IHx,actionSheetLabels:_,setActionSheetLabels:g,infiniteScroll:i,handleSearch:d}},async created(){this.setActionSheetLabels({header:this.$t("info_create_items"),button1:this.$t("label_option_multiple_items"),button2:this.$t("label_option_multiple_attachments"),button3:this.$t("label_option_single_item"),cancel:this.$t("label_cancel")}),this.setIsLoading(!0),await this.loadItemsByCollection({},!0),this.setIsLoading(!1)}});const ue=(0,c.Z)(ce,[["render",re]]);var de=ue;function pe(e,t,o,n,a,l){const s=(0,i.up)("ion-loading"),r=(0,i.up)("ion-refresher-content"),c=(0,i.up)("ion-refresher"),u=(0,i.up)("collections-list"),d=(0,i.up)("ion-list"),p=(0,i.up)("base-layout");return(0,i.wg)(),(0,i.j4)(p,{"page-title":e.$t("label_collections_list"),"page-default-back-link":"/"},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{"is-open":n.isLoading,message:e.$t("label_loading")},null,8,["is-open","message"]),(0,i.Wm)(c,{slot:"fixed",onIonRefresh:t[0]||(t[0]=e=>n.doRefresh(e))},{default:(0,i.w5)((()=>[(0,i.Wm)(r)])),_:1}),(0,i.Wm)(d,null,{default:(0,i.w5)((()=>[(0,i.Wm)(u,{collections:n.tainacanStore.collections,"is-selection-mode":!1},null,8,["collections"])])),_:1})])),_:1},8,["page-title"])}var me={components:{CollectionsList:j,BaseLayout:k,IonLoading:l.wh,IonList:l.q_,IonRefresher:l.nJ,IonRefresherContent:l.Wo},setup(){const e=(0,P.iH)(!1),t=t=>e.value=t,o=async()=>{await i.fetchCollections({perPage:"24",orderBy:"modified"})},n=async e=>{await o(),e&&e.target&&e.target.complete()};let i=A();return{tainacanStore:i,isLoading:e,setIsLoading:t,doRefresh:n,loadCollections:o}},async created(){this.setIsLoading(!0),await this.loadCollections(),this.setIsLoading(!1)}};const he=(0,c.Z)(me,[["render",pe]]);var _e=he;const ge={key:1,class:"results-not-found"};function fe(e,t,o,n,a,l){const s=(0,i.up)("ion-loading"),r=(0,i.up)("ion-searchbar"),c=(0,i.up)("ion-toolbar"),u=(0,i.up)("ion-refresher-content"),d=(0,i.up)("ion-refresher"),m=(0,i.up)("ion-spinner"),h=(0,i.up)("items-list"),_=(0,i.up)("ion-infinite-scroll-content"),g=(0,i.up)("ion-infinite-scroll"),f=(0,i.up)("base-layout");return(0,i.wg)(),(0,i.j4)(f,{"page-title":e.$t("label_items_list"),"page-default-back-link":"/collections"},{default:(0,i.w5)((()=>[(0,i.Wm)(s,{"is-open":n.isLoading,message:e.$t("label_loading")},null,8,["is-open","message"]),(0,i.Wm)(c,null,{default:(0,i.w5)((()=>[(0,i.Wm)(r,{debounce:"500",placeholder:e.$t("label_search"),onIonChange:t[0]||(t[0]=e=>n.handleSearch(e))},null,8,["placeholder"])])),_:1}),(0,i.Wm)(d,{slot:"fixed",onIonRefresh:t[1]||(t[1]=e=>n.doRefresh(e))},{default:(0,i.w5)((()=>[(0,i.Wm)(u)])),_:1}),n.isSearching?((0,i.wg)(),(0,i.j4)(m,{key:0})):(0,i.kq)("",!0),n.isLoading||n.isSearching||n.tainacanStore.totalItems&&"0"!=n.tainacanStore.totalItems?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",ge,[(0,i._)("span",null,(0,p.zw)(e.$t("label_no_results_found")),1)])),(0,i.Wm)(h,{items:n.tainacanStore.items},null,8,["items"]),(0,i.Wm)(g,{ref:"infiniteScroll",threshold:"5%",onIonInfinite:n.loadItems},{default:(0,i.w5)((()=>[(0,i.Wm)(_)])),_:1},8,["onIonInfinite"])])),_:1},8,["page-title"])}var we={components:{IonLoading:l.wh,ItemsList:z,BaseLayout:k,IonRefresher:l.nJ,IonRefresherContent:l.Wo,IonInfiniteScroll:l.ju,IonToolbar:l.sr,IonSearchbar:l.VI,IonSpinner:l.PQ,IonInfiniteScrollContent:l.MB},setup(){const e=(0,P.iH)(!1),t=(0,P.iH)(!1),o=(0,P.iH)(),n=t=>e.value=t,i=e=>t.value=e,a=e=>o.value=e,l=(0,P.iH)(),s=async(e,t)=>{await d.fetchItems({perPage:"12",orderBy:"modified",reset:t,search:o.value});let n=d.totalItems&&0!==d.totalItems;e&&e.target&&e.target.complete(),n||(l.value.$el.disabled=!0)},r=async()=>{await s(null,!0)},c=async e=>{let t=e&&e.detail&&e.detail.value;a(t),i(!0),""!==t?(await s(null,!0),i(!1)):await r(),i(!1)},u=async e=>{await s({},!0),e&&e.target&&(e.target.complete(),l.value.$el.disabled=!1)};let d=A();return{isLoading:e,isSearching:t,setIsLoading:n,tainacanStore:d,doRefresh:u,loadItems:s,infiniteScroll:l,handleSearch:c}},async created(){this.setIsLoading(!0),await this.loadItems(),this.setIsLoading(!1)}};const be=(0,c.Z)(we,[["render",fe],["__scopeId","data-v-5ba64bfe"]]);var Ie=be;const ye=[{path:"/",redirect:"/home"},{path:"/home",component:V,name:"home"},{path:"/login",component:le,name:"login"},{path:"/collections/:id",component:de,name:"collection",props:!0},{path:"/collections",component:_e,name:"collections"},{path:"/items",component:Ie,name:"items"}],Ae=(0,M.p7)({history:(0,M.PO)("/"),routes:ye});Ae.beforeEach((async(e,t,o)=>{const n=y();await n.checkUserLogin(),"login"===e.name||n.userIsLoggedIn?o():o({name:"login"})}));var Se=Ae,ve=(o(8851),o(1292),o(1633),o(1045),o(6187),o(2299),o(3423),o(4687),o(9147),o(6250),o(3324));const ke={en:{collections:"Collections",label_view_all_collections:"View all {0} collections",items:"Items",label_view_all_items:"View all {0} items",label_loading:"Loading...",label_items_list:"Items list",label_collections_list:"Collections list",label_collection_items_list:"Collection items list",collection:"Collection",label_site_url:"Archive site URL",placeholder_site_url:"https://my-tainacan-archive.com",label_user_name:"User name",placeholder_user_name:"your user name",label_user_password:"User application password",placeholder_user_password:"your application password here",label_access_archive:"Access archive",label_item_without_title:"Item without title",label_collection_without_name:"Collection without name",total_of_published_items:"Total of {0} published items",label_last_modified_collections:"Last modified collections",label_last_modified_items:"Last modified itens",label_add_items:"Add items",info_create_items:"Create new items in this collection",label_option_multiple_items:"Multiple items from file selection",label_option_multiple_attachments:"Single item with document and attachments from file selection",label_option_single_item:"Single empty item",label_cancel:"Cancel",label_search:"Search",label_no_results_found:"No results found",info_application_password:"This password is not the same of your WordPress admin.",label_learn_more_here:"Learn more here",label_item_actions:"Item actions",label_option_edit_item:"Edit item",label_option_delete_item:"Send item to trash",error_label_fetch_collections:"Collections loading error",error_label_fetch_items_collections:"Items collections loading error",error_label_fetch_items:"Items loading error",error_delete_item:"Error while deleting item"},pt:{collections:"Coleções",label_view_all_collections:"Ver todas as {0} coleções",items:"Itens",label_view_all_items:"Ver todos os {0} itens",label_loading:"Carregando...",label_items_list:"Lista de itens",label_collections_list:"Lista de coleções",label_collection_items_list:"Lista de itens da coleção",collection:"Coleção",label_site_url:"URL do Site do Acervo",placeholder_site_url:"https://meu-acervo-tainacan.com",label_user_name:"Nome de usuário",placeholder_user_name:"seu nome de usuário aqui",label_user_password:"Senha do usuário da aplicação",placeholder_user_password:"sua senha de usuário da aplicação aqui",label_access_archive:"Acessar acervo",label_item_without_title:"Item sem título",label_collection_without_name:"Coleção sem nome",total_of_published_items:"Total de {0} itens públicos",label_last_modified_collections:"Coleções alteradas recentemente",label_last_modified_items:"Itens alterados recentemente",label_add_items:"Adicionar itens",info_create_items:"Crie novos itens nesta coleção",label_option_multiple_items:"Vários itens a partir de uma seleção de arquivos",label_option_multiple_attachments:"Um item com documento e anexos provenientes de ums seleção de aquivos",label_option_single_item:"Um item vazio",label_cancel:"Cancelar",label_search:"Buscar",label_no_results_found:"Nenhum resultado encontrado",info_application_password:"Esta senha não é a mesma do seu painel admin do WordPress.",label_learn_more_here:"Saiba mais aqui.",label_item_actions:"Ações para o item",label_option_edit_item:"Editar item",label_option_delete_item:"Enviar item para lixeira",error_label_fetch_collections:"Erro no carregamento das coleções",error_label_fetch_items_collections:"Erro no carregamento dos itens da coleção",error_label_fetch_items:"Erro no carregamento dos itens",error_delete_item:"Erro ao tentar remover item"}},Ce=(0,ve.o)({locale:"en",fallbackLocale:"en",messages:ke}),Le=(0,n.ri)(d).use(l.oX).use(Se).use((0,_.WB)()).use(Ce);Le.component("base-layout",k),Le.component("base-collectionlist",j),Le.component("base-itemlist",z),Se.isReady().then((()=>{Le.mount("#app")}))},6949:function(e,t,o){"use strict";e.exports=o.p+"img/logo.c406a55a.png"},9980:function(e,t,o){"use strict";e.exports=o.p+"img/logo_square.e3a150ee.png"},6445:function(e){"use strict";e.exports="data:image/png;base64,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"}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.m=e,function(){var e=[];o.O=function(t,n,i,a){if(!n){var l=1/0;for(u=0;u=a)&&Object.keys(o.O).every((function(e){return o.O[e](n[r])}))?n.splice(r--,1):(s=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,i,a]}}(),function(){o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,{a:t}),t}}(),function(){o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){o.f={},o.e=function(e){return Promise.all(Object.keys(o.f).reduce((function(t,n){return o.f[n](e,t),t}),[]))}}(),function(){o.u=function(e){return"js/"+e+"."+{78:"51f18a44",168:"c83a23ff",338:"fff3ebb3",544:"94817512",576:"a82798ee",753:"17d4d392",775:"c55644c6",880:"e288775e",961:"2fab5ec9",990:"cdf4956e"}[e]+".js"}}(),function(){o.miniCssF=function(e){}}(),function(){o.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="tainacan-mobile:";o.l=function(n,i,a,l){if(e[n])e[n].push(i);else{var s,r;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u [\n _createVNode(_component_ion_router_outlet)\n ]),\n _: 1\n }))\n}","\nimport { IonApp, IonRouterOutlet } from \"@ionic/vue\";\nimport { defineComponent } from \"vue\";\nimport { Device, DevicePlugin } from \"@capacitor/device\";\n\nexport default defineComponent({\n name: \"App\",\n components: {\n IonApp,\n IonRouterOutlet,\n },\n mounted() {\n const device: DevicePlugin = Device;\n device.getLanguageCode().then((res) => {\n if (res.value.includes(\"-\")) {\n const language = res.value.split(\"-\")[0];\n this.$i18n.locale = language;\n } else {\n this.$i18n.locale = res.value;\n }\n });\n },\n});\n","import { render } from \"./App.vue?vue&type=template&id=0acec4fa&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_back_button = _resolveComponent(\"ion-back-button\")!\n const _component_ion_buttons = _resolveComponent(\"ion-buttons\")!\n const _component_ion_img = _resolveComponent(\"ion-img\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_title = _resolveComponent(\"ion-title\")!\n const _component_ion_header = _resolveComponent(\"ion-header\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n const _component_ion_toast = _resolveComponent(\"ion-toast\")!\n const _component_ion_page = _resolveComponent(\"ion-page\")!\n\n return (_openBlock(), _createBlock(_component_ion_page, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_header, { collapse: \"fade\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_toolbar, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_buttons, { slot: \"start\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_back_button, { \"default-href\": $props.pageDefaultBackLink }, null, 8, [\"default-href\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_img, {\n src: $setup.tainacanLogo,\n class: \"header__tainacan-logo\"\n }, null, 8, [\"src\"]),\n _createVNode(_component_ion_buttons, { slot: \"end\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_button, {\n onClick: $options.logOff,\n \"aria-label\": \"Sair\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_icon, {\n slot: \"icon-only\",\n icon: $setup.logOutOutline\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n ($props.pageTitle)\n ? (_openBlock(), _createBlock(_component_ion_toolbar, { key: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_title, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString($props.pageTitle), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_content, { fullscreen: \"true\" }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }),\n _createVNode(_component_ion_toast, {\n \"is-open\": $setup.tainacanStore.errorStatus,\n message: _ctx.$t($setup.tainacanStore.errorMessage),\n duration: 4000,\n onDidDismiss: _cache[0] || (_cache[0] = ($event: any) => (_ctx.setOpen(false))),\n color: \"danger\"\n }, null, 8, [\"is-open\", \"message\"])\n ]),\n _: 3\n }))\n}","import { defineStore } from \"pinia\";\nimport axios from \"axios\";\nimport { Storage } from \"@ionic/storage\";\nimport {\n InAppBrowser,\n InAppBrowserObject,\n} from \"@awesome-cordova-plugins/in-app-browser/index\";\n\nconst store = new Storage();\n\nconst useWpStore = defineStore(\"wp\", {\n state() {\n return {\n userIsLoggedIn: false,\n userSiteUrl: \"\",\n userLogin: \"\",\n userToken: \"\",\n authorizationURL: \"\",\n inAppBrowser: InAppBrowserObject,\n };\n },\n\n actions: {\n async login(userSiteUrl: string, userLogin: string, userToken: string) {\n try {\n this.userIsLoggedIn = true;\n this.userSiteUrl = userSiteUrl;\n this.userLogin = userLogin;\n this.userToken = userToken;\n await store.set(\"userIsLoggedIn\", true);\n await store.set(\"userSiteUrl\", userSiteUrl);\n await store.set(\"userLogin\", userLogin);\n await store.set(\"userToken\", userToken);\n } catch (err) {\n this.userIsLoggedIn = false;\n this.userSiteUrl = \"\";\n this.userToken = \"\";\n this.userLogin = \"\";\n delete this.inAppBrowser;\n //console.error(\"Erro no login:\", err);\n return err;\n }\n },\n async logoff() {\n try {\n this.userIsLoggedIn = false;\n this.userSiteUrl = \"\";\n this.userToken = \"\";\n this.userToken = \"\";\n delete this.inAppBrowser;\n await store.set(\"userIsLoggedIn\", false);\n await store.set(\"userSiteUrl\", \"\");\n await store.set(\"userToken\", \"\");\n } catch (err) {\n this.userIsLoggedIn = false;\n this.userSiteUrl = \"\";\n this.userToken = \"\";\n this.userToken = \"\";\n delete this.inAppBrowser;\n //console.error(\"Erro no logoff:\", err);\n return err;\n }\n },\n async fetchApplicationAuthorization(siteUrl: string) {\n try {\n const endpoint = siteUrl + \"?rest_route=/\";\n const response = await axios.get(endpoint);\n\n if (\n response.data &&\n response.data.authentication &&\n response.data.authentication[\"application-passwords\"] &&\n response.data.authentication[\"application-passwords\"].endpoints &&\n response.data.authentication[\"application-passwords\"].endpoints\n .authorization\n )\n this.authorizationURL =\n response.data.authentication[\n \"application-passwords\"\n ].endpoints.authorization;\n else return false;\n } catch (err) {\n //console.error(\"Error trying to fetch application authorization\");\n return err;\n }\n },\n async checkUserLogin() {\n await store.create();\n this.userIsLoggedIn = await store.get(\"userIsLoggedIn\");\n this.userSiteUrl = await store.get(\"userSiteUrl\");\n this.userLogin = await store.get(\"userLogin\");\n this.userToken = await store.get(\"userToken\");\n },\n createInAppBrowser(url = '',extraParams = 'location=no,fullscreen=no,zoom=no,hardwareback=yes') {\n let tainacanAdminUrl = this.userSiteUrl + \"/wp-admin/admin.php\" + url;\n if (!this.userIsLoggedIn && this.authorizationURL) \n tainacanAdminUrl = this.authorizationURL + \"?app_name=TainacanMobileApp&success_url=\" + tainacanAdminUrl;\n \n const anInAppBrowser = InAppBrowser.create(tainacanAdminUrl, '_blank', extraParams);\n this.inAppBrowser = anInAppBrowser;\n },\n openInAppBrowser(url: string) {\n\n if (!this.inAppBrowser || !this.inAppBrowser.executeScript)\n this.createInAppBrowser(url, 'hidden=yes,location=no,fullscreen=no,zoom=no,hardwareback=yes');\n\n const urlRedirectionScript = `\n try {\n window.history.replaceState(\n null,\n null,\n '${this.userSiteUrl}/wp-admin/admin.php?page=tainacan_mobile_app'\n );\n window.history.pushState(\n null,\n null,\n '${this.userSiteUrl}/wp-admin/admin.php${url}'\n );\n window.history.go(0);\n } catch(err){\n //console.log('catch', err);\n }`;\n this.inAppBrowser.executeScript({ code: urlRedirectionScript });\n \n this.inAppBrowser.show();\n },\n hideInAppBrowser() {\n if (this.inAppBrowser && this.inAppBrowser.hide)\n this.inAppBrowser.hide();\n },\n listenEventInAppBrowser(event: any) {\n this.inAppBrowser.on('message').subscribe(event);\n this.inAppBrowser.on('exit').subscribe(() => {\n delete this.inAppBrowser;\n });\n this.inAppBrowser.on(\"loadstop\").subscribe((event: any) => {\n if (\n event.url &&\n typeof event.url == \"string\" &&\n event.url.split(\"?\") &&\n event.url.split(\"?\").length >= 2\n ) {\n const params = event.url.split(\"?\")[1];\n if ( params.indexOf(\"tainacan_mobile_app\") >= 0)\n this.inAppBrowser.hide(); \n }\n });\n }\n },\n});\nexport { useWpStore };\n","import axios from \"axios\";\nimport { defineStore } from \"pinia\";\nimport { useWpStore } from \"./storeWp\";\n\nconst useTainacanStore = defineStore(\"tainacan\", {\n state() {\n return {\n homeCollections: [],\n totalHomeCollections: 0,\n homeItems: [],\n totalHomeItems: 0,\n collections: [],\n totalCollections: 0,\n collectionItems: [],\n totalCollectionItems: 0,\n nextItemsByCollectionPage: 1,\n items: [],\n nextItemsPage: 1,\n totalItems: 0,\n errorMessage: \"\",\n errorStatus: false\n };\n },\n\n actions: {\n async fetchCollections(params: { perPage: string, orderBy: string }) {\n try {\n const wpStore = useWpStore();\n\n let endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/collections?`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n if (params && params.perPage)\n endpoint += '&perpage=' + params.perPage;\n \n if (params && params.orderBy)\n endpoint += '&orderby=' + params.orderBy;\n\n const response = await axios.get(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n\n this.collections = response.data;\n this.totalCollections = response.headers['x-wp-total'];\n\n } catch (err) {\n this.collections = [];\n this.totalCollections = 0;\n this.errorMessage = \"error_label_fetch_collections\";\n this.errorStatus = true;\n // console.error(\"Collections loading error: \", err);\n return err;\n }\n },\n\n async fetchHomeCollections() {\n try {\n const wpStore = useWpStore();\n\n const endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/collections?perpage=4&orderby=modified`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n const response = await axios.get(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n\n this.homeCollections = response.data;\n this.totalHomeCollections = response.headers['x-wp-total'];\n\n } catch (err) {\n this.homeCollections = [];\n this.totalHomeCollections = 0;\n this.errorMessage = \"error_label_fetch_collections\";\n this.errorStatus = true;\n //console.error(\"Home collections loading error: \", err);\n return err;\n }\n },\n\n async fetchItemsByCollection(collectionId: string, params: { perPage: string, orderBy: string, reset?: boolean, search?: string }) {\n try {\n const wpStore = useWpStore();\n\n let endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/collection/${collectionId}/items?context=edit&fetch_only=id,title,thumbnail`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n if (params && params.perPage)\n endpoint += '&perpage=' + params.perPage;\n else\n endpoint += '&perpage=12';\n \n if (params && params.orderBy)\n endpoint += '&orderby=' + params.orderBy;\n else\n endpoint += '&orderby=modified';\n\n if (params && params.search && params.search !== '')\n endpoint += '&search=' + params.search\n \n if (params.reset) {\n this.collectionItems = [];\n this.nextItemsByCollectionPage = 1;\n }\n\n endpoint += '&paged=' + this.nextItemsByCollectionPage;\n \n const response = await axios.get(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n\n this.collectionItems.push(...response.data.items);\n this.totalCollectionItems = response.headers['x-wp-total'];\n\n if (this.totalCollectionItems && this.totalCollectionItems !== \"0\") {\n this.nextItemsByCollectionPage++;\n } \n\n } catch (err) {\n this.collectionItems = [];\n this.totalCollectionItems = 0;\n this.nextItemsByCollectionPage = 1;\n this.errorMessage = \"error_label_fetch_items_collections\";\n this.errorStatus = true;\n //console.error(\"Items collections loading error: \", err);\n return false;\n }\n },\n\n async fetchHomeItems() {\n try {\n const wpStore = useWpStore();\n const endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/items?context=edit&fetch_only=id,title,thumbnail&perpage=12&orderby=modified`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n const response = await axios.get(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n\n this.homeItems = response.data.items;\n this.totalHomeItems = response.headers['x-wp-total'];\n \n } catch (err) {\n this.homeItems = [];\n this.totalHomeItems = 0;\n this.errorMessage = \"error_label_fetch_items_collections\";\n this.errorStatus = true;\n //console.error(\"Items collections loading error: \", err);\n return err;\n }\n },\n\n async fetchItems(params: { perPage: string, orderBy: string, reset?: boolean, search?: string }) {\n try {\n const wpStore = useWpStore();\n \n let endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/items?context=edit&fetch_only=id,title,thumbnail`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n if (params && params.perPage)\n endpoint += '&perpage=' + params.perPage;\n\n if (params && params.orderBy)\n endpoint += '&orderby=' + params.orderBy;\n\n if (params && params.search && params.search !== '')\n endpoint += '&search=' + params.search\n \n if (params.reset) {\n this.items = [];\n this.nextItemsPage = 1;\n }\n\n endpoint += '&paged=' + this.nextItemsPage;\n\n const response = await axios.get(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n \n this.items.push(...response.data.items);\n this.totalItems = response.headers['x-wp-total'];\n\n if (this.totalItems && this.totalItems !== \"0\") {\n this.nextItemsPage++;\n } \n\n } catch (err) {\n this.items = [];\n this.totalItems = 0;\n this.nextItemsPage = 1;\n this.errorMessage = \"error_label_fetch_items\";\n this.errorStatus = true;\n //console.error(\"Items loading error: \", err);\n return err;\n }\n },\n\n async deleteItem(itemId: string|number) {\n try {\n const wpStore = useWpStore();\n \n const endpoint = `${wpStore.userSiteUrl}/wp-json/tainacan/v2/items/${itemId}`;\n const authorization = (wpStore.userLogin && wpStore.userToken) ? ('Basic ' + btoa(wpStore.userLogin + ':' + wpStore.userToken)) : null;\n\n const response = await axios.delete(endpoint, authorization ? {\n headers: {\n authorization: authorization\n }\n } : {});\n \n if (response.data && response.data.id) {\n const existingItemIndex = this.items.indexOf((anItem: any) => anItem.id == response.data.id);\n if (existingItemIndex >= 0)\n this.items.splice(existingItemIndex, 1);\n\n const existingHomeItemIndex = this.homeItems.indexOf((anItem: any) => anItem.id == response.data.id);\n if (existingHomeItemIndex >= 0)\n this.items.splice(existingHomeItemIndex, 1);\n\n const existingCollectionItemIndex = this.collectionItems.indexOf((anItem: any) => anItem.id == response.data.id);\n if (existingCollectionItemIndex >= 0)\n this.items.splice(existingCollectionItemIndex, 1);\n }\n\n } catch (err) {\n //console.error(\"Erro ao deletar item:\", err);\n this.errorMessage = \"error_delete_item\";\n this.errorStatus = true;\n\n return err;\n }\n }\n },\n});\nexport { useTainacanStore };","\nimport { logOutOutline } from \"ionicons/icons\";\nimport { \n useWpStore\n} from '../../store/storeWp';\n\nimport {\n IonPage,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonContent,\n IonIcon,\n IonBackButton,\n IonButton,\n IonButtons,\n IonImg,\n IonToast\n} from '@ionic/vue';\nimport { computed } from 'vue';\nimport { useTainacanStore } from '@/store/storeTainacan';\n\nexport default {\n props: ['pageTitle', 'pageDefaultBackLink'],\n components: {\n IonPage,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonContent,\n IonIcon,\n IonButton,\n IonBackButton,\n IonButtons,\n IonImg,\n IonToast\n },\n setup(){\n const tainacanLogo = computed (() => require('../../assets/logo.png'))\n let wpStore = useWpStore();\n let tainacanStore = useTainacanStore();\n\n return {\n tainacanLogo,\n wpStore,\n logOutOutline,\n tainacanStore\n } \n },\n methods: {\n async logOff(){\n await this.wpStore.logoff();\n this.$router.go();\n }\n }\n}\n","import { render } from \"./BaseLayout.vue?vue&type=template&id=ca314930&ts=true\"\nimport script from \"./BaseLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./BaseLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./BaseLayout.vue?vue&type=style&index=0&id=ca314930&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = { key: 2 }\nconst _hoisted_4 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_img = _resolveComponent(\"ion-img\")!\n const _component_ion_thumbnail = _resolveComponent(\"ion-thumbnail\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_label = _resolveComponent(\"ion-label\")!\n const _component_ion_radio = _resolveComponent(\"ion-radio\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n\n return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.collections, (collection) => {\n return (_openBlock(), _createBlock(_component_ion_item, {\n class: \"collection-list-item\",\n key: collection.id,\n onClick: ($event: any) => (!_ctx.isInSelectionMode ? _ctx.goToCollectionPage(collection) : '')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_thumbnail, { slot: \"start\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_img, {\n src: (collection.thumbnail && collection.thumbnail.thumbnail && collection.thumbnail.thumbnail[0]) ? collection.thumbnail.thumbnail[0] : _ctx.thumbnailPlaceholder,\n alt: collection.name ? collection.name : _ctx.$('label_collection_without_name')\n }, null, 8, [\"src\", \"alt\"])\n ]),\n _: 2\n }, 1024),\n _createVNode(_component_ion_label, null, {\n default: _withCtx(() => [\n _createElementVNode(\"h2\", null, [\n _createTextVNode(_toDisplayString(collection.name ? collection.name : _ctx.$t('label_collection_without_name')) + \"  \", 1),\n (collection.status === 'private')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, [\n _createVNode(_component_ion_icon, { icon: _ctx.lockClosedOutline }, null, 8, [\"icon\"])\n ]))\n : (collection.status === 'draft')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n _createVNode(_component_ion_icon, { icon: _ctx.readerOutline }, null, 8, [\"icon\"])\n ]))\n : (collection.status === 'trash')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, [\n _createVNode(_component_ion_icon, { icon: _ctx.trashOutline }, null, 8, [\"icon\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (collection.total_items)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(_ctx.$t('total_of_published_items', [collection.total_items.publish])), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024),\n (_ctx.isInSelectionMode)\n ? (_openBlock(), _createBlock(_component_ion_radio, {\n key: 0,\n slot: \"end\",\n value: collection.id\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1032, [\"onClick\"]))\n }), 128))\n}","\nimport {\n IonItem,\n IonImg,\n IonThumbnail,\n IonLabel,\n IonIcon,\n IonRadio\n} from '@ionic/vue';\nimport { useRouter } from \"vue-router\";\nimport { lockClosedOutline, readerOutline, trashOutline } from 'ionicons/icons';\nimport { computed, defineComponent } from 'vue';\n\nexport default defineComponent({\n props: [\n \"collections\",\n \"isSelectionMode\"\n ],\n components: {\n IonItem,\n IonImg,\n IonThumbnail,\n IonLabel,\n IonIcon,\n IonRadio\n },\n setup(props) {\n const isInSelectionMode = computed(() => props.isSelectionMode);\n const thumbnailPlaceholder = computed (() => require('../../assets/placeholder_square_small.png'))\n const router = useRouter();\n const goToCollectionPage = (collection: any) => {\n router.push({\n name: 'collection',\n params: {\n id: collection.id\n },\n });\n }\n return {\n thumbnailPlaceholder,\n lockClosedOutline,\n readerOutline,\n trashOutline,\n goToCollectionPage,\n isInSelectionMode\n }\n },\n})\n","import { render } from \"./CollectionsList.vue?vue&type=template&id=cb174d0e&ts=true\"\nimport script from \"./CollectionsList.vue?vue&type=script&lang=ts\"\nexport * from \"./CollectionsList.vue?vue&type=script&lang=ts\"\n\nimport \"./CollectionsList.vue?vue&type=style&index=0&id=cb174d0e&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_img = _resolveComponent(\"ion-img\")!\n const _component_ion_card_title = _resolveComponent(\"ion-card-title\")!\n const _component_ion_card_header = _resolveComponent(\"ion-card-header\")!\n const _component_ion_card = _resolveComponent(\"ion-card\")!\n const _component_ion_col = _resolveComponent(\"ion-col\")!\n const _component_ion_row = _resolveComponent(\"ion-row\")!\n\n return (_openBlock(), _createBlock(_component_ion_row, { class: \"items-list-container\" }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item) => {\n return (_openBlock(), _createBlock(_component_ion_col, {\n size: \"4\",\n key: item.id\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_card, {\n onClick: ($event: any) => (_ctx.openActionSheet(item)),\n button: \"\",\n color: \"light\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_img, {\n src: (item.thumbnail && item.thumbnail['tainacan-medium'] && item.thumbnail['tainacan-medium'][0]) ? item.thumbnail['tainacan-medium'][0] : _ctx.thumbnailPlaceholder,\n alt: (item.thumbnail_alt ? item.thumbnail_alt : (item.title ? item.title : 'Imagem de item sem título'))\n }, null, 8, [\"src\", \"alt\"]),\n _createVNode(_component_ion_card_header, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_card_title, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.title ? item.title : _ctx.$t('label_item_without_title')), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1032, [\"onClick\"])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }))\n}","\nimport {\n IonCardHeader,\n IonRow,\n IonCol,\n IonCard,\n IonImg,\n IonCardTitle,\n actionSheetController,\n ActionSheetButton\n} from '@ionic/vue';\nimport { pencil, trashBin } from \"ionicons/icons\";\nimport { computed, ref, defineComponent } from 'vue';\nimport { useWpStore } from '@/store/storeWp';\nimport { useTainacanStore } from '@/store/storeTainacan';\nimport { InAppBrowserEvent } from '@awesome-cordova-plugins/in-app-browser';\n\nexport default defineComponent({\n props: [\n \"items\"\n ],\n components: {\n IonCardHeader,\n IonRow,\n IonCol,\n IonCard,\n IonImg,\n IonCardTitle\n },\n setup() {\n const wpStore = useWpStore();\n const tainacanStore = useTainacanStore();\n const thumbnailPlaceholder = computed (() => require('../../assets/placeholder_square_small.png'));\n \n const actionSheetLabels = ref({\n header: '',\n button1: '',\n button2: '',\n cancel: ''\n });\n const setActionSheetLabels = (newLabels: any) => actionSheetLabels.value = newLabels;\n const openActionSheet = async (event: any) => {\n const item = event;\n \n if (item.current_user_can_edit || item.current_user_can_delete) {\n\n let actionSheetButtons: ActionSheetButton[] = [];\n\n if (item.current_user_can_edit)\n actionSheetButtons.push({\n text: actionSheetLabels.value.button1,\n icon: pencil,\n data: 'edit-item', \n handler: () => {\n openItemEdition(item);\n },\n });\n\n if (item.current_user_can_delete)\n actionSheetButtons.push({\n text: actionSheetLabels.value.button2,\n icon: trashBin,\n data: 'delete-item', \n handler: () => {\n deleteItem(item);\n }\n });\n\n actionSheetButtons.push({\n text: actionSheetLabels.value.cancel,\n role: 'cancel'\n });\n\n let actionSheetOptions = {\n header: actionSheetLabels.value.header,\n cssClass: 'item-creation-action-sheet',\n buttons: actionSheetButtons\n };\n\n const actionSheet = await actionSheetController.create(actionSheetOptions);\n await actionSheet.present();\n }\n }\n const deleteItem = function(item: any) {\n tainacanStore.deleteItem(item.id);\n }\n const openItemEdition = function(item: any) {\n wpStore.openInAppBrowser('?page=tainacan_admin&mobileAppMode=true#/collections/' + item.collection_id + '/items/' + item.id + '/edit');\n wpStore.listenEventInAppBrowser((event: InAppBrowserEvent) => {\n if (event &&\n event.data &&\n event.data.type === 'item_updated' &&\n event.data.item &&\n event.data.item.status !== 'auto-draft'\n ) {\n wpStore.hideInAppBrowser();\n }\n });\n }\n \n return { thumbnailPlaceholder, wpStore, openItemEdition, setActionSheetLabels, openActionSheet }\n },\n async created() {\n this.setActionSheetLabels({\n header: this.$t('label_item_actions'),\n button1: this.$t('label_option_edit_item'),\n button2: this.$t('label_option_delete_item'),\n cancel: this.$t('label_cancel')\n });\n }\n});\n","import { render } from \"./ItemsList.vue?vue&type=template&id=9ba821d8&ts=true\"\nimport script from \"./ItemsList.vue?vue&type=script&lang=ts\"\nexport * from \"./ItemsList.vue?vue&type=script&lang=ts\"\n\nimport \"./ItemsList.vue?vue&type=style&index=0&id=9ba821d8&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_refresher_content = _resolveComponent(\"ion-refresher-content\")!\n const _component_ion_refresher = _resolveComponent(\"ion-refresher\")!\n const _component_ion_loading = _resolveComponent(\"ion-loading\")!\n const _component_ion_list_header = _resolveComponent(\"ion-list-header\")!\n const _component_collections_list = _resolveComponent(\"collections-list\")!\n const _component_ion_list = _resolveComponent(\"ion-list\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_items_list = _resolveComponent(\"items-list\")!\n const _component_base_layout = _resolveComponent(\"base-layout\")!\n\n return (_openBlock(), _createBlock(_component_base_layout, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher, {\n slot: \"fixed\",\n onIonRefresh: _cache[0] || (_cache[0] = ($event: any) => ($setup.doRefresh($event)))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher_content)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_loading, {\n \"is-open\": $setup.isLoading,\n message: _ctx.$t('label_loading')\n }, null, 8, [\"is-open\", \"message\"]),\n _createVNode(_component_ion_list, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_list_header, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('label_last_modified_collections')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_collections_list, {\n collections: $setup.tainacanStore.homeCollections\n }, null, 8, [\"collections\"])\n ]),\n _: 1\n }),\n ($setup.tainacanStore.homeCollections.length < $setup.tainacanStore.totalHomeCollections)\n ? (_openBlock(), _createBlock(_component_ion_button, {\n key: 0,\n fill: \"clear\",\n size: \"small\",\n routerLink: \"/collections\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('label_view_all_collections', [$setup.tainacanStore.totalHomeCollections])) + \" \", 1),\n _createVNode(_component_ion_icon, {\n slot: \"end\",\n icon: $setup.arrowForwardOutline\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ion_list, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_list_header, null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('label_last_modified_items')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_items_list, {\n items: $setup.tainacanStore.homeItems\n }, null, 8, [\"items\"]),\n ($setup.tainacanStore.homeItems.length < $setup.tainacanStore.totalHomeItems)\n ? (_openBlock(), _createBlock(_component_ion_button, {\n key: 0,\n fill: \"clear\",\n size: \"small\",\n routerLink: \"/items\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('label_view_all_items', [$setup.tainacanStore.totalHomeItems])) + \" \", 1),\n _createVNode(_component_ion_icon, {\n slot: \"end\",\n icon: $setup.arrowForwardOutline\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n}","\nimport {\n useTainacanStore\n} from '../store/storeTainacan';\nimport { ref } from 'vue';\n\nimport CollectionsList from '@/components/lists/CollectionsList.vue';\nimport ItemsList from '@/components/lists/ItemsList.vue';\nimport BaseLayout from '@/components/base/BaseLayout.vue';\nimport { arrowForwardOutline } from \"ionicons/icons\";\nimport {\n IonIcon,\n IonButton,\n IonLoading,\n IonList,\n IonListHeader,\n IonRefresher,\n IonRefresherContent\n} from '@ionic/vue';\n\nexport default {\n components: {\n IonIcon,\n CollectionsList,\n ItemsList,\n BaseLayout,\n IonList,\n IonListHeader,\n IonButton,\n IonLoading,\n IonRefresher,\n IonRefresherContent\n },\n setup() {\n const isLoading = ref(false);\n const setIsLoading = (state: boolean) => isLoading.value = state;\n const loadCollectionsAndItems = async () => {\n await tainacanStore.fetchHomeCollections();\n await tainacanStore.fetchHomeItems();\n }\n const doRefresh = async (event: any) => {\n await loadCollectionsAndItems();\n if (event && event.target)\n event.target.complete();\n }\n\n let tainacanStore = useTainacanStore();\n\n return {\n arrowForwardOutline,\n tainacanStore,\n isLoading,\n setIsLoading,\n loadCollectionsAndItems,\n doRefresh\n }\n },\n async created() {\n this.setIsLoading(true);\n await this.loadCollectionsAndItems();\n this.setIsLoading(false);\n }\n}\n\n","import { render } from \"./HomePage.vue?vue&type=template&id=34221c58&ts=true\"\nimport script from \"./HomePage.vue?vue&type=script&lang=ts\"\nexport * from \"./HomePage.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, withModifiers as _withModifiers, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\" Testes sem login \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_img = _resolveComponent(\"ion-img\")!\n const _component_ion_label = _resolveComponent(\"ion-label\")!\n const _component_ion_input = _resolveComponent(\"ion-input\")!\n const _component_ion_item = _resolveComponent(\"ion-item\")!\n const _component_ion_list = _resolveComponent(\"ion-list\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_ion_col = _resolveComponent(\"ion-col\")!\n const _component_ion_row = _resolveComponent(\"ion-row\")!\n const _component_app_password_modal = _resolveComponent(\"app-password-modal\")!\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n const _component_ion_page = _resolveComponent(\"ion-page\")!\n\n return (_openBlock(), _createBlock(_component_ion_page, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_content, {\n class: \"login-form-content\",\n fullscreen: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_row, { class: \"ion-align-items-center ion-justify-content-center\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_col, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_img, {\n class: \"login-form-content__tainacan-logo\",\n alt: \"Logo Tainacan\",\n src: $setup.image\n }, null, 8, [\"src\"]),\n _createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = _withModifiers(\n//@ts-ignore\n(...args) => ($options.openLoginForm && $options.openLoginForm(...args)), [\"prevent\"]))\n }, [\n _createVNode(_component_ion_list, {\n class: \"ion-no-margin\",\n inset: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_item, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_label, { position: \"floating\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"label_site_url\")), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_input, {\n placeholder: _ctx.$t('placeholder_site_url'),\n autofocus: \"true\",\n id: \"siteUrl\",\n type: \"url\",\n name: \"siteUrl\",\n modelValue: $data.siteUrl,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (($data.siteUrl) = $event)),\n modelModifiers: { trim: true },\n required: \"true\",\n autocomplete: \"url\",\n enterkeyhint: \"next\"\n }, null, 8, [\"placeholder\", \"modelValue\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _hoisted_1,\n _createVNode(_component_ion_button, {\n type: \"submit\",\n fill: \"clear\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"label_access_archive\")) + \" \", 1),\n _createVNode(_component_ion_icon, {\n slot: \"end\",\n icon: $setup.arrowForwardOutline\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_button, {\n onClick: $options.fakeLogin,\n color: \"danger\",\n fill: \"clear\"\n }, {\n default: _withCtx(() => [\n _hoisted_2,\n _createVNode(_component_ion_icon, {\n slot: \"end\",\n icon: $setup.arrowForwardOutline\n }, null, 8, [\"icon\"])\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ], 32)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_app_password_modal)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n}","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"Application Passwords\", -1)\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createElementVNode(\"em\", null, \"Application passwords\"),\n /*#__PURE__*/_createTextVNode(\" are a safe way to peform operations without using your actual website password. To generate one, you must: \"),\n /*#__PURE__*/_createElementVNode(\"ol\", null, [\n /*#__PURE__*/_createElementVNode(\"li\", null, [\n /*#__PURE__*/_createTextVNode(\"Open a web browser and login do your website traditional login page (usually \"),\n /*#__PURE__*/_createElementVNode(\"em\", null, \"\\\"https://your-website.com.br/wp-admin\\\"\"),\n /*#__PURE__*/_createTextVNode(\").\")\n ]),\n /*#__PURE__*/_createElementVNode(\"li\", null, \"Go to your profile page by clicking on your picture in the upper right corner.\"),\n /*#__PURE__*/_createElementVNode(\"li\", null, \"Scroll down to the \\\"Application passwords\\\" section. There should be a text input labelled \\\"New name to the application password\\\".\"),\n /*#__PURE__*/_createElementVNode(\"li\", null, \"Fill in the text input with any value to identify this password (you can have multiple), for example: \\\"Tainacan Mobile\\\".\"),\n /*#__PURE__*/_createElementVNode(\"li\", null, \"Click on the \\\"Add new application password\\\" button.\")\n ])\n], -1)\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"p\", null, \"With this steps completed, you will receive a code, that may look like this:\", -1)\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"pre\", null, [\n /*#__PURE__*/_createElementVNode(\"code\", null, \"vlOh CdaH UqWw YV7X beou 6MFY\")\n], -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"p\", null, [\n /*#__PURE__*/_createTextVNode(\"Copy this code and \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"keep it safe somewhere\"),\n /*#__PURE__*/_createTextVNode(\". You won't be able to access it later. Finally, paste it on this app login screen.\")\n], -1)\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"p\", null, \"While it should be kept logged in, if you ever loose your access to the app, you can revogate the previous passwords and generate new ones in the same screen.\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_content = _resolveComponent(\"ion-content\")!\n const _component_ion_modal = _resolveComponent(\"ion-modal\")!\n\n return (_openBlock(), _createBlock(_component_ion_modal, {\n ref: \"modal\",\n trigger: \"open-explanation-modal\",\n \"initial-breakpoint\": 0.9,\n breakpoints: [0, 0.5, 0.75, 1.0]\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_content, {\n style: {\"font-size\":\"0.9375rem\",\"opacity\":\"0.85\"},\n class: \"ion-padding\"\n }, {\n default: _withCtx(() => [\n _hoisted_1,\n _hoisted_2,\n _hoisted_3,\n _hoisted_4,\n _hoisted_5,\n _hoisted_6\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"initial-breakpoint\", \"breakpoints\"]))\n}","\n\nimport {\n IonModal,\n IonContent\n} from '@ionic/vue';\nexport default {\n components: {\n IonModal,\n IonContent\n },\n setup() {\n return {}\n }\n}\n","import { render } from \"./AppPasswordModal.vue?vue&type=template&id=381ef17c&ts=true\"\nimport script from \"./AppPasswordModal.vue?vue&type=script&lang=ts\"\nexport * from \"./AppPasswordModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { useTainacanStore } from \"../store/storeTainacan\";\nimport { useWpStore } from \"../store/storeWp\";\nimport { arrowForwardOutline } from \"ionicons/icons\";\nimport AppPasswordModal from \"../components/modals/AppPasswordModal.vue\";\n\nimport {\n IonIcon,\n IonImg,\n IonPage,\n IonList,\n IonItem,\n IonButton,\n IonInput,\n IonLabel,\n IonRow,\n IonCol,\n IonContent,\n} from \"@ionic/vue\";\nimport { computed } from \"vue\";\nimport { InAppBrowserEvent } from \"@awesome-cordova-plugins/in-app-browser/index\";\n\nexport default {\n props: [\"pageTitle\", \"pageDefaultBackLink\"],\n components: {\n IonIcon,\n IonImg,\n IonPage,\n IonList,\n IonItem,\n IonButton,\n IonInput,\n IonLabel,\n IonRow,\n IonCol,\n IonContent,\n AppPasswordModal,\n },\n data() {\n return {\n siteUrl: \"\",\n };\n },\n setup() {\n const image = computed(() => require(\"../assets/logo_square.png\"));\n let tainacanStore = useTainacanStore();\n let wpStore = useWpStore();\n return { image, tainacanStore, wpStore, arrowForwardOutline };\n },\n methods: {\n async openLoginForm() {\n this.wpStore.userSiteUrl = this.siteUrl;\n await this.wpStore.fetchApplicationAuthorization(this.siteUrl);\n if (this.wpStore.authorizationURL) {\n this.wpStore.createInAppBrowser('?page=tainacan_mobile_app');\n this.wpStore.inAppBrowser\n .on(\"loadstop\")\n .subscribe(this.handleBrowserLoadStop);\n }\n },\n async handleBrowserLoadStop(event: InAppBrowserEvent) {\n // console.log(event)\n if (\n event.url &&\n typeof event.url == \"string\" &&\n event.url.split(\"?\") &&\n event.url.split(\"?\").length >= 2\n ) {\n const params = new URLSearchParams(event.url.split(\"?\")[1]);\n \n if ( params.get(\"page\") === \"tainacan_mobile_app\" ) {\n const userLogin = params.get(\"user_login\");\n let userToken = params.get(\"password\");\n\n if (\n typeof userToken == \"string\" &&\n userToken.indexOf(\"#\") >= 0\n )\n userToken = userToken.split(\"#\")[0];\n\n if (!!userLogin && !!userToken) {\n await this.wpStore.login(\n this.siteUrl,\n userLogin,\n userToken\n );\n this.$router.push(\"/home\");\n }\n this.wpStore.inAppBrowser.hide();\n }\n }\n },\n fakeLogin() {\n this.wpStore.login(\n 'https://rcteste.tainacan.org',\n '',\n ''\n );\n this.$router.push(\"/home\");\n }\n },\n};\n","import { render } from \"./LoginPage.vue?vue&type=template&id=cdfc6388&ts=true\"\nimport script from \"./LoginPage.vue?vue&type=script&lang=ts\"\nexport * from \"./LoginPage.vue?vue&type=script&lang=ts\"\n\nimport \"./LoginPage.vue?vue&type=style&index=0&id=cdfc6388&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 1,\n class: \"results-not-found\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_refresher_content = _resolveComponent(\"ion-refresher-content\")!\n const _component_ion_refresher = _resolveComponent(\"ion-refresher\")!\n const _component_ion_searchbar = _resolveComponent(\"ion-searchbar\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_loading = _resolveComponent(\"ion-loading\")!\n const _component_ion_spinner = _resolveComponent(\"ion-spinner\")!\n const _component_items_list = _resolveComponent(\"items-list\")!\n const _component_ion_infinite_scroll_content = _resolveComponent(\"ion-infinite-scroll-content\")!\n const _component_ion_infinite_scroll = _resolveComponent(\"ion-infinite-scroll\")!\n const _component_ion_icon = _resolveComponent(\"ion-icon\")!\n const _component_ion_button = _resolveComponent(\"ion-button\")!\n const _component_base_layout = _resolveComponent(\"base-layout\")!\n\n return (_openBlock(), _createBlock(_component_base_layout, {\n \"page-title\": _ctx.$t('label_collection_items_list'),\n \"page-default-back-link\": \"/collections\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher, {\n slot: \"fixed\",\n onIonRefresh: _cache[0] || (_cache[0] = ($event: any) => (_ctx.doRefresh($event)))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher_content)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_toolbar, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_searchbar, {\n debounce: \"500\",\n placeholder: _ctx.$t('label_search'),\n onIonChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleSearch($event)))\n }, null, 8, [\"placeholder\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_loading, {\n \"is-open\": _ctx.isLoading,\n message: _ctx.$t('label_loading')\n }, null, 8, [\"is-open\", \"message\"]),\n (_ctx.isSearching)\n ? (_openBlock(), _createBlock(_component_ion_spinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isLoading && !_ctx.isSearching && (!_ctx.tainacanStore.totalCollectionItems || _ctx.tainacanStore.totalCollectionItems == '0'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('label_no_results_found')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_items_list, {\n items: _ctx.tainacanStore.collectionItems\n }, null, 8, [\"items\"]),\n _createVNode(_component_ion_infinite_scroll, {\n ref: \"infiniteScroll\",\n threshold: \"5%\",\n onIonInfinite: _ctx.loadItemsByCollection\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_infinite_scroll_content)\n ]),\n _: 1\n }, 8, [\"onIonInfinite\"]),\n _createVNode(_component_ion_button, {\n class: \"add-items-button\",\n color: \"primary\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.openActionSheet()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_icon, { icon: _ctx.add }, null, 8, [\"icon\"]),\n _createTextVNode(\"  \" + _toDisplayString(_ctx.$t('label_add_items')), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"page-title\"]))\n}","\nimport {\n useTainacanStore\n} from '../store/storeTainacan';\nimport { useWpStore } from '../store/storeWp';\nimport { ref, defineComponent } from 'vue';\nimport { add, documentOutline } from \"ionicons/icons\";\nimport {\n IonLoading,\n IonRefresher,\n IonRefresherContent,\n IonIcon,\n IonButton,\n actionSheetController,\n IonInfiniteScroll,\n IonToolbar,\n IonSearchbar,\n IonSpinner,\n IonInfiniteScrollContent\n} from '@ionic/vue';\nimport BaseLayout from '@/components/base/BaseLayout.vue';\nimport ItemsList from '@/components/lists/ItemsList.vue';\nimport { InAppBrowserEvent } from '@awesome-cordova-plugins/in-app-browser';\n\nexport default defineComponent({\n components: {\n BaseLayout,\n ItemsList,\n IonLoading,\n IonRefresher,\n IonRefresherContent,\n IonIcon,\n IonButton,\n IonInfiniteScroll,\n IonToolbar,\n IonSearchbar,\n IonSpinner,\n IonInfiniteScrollContent\n },\n props: {\n id: String\n },\n setup(props) {\n const isLoading = ref(false);\n const isSearching = ref(false)\n const search = ref();\n const infiniteScroll = ref();\n const setIsLoading = (state: boolean) => isLoading.value = state;\n const setIsSearching = (state: boolean) => isSearching.value = state;\n const setSearch = (value: string) => search.value = value;\n const loadItemsByCollection = async (event: any, reset: boolean) => {\n await tainacanStore.fetchItemsByCollection(props.id + '', { perPage: '12', orderBy: 'modified', reset: reset, search: search.value});\n let hasMoreCollectionsItems = tainacanStore.totalCollectionItems && tainacanStore.totalCollectionItems !== 0;\n if (event && event.target)\n event.target.complete();\n if (!hasMoreCollectionsItems){\n infiniteScroll.value.$el.disabled = true;\n }\n } \n const cancelSearch = async () => {\n await loadItemsByCollection(null, true);\n }\n const handleSearch = async (event: any) => {\n let search = event && event.detail && event.detail.value;\n\n setSearch(search);\n setIsSearching(true);\n\n if(search !== '') { \n await loadItemsByCollection(null, true);\n } else {\n await cancelSearch();\n }\n setIsSearching(false);\n }\n const doRefresh = async (event: any) => {\n await loadItemsByCollection({}, true);\n if (event && event.target){\n event.target.complete();\n infiniteScroll.value.$el.disabled = false;\n }\n }\n\n const wpStore = useWpStore();\n const actionSheetLabels = ref({\n header: '',\n button1: '',\n button2: '',\n button3: '',\n cancel: ''\n });\n const setActionSheetLabels = (newLabels: any) => actionSheetLabels.value = newLabels;\n const openActionSheet = async () => {\n const actionSheet = await actionSheetController.create({\n header: actionSheetLabels.value.header,\n cssClass: 'item-creation-action-sheet',\n buttons: [\n // {\n // text: actionSheetLabels.value.button1,\n // icon: documentsOutline,\n // data: 'multiple-items', \n // handler: () => {\n // wpStore.openInAppBrowser('?page=tainacan_admin&mobileAppMode=true#/collections/' + props.id + '/bulk-add');\n // wpStore.listenEventInAppBrowser((event: InAppBrowserEvent) => {\n // if (event &&\n // event.data &&\n // (\n // (\n // event.data.type === 'item_updated' &&\n // event.data.item &&\n // event.data.item.status !== 'auto-draft'\n // )\n // || event.data.type === 'exited_from_navigation'\n // )\n // ) {\n // wpStore.hideInAppBrowser();\n // loadItemsByCollection({}, true);\n // }\n // });\n // },\n // },\n {\n text: actionSheetLabels.value.button3,\n icon: documentOutline,\n data: 'single item',\n handler: () => {\n wpStore.openInAppBrowser('?page=tainacan_admin&mobileAppMode=true#/collections/' + props.id + '/items/new');\n wpStore.listenEventInAppBrowser((event: InAppBrowserEvent) => {\n if (event &&\n event.data &&\n event.data.type === 'item_updated' &&\n event.data.item &&\n event.data.item.status !== 'auto-draft'\n ) {\n wpStore.hideInAppBrowser();\n loadItemsByCollection({}, true);\n }\n });\n },\n },\n {\n text: actionSheetLabels.value.cancel,\n role: 'cancel'\n },\n ],\n });\n await actionSheet.present();\n //const { role, data } = await actionSheet.onDidDismiss();\n // console.log('onDidDismiss resolved with role and data', role, data);\n }\n\n let tainacanStore = useTainacanStore();\n return {\n isLoading,\n isSearching,\n tainacanStore,\n wpStore,\n setIsLoading,\n loadItemsByCollection,\n doRefresh,\n openActionSheet,\n add,\n actionSheetLabels,\n setActionSheetLabels,\n infiniteScroll,\n handleSearch,\n }\n },\n async created() {\n \n this.setActionSheetLabels({\n header: this.$t('info_create_items'),\n button1: this.$t('label_option_multiple_items'),\n button2: this.$t('label_option_multiple_attachments'),\n button3: this.$t('label_option_single_item'),\n cancel: this.$t('label_cancel')\n });\n this.setIsLoading(true);\n await this.loadItemsByCollection({}, true);\n this.setIsLoading(false);\n },\n});\n","import { render } from \"./CollectionPage.vue?vue&type=template&id=48252aad&ts=true\"\nimport script from \"./CollectionPage.vue?vue&type=script&lang=ts\"\nexport * from \"./CollectionPage.vue?vue&type=script&lang=ts\"\n\nimport \"./CollectionPage.vue?vue&type=style&index=0&id=48252aad&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_loading = _resolveComponent(\"ion-loading\")!\n const _component_ion_refresher_content = _resolveComponent(\"ion-refresher-content\")!\n const _component_ion_refresher = _resolveComponent(\"ion-refresher\")!\n const _component_collections_list = _resolveComponent(\"collections-list\")!\n const _component_ion_list = _resolveComponent(\"ion-list\")!\n const _component_base_layout = _resolveComponent(\"base-layout\")!\n\n return (_openBlock(), _createBlock(_component_base_layout, {\n \"page-title\": _ctx.$t('label_collections_list'),\n \"page-default-back-link\": \"/\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_loading, {\n \"is-open\": $setup.isLoading,\n message: _ctx.$t('label_loading')\n }, null, 8, [\"is-open\", \"message\"]),\n _createVNode(_component_ion_refresher, {\n slot: \"fixed\",\n onIonRefresh: _cache[0] || (_cache[0] = ($event: any) => ($setup.doRefresh($event)))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher_content)\n ]),\n _: 1\n }),\n _createVNode(_component_ion_list, null, {\n default: _withCtx(() => [\n _createVNode(_component_collections_list, {\n collections: $setup.tainacanStore.collections,\n \"is-selection-mode\": false\n }, null, 8, [\"collections\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"page-title\"]))\n}","\nimport CollectionsList from '@/components/lists/CollectionsList.vue';\nimport BaseLayout from '@/components/base/BaseLayout.vue';\nimport {\n IonLoading,\n IonList,\n IonRefresher,\n IonRefresherContent\n} from '@ionic/vue';\n\nimport {\n useTainacanStore\n} from '../store/storeTainacan';\n\nimport { ref } from 'vue';\n\nexport default {\n components: {\n CollectionsList,\n BaseLayout,\n IonLoading,\n IonList,\n IonRefresher,\n IonRefresherContent\n },\n setup() {\n const isLoading = ref(false);\n const setIsLoading = (state: boolean) => isLoading.value = state;\n \n const loadCollections = async () => {\n await tainacanStore.fetchCollections({ perPage: '24', orderBy: 'modified'});\n }\n const doRefresh = async (event: any) => {\n await loadCollections();\n if (event && event.target)\n event.target.complete();\n }\n\n let tainacanStore = useTainacanStore();\n \n return {\n tainacanStore,\n isLoading,\n setIsLoading,\n doRefresh,\n loadCollections\n }\n },\n async created(){\n this.setIsLoading(true);\n await this.loadCollections();\n this.setIsLoading(false);\n },\n}\n\n","import { render } from \"./CollectionsPage.vue?vue&type=template&id=86b52ab4&ts=true\"\nimport script from \"./CollectionsPage.vue?vue&type=script&lang=ts\"\nexport * from \"./CollectionsPage.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ba64bfe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 1,\n class: \"results-not-found\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ion_loading = _resolveComponent(\"ion-loading\")!\n const _component_ion_searchbar = _resolveComponent(\"ion-searchbar\")!\n const _component_ion_toolbar = _resolveComponent(\"ion-toolbar\")!\n const _component_ion_refresher_content = _resolveComponent(\"ion-refresher-content\")!\n const _component_ion_refresher = _resolveComponent(\"ion-refresher\")!\n const _component_ion_spinner = _resolveComponent(\"ion-spinner\")!\n const _component_items_list = _resolveComponent(\"items-list\")!\n const _component_ion_infinite_scroll_content = _resolveComponent(\"ion-infinite-scroll-content\")!\n const _component_ion_infinite_scroll = _resolveComponent(\"ion-infinite-scroll\")!\n const _component_base_layout = _resolveComponent(\"base-layout\")!\n\n return (_openBlock(), _createBlock(_component_base_layout, {\n \"page-title\": _ctx.$t('label_items_list'),\n \"page-default-back-link\": \"/collections\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_loading, {\n \"is-open\": $setup.isLoading,\n message: _ctx.$t('label_loading')\n }, null, 8, [\"is-open\", \"message\"]),\n _createVNode(_component_ion_toolbar, null, {\n default: _withCtx(() => [\n _createVNode(_component_ion_searchbar, {\n debounce: \"500\",\n placeholder: _ctx.$t('label_search'),\n onIonChange: _cache[0] || (_cache[0] = ($event: any) => ($setup.handleSearch($event)))\n }, null, 8, [\"placeholder\"])\n ]),\n _: 1\n }),\n _createVNode(_component_ion_refresher, {\n slot: \"fixed\",\n onIonRefresh: _cache[1] || (_cache[1] = ($event: any) => ($setup.doRefresh($event)))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_refresher_content)\n ]),\n _: 1\n }),\n ($setup.isSearching)\n ? (_openBlock(), _createBlock(_component_ion_spinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!$setup.isLoading && !$setup.isSearching && (!$setup.tainacanStore.totalItems || $setup.tainacanStore.totalItems == '0'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('label_no_results_found')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_items_list, {\n items: $setup.tainacanStore.items\n }, null, 8, [\"items\"]),\n _createVNode(_component_ion_infinite_scroll, {\n ref: \"infiniteScroll\",\n threshold: \"5%\",\n onIonInfinite: $setup.loadItems\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ion_infinite_scroll_content)\n ]),\n _: 1\n }, 8, [\"onIonInfinite\"])\n ]),\n _: 1\n }, 8, [\"page-title\"]))\n}","\nimport {\n useTainacanStore\n} from '../store/storeTainacan';\nimport {\n IonLoading,\n IonRefresher,\n IonRefresherContent,\n IonInfiniteScroll,\n IonToolbar,\n IonSearchbar,\n IonSpinner,\n IonInfiniteScrollContent\n} from '@ionic/vue';\nimport BaseLayout from '@/components/base/BaseLayout.vue';\nimport { ref } from 'vue';\nimport ItemsList from '../components/lists/ItemsList.vue';\nexport default {\n components: {\n IonLoading,\n ItemsList,\n BaseLayout,\n IonRefresher,\n IonRefresherContent,\n IonInfiniteScroll,\n IonToolbar,\n IonSearchbar,\n IonSpinner, \n IonInfiniteScrollContent\n },\n setup() {\n const isLoading = ref(false);\n const isSearching = ref(false)\n const search = ref();\n const setIsLoading = (state: boolean) => isLoading.value = state;\n const setIsSearching = (state: boolean) => isSearching.value = state;\n const setSearch = (value: string) => search.value = value; \n const infiniteScroll = ref();\n const loadItems = async (event: any, reset: boolean) => {\n await tainacanStore.fetchItems({ perPage: '12', orderBy: 'modified', reset: reset, search: search.value});\n let hasMoreItems = tainacanStore.totalItems && tainacanStore.totalItems !== 0;\n if (event && event.target)\n event.target.complete();\n if (!hasMoreItems){\n infiniteScroll.value.$el.disabled = true;\n }\n } \n const cancelSearch = async () => {\n await loadItems(null, true);\n }\n const handleSearch = async (event: any) => {\n let search = event && event.detail && event.detail.value;\n \n setSearch(search);\n setIsSearching(true);\n\n if(search !== '') {\n await loadItems(null, true);\n setIsSearching(false);\n } else {\n await cancelSearch();\n }\n setIsSearching(false);\n }\n const doRefresh = async (event: any) => {\n await loadItems({}, true);\n if (event && event.target){\n event.target.complete();\n infiniteScroll.value.$el.disabled = false;\n }\n }\n let tainacanStore = useTainacanStore();\n return {\n isLoading,\n isSearching,\n setIsLoading,\n tainacanStore,\n doRefresh,\n loadItems,\n infiniteScroll,\n handleSearch\n }\n },\n async created(){\n this.setIsLoading(true)\n await this.loadItems();\n this.setIsLoading(false)\n },\n}\n","import { render } from \"./ItemsPage.vue?vue&type=template&id=5ba64bfe&scoped=true&ts=true\"\nimport script from \"./ItemsPage.vue?vue&type=script&lang=ts\"\nexport * from \"./ItemsPage.vue?vue&type=script&lang=ts\"\n\nimport \"./ItemsPage.vue?vue&type=style&index=0&id=5ba64bfe&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/mateus/tainacan-mobile/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ba64bfe\"]])\n\nexport default __exports__","import { createRouter, createWebHistory } from '@ionic/vue-router';\nimport { RouteRecordRaw } from 'vue-router';\nimport { useWpStore } from '../store/storeWp'\n\nimport HomePage from '../pages/HomePage.vue';\nimport LoginPage from '../pages/LoginPage.vue';\nimport CollectionPage from '../pages/CollectionPage.vue';\nimport CollectionsPage from '../pages/CollectionsPage.vue';\nimport ItemsPage from '../pages/ItemsPage.vue';\n\nconst routes: Array = [\n {\n path: '/',\n redirect: '/home'\n },\n {\n path: '/home',\n component: HomePage,\n name: 'home'\n },\n {\n path: '/login',\n component: LoginPage,\n name: 'login'\n },\n {\n path: '/collections/:id',\n component: CollectionPage,\n name: 'collection',\n props: true\n },\n {\n path: '/collections',\n component: CollectionsPage,\n name: 'collections'\n },\n {\n path: '/items',\n component: ItemsPage,\n name: 'items'\n }\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes\n})\n\nrouter.beforeEach(async(to, from, next) => {\n const wpStore = useWpStore();\n await wpStore.checkUserLogin();\n if (to.name !== 'login' && !wpStore.userIsLoggedIn) next({ name: 'login' })\n else next()\n})\n\nexport default router\n\n","export const translationStrings = {\n en: {\n collections: 'Collections',\n label_view_all_collections: 'View all {0} collections',\n items: 'Items',\n label_view_all_items: 'View all {0} items',\n label_loading: 'Loading...',\n label_items_list: 'Items list',\n label_collections_list: 'Collections list',\n label_collection_items_list: 'Collection items list',\n collection: 'Collection',\n label_site_url: 'Archive site URL',\n placeholder_site_url: 'https://my-tainacan-archive.com',\n label_user_name: 'User name',\n placeholder_user_name: 'your user name',\n label_user_password: 'User application password',\n placeholder_user_password: 'your application password here',\n label_access_archive: 'Access archive',\n label_item_without_title: 'Item without title',\n label_collection_without_name: 'Collection without name',\n total_of_published_items: 'Total of {0} published items',\n label_last_modified_collections: 'Last modified collections',\n label_last_modified_items: 'Last modified itens',\n label_add_items: 'Add items',\n info_create_items: 'Create new items in this collection',\n label_option_multiple_items: 'Multiple items from file selection',\n label_option_multiple_attachments: 'Single item with document and attachments from file selection',\n label_option_single_item: 'Single empty item',\n label_cancel: 'Cancel',\n label_search: 'Search',\n label_no_results_found: 'No results found',\n info_application_password: 'This password is not the same of your WordPress admin.',\n label_learn_more_here: 'Learn more here',\n label_item_actions: 'Item actions',\n label_option_edit_item: 'Edit item',\n label_option_delete_item: 'Send item to trash',\n error_label_fetch_collections: 'Collections loading error',\n error_label_fetch_items_collections: 'Items collections loading error',\n error_label_fetch_items: 'Items loading error',\n error_delete_item: 'Error while deleting item'\n },\n pt: {\n collections: \"Coleções\",\n label_view_all_collections: \"Ver todas as {0} coleções\",\n items: 'Itens',\n label_view_all_items: 'Ver todos os {0} itens',\n label_loading: 'Carregando...',\n label_items_list: 'Lista de itens',\n label_collections_list: 'Lista de coleções',\n label_collection_items_list: 'Lista de itens da coleção',\n collection: 'Coleção',\n label_site_url: 'URL do Site do Acervo',\n placeholder_site_url: 'https://meu-acervo-tainacan.com',\n label_user_name: 'Nome de usuário',\n placeholder_user_name: 'seu nome de usuário aqui',\n label_user_password: 'Senha do usuário da aplicação',\n placeholder_user_password: 'sua senha de usuário da aplicação aqui',\n label_access_archive: 'Acessar acervo',\n label_item_without_title: 'Item sem título',\n label_collection_without_name: 'Coleção sem nome',\n total_of_published_items: 'Total de {0} itens públicos',\n label_last_modified_collections: 'Coleções alteradas recentemente',\n label_last_modified_items: 'Itens alterados recentemente',\n label_add_items: 'Adicionar itens',\n info_create_items: 'Crie novos itens nesta coleção',\n label_option_multiple_items: 'Vários itens a partir de uma seleção de arquivos',\n label_option_multiple_attachments: 'Um item com documento e anexos provenientes de ums seleção de aquivos',\n label_option_single_item: 'Um item vazio',\n label_cancel: 'Cancelar',\n label_search: 'Buscar',\n label_no_results_found: 'Nenhum resultado encontrado',\n info_application_password: 'Esta senha não é a mesma do seu painel admin do WordPress.',\n label_learn_more_here: 'Saiba mais aqui.',\n label_item_actions: 'Ações para o item',\n label_option_edit_item: 'Editar item',\n label_option_delete_item: 'Enviar item para lixeira',\n error_label_fetch_collections: 'Erro no carregamento das coleções',\n error_label_fetch_items_collections: 'Erro no carregamento dos itens da coleção',\n error_label_fetch_items: 'Erro no carregamento dos itens',\n error_delete_item: 'Erro ao tentar remover item'\n }\n}","import { createApp } from 'vue'\n\nimport App from './App.vue'\nimport BaseLayout from './components/base/BaseLayout.vue';\nimport CollectionList from './components/lists/CollectionsList.vue';\nimport ItemList from './components/lists/ItemsList.vue';\nimport router from './router';\nimport { createPinia } from 'pinia';\n\nimport { IonicVue } from '@ionic/vue';\n\n/* Core CSS required for Ionic components to work properly */\nimport '@ionic/vue/css/core.css';\n\n/* Basic CSS for apps built with Ionic */\nimport '@ionic/vue/css/normalize.css';\nimport '@ionic/vue/css/structure.css';\nimport '@ionic/vue/css/typography.css';\n\n/* Optional CSS utils that can be commented out */\nimport '@ionic/vue/css/padding.css';\nimport '@ionic/vue/css/float-elements.css';\nimport '@ionic/vue/css/text-alignment.css';\nimport '@ionic/vue/css/text-transformation.css';\nimport '@ionic/vue/css/flex-utils.css';\nimport '@ionic/vue/css/display.css';\n\n/* Theme variables */\nimport './theme/variables.css';\nimport './theme/core.css'; //importei do arquivo criado\n\n/* Translation */\nimport { createI18n } from 'vue-i18n';\nimport { translationStrings } from './locales/translation-strings';\n\nconst i18n = createI18n({\n locale: 'en', // set locale\n fallbackLocale: 'en', // set fallback locale\n messages: translationStrings, // set locale messages\n })\n\nconst app = createApp(App)\n .use(IonicVue)\n .use(router)\n .use(createPinia())\n .use(i18n);\n\napp.component('base-layout', BaseLayout);\napp.component('base-collectionlist', CollectionList);\napp.component('base-itemlist', ItemList);\n \nrouter.isReady().then(() => {\n app.mount('#app');\n});","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"78\":\"51f18a44\",\"168\":\"c83a23ff\",\"338\":\"fff3ebb3\",\"544\":\"94817512\",\"576\":\"a82798ee\",\"753\":\"17d4d392\",\"775\":\"c55644c6\",\"880\":\"e288775e\",\"961\":\"2fab5ec9\",\"990\":\"cdf4956e\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"tainacan-mobile:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktainacan_mobile\"] = self[\"webpackChunktainacan_mobile\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(6210); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","render","_ctx","_cache","$props","$setup","$data","$options","_component_ion_router_outlet","_resolveComponent","_component_ion_app","_openBlock","_createBlock","default","_withCtx","_createVNode","_","defineComponent","name","components","IonApp","IonRouterOutlet","mounted","device","Device","getLanguageCode","res","value","includes","language","split","this","$i18n","locale","__exports__","_component_ion_back_button","_component_ion_buttons","_component_ion_img","_component_ion_icon","_component_ion_button","_component_ion_toolbar","_component_ion_title","_component_ion_header","_component_ion_content","_component_ion_toast","_component_ion_page","collapse","slot","pageDefaultBackLink","src","tainacanLogo","class","onClick","logOff","icon","logOutOutline","pageTitle","key","_createTextVNode","_toDisplayString","_createCommentVNode","fullscreen","_renderSlot","$slots","tainacanStore","errorStatus","message","$t","errorMessage","duration","onDidDismiss","$event","setOpen","color","store","Storage","useWpStore","defineStore","state","userIsLoggedIn","userSiteUrl","userLogin","userToken","authorizationURL","inAppBrowser","InAppBrowserObject","actions","async","set","err","siteUrl","endpoint","response","axios","data","authentication","endpoints","authorization","create","get","createInAppBrowser","url","extraParams","tainacanAdminUrl","anInAppBrowser","InAppBrowser","openInAppBrowser","executeScript","urlRedirectionScript","show","hideInAppBrowser","hide","listenEventInAppBrowser","event","on","subscribe","length","params","indexOf","useTainacanStore","homeCollections","totalHomeCollections","homeItems","totalHomeItems","collections","totalCollections","collectionItems","totalCollectionItems","nextItemsByCollectionPage","items","nextItemsPage","totalItems","wpStore","btoa","perPage","orderBy","headers","collectionId","search","reset","push","itemId","existingItemIndex","anItem","splice","existingHomeItemIndex","existingCollectionItemIndex","props","IonPage","IonHeader","IonToolbar","IonTitle","IonContent","IonIcon","IonButton","IonBackButton","IonButtons","IonImg","IonToast","setup","computed","require","methods","logoff","$router","go","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_component_ion_thumbnail","_component_ion_label","_component_ion_radio","_component_ion_item","_createElementBlock","_Fragment","_renderList","collection","isInSelectionMode","goToCollectionPage","thumbnail","thumbnailPlaceholder","alt","$","_createElementVNode","status","lockClosedOutline","readerOutline","trashOutline","total_items","publish","IonItem","IonThumbnail","IonLabel","IonRadio","isSelectionMode","router","useRouter","_component_ion_card_title","_component_ion_card_header","_component_ion_card","_component_ion_col","_component_ion_row","item","size","openActionSheet","button","thumbnail_alt","title","IonCardHeader","IonRow","IonCol","IonCard","IonCardTitle","actionSheetLabels","ref","header","button1","button2","cancel","setActionSheetLabels","newLabels","current_user_can_edit","current_user_can_delete","actionSheetButtons","text","pencil","handler","openItemEdition","trashBin","deleteItem","role","actionSheetOptions","cssClass","buttons","actionSheet","actionSheetController","present","collection_id","type","_component_ion_refresher_content","_component_ion_refresher","_component_ion_loading","_component_ion_list_header","_component_collections_list","_component_ion_list","_component_items_list","_component_base_layout","onIonRefresh","doRefresh","isLoading","fill","routerLink","arrowForwardOutline","CollectionsList","ItemsList","BaseLayout","IonList","IonListHeader","IonLoading","IonRefresher","IonRefresherContent","setIsLoading","loadCollectionsAndItems","fetchHomeCollections","fetchHomeItems","target","complete","_component_ion_input","_component_app_password_modal","image","onSubmit","_withModifiers","args","openLoginForm","inset","position","placeholder","autofocus","modelValue","modelModifiers","trim","required","autocomplete","enterkeyhint","fakeLogin","_hoisted_5","_hoisted_6","_component_ion_modal","trigger","breakpoints","style","IonModal","IonInput","AppPasswordModal","fetchApplicationAuthorization","handleBrowserLoadStop","URLSearchParams","login","_component_ion_searchbar","_component_ion_spinner","_component_ion_infinite_scroll_content","_component_ion_infinite_scroll","debounce","onIonChange","handleSearch","isSearching","threshold","onIonInfinite","loadItemsByCollection","add","IonInfiniteScroll","IonSearchbar","IonSpinner","IonInfiniteScrollContent","String","infiniteScroll","setIsSearching","setSearch","fetchItemsByCollection","hasMoreCollectionsItems","$el","disabled","cancelSearch","detail","button3","documentOutline","loadCollections","fetchCollections","loadItems","fetchItems","hasMoreItems","routes","path","redirect","component","HomePage","LoginPage","CollectionPage","CollectionsPage","ItemsPage","createRouter","history","createWebHistory","process","beforeEach","to","from","next","checkUserLogin","translationStrings","en","label_view_all_collections","label_view_all_items","label_loading","label_items_list","label_collections_list","label_collection_items_list","label_site_url","placeholder_site_url","label_user_name","placeholder_user_name","label_user_password","placeholder_user_password","label_access_archive","label_item_without_title","label_collection_without_name","total_of_published_items","label_last_modified_collections","label_last_modified_items","label_add_items","info_create_items","label_option_multiple_items","label_option_multiple_attachments","label_option_single_item","label_cancel","label_search","label_no_results_found","info_application_password","label_learn_more_here","label_item_actions","label_option_edit_item","label_option_delete_item","error_label_fetch_collections","error_label_fetch_items_collections","error_label_fetch_items","error_delete_item","pt","i18n","createI18n","fallbackLocale","messages","app","createApp","App","use","IonicVue","createPinia","CollectionList","ItemList","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","p","installedChunks","installedChunkData","promise","reject","error","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/ios/App/App/public/js/chunk-vendors.bd229e35.js b/ios/App/App/public/js/chunk-vendors.bd229e35.js new file mode 100644 index 0000000..7af2978 --- /dev/null +++ b/ios/App/App/public/js/chunk-vendors.bd229e35.js @@ -0,0 +1,206 @@ +(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[998],{339:function(t,e,n){"use strict";function o(){if("undefined"===typeof process){var t="undefined"!==typeof window?window:{},e=5e3,n=Date.now(),o=!1;t.document.addEventListener("deviceready",(function(){console.log("Ionic Native: deviceready event fired after "+(Date.now()-n)+" ms"),o=!0})),setTimeout((function(){!o&&t.cordova&&console.warn("Ionic Native: deviceready did not fire within "+e+"ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.")}),e)}}n.d(e,{i:function(){return st},v:function(){return rt}}); +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(t,e)};function r(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}Object.create;function a(t){var e="function"===typeof Symbol&&Symbol.iterator,n=e&&t[e],o=0;if(n)return n.call(t);if(t&&"number"===typeof t.length)return{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(t,e){var n="function"===typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,i,r=n.call(t),a=[];try{while((void 0===e||e-- >0)&&!(o=r.next()).done)a.push(o.value)}catch(s){i={error:s}}finally{try{o&&!o.done&&(n=r["return"])&&n.call(r)}finally{if(i)throw i.error}}return a}function l(t,e,n){if(n||2===arguments.length)for(var o,i=0,r=e.length;it.length?t[e.successIndex]=n:t.splice(e.successIndex,0,n)},a=function(){e.errorIndex>t.length?t[e.errorIndex]=o:t.splice(e.errorIndex,0,o)};e.successIndex>e.errorIndex?(a(),r()):(r(),a())}else t.push(n),t.push(o);return t}function X(t,e,n,o,i,r){if(void 0===o&&(o={}),n=G(n,o,i,r),Y(t,e))return t._objectInstance[e].apply(t._objectInstance,n)}function J(t){return"undefined"!==typeof window?K(window,t):null}function K(t,e){for(var n=e.split("."),o=t,i=0;i{const e=new Map;e.set("web",{name:"web"});const n=t.CapacitorPlatforms||{currentPlatform:{name:"web"},platforms:e},o=(t,e)=>{n.platforms.set(t,e)},i=t=>{n.platforms.has(t)&&(n.currentPlatform=n.platforms.get(t))};return n.addPlatform=o,n.setPlatform=i,n},i=t=>t.CapacitorPlatforms=o(t),r=i("undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});r.addPlatform,r.setPlatform;var a;(function(t){t["Unimplemented"]="UNIMPLEMENTED",t["Unavailable"]="UNAVAILABLE"})(a||(a={}));class s extends Error{constructor(t,e){super(t),this.message=t,this.code=e}}const l=t=>{var e,n;return(null===t||void 0===t?void 0:t.androidBridge)?"android":(null===(n=null===(e=null===t||void 0===t?void 0:t.webkit)||void 0===e?void 0:e.messageHandlers)||void 0===n?void 0:n.bridge)?"ios":"web"},c=t=>{var e,n,o,i,r;const c=t.CapacitorCustomPlatform||null,d=t.Capacitor||{},u=d.Plugins=d.Plugins||{},h=t.CapacitorPlatforms,p=()=>null!==c?c.name:l(t),f=(null===(e=null===h||void 0===h?void 0:h.currentPlatform)||void 0===e?void 0:e.getPlatform)||p,m=()=>"web"!==f(),g=(null===(n=null===h||void 0===h?void 0:h.currentPlatform)||void 0===n?void 0:n.isNativePlatform)||m,b=t=>{const e=$.get(t);return!!(null===e||void 0===e?void 0:e.platforms.has(f()))||!!w(t)},v=(null===(o=null===h||void 0===h?void 0:h.currentPlatform)||void 0===o?void 0:o.isPluginAvailable)||b,y=t=>{var e;return null===(e=d.PluginHeaders)||void 0===e?void 0:e.find((e=>e.name===t))},w=(null===(i=null===h||void 0===h?void 0:h.currentPlatform)||void 0===i?void 0:i.getPluginHeader)||y,x=e=>t.console.error(e),k=(t,e,n)=>Promise.reject(`${n} does not have an implementation of "${e}".`),$=new Map,E=(t,e={})=>{const n=$.get(t);if(n)return console.warn(`Capacitor plugin "${t}" already registered. Cannot register plugins twice.`),n.proxy;const o=f(),i=w(t);let r;const l=async()=>(!r&&o in e?r=r="function"===typeof e[o]?await e[o]():e[o]:null!==c&&!r&&"web"in e&&(r=r="function"===typeof e["web"]?await e["web"]():e["web"]),r),h=(e,n)=>{var r,l;if(!i){if(e)return null===(l=e[n])||void 0===l?void 0:l.bind(e);throw new s(`"${t}" plugin is not implemented on ${o}`,a.Unimplemented)}{const o=null===i||void 0===i?void 0:i.methods.find((t=>n===t.name));if(o)return"promise"===o.rtype?e=>d.nativePromise(t,n.toString(),e):(e,o)=>d.nativeCallback(t,n.toString(),e,o);if(e)return null===(r=e[n])||void 0===r?void 0:r.bind(e)}},p=e=>{let n;const i=(...i)=>{const r=l().then((r=>{const l=h(r,e);if(l){const t=l(...i);return n=null===t||void 0===t?void 0:t.remove,t}throw new s(`"${t}.${e}()" is not implemented on ${o}`,a.Unimplemented)}));return"addListener"===e&&(r.remove=async()=>n()),r};return i.toString=()=>`${e.toString()}() { [capacitor code] }`,Object.defineProperty(i,"name",{value:e,writable:!1,configurable:!1}),i},m=p("addListener"),g=p("removeListener"),b=(t,e)=>{const n=m({eventName:t},e),o=async()=>{const o=await n;g({eventName:t,callbackId:o},e)},i=new Promise((t=>n.then((()=>t({remove:o})))));return i.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await o()},i},v=new Proxy({},{get(t,e){switch(e){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return i?b:m;case"removeListener":return g;default:return p(e)}}});return u[t]=v,$.set(t,{name:t,proxy:v,platforms:new Set([...Object.keys(e),...i?[o]:[]])}),v},S=(null===(r=null===h||void 0===h?void 0:h.currentPlatform)||void 0===r?void 0:r.registerPlugin)||E;return d.convertFileSrc||(d.convertFileSrc=t=>t),d.getPlatform=f,d.handleError=x,d.isNativePlatform=g,d.isPluginAvailable=v,d.pluginMethodNoop=k,d.registerPlugin=S,d.Exception=s,d.DEBUG=!!d.DEBUG,d.isLoggingEnabled=!!d.isLoggingEnabled,d.platform=d.getPlatform(),d.isNative=d.isNativePlatform(),d},d=t=>t.Capacitor=c(t),u=d("undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}),h=u.registerPlugin;u.Plugins;class p{constructor(t){this.listeners={},this.windowListeners={},t&&(console.warn(`Capacitor WebPlugin "${t.name}" config object was deprecated in v3 and will be removed in v4.`),this.config=t)}addListener(t,e){const n=this.listeners[t];n||(this.listeners[t]=[]),this.listeners[t].push(e);const o=this.windowListeners[t];o&&!o.registered&&this.addWindowListener(o);const i=async()=>this.removeListener(t,e),r=Promise.resolve({remove:i});return Object.defineProperty(r,"remove",{value:async()=>{console.warn("Using addListener() without 'await' is deprecated."),await i()}}),r}async removeAllListeners(){this.listeners={};for(const t in this.windowListeners)this.removeWindowListener(this.windowListeners[t]);this.windowListeners={}}notifyListeners(t,e){const n=this.listeners[t];n&&n.forEach((t=>t(e)))}hasListeners(t){return!!this.listeners[t].length}registerWindowListener(t,e){this.windowListeners[e]={registered:!1,windowEventName:t,pluginEventName:e,handler:t=>{this.notifyListeners(e,t)}}}unimplemented(t="not implemented"){return new u.Exception(t,a.Unimplemented)}unavailable(t="not available"){return new u.Exception(t,a.Unavailable)}async removeListener(t,e){const n=this.listeners[t];if(!n)return;const o=n.indexOf(e);this.listeners[t].splice(o,1),this.listeners[t].length||this.removeWindowListener(this.windowListeners[t])}addWindowListener(t){window.addEventListener(t.windowEventName,t.handler),t.registered=!0}removeWindowListener(t){t&&(window.removeEventListener(t.windowEventName,t.handler),t.registered=!1)}}},2406:function(t,e,n){"use strict";n.d(e,{A:function(){return i}});var o=n(9895);const i=(0,o.fo)("Device",{web:()=>n.e(961).then(n.bind(n,7961)).then((t=>new t.DeviceWeb))})},5980:function(t,e,n){"use strict";n.d(e,{c:function(){return b}});var o=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */let i;const r=t=>(t.forEach((t=>{for(const e in t)if(t.hasOwnProperty(e)){const n=t[e];if("easing"===e){const o="animation-timing-function";t[o]=n,delete t[e]}else{const o=a(e);o!==e&&(t[o]=n,delete t[e])}}})),t),a=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),s=t=>{if(void 0===i){const e=void 0!==t.style.animationName,n=void 0!==t.style.webkitAnimationName;i=!e&&n?"-webkit-":""}return i},l=(t,e,n)=>{const o=e.startsWith("animation")?s(t):"";t.style.setProperty(o+e,n)},c=(t,e)=>{const n=e.startsWith("animation")?s(t):"";t.style.removeProperty(n+e)},d=(t,e)=>{let n;const o={passive:!0},i=()=>{n&&n()},r=n=>{t===n.target&&(i(),e(n))};return t&&(t.addEventListener("webkitAnimationEnd",r,o),t.addEventListener("animationend",r,o),n=()=>{t.removeEventListener("webkitAnimationEnd",r,o),t.removeEventListener("animationend",r,o)}),i},u=(t=[])=>t.map((t=>{const e=t.offset,n=[];for(const o in t)t.hasOwnProperty(o)&&"offset"!==o&&n.push(`${o}: ${t[o]};`);return`${100*e}% { ${n.join(" ")} }`})).join(" "),h=[],p=t=>{let e=h.indexOf(t);return e<0&&(e=h.push(t)-1),`ion-animation-${e}`},f=t=>{const e=t.getRootNode();return e.head||e},m=(t,e,n)=>{const o=f(n),i=s(n),r=o.querySelector("#"+t);if(r)return r;const a=(n.ownerDocument||document).createElement("style");return a.id=t,a.textContent=`@${i}keyframes ${t} { ${e} } @${i}keyframes ${t}-alt { ${e} }`,o.appendChild(a),a},g=(t=[],e)=>{if(void 0!==e){const n=Array.isArray(e)?e:[e];return[...t,...n]}return t},b=t=>{let e,n,i,a,s,h,f,b,v,y,w,x,k,$=[],E=[],S=[],_=!1,C={},A=[],T=[],I={},L=0,R=!1,O=!1,D=!0,N=!1,P=!0,z=!1;const j=t,M=[],B=[],F=[],H=[],W=[],U=[],q=[],V=[],Y=[],G=[],X="function"===typeof AnimationEffect||"function"===typeof window.AnimationEffect,J="function"===typeof Element&&"function"===typeof Element.prototype.animate&&X,K=100,Z=()=>G,Q=t=>(H.forEach((e=>{e.destroy(t)})),tt(t),F.length=0,H.length=0,$.length=0,it(),_=!1,P=!0,k),tt=t=>{rt(),t&&at()},et=()=>{R=!1,O=!1,P=!0,v=void 0,y=void 0,w=void 0,L=0,N=!1,D=!0,z=!1},nt=()=>0!==L&&!z,ot=(t,e)=>{const n=(null===e||void 0===e?void 0:e.oneTimeCallback)?B:M;return n.push({c:t,o:e}),k},it=()=>(M.length=0,B.length=0,k),rt=()=>{if(J)G.forEach((t=>{t.cancel()})),G.length=0;else{const t=F.slice();(0,o.r)((()=>{t.forEach((t=>{c(t,"animation-name"),c(t,"animation-duration"),c(t,"animation-timing-function"),c(t,"animation-iteration-count"),c(t,"animation-delay"),c(t,"animation-play-state"),c(t,"animation-fill-mode"),c(t,"animation-direction")}))}))}},at=()=>{W.forEach((t=>{(null===t||void 0===t?void 0:t.parentNode)&&t.parentNode.removeChild(t)})),W.length=0},st=t=>(U.push(t),k),lt=t=>(q.push(t),k),ct=t=>(V.push(t),k),dt=t=>(Y.push(t),k),ut=t=>(E=g(E,t),k),ht=t=>(S=g(S,t),k),pt=(t={})=>(C=t,k),ft=(t=[])=>{for(const e of t)C[e]="";return k},mt=t=>(A=g(A,t),k),gt=t=>(T=g(T,t),k),bt=(t={})=>(I=t,k),vt=(t=[])=>{for(const e of t)I[e]="";return k},yt=()=>void 0!==s?s:f?f.getFill():"both",wt=()=>void 0!==v?v:void 0!==h?h:f?f.getDirection():"normal",xt=()=>R?"linear":void 0!==i?i:f?f.getEasing():"linear",kt=()=>O?0:void 0!==y?y:void 0!==n?n:f?f.getDuration():0,$t=()=>void 0!==a?a:f?f.getIterations():1,Et=()=>void 0!==w?w:void 0!==e?e:f?f.getDelay():0,St=()=>$,_t=t=>(h=t,Vt(!0),k),Ct=t=>(s=t,Vt(!0),k),At=t=>(e=t,Vt(!0),k),Tt=t=>(i=t,Vt(!0),k),It=t=>(J||0!==t||(t=1),n=t,Vt(!0),k),Lt=t=>(a=t,Vt(!0),k),Rt=t=>(f=t,k),Ot=t=>{if(null!=t)if(1===t.nodeType)F.push(t);else if(t.length>=0)for(let e=0;e{if(null!=t)if(Array.isArray(t))for(const e of t)e.parent(k),H.push(e);else t.parent(k),H.push(t);return k},Nt=t=>{const e=$!==t;return $=t,e&&Pt($),k},Pt=t=>{J?Z().forEach((e=>{if(e.effect.setKeyframes)e.effect.setKeyframes(t);else{const n=new KeyframeEffect(e.effect.target,t,e.effect.getTiming());e.effect=n}})):Bt()},zt=()=>{U.forEach((t=>t())),q.forEach((t=>t()));const t=E,e=S,n=C;F.forEach((o=>{const i=o.classList;t.forEach((t=>i.add(t))),e.forEach((t=>i.remove(t)));for(const t in n)n.hasOwnProperty(t)&&l(o,t,n[t])}))},jt=()=>{Qt(),V.forEach((t=>t())),Y.forEach((t=>t()));const t=D?1:0,e=A,n=T,o=I;F.forEach((t=>{const i=t.classList;e.forEach((t=>i.add(t))),n.forEach((t=>i.remove(t)));for(const e in o)o.hasOwnProperty(e)&&l(t,e,o[e])})),M.forEach((e=>e.c(t,k))),B.forEach((e=>e.c(t,k))),B.length=0,P=!0,D&&(N=!0),D=!0},Mt=()=>{0!==L&&(L--,0===L&&(jt(),f&&f.animationFinish()))},Bt=(e=!0)=>{at();const n=r($);F.forEach((i=>{if(n.length>0){const r=u(n);x=void 0!==t?t:p(r);const a=m(x,r,i);W.push(a),l(i,"animation-duration",`${kt()}ms`),l(i,"animation-timing-function",xt()),l(i,"animation-delay",`${Et()}ms`),l(i,"animation-fill-mode",yt()),l(i,"animation-direction",wt());const s=$t()===1/0?"infinite":$t().toString();l(i,"animation-iteration-count",s),l(i,"animation-play-state","paused"),e&&l(i,"animation-name",`${a.id}-alt`),(0,o.r)((()=>{l(i,"animation-name",a.id||null)}))}}))},Ft=()=>{F.forEach((t=>{const e=t.animate($,{id:j,delay:Et(),duration:kt(),easing:xt(),iterations:$t(),fill:yt(),direction:wt()});e.pause(),G.push(e)})),G.length>0&&(G[0].onfinish=()=>{Mt()})},Ht=(t=!0)=>{zt(),$.length>0&&(J?Ft():Bt(t)),_=!0},Wt=t=>{if(t=Math.min(Math.max(t,0),.9999),J)G.forEach((e=>{e.currentTime=e.effect.getComputedTiming().delay+kt()*t,e.pause()}));else{const e=`-${kt()*t}ms`;F.forEach((t=>{$.length>0&&(l(t,"animation-delay",e),l(t,"animation-play-state","paused"))}))}},Ut=t=>{G.forEach((t=>{t.effect.updateTiming({delay:Et(),duration:kt(),easing:xt(),iterations:$t(),fill:yt(),direction:wt()})})),void 0!==t&&Wt(t)},qt=(t=!0,e)=>{(0,o.r)((()=>{F.forEach((n=>{l(n,"animation-name",x||null),l(n,"animation-duration",`${kt()}ms`),l(n,"animation-timing-function",xt()),l(n,"animation-delay",void 0!==e?`-${e*kt()}ms`:`${Et()}ms`),l(n,"animation-fill-mode",yt()||null),l(n,"animation-direction",wt()||null);const i=$t()===1/0?"infinite":$t().toString();l(n,"animation-iteration-count",i),t&&l(n,"animation-name",`${x}-alt`),(0,o.r)((()=>{l(n,"animation-name",x||null)}))}))}))},Vt=(t=!1,e=!0,n)=>(t&&H.forEach((o=>{o.update(t,e,n)})),J?Ut(n):qt(e,n),k),Yt=(t=!1,e)=>(H.forEach((n=>{n.progressStart(t,e)})),Jt(),R=t,_||Ht(),Vt(!1,!0,e),k),Gt=t=>(H.forEach((e=>{e.progressStep(t)})),Wt(t),k),Xt=(t,e,n)=>(R=!1,H.forEach((o=>{o.progressEnd(t,e,n)})),void 0!==n&&(y=n),N=!1,D=!0,0===t?(v="reverse"===wt()?"normal":"reverse","reverse"===v&&(D=!1),J?(Vt(),Wt(1-e)):(w=(1-e)*kt()*-1,Vt(!1,!1))):1===t&&(J?(Vt(),Wt(e)):(w=e*kt()*-1,Vt(!1,!1))),void 0!==t&&(ot((()=>{y=void 0,v=void 0,w=void 0}),{oneTimeCallback:!0}),f||ie()),k),Jt=()=>{_&&(J?G.forEach((t=>{t.pause()})):F.forEach((t=>{l(t,"animation-play-state","paused")})),z=!0)},Kt=()=>(H.forEach((t=>{t.pause()})),Jt(),k),Zt=()=>{b=void 0,Mt()},Qt=()=>{b&&clearTimeout(b)},te=()=>{if(Qt(),(0,o.r)((()=>{F.forEach((t=>{$.length>0&&l(t,"animation-play-state","running")}))})),0===$.length||0===F.length)Mt();else{const t=Et()||0,e=kt()||0,n=$t()||1;isFinite(n)&&(b=setTimeout(Zt,t+e*n+K)),d(F[0],(()=>{Qt(),(0,o.r)((()=>{ee(),(0,o.r)(Mt)}))}))}},ee=()=>{F.forEach((t=>{c(t,"animation-duration"),c(t,"animation-delay"),c(t,"animation-play-state")}))},ne=()=>{G.forEach((t=>{t.play()})),0!==$.length&&0!==F.length||Mt()},oe=()=>{J?(Wt(0),Ut()):qt()},ie=t=>new Promise((e=>{(null===t||void 0===t?void 0:t.sync)&&(O=!0,ot((()=>O=!1),{oneTimeCallback:!0})),_||Ht(),N&&(oe(),N=!1),P&&(L=H.length+1,P=!1),ot((()=>e()),{oneTimeCallback:!0}),H.forEach((t=>{t.play()})),J?ne():te(),z=!1})),re=()=>{H.forEach((t=>{t.stop()})),_&&(rt(),_=!1),et()},ae=(t,e)=>{const n=$[0];return void 0===n||void 0!==n.offset&&0!==n.offset?$=[{offset:0,[t]:e},...$]:n[t]=e,k},se=(t,e)=>{const n=$[$.length-1];return void 0===n||void 0!==n.offset&&1!==n.offset?$=[...$,{offset:1,[t]:e}]:n[t]=e,k},le=(t,e,n)=>ae(t,e).to(t,n);return k={parentAnimation:f,elements:F,childAnimations:H,id:j,animationFinish:Mt,from:ae,to:se,fromTo:le,parent:Rt,play:ie,pause:Kt,stop:re,destroy:Q,keyframes:Nt,addAnimation:Dt,addElement:Ot,update:Vt,fill:Ct,direction:_t,iterations:Lt,duration:It,easing:Tt,delay:At,getWebAnimations:Z,getKeyframes:St,getFill:yt,getDirection:wt,getDelay:Et,getIterations:$t,getEasing:xt,getDuration:kt,afterAddRead:ct,afterAddWrite:dt,afterClearStyles:vt,afterStyles:bt,afterRemoveClass:gt,afterAddClass:mt,beforeAddRead:st,beforeAddWrite:lt,beforeClearStyles:ft,beforeStyles:pt,beforeRemoveClass:ht,beforeAddClass:ut,onFinish:ot,isRunning:nt,progressStart:Yt,progressStep:Gt,progressEnd:Xt}}},545:function(t,e,n){"use strict";n.d(e,{i:function(){return o}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o=t=>t&&""!==t.dir?"rtl"===t.dir.toLowerCase():"rtl"===(null===document||void 0===document?void 0:document.dir.toLowerCase())},9350:function(t,e,n){"use strict";n.d(e,{G:function(){return s}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +class o{constructor(){this.gestureId=0,this.requestedStart=new Map,this.disabledGestures=new Map,this.disabledScroll=new Set}createGesture(t){return new i(this,this.newID(),t.name,t.priority||0,!!t.disableScroll)}createBlocker(t={}){return new r(this,this.newID(),t.disable,!!t.disableScroll)}start(t,e,n){return this.canStart(t)?(this.requestedStart.set(e,n),!0):(this.requestedStart.delete(e),!1)}capture(t,e,n){if(!this.start(t,e,n))return!1;const o=this.requestedStart;let i=-1e4;if(o.forEach((t=>{i=Math.max(i,t)})),i===n){this.capturedId=e,o.clear();const n=new CustomEvent("ionGestureCaptured",{detail:{gestureName:t}});return document.dispatchEvent(n),!0}return o.delete(e),!1}release(t){this.requestedStart.delete(t),this.capturedId===t&&(this.capturedId=void 0)}disableGesture(t,e){let n=this.disabledGestures.get(t);void 0===n&&(n=new Set,this.disabledGestures.set(t,n)),n.add(e)}enableGesture(t,e){const n=this.disabledGestures.get(t);void 0!==n&&n.delete(e)}disableScroll(t){this.disabledScroll.add(t),1===this.disabledScroll.size&&document.body.classList.add(a)}enableScroll(t){this.disabledScroll.delete(t),0===this.disabledScroll.size&&document.body.classList.remove(a)}canStart(t){return void 0===this.capturedId&&!this.isDisabled(t)}isCaptured(){return void 0!==this.capturedId}isScrollDisabled(){return this.disabledScroll.size>0}isDisabled(t){const e=this.disabledGestures.get(t);return!!(e&&e.size>0)}newID(){return this.gestureId++,this.gestureId}}class i{constructor(t,e,n,o,i){this.id=e,this.name=n,this.disableScroll=i,this.priority=1e6*o+e,this.ctrl=t}canStart(){return!!this.ctrl&&this.ctrl.canStart(this.name)}start(){return!!this.ctrl&&this.ctrl.start(this.name,this.id,this.priority)}capture(){if(!this.ctrl)return!1;const t=this.ctrl.capture(this.name,this.id,this.priority);return t&&this.disableScroll&&this.ctrl.disableScroll(this.id),t}release(){this.ctrl&&(this.ctrl.release(this.id),this.disableScroll&&this.ctrl.enableScroll(this.id))}destroy(){this.release(),this.ctrl=void 0}}class r{constructor(t,e,n,o){this.id=e,this.disable=n,this.disableScroll=o,this.ctrl=t}block(){if(this.ctrl){if(this.disable)for(const t of this.disable)this.ctrl.disableGesture(t,this.id);this.disableScroll&&this.ctrl.disableScroll(this.id)}}unblock(){if(this.ctrl){if(this.disable)for(const t of this.disable)this.ctrl.enableGesture(t,this.id);this.disableScroll&&this.ctrl.enableScroll(this.id)}}destroy(){this.unblock(),this.ctrl=void 0}}const a="backdrop-no-scroll",s=new o},4261:function(t,e,n){"use strict";n.r(e),n.d(e,{MENU_BACK_BUTTON_PRIORITY:function(){return a},OVERLAY_BACK_BUTTON_PRIORITY:function(){return r},blockHardwareBackButton:function(){return o},startHardwareBackButton:function(){return i}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o=()=>{document.addEventListener("backbutton",(()=>{}))},i=()=>{const t=document;let e=!1;t.addEventListener("backbutton",(()=>{if(e)return;let n=0,o=[];const i=new CustomEvent("ionBackButton",{bubbles:!1,detail:{register(t,e){o.push({priority:t,handler:e,id:n++})}}});t.dispatchEvent(i);const r=async t=>{try{if(null===t||void 0===t?void 0:t.handler){const e=t.handler(a);null!=e&&await e}}catch(e){console.error(e)}},a=()=>{if(o.length>0){let t={priority:Number.MIN_SAFE_INTEGER,handler:()=>{},id:-1};o.forEach((e=>{e.priority>=t.priority&&(t=e)})),e=!0,o=o.filter((e=>e.id!==t.id)),r(t).then((()=>e=!1))}};a()}))},r=100,a=99},6587:function(t,e,n){"use strict";n.d(e,{a:function(){return c},b:function(){return d},c:function(){return r},d:function(){return g},f:function(){return m},g:function(){return u},h:function(){return p},i:function(){return l},j:function(){return b},k:function(){return a},l:function(){return w},m:function(){return f},q:function(){return y},r:function(){return h},s:function(){return k},t:function(){return o},u:function(){return v}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o=(t,e=0)=>new Promise((n=>{i(t,e,n)})),i=(t,e=0,n)=>{let o,i;const r={passive:!0},a=500,s=()=>{o&&o()},l=e=>{void 0!==e&&t!==e.target||(s(),n(e))};return t&&(t.addEventListener("webkitTransitionEnd",l,r),t.addEventListener("transitionend",l,r),i=setTimeout(l,e+a),o=()=>{i&&(clearTimeout(i),i=void 0),t.removeEventListener("webkitTransitionEnd",l,r),t.removeEventListener("transitionend",l,r)}),s},r=(t,e)=>{t.componentOnReady?t.componentOnReady().then((t=>e(t))):h((()=>e(t)))},a=(t,e=[])=>{const n={};return e.forEach((e=>{if(t.hasAttribute(e)){const o=t.getAttribute(e);null!==o&&(n[e]=t.getAttribute(e)),t.removeAttribute(e)}})),n},s=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],l=t=>a(t,s),c=(t,e,n,o)=>{var i;if("undefined"!==typeof window){const r=window,a=null===(i=null===r||void 0===r?void 0:r.Ionic)||void 0===i?void 0:i.config;if(a){const i=a.get("_ael");if(i)return i(t,e,n,o);if(a._ael)return a._ael(t,e,n,o)}}return t.addEventListener(e,n,o)},d=(t,e,n,o)=>{var i;if("undefined"!==typeof window){const r=window,a=null===(i=null===r||void 0===r?void 0:r.Ionic)||void 0===i?void 0:i.config;if(a){const i=a.get("_rel");if(i)return i(t,e,n,o);if(a._rel)return a._rel(t,e,n,o)}}return t.removeEventListener(e,n,o)},u=(t,e=t)=>t.shadowRoot||e,h=t=>"function"===typeof __zone_symbol__requestAnimationFrame?__zone_symbol__requestAnimationFrame(t):"function"===typeof requestAnimationFrame?requestAnimationFrame(t):setTimeout(t),p=t=>!!t.shadowRoot&&!!t.attachShadow,f=t=>{const e=t.closest("ion-item");return e?e.querySelector("ion-label"):null},m=t=>{if(t.focus(),t.classList.contains("ion-focusable")){const e=t.closest("ion-app");e&&e.setFocus([t])}},g=(t,e)=>{let n;const o=t.getAttribute("aria-labelledby"),i=t.id;let r=null!==o&&""!==o.trim()?o:e+"-lbl",a=null!==o&&""!==o.trim()?document.getElementById(o):f(t);return a?(null===o&&(a.id=r),n=a.textContent,a.setAttribute("aria-hidden","true")):""!==i.trim()&&(a=document.querySelector(`label[for="${i}"]`),a&&(""!==a.id?r=a.id:a.id=r=`${i}-lbl`,n=a.textContent)),{label:a,labelId:r,labelText:n}},b=(t,e,n)=>Math.max(t,Math.min(e,n)),v=t=>t.timeStamp||Date.now(),y=t=>{if(t){const e=t.changedTouches;if(e&&e.length>0){const t=e[0];return{x:t.clientX,y:t.clientY}}if(void 0!==t.pageX)return{x:t.pageX,y:t.pageY}}return{x:0,y:0}},w=(t,e)=>{const n=t._original||t;return{_original:t,emit:x(n.emit.bind(n),e)}},x=(t,e=0)=>{let n;return(...o)=>{clearTimeout(n),n=setTimeout(t,e,...o)}},k=(t,e)=>{if(null!==t&&void 0!==t||(t={}),null!==e&&void 0!==e||(e={}),t===e)return!0;const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const o of n){if(!(o in e))return!1;if(t[o]!==e[o])return!1}return!0}},6515:function(t,e,n){"use strict";n.r(e),n.d(e,{GESTURE_CONTROLLER:function(){return o.G},createGesture:function(){return u}});var o=n(9350); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */const i=(t,e,n,o)=>{const i=r(t)?{capture:!!o.capture,passive:!!o.passive}:!!o.capture;let a,s;return t["__zone_symbol__addEventListener"]?(a="__zone_symbol__addEventListener",s="__zone_symbol__removeEventListener"):(a="addEventListener",s="removeEventListener"),t[a](e,n,i),()=>{t[s](e,n,i)}},r=t=>{if(void 0===a)try{const e=Object.defineProperty({},"passive",{get:()=>{a=!0}});t.addEventListener("optsTest",(()=>{}),e)}catch(e){a=!1}return!!a};let a;const s=2e3,l=(t,e,n,o,r)=>{let a,l,d,u,h,p,f,m=0;const g=o=>{m=Date.now()+s,e(o)&&(!l&&n&&(l=i(t,"touchmove",n,r)),d||(d=i(o.target,"touchend",v,r)),u||(u=i(o.target,"touchcancel",v,r)))},b=o=>{m>Date.now()||e(o)&&(!p&&n&&(p=i(c(t),"mousemove",n,r)),f||(f=i(c(t),"mouseup",y,r)))},v=t=>{w(),o&&o(t)},y=t=>{x(),o&&o(t)},w=()=>{l&&l(),d&&d(),u&&u(),l=d=u=void 0},x=()=>{p&&p(),f&&f(),p=f=void 0},k=()=>{w(),x()},$=(e=!0)=>{e?(a||(a=i(t,"touchstart",g,r)),h||(h=i(t,"mousedown",b,r))):(a&&a(),h&&h(),a=h=void 0,k())},E=()=>{$(!1),o=n=e=void 0};return{enable:$,stop:k,destroy:E}},c=t=>t instanceof Document?t:t.ownerDocument,d=(t,e,n)=>{const o=n*(Math.PI/180),i="x"===t,r=Math.cos(o),a=e*e;let s=0,l=0,c=!1,d=0;return{start(t,e){s=t,l=e,d=0,c=!0},detect(t,e){if(!c)return!1;const n=t-s,o=e-l,u=n*n+o*o;if(ur?1:p<-r?-1:0,c=!1,!0},isGesture(){return 0!==d},getDirection(){return d}}},u=t=>{let e=!1,n=!1,i=!0,r=!1;const a=Object.assign({disableScroll:!1,direction:"x",gesturePriority:0,passive:!0,maxAngle:40,threshold:10},t),s=a.canStart,c=a.onWillStart,u=a.onStart,m=a.onEnd,g=a.notCaptured,b=a.onMove,v=a.threshold,y=a.passive,w=a.blurOnStart,x={type:"pan",startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,event:void 0,data:void 0},k=d(a.direction,a.threshold,a.maxAngle),$=o.G.createGesture({name:t.gestureName,priority:t.gesturePriority,disableScroll:t.disableScroll}),E=t=>{const e=f(t);return!(n||!i)&&(p(t,x),x.startX=x.currentX,x.startY=x.currentY,x.startTime=x.currentTime=e,x.velocityX=x.velocityY=x.deltaX=x.deltaY=0,x.event=t,(!s||!1!==s(x))&&($.release(),!!$.start()&&(n=!0,0===v?C():(k.start(x.startX,x.startY),!0))))},S=t=>{e?!r&&i&&(r=!0,h(x,t),requestAnimationFrame(_)):(h(x,t),k.detect(x.currentX,x.currentY)&&(k.isGesture()&&C()||O()))},_=()=>{e&&(r=!1,b&&b(x))},C=()=>!($&&!$.capture())&&(e=!0,i=!1,x.startX=x.currentX,x.startY=x.currentY,x.startTime=x.currentTime,c?c(x).then(T):T(),!0),A=()=>{if("undefined"!==typeof document){const t=document.activeElement;(null===t||void 0===t?void 0:t.blur)&&t.blur()}},T=()=>{w&&A(),u&&u(x),i=!0},I=()=>{e=!1,n=!1,r=!1,i=!0,$.release()},L=t=>{const n=e,o=i;I(),o&&(h(x,t),n?m&&m(x):g&&g(x))},R=l(a.el,E,S,L,{capture:!1,passive:y}),O=()=>{I(),R.stop(),g&&g(x)};return{enable(t=!0){t||(e&&L(void 0),I()),R.enable(t)},destroy(){$.destroy(),R.destroy()}}},h=(t,e)=>{if(!e)return;const n=t.currentX,o=t.currentY,i=t.currentTime;p(e,t);const r=t.currentX,a=t.currentY,s=t.currentTime=f(e),l=s-i;if(l>0&&l<100){const e=(r-n)/l,i=(a-o)/l;t.velocityX=.7*e+.3*t.velocityX,t.velocityY=.7*i+.3*t.velocityY}t.deltaX=r-t.startX,t.deltaY=a-t.startY,t.event=e},p=(t,e)=>{let n=0,o=0;if(t){const e=t.changedTouches;if(e&&e.length>0){const t=e[0];n=t.clientX,o=t.clientY}else void 0!==t.pageX&&(n=t.pageX,o=t.pageY)}e.currentX=n,e.currentY=o},f=t=>t.timeStamp||Date.now()},5026:function(t,e,n){"use strict";n.d(e,{L:function(){return r},a:function(){return a},b:function(){return s},c:function(){return l},e:function(){return S},g:function(){return A},t:function(){return u}});var o=n(65),i=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const r="ionViewWillEnter",a="ionViewDidEnter",s="ionViewWillLeave",l="ionViewDidLeave",c=()=>n.e(338).then(n.bind(n,6338)),d=()=>n.e(753).then(n.bind(n,4753)),u=t=>new Promise(((e,n)=>{(0,o.Iu)((()=>{h(t),p(t).then((n=>{n.animation&&n.animation.destroy(),f(t),e(n)}),(e=>{f(t),n(e)}))}))})),h=t=>{const e=t.enteringEl,n=t.leavingEl;C(e,n,t.direction),t.showGoBack?e.classList.add("can-go-back"):e.classList.remove("can-go-back"),_(e,!1),e.style.setProperty("pointer-events","none"),n&&(_(n,!1),n.style.setProperty("pointer-events","none"))},p=async t=>{const e=await m(t),n=e&&o.Z5.isBrowser?g(e,t):b(t);return n},f=t=>{const e=t.enteringEl,n=t.leavingEl;e.classList.remove("ion-page-invisible"),e.style.removeProperty("pointer-events"),void 0!==n&&(n.classList.remove("ion-page-invisible"),n.style.removeProperty("pointer-events"))},m=async t=>{if(!t.leavingEl||!t.animated||0===t.duration)return;if(t.animationBuilder)return t.animationBuilder;const e="ios"===t.mode?(await c()).iosTransitionAnimation:(await d()).mdTransitionAnimation;return e},g=async(t,e)=>{await v(e,!0);const n=t(e.baseEl,e);x(e.enteringEl,e.leavingEl);const o=await w(n,e);return e.progressCallback&&e.progressCallback(void 0),o&&k(e.enteringEl,e.leavingEl),{hasCompleted:o,animation:n}},b=async t=>{const e=t.enteringEl,n=t.leavingEl;return await v(t,!1),x(e,n),k(e,n),{hasCompleted:!0}},v=async(t,e)=>{const n=void 0!==t.deepWait?t.deepWait:e,o=n?[S(t.enteringEl),S(t.leavingEl)]:[E(t.enteringEl),E(t.leavingEl)];await Promise.all(o),await y(t.viewIsReady,t.enteringEl)},y=async(t,e)=>{t&&await t(e)},w=(t,e)=>{const n=e.progressCallback,o=new Promise((e=>{t.onFinish((t=>e(1===t)))}));return n?(t.progressStart(!0),n(t)):t.play(),o},x=(t,e)=>{$(e,s),$(t,r)},k=(t,e)=>{$(t,a),$(e,l)},$=(t,e)=>{if(t){const n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.dispatchEvent(n)}},E=t=>t?new Promise((e=>(0,i.c)(t,e))):Promise.resolve(),S=async t=>{const e=t;if(e){if(null!=e.componentOnReady){const t=await e.componentOnReady();if(null!=t)return}else if(null!=e.__registerHost){const t=new Promise((t=>(0,i.r)(t)));return void await t}await Promise.all(Array.from(e.children).map(S))}},_=(t,e)=>{e?(t.setAttribute("aria-hidden","true"),t.classList.add("ion-page-hidden")):(t.hidden=!1,t.removeAttribute("aria-hidden"),t.classList.remove("ion-page-hidden"))},C=(t,e,n)=>{void 0!==t&&(t.style.zIndex="back"===n?"99":"101"),void 0!==e&&(e.style.zIndex="100")},A=t=>{if(t.classList.contains("ion-page"))return t;const e=t.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs");return e||t}},9370:function(t,e,n){"use strict";n.d(e,{a:function(){return i},b:function(){return r},p:function(){return o}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o=t=>console.warn(`[Ionic Warning]: ${t}`),i=(t,...e)=>console.error(`[Ionic Error]: ${t}`,...e),r=(t,...e)=>console.error(`<${t.tagName.toLowerCase()}> must be used inside ${e.join(" or ")}.`)},8487:function(t,e,n){"use strict";n.d(e,{I:function(){return a},a:function(){return h},b:function(){return s},c:function(){return f},d:function(){return g},f:function(){return u},g:function(){return d},i:function(){return c},p:function(){return m},r:function(){return b},s:function(){return p}});var o=n(6587),i=n(9370); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const r="ION-CONTENT",a="ion-content",s=".ion-content-scroll-host",l=`${a}, ${s}`,c=t=>t&&t.tagName===r,d=async t=>c(t)?(await new Promise((e=>(0,o.c)(t,e))),t.getScrollElement()):t,u=t=>{const e=t.querySelector(s);return e||t.querySelector(l)},h=t=>t.closest(l),p=(t,e)=>{if(c(t)){const n=t;return n.scrollToTop(e)}return Promise.resolve(t.scrollTo({top:0,left:0,behavior:e>0?"smooth":"auto"}))},f=(t,e,n,o)=>{if(c(t)){const i=t;return i.scrollByPoint(e,n,o)}return Promise.resolve(t.scrollBy({top:n,left:e,behavior:o>0?"smooth":"auto"}))},m=t=>(0,i.b)(t,a),g=t=>{if(c(t)){const e=t,n=e.scrollY;return e.scrollY=!1,n}return t.style.setProperty("overflow","hidden"),!0},b=(t,e)=>{c(t)?t.scrollY=e:t.style.removeProperty("overflow")}},3541:function(t,e,n){"use strict";n.r(e),n.d(e,{KEYBOARD_DID_CLOSE:function(){return i},KEYBOARD_DID_OPEN:function(){return o},copyVisualViewport:function(){return w},keyboardDidClose:function(){return g},keyboardDidOpen:function(){return f},keyboardDidResize:function(){return m},resetKeyboardAssist:function(){return c},setKeyboardClose:function(){return p},setKeyboardOpen:function(){return h},startKeyboardAssist:function(){return d},trackViewportChanges:function(){return y}}); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const o="ionKeyboardDidShow",i="ionKeyboardDidHide",r=150;let a={},s={},l=!1;const c=()=>{a={},s={},l=!1},d=t=>{u(t),t.visualViewport&&(s=w(t.visualViewport),t.visualViewport.onresize=()=>{y(t),f()||m(t)?h(t):g(t)&&p(t)})},u=t=>{t.addEventListener("keyboardDidShow",(e=>h(t,e))),t.addEventListener("keyboardDidHide",(()=>p(t)))},h=(t,e)=>{b(t,e),l=!0},p=t=>{v(t),l=!1},f=()=>{const t=(a.height-s.height)*s.scale;return!l&&a.width===s.width&&t>r},m=t=>l&&!g(t),g=t=>l&&s.height===t.innerHeight,b=(t,e)=>{const n=e?e.keyboardHeight:t.innerHeight-s.height,i=new CustomEvent(o,{detail:{keyboardHeight:n}});t.dispatchEvent(i)},v=t=>{const e=new CustomEvent(i);t.dispatchEvent(e)},y=t=>{a=Object.assign({},s),s=w(t.visualViewport)},w=t=>({width:Math.round(t.width),height:Math.round(t.height),offsetTop:t.offsetTop,offsetLeft:t.offsetLeft,pageTop:t.pageTop,pageLeft:t.pageLeft,scale:t.scale})},3978:function(t,e,n){"use strict";n.d(e,{K:function(){return s}});var o=n(9483),i=n.n(o);const r={SecureStorage:"ionicSecureStorage",IndexedDB:i().INDEXEDDB,LocalStorage:i().LOCALSTORAGE},a={name:"_ionicstorage",storeName:"_ionickv",dbKey:"_ionickey",driverOrder:[r.SecureStorage,r.IndexedDB,r.LocalStorage]};class s{constructor(t=a){this._db=null,this._secureStorageDriver=null;const e=Object.assign({},a,t||{});this._config=e}async create(){const t=i().createInstance(this._config);return this._db=t,await t.setDriver(this._config.driverOrder||[]),this}async defineDriver(t){return t._driver===r.SecureStorage&&(this._secureStorageDriver=t),i().defineDriver(t)}get driver(){var t;return(null===(t=this._db)||void 0===t?void 0:t.driver())||null}assertDb(){if(!this._db)throw new Error("Database not created. Must call create() first");return this._db}get(t){const e=this.assertDb();return e.getItem(t)}set(t,e){const n=this.assertDb();return n.setItem(t,e)}remove(t){const e=this.assertDb();return e.removeItem(t)}clear(){const t=this.assertDb();return t.clear()}length(){const t=this.assertDb();return t.length()}keys(){const t=this.assertDb();return t.keys()}forEach(t){const e=this.assertDb();return e.iterate(t)}setEncryptionKey(t){var e;if(!this._secureStorageDriver)throw new Error("@ionic-enterprise/secure-storage not installed. Encryption support not available");null===(e=this._secureStorageDriver)||void 0===e||e.setEncryptionKey(t)}}},1089:function(t,e,n){"use strict";n.d(e,{PO:function(){return u},p7:function(){return d}});var o=n(2119),i=n(2262);const r=()=>{const t=[],e={},n=t=>{switch(t.routerAction){case"pop":i(t);break;default:r(t);break}"root"===t.routerDirection&&(a(),r(t))},o=n=>{const o=t.findIndex((t=>t.id===n.id));o>-1&&t.splice(o,1,n);const i=e[n.tab||""];if(i){const t=i.findIndex((t=>t.id===n.id));t>-1?i.splice(t,1,n):i.push(n)}else n.tab&&(e[n.tab]=[n])},i=e=>{const n=s(e.tab);let o;if(n){o=n[n.length-1];while(o&&o.id!==e.id)n.pop(),o=n[n.length-1];n.pop(),n.push(e)}o=t[t.length-1];while(o&&o.id!==e.id)t.pop(),o=t[t.length-1];t.pop(),t.push(e)},r=e=>{const n=s(e.tab);n&&(n[n.length-1]&&n[n.length-1].id===e.id&&n.pop(),n.push(e)),t.push(e)},a=n=>{if(n){const{position:o,tab:i}=n,r=t.findIndex((t=>t.position===o));if(-1===r)return;t.splice(r);const a=t=>{const n=e[t].findIndex((t=>t.position===o));-1!==n&&e[t].splice(n)},s=e[i];if(i&&s)a(i);else for(const t in e)a(t)}else{for(const t in e)e[t]=[];t.length=0}},s=t=>{let n;return t&&(n=e[t],n||(n=e[t]=[])),n},l=()=>t.length,c=(e,n)=>{const o=n-e;return t[o]||d()},d=()=>t[t.length-1],u=(t=1,e,n)=>n-t>=e,h=t=>{const e=s(t);if(e)return e[0]},p=t=>{const e=s(t);if(e)return e[e.length-1]},f=(e,n=-1)=>{const o=s(e.tab);if(o){if(n<-1)return o[o.length-1+n];for(let t=o.length-2;t>=0;t--){const n=o[t];if(n&&n.pathname===e.pushedByRoute)return n}}if(n<-1)return t[t.length-1+n];for(let i=t.length-2;i>=0;i--){const n=t[i];if(n&&n.pathname===e.pushedByRoute)return n}};return{current:c,size:l,last:d,add:n,canGoBack:u,update:o,getFirstRouteInfoForTab:h,getCurrentRouteInfoForTab:p,findLastLocation:f,clearHistory:a}},a={main:0},s=(t="main")=>{var e;const n=(null!==(e=a[t])&&void 0!==e?e:0)+1;return a[t]=n,n.toString()},l=(t,e)=>{let n={direction:void 0,action:void 0,delta:void 0};e.afterEach(((e,o,i)=>{if(i)return;const{direction:r,action:a,delta:s}=n;d=t.history.state.position;const l=t.history.state.replaced?"replace":void 0;f(e,a||l,r,s),n={direction:void 0,action:void 0,delta:void 0}}));const i=r();let a,l,c=t.history.state.position,d=t.history.state.position,u=[];"undefined"!==typeof document&&document.addEventListener("ionBackButton",(e=>{e.detail.register(0,(e=>{t.history.go(-1),e()}))})),t.history.listen(((t,e,o)=>{n={delta:o.delta,action:"pop"===o.type&&o.delta>=1?"push":o.type,direction:""===o.direction?"forward":o.direction}}));const h=(t,n)=>{const o=i.current(c,d);if(o&&o.pushedByRoute){const r=i.findLastLocation(o);r?(l=Object.assign(Object.assign({},r),{routerAction:"pop",routerDirection:"back",routerAnimation:n||o.routerAnimation}),o.lastPathname===o.pushedByRoute||r.pathname===o.pushedByRoute&&""===o.tab&&""===r.tab?e.back():e.go(r.position-o.position)):p(t,"pop","back")}else p(t,"pop","back")},p=(t,n,o,i,r)=>{k(n,o,i,r),"push"===n?e.push(t):e.replace(t)},f=(t,e,n,o)=>{let r;if(l)if("replace"===l.routerAction)r=i.current(c,d);else if("pop"===l.routerAction)r=i.current(c,d+1),"replace"===e&&i.clearHistory();else{const t="root"===l.routerDirection?d:d-1;r=i.current(c,t)}else r=a;r||(r={pathname:"",search:""});const h=r.pathname+r.search;if(h!==t.fullPath){if(!l){if("replace"===e)l={routerAction:"replace",routerDirection:"none"};else if("pop"===e){const t=i.current(c,d-o);if(t&&t.pushedByRoute){const e=i.findLastLocation(t,o);l=Object.assign(Object.assign({},e),{routerAction:"pop",routerDirection:"back"})}else l={routerAction:"pop",routerDirection:"none"}}l||(l={routerAction:"push",routerDirection:n||"forward"})}let u;if(null===l||void 0===l?void 0:l.id)u=Object.assign(Object.assign({},l),{lastPathname:r.pathname});else{const e="push"===l.routerAction&&"forward"===l.routerDirection;if(u=Object.assign(Object.assign({id:s("routeInfo")},l),{lastPathname:r.pathname,pathname:t.path,search:t.fullPath&&t.fullPath.split("?")[1]||"",params:t.params&&t.params,prevRouteLastPathname:r.lastPathname}),e)u.pushedByRoute=""!==r.pathname?r.pathname:void 0;else if("pop"===u.routerAction){const t=i.findLastLocation(u);u.pushedByRoute=null===t||void 0===t?void 0:t.pushedByRoute}else if("push"===u.routerAction&&u.tab!==r.tab){const t=i.getCurrentRouteInfoForTab(u.tab);u.pushedByRoute=null===t||void 0===t?void 0:t.pushedByRoute}else if("replace"===u.routerAction){const t=i.current(c,d),e=null===t||void 0===t?void 0:t.pushedByRoute,n=void 0!==e&&e!==u.pathname?e:u.pushedByRoute;u.lastPathname=(null===t||void 0===t?void 0:t.pathname)||u.lastPathname,u.pushedByRoute=n,u.routerDirection=(null===t||void 0===t?void 0:t.routerDirection)||u.routerDirection,u.routerAnimation=(null===t||void 0===t?void 0:t.routerAnimation)||u.routerAnimation,u.prevRouteLastPathname=null===t||void 0===t?void 0:t.lastPathname}}u.position=d,u.delta=o;const h=i.size(),p=d-c,f=h===p&&h>0&&"replace"===e;h>p||f?"push"!==u.routerAction&&"replace"!==u.routerAction||void 0!==o||(i.clearHistory(u),i.add(u)):i.add(u),1===i.size()&&(c=u.position),a=u}l=void 0,u.forEach((t=>t(a)))},m=()=>a,g=(t=1)=>i.canGoBack(t,c,d),b=t=>{const{routerAnimation:n,routerDirection:o,routerLink:i}=t;k("push",o,n),e.push(i)},v=t=>{const n=i.getFirstRouteInfoForTab(t);n&&e.go(n.position-d)},y=(t,n)=>{if(!n)return;const r=i.getCurrentRouteInfoForTab(t),[a]=n.split("?");r?(l=Object.assign(Object.assign({},l),{routerAction:"push",routerDirection:"none",tab:t}),r.pathname===a?e.push({path:r.pathname,query:(0,o.mB)(r.search)}):e.push({path:a,query:(0,o.mB)(r.search)})):p(a,"push","none",void 0,t)},w=t=>{const e=Object.assign({},i.current(c,d));e.tab!==t&&(e.tab=t,i.update(e));const n=i.findLastLocation(e);e.pushedByRoute!==e.lastPathname&&(null===n||void 0===n?void 0:n.tab)!==t&&(e.pushedByRoute=void 0,i.update(e))},x=t=>{u.push(t)},k=(t="push",e="forward",n,o)=>{l={routerAction:t,routerDirection:e,routerAnimation:n,tab:o}},$=t=>{k("pop","back",t),e.back()},E=t=>{k("push","forward",t),e.forward()},S=()=>i.current(c,d);return{handleNavigate:p,getLeavingRouteInfo:S,handleNavigateBack:h,handleSetCurrentTab:w,getCurrentRouteInfo:m,canGoBack:g,navigate:b,resetTab:v,changeTab:y,registerHistoryChangeListener:x,goBack:$,goForward:E}},c=t=>{let e={};const n=()=>Object.keys(e).length,o=t=>{delete e[t]},r=t=>e[t],a=(t,e)=>{t.ionPageElement=e,t.ionRoute=!0,t.matchedRoute.instances={default:t.vueComponentRef.value}},l=(t,e)=>h(t.pathname,e,!1),c=(t,e,n=!0)=>h(t.lastPathname,e,n),d=(t,e)=>h(t,e,!1),u=(t,e)=>e.find((e=>{if(e.pathname===t)return e})),h=(n,o,i=!1)=>{const r=e=>{if(i&&!e.ionRoute||""===n)return!1;const o=t.resolve(n),r=o.matched.find((t=>t===e.matchedRoute));if(r){const t=r.path.includes(":");return(!t||n===e.pathname)&&e}};if(o){const i=e[o];if(!i)return;const a=t?i.find(r):u(n,i);if(a)return a}else for(let t in e){const o=e[t],i=u(n,o);if(i)return i}},p=(t,e,n,o,r)=>({id:s("viewItem"),pathname:o.pathname,outletId:t,matchedRoute:n,ionPageElement:r,vueComponent:e,vueComponentRef:(0,i.XI)(),ionRoute:!1,mount:!1,exact:o.pathname===n.path,params:o.params,vueComponentData:{}}),f=t=>{const{outletId:n}=t;e[n]?e[n].push(t):e[n]=[t]},m=(t,n)=>{if(!n)throw Error("outletId required");const o=e[n];o&&(e[n]=o.filter((e=>e.id!==t.id)))},g=t=>{const n=e[t];if(n){const n=e[t].filter((t=>t.mount));return n}return[]},b=(t,n,o=1)=>{const i=e[t];if(!i)return;const r=i.findIndex((t=>t===n));for(let e=r+1;e{const i=e[t];if(!i)return;const r=i.findIndex((t=>t===n));for(let e=r+1;e{const e=Object.assign({},t);delete e.tabsPrefix;const n=(0,o.p7)(e),i=l(t,n),r=c(n),a=n.install.bind(n);n.install=t=>{t.provide("navManager",i),t.provide("viewStacks",r),a(t)};const s=n.isReady.bind(n);return n.isReady=()=>s(),n},u=t=>(0,o.PO)(t)},9747:function(t,e,n){"use strict";n.d(e,{dr:function(){return Fc},oU:function(){return Oc},YG:function(){return Jl},Sm:function(){return Kl},PM:function(){return Zl},Zi:function(){return Ql},Dq:function(){return tc},wI:function(){return ec},W2:function(){return nc},Gu:function(){return oc},gu:function(){return qc},Xz:function(){return ic},ju:function(){return rc},MB:function(){return ac},pK:function(){return sc},Ie:function(){return lc},Q$:function(){return cc},q_:function(){return dc},yh:function(){return uc},wh:function(){return Xc},ki:function(){return Kc},_i:function(){return Dc},B7:function(){return hc},nJ:function(){return pc},Wo:function(){return fc},jP:function(){return zc},Nd:function(){return mc},VI:function(){return gc},PQ:function(){return bc},Bs:function(){return vc},wd:function(){return yc},Px:function(){return Jc},sr:function(){return wc},oX:function(){return Rc},BO:function(){return Qc}});var o=n(6252),i=n(2262),r=n(65); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +class a{constructor(){this.m=new Map}reset(t){this.m=new Map(Object.entries(t))}get(t,e){const n=this.m.get(t);return void 0!==n?n:e}getBoolean(t,e=!1){const n=this.m.get(t);return void 0===n?e:"string"===typeof n?"true"===n:!!n}getNumber(t,e){const n=parseFloat(this.m.get(t));return isNaN(n)?void 0!==e?e:NaN:n}set(t,e){this.m.set(t,e)}}const s=new a,l=t=>{try{const e=t.sessionStorage.getItem(p);return null!==e?JSON.parse(e):{}}catch(e){return{}}},c=(t,e)=>{try{t.sessionStorage.setItem(p,JSON.stringify(e))}catch(n){return}},d=t=>{const e={};return t.location.search.slice(1).split("&").map((t=>t.split("="))).map((([t,e])=>[decodeURIComponent(t),decodeURIComponent(e)])).filter((([t])=>u(t,h))).map((([t,e])=>[t.slice(h.length),e])).forEach((([t,n])=>{e[t]=n})),e},u=(t,e)=>t.substr(0,e.length)===e,h="ionic:",p="ionic-persist-config",f=t=>g(t),m=(t,e)=>("string"===typeof t&&(e=t,t=void 0),f(t).includes(e)),g=(t=window)=>{if("undefined"===typeof t)return[];t.Ionic=t.Ionic||{};let e=t.Ionic.platforms;return null==e&&(e=t.Ionic.platforms=b(t),e.forEach((e=>t.document.documentElement.classList.add(`plt-${e}`)))),e},b=t=>{const e=s.get("platform");return Object.keys(N).filter((n=>{const o=null===e||void 0===e?void 0:e[n];return"function"===typeof o?o(t):N[n](t)}))},v=t=>_(t)&&!A(t),y=t=>!!O(t,/iPad/i)||!(!O(t,/Macintosh/i)||!_(t)),w=t=>O(t,/iPhone/i),x=t=>O(t,/iPhone|iPod/i)||y(t),k=t=>O(t,/android|sink/i),$=t=>k(t)&&!O(t,/mobile/i),E=t=>{const e=t.innerWidth,n=t.innerHeight,o=Math.min(e,n),i=Math.max(e,n);return o>390&&o<520&&i>620&&i<800},S=t=>{const e=t.innerWidth,n=t.innerHeight,o=Math.min(e,n),i=Math.max(e,n);return y(t)||$(t)||o>460&&o<820&&i>780&&i<1400},_=t=>D(t,"(any-pointer:coarse)"),C=t=>!_(t),A=t=>T(t)||I(t),T=t=>!!(t["cordova"]||t["phonegap"]||t["PhoneGap"]),I=t=>{const e=t["Capacitor"];return!!(null===e||void 0===e?void 0:e.isNative)},L=t=>O(t,/electron/i),R=t=>{var e;return!(!(null===(e=t.matchMedia)||void 0===e?void 0:e.call(t,"(display-mode: standalone)").matches)&&!t.navigator.standalone)},O=(t,e)=>e.test(t.navigator.userAgent),D=(t,e)=>{var n;return null===(n=t.matchMedia)||void 0===n?void 0:n.call(t,e).matches},N={ipad:y,iphone:w,ios:x,android:k,phablet:E,tablet:S,cordova:T,capacitor:I,electron:L,pwa:R,mobile:_,mobileweb:v,desktop:C,hybrid:A};let P;const z=t=>t&&(0,r.iJ)(t)||P,j=(t={})=>{if("undefined"===typeof window)return;const e=window.document,n=window;r._y.config=s;const o=n.Ionic=n.Ionic||{},i={};t._ael&&(i.ael=t._ael),t._rel&&(i.rel=t._rel),t._ce&&(i.ce=t._ce),(0,r.TX)(i);const a=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l(n)),{persistConfig:!1}),o.config),d(n)),t);s.reset(a),s.getBoolean("persistConfig")&&c(n,a),g(n),o.config=s,o.mode=P=s.get("mode",e.documentElement.getAttribute("mode")||(m(n,"ios")?"ios":"md")),s.set("mode",P),e.documentElement.setAttribute("mode",P),e.documentElement.classList.add(P),s.getBoolean("_testing")&&s.set("animated",!1);const u=t=>{var e;return null===(e=t.tagName)||void 0===e?void 0:e.startsWith("ION-")},h=t=>["ios","md"].includes(t);(0,r.PM)((t=>{while(t){const e=t.mode||t.getAttribute("mode");if(e){if(h(e))return e;u(t)&&console.warn('Invalid ionic mode: "'+e+'", expected: "ios" or "md"')}t=t.parentElement}return P}))};var M=n(6587); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const B=(t,e)=>null!==e.closest(t),F=(t,e)=>"string"===typeof t&&t.length>0?Object.assign({"ion-color":!0,[`ion-color-${t}`]:!0},e):e,H=t=>{if(void 0!==t){const e=Array.isArray(t)?t:t.split(" ");return e.filter((t=>null!=t)).map((t=>t.trim())).filter((t=>""!==t))}return[]},W=t=>{const e={};return H(t).forEach((t=>e[t]=!0)),e},U=/^[a-z][a-z0-9+\-.]*:/,q=async(t,e,n,o)=>{if(null!=t&&"#"!==t[0]&&!U.test(t)){const i=document.querySelector("ion-router");if(i)return null!=e&&e.preventDefault(),i.push(t,n,o)}return!1},V=":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}}",Y=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.type="bounded"}async addRipple(t,e){return new Promise((n=>{(0,r.wj)((()=>{const o=this.el.getBoundingClientRect(),i=o.width,a=o.height,s=Math.sqrt(i*i+a*a),l=Math.max(a,i),c=this.unbounded?l:s+X,d=Math.floor(l*J),u=c/d;let h=t-o.left,p=e-o.top;this.unbounded&&(h=.5*i,p=.5*a);const f=h-.5*d,m=p-.5*d,g=.5*i-h,b=.5*a-p;(0,r.Iu)((()=>{const t=document.createElement("div");t.classList.add("ripple-effect");const e=t.style;e.top=m+"px",e.left=f+"px",e.width=e.height=d+"px",e.setProperty("--final-scale",`${u}`),e.setProperty("--translate-end",`${g}px, ${b}px`);const o=this.el.shadowRoot||this.el;o.appendChild(t),setTimeout((()=>{n((()=>{G(t)}))}),325)}))}))}))}get unbounded(){return"unbounded"===this.type}render(){const t=z(this);return(0,r.h)(r.AA,{role:"presentation",class:{[t]:!0,unbounded:this.unbounded}})}get el(){return this}static get style(){return V}},[1,"ion-ripple-effect",{type:[1],addRipple:[64]}]),G=t=>{t.classList.add("fade-out"),setTimeout((()=>{t.remove()}),200)},X=10,J=.5;function K(){if("undefined"===typeof customElements)return;const t=["ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-ripple-effect":customElements.get(t)||customElements.define(t,Y);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Z=':host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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%;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.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}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:10px;--padding-top:0;--padding-bottom:0;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:2.8em;font-size:16px;font-weight:500;letter-spacing:-0.03em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:10px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:17px;font-weight:normal;letter-spacing:0}:host(.button-large){--border-radius:12px;--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--border-radius:6px;--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:hover),:host(.button-outline:hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native::after{background:#fff;opacity:0.1}}',Q=':host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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%;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.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}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:0;--padding-bottom:0;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:36px;font-size:14px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--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)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-strong){font-weight:bold}::slotted(ion-icon[slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}',tt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionFocus=(0,r.yM)(this,"ionFocus",7),this.ionBlur=(0,r.yM)(this,"ionBlur",7),this.inItem=!1,this.inListHeader=!1,this.inToolbar=!1,this.inheritedAttributes={},this.buttonType="button",this.disabled=!1,this.routerDirection="forward",this.strong=!1,this.type="button",this.handleClick=t=>{if("button"===this.type)q(this.href,t,this.routerDirection,this.routerAnimation);else if((0,M.h)(this.el)){const e=this.el.closest("form");if(e){t.preventDefault();const n=document.createElement("button");n.type=this.type,n.style.display="none",e.appendChild(n),n.click(),n.remove()}}},this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()}}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=(0,M.i)(this.el)}get hasIconOnly(){return!!this.el.querySelector('[slot="icon-only"]')}get rippleType(){const t=void 0===this.fill||"clear"===this.fill;return t&&this.hasIconOnly&&this.inToolbar?"unbounded":"bounded"}render(){const t=z(this),{buttonType:e,type:n,disabled:o,rel:i,target:a,size:s,href:l,color:c,expand:d,hasIconOnly:u,shape:h,strong:p,inheritedAttributes:f}=this,m=void 0===s&&this.inItem?"small":s,g=void 0===l?"button":"a",b="button"===g?{type:n}:{download:this.download,href:l,rel:i,target:a};let v=this.fill;return void 0===v&&(v=this.inToolbar||this.inListHeader?"clear":"solid"),(0,r.h)(r.AA,{onClick:this.handleClick,"aria-disabled":o?"true":null,class:F(c,{[t]:!0,[e]:!0,[`${e}-${d}`]:void 0!==d,[`${e}-${m}`]:void 0!==m,[`${e}-${h}`]:void 0!==h,[`${e}-${v}`]:!0,[`${e}-strong`]:p,"in-toolbar":B("ion-toolbar",this.el),"in-toolbar-color":B("ion-toolbar[color]",this.el),"button-has-icon-only":u,"button-disabled":o,"ion-activatable":!0,"ion-focusable":!0})},(0,r.h)(g,Object.assign({},b,{class:"button-native",part:"native",disabled:o,onFocus:this.onFocus,onBlur:this.onBlur},f),(0,r.h)("span",{class:"button-inner"},(0,r.h)("slot",{name:"icon-only"}),(0,r.h)("slot",{name:"start"}),(0,r.h)("slot",null),(0,r.h)("slot",{name:"end"})),"md"===t&&(0,r.h)("ion-ripple-effect",{type:this.rippleType})))}get el(){return this}static get style(){return{ios:Z,md:Q}}},[33,"ion-button",{color:[513],buttonType:[1025,"button-type"],disabled:[516],expand:[513],fill:[1537],routerDirection:[1,"router-direction"],routerAnimation:[16],download:[1],href:[1],rel:[1],shape:[513],size:[513],strong:[4],target:[1],type:[1]}]);function et(){if("undefined"===typeof customElements)return;const t=["ion-button","ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-button":customElements.get(t)||customElements.define(t,tt);break;case"ion-ripple-effect":customElements.get(t)||K();break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const nt=et,ot=".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}",it=".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}",rt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.collapse=!1}render(){const t=z(this);return(0,r.h)(r.AA,{class:{[t]:!0,["buttons-collapse"]:this.collapse}})}static get style(){return{ios:ot,md:it}}},[34,"ion-buttons",{collapse:[4]}]);function at(){if("undefined"===typeof customElements)return;const t=["ion-buttons"];t.forEach((t=>{switch(t){case"ion-buttons":customElements.get(t)||customElements.define(t,rt);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const st=at,lt=":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-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:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, #666666)));margin-left:16px;margin-right:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1), -webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:14px;-webkit-box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}:host(.ion-activated){-webkit-transform:scale3d(0.97, 0.97, 1);transform:scale3d(0.97, 0.97, 1)}",ct=":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-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:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-550, #737373)));margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;border-radius:4px;font-size:14px;-webkit-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}",dt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.button=!1,this.type="button",this.disabled=!1,this.routerDirection="forward"}isClickable(){return void 0!==this.href||this.button}renderCard(t){const e=this.isClickable();if(!e)return[(0,r.h)("slot",null)];const{href:n,routerAnimation:o,routerDirection:i}=this,a=e?void 0===n?"button":"a":"div",s="button"===a?{type:this.type}:{download:this.download,href:this.href,rel:this.rel,target:this.target};return(0,r.h)(a,Object.assign({},s,{class:"card-native",part:"native",disabled:this.disabled,onClick:t=>q(n,t,i,o)}),(0,r.h)("slot",null),e&&"md"===t&&(0,r.h)("ion-ripple-effect",null))}render(){const t=z(this);return(0,r.h)(r.AA,{class:F(this.color,{[t]:!0,"card-disabled":this.disabled,"ion-activatable":this.isClickable()})},this.renderCard(t))}static get style(){return{ios:lt,md:ct}}},[33,"ion-card",{color:[513],button:[4],type:[1],disabled:[4],download:[1],href:[1],rel:[1],routerDirection:[1,"router-direction"],routerAnimation:[16],target:[1]}]);function ut(){if("undefined"===typeof customElements)return;const t=["ion-card","ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-card":customElements.get(t)||customElements.define(t,dt);break;case"ion-ripple-effect":customElements.get(t)||K();break}}))}const ht=ut,pt=":host{--background:transparent;--color:inherit;display:block;position:relative;background:var(--background);color:var(--color)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.card-header-translucent){background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px)}}",ft=":host{--background:transparent;--color:inherit;display:block;position:relative;background:var(--background);color:var(--color)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-card-title:not(:first-child)),::slotted(ion-card-subtitle:not(:first-child)){margin-top:8px}",mt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.translucent=!1}render(){const t=z(this);return(0,r.h)(r.AA,{class:F(this.color,{"card-header-translucent":this.translucent,"ion-inherit-color":!0,[t]:!0})},(0,r.h)("slot",null))}static get style(){return{ios:pt,md:ft}}},[33,"ion-card-header",{color:[513],translucent:[4]}]);function gt(){if("undefined"===typeof customElements)return;const t=["ion-card-header"];t.forEach((t=>{switch(t){case"ion-card-header":customElements.get(t)||customElements.define(t,mt);break}}))}const bt=gt,vt=":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-text-color, #000);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:28px;font-weight:700;line-height:1.2}",yt=":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-850, #262626);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;line-height:1.2}",wt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){const t=z(this);return(0,r.h)(r.AA,{role:"heading","aria-level":"2",class:F(this.color,{"ion-inherit-color":!0,[t]:!0})},(0,r.h)("slot",null))}static get style(){return{ios:vt,md:yt}}},[33,"ion-card-title",{color:[513]}]);function xt(){if("undefined"===typeof customElements)return;const t=["ion-card-title"];t.forEach((t=>{switch(t){case"ion-card-title":customElements.get(t)||customElements.define(t,wt);break}}))}const kt=xt,$t={xs:"(min-width: 0px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)"},Et=t=>{if(void 0===t||""===t)return!0;if(window.matchMedia){const e=$t[t];return window.matchMedia(e).matches}return!1},St=":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}",_t="undefined"!==typeof window?window:void 0,Ct=_t&&!!(_t.CSS&&_t.CSS.supports&&_t.CSS.supports("--a: 0")),At=["","xs","sm","md","lg","xl"],Tt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}onResize(){(0,r.xE)(this)}getColumns(t){let e;for(const n of At){const o=Et(n),i=this[t+n.charAt(0).toUpperCase()+n.slice(1)];o&&void 0!==i&&(e=i)}return e}calculateSize(){const t=this.getColumns("size");if(!t||""===t)return;const e="auto"===t?"auto":Ct?`calc(calc(${t} / var(--ion-grid-columns, 12)) * 100%)`:t/12*100+"%";return{flex:`0 0 ${e}`,width:`${e}`,"max-width":`${e}`}}calculatePosition(t,e){const n=this.getColumns(t);if(!n)return;const o=Ct?`calc(calc(${n} / var(--ion-grid-columns, 12)) * 100%)`:n>0&&n<12?n/12*100+"%":"auto";return{[e]:o}}calculateOffset(t){return this.calculatePosition("offset",t?"margin-right":"margin-left")}calculatePull(t){return this.calculatePosition("pull",t?"left":"right")}calculatePush(t){return this.calculatePosition("push",t?"right":"left")}render(){const t="rtl"===document.dir,e=z(this);return(0,r.h)(r.AA,{class:{[e]:!0},style:Object.assign(Object.assign(Object.assign(Object.assign({},this.calculateOffset(t)),this.calculatePull(t)),this.calculatePush(t)),this.calculateSize())},(0,r.h)("slot",null))}static get style(){return St}},[1,"ion-col",{offset:[1],offsetXs:[1,"offset-xs"],offsetSm:[1,"offset-sm"],offsetMd:[1,"offset-md"],offsetLg:[1,"offset-lg"],offsetXl:[1,"offset-xl"],pull:[1],pullXs:[1,"pull-xs"],pullSm:[1,"pull-sm"],pullMd:[1,"pull-md"],pullLg:[1,"pull-lg"],pullXl:[1,"pull-xl"],push:[1],pushXs:[1,"push-xs"],pushSm:[1,"push-sm"],pushMd:[1,"push-md"],pushLg:[1,"push-lg"],pushXl:[1,"push-xl"],size:[1],sizeXs:[1,"size-xs"],sizeSm:[1,"size-sm"],sizeMd:[1,"size-md"],sizeLg:[1,"size-lg"],sizeXl:[1,"size-xl"]},[[9,"resize","onResize"]]]);function It(){if("undefined"===typeof customElements)return;const t=["ion-col"];t.forEach((t=>{switch(t){case"ion-col":customElements.get(t)||customElements.define(t,Tt);break}}))}const Lt=It;var Rt=n(545); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ot=':host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:""}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}',Dt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionScrollStart=(0,r.yM)(this,"ionScrollStart",7),this.ionScroll=(0,r.yM)(this,"ionScroll",7),this.ionScrollEnd=(0,r.yM)(this,"ionScrollEnd",7),this.isScrolling=!1,this.lastScroll=0,this.queued=!1,this.cTop=-1,this.cBottom=-1,this.isMainContent=!0,this.detail={scrollTop:0,scrollLeft:0,type:"scroll",event:void 0,startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,data:void 0,isScrolling:!0},this.fullscreen=!1,this.scrollX=!1,this.scrollY=!0,this.scrollEvents=!1}connectedCallback(){this.isMainContent=null===this.el.closest("ion-menu, ion-popover, ion-modal")}disconnectedCallback(){this.onScrollEnd()}onAppLoad(){this.resize()}shouldForceOverscroll(){const{forceOverscroll:t}=this,e=z(this);return void 0===t?"ios"===e&&m("ios"):t}resize(){this.fullscreen?(0,r.wj)((()=>this.readDimensions())):0===this.cTop&&0===this.cBottom||(this.cTop=this.cBottom=0,(0,r.xE)(this))}readDimensions(){const t=Pt(this.el),e=Math.max(this.el.offsetTop,0),n=Math.max(t.offsetHeight-e-this.el.offsetHeight,0),o=e!==this.cTop||n!==this.cBottom;o&&(this.cTop=e,this.cBottom=n,(0,r.xE)(this))}onScroll(t){const e=Date.now(),n=!this.isScrolling;this.lastScroll=e,n&&this.onScrollStart(),!this.queued&&this.scrollEvents&&(this.queued=!0,(0,r.wj)((e=>{this.queued=!1,this.detail.event=t,zt(this.detail,this.scrollEl,e,n),this.ionScroll.emit(this.detail)})))}async getScrollElement(){return this.scrollEl||await new Promise((t=>(0,M.c)(this.el,t))),Promise.resolve(this.scrollEl)}scrollToTop(t=0){return this.scrollToPoint(void 0,0,t)}async scrollToBottom(t=0){const e=await this.getScrollElement(),n=e.scrollHeight-e.clientHeight;return this.scrollToPoint(void 0,n,t)}async scrollByPoint(t,e,n){const o=await this.getScrollElement();return this.scrollToPoint(t+o.scrollLeft,e+o.scrollTop,n)}async scrollToPoint(t,e,n=0){const o=await this.getScrollElement();if(n<32)return null!=e&&(o.scrollTop=e),void(null!=t&&(o.scrollLeft=t));let i,r=0;const a=new Promise((t=>i=t)),s=o.scrollTop,l=o.scrollLeft,c=null!=e?e-s:0,d=null!=t?t-l:0,u=t=>{const e=Math.min(1,(t-r)/n)-1,a=Math.pow(e,3)+1;0!==c&&(o.scrollTop=Math.floor(a*c+s)),0!==d&&(o.scrollLeft=Math.floor(a*d+l)),a<1?requestAnimationFrame(u):i()};return requestAnimationFrame((t=>{r=t,u(t)})),a}onScrollStart(){this.isScrolling=!0,this.ionScrollStart.emit({isScrolling:!0}),this.watchDog&&clearInterval(this.watchDog),this.watchDog=setInterval((()=>{this.lastScrollthis.scrollEl=t,onScroll:this.scrollEvents?t=>this.onScroll(t):void 0,part:"scroll"},(0,r.h)("slot",null)),l?(0,r.h)("div",{class:"transition-effect"},(0,r.h)("div",{class:"transition-cover"}),(0,r.h)("div",{class:"transition-shadow"})):null,(0,r.h)("slot",{name:"fixed"}))}get el(){return this}static get style(){return Ot}},[1,"ion-content",{color:[513],fullscreen:[4],forceOverscroll:[1028,"force-overscroll"],scrollX:[4,"scroll-x"],scrollY:[4,"scroll-y"],scrollEvents:[4,"scroll-events"],getScrollElement:[64],scrollToTop:[64],scrollToBottom:[64],scrollByPoint:[64],scrollToPoint:[64]},[[8,"appload","onAppLoad"]]]),Nt=t=>{var e;return t.parentElement?t.parentElement:(null===(e=t.parentNode)||void 0===e?void 0:e.host)?t.parentNode.host:null},Pt=t=>{const e=t.closest("ion-tabs");if(e)return e;const n=t.closest("ion-app, ion-page, .ion-page, page-inner, .popover-content");return n||Nt(t)},zt=(t,e,n,o)=>{const i=t.currentX,r=t.currentY,a=t.currentTime,s=e.scrollLeft,l=e.scrollTop,c=n-a;if(o&&(t.startTime=n,t.startX=s,t.startY=l,t.velocityX=t.velocityY=0),t.currentTime=n,t.currentX=t.scrollLeft=s,t.currentY=t.scrollTop=l,t.deltaX=s-t.startX,t.deltaY=l-t.startY,c>0&&c<100){const e=(s-i)/c,n=(l-r)/c;t.velocityX=.7*e+.3*t.velocityX,t.velocityY=.7*n+.3*t.velocityY}};function jt(){if("undefined"===typeof customElements)return;const t=["ion-content"];t.forEach((t=>{switch(t){case"ion-content":customElements.get(t)||customElements.define(t,Dt);break}}))}const Mt=jt;var Bt=n(8487); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ft="all 0.2s ease-in-out",Ht=t=>{const e=document.querySelector(`${t}.ion-cloned-element`);if(null!==e)return e;const n=document.createElement(t);return n.classList.add("ion-cloned-element"),n.style.setProperty("display","none"),document.body.appendChild(n),n},Wt=t=>{if(!t)return;const e=t.querySelectorAll("ion-toolbar");return{el:t,toolbars:Array.from(e).map((t=>{const e=t.querySelector("ion-title");return{el:t,background:t.shadowRoot.querySelector(".toolbar-background"),ionTitleEl:e,innerTitleEl:e?e.shadowRoot.querySelector(".toolbar-title"):null,ionButtonsEl:Array.from(t.querySelectorAll("ion-buttons"))||[]}}))||[]}},Ut=(t,e,n)=>{(0,r.wj)((()=>{const o=t.scrollTop,i=(0,M.j)(1,1+-o/500,1.1),a=n.querySelector("ion-refresher.refresher-native");null===a&&(0,r.Iu)((()=>{Xt(e.toolbars,i)}))}))},qt=(t,e)=>{"fade"!==t.collapse&&(void 0===e?t.style.removeProperty("--opacity-scale"):t.style.setProperty("--opacity-scale",e.toString()))},Vt=(t,e,n)=>{if(!t[0].isIntersecting)return;const o=t[0].intersectionRatio>.9||n<=0?0:100*(1-t[0].intersectionRatio)/75;qt(e.el,1===o?void 0:o)},Yt=(t,e,n,o)=>{(0,r.Iu)((()=>{const i=o.scrollTop;Vt(t,e,i);const r=t[0],a=r.intersectionRect,s=a.width*a.height,l=r.rootBounds.width*r.rootBounds.height,c=0===s&&0===l,d=Math.abs(a.left-r.boundingClientRect.left),u=Math.abs(a.right-r.boundingClientRect.right),h=s>0&&(d>=5||u>=5);if(!c&&!h)if(r.isIntersecting)Gt(e,!1),Gt(n);else{const t=0===a.x&&0===a.y||0!==a.width&&0!==a.height;t&&i>0&&(Gt(e),Gt(n,!1),qt(e.el))}}))},Gt=(t,e=!0)=>{e?t.el.classList.remove("header-collapse-condense-inactive"):t.el.classList.add("header-collapse-condense-inactive")},Xt=(t=[],e=1,n=!1)=>{t.forEach((t=>{const o=t.ionTitleEl,i=t.innerTitleEl;o&&"large"===o.size&&(i.style.transition=n?Ft:"",i.style.transform=`scale3d(${e}, ${e}, 1)`)}))},Jt=(t,e,n)=>{(0,r.wj)((()=>{const o=t.scrollTop,i=e.clientHeight,a=n?n.clientHeight:0;if(null!==n&&o{t.style.removeProperty("clip-path"),e.style.setProperty("--opacity-scale",c.toString())}))}))},Kt="ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}",Zt='ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:""}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}',Qt=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.inheritedAttributes={},this.translucent=!1,this.setupFadeHeader=async(t,e)=>{const n=this.scrollEl=await(0,Bt.g)(t);this.contentScrollCallback=()=>{Jt(this.scrollEl,this.el,e)},n.addEventListener("scroll",this.contentScrollCallback),Jt(this.scrollEl,this.el,e)}}componentWillLoad(){this.inheritedAttributes=(0,M.i)(this.el)}componentDidLoad(){this.checkCollapsibleHeader()}componentDidUpdate(){this.checkCollapsibleHeader()}disconnectedCallback(){this.destroyCollapsibleHeader()}async checkCollapsibleHeader(){const t=z(this);if("ios"!==t)return;const{collapse:e}=this,n="condense"===e,o="fade"===e;if(this.destroyCollapsibleHeader(),n){const t=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),e=t?(0,Bt.f)(t):null;(0,r.Iu)((()=>{const t=Ht("ion-title");t.size="large",Ht("ion-back-button")})),await this.setupCondenseHeader(e,t)}else if(o){const t=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),e=t?(0,Bt.f)(t):null;if(!e)return void(0,Bt.p)(this.el);const n=e.querySelector('ion-header[collapse="condense"]');await this.setupFadeHeader(e,n)}}destroyCollapsibleHeader(){this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=void 0),this.scrollEl&&this.contentScrollCallback&&(this.scrollEl.removeEventListener("scroll",this.contentScrollCallback),this.contentScrollCallback=void 0),this.collapsibleMainHeader&&(this.collapsibleMainHeader.classList.remove("header-collapse-main"),this.collapsibleMainHeader=void 0)}async setupCondenseHeader(t,e){if(!t||!e)return void(0,Bt.p)(this.el);if("undefined"===typeof IntersectionObserver)return;this.scrollEl=await(0,Bt.g)(t);const n=e.querySelectorAll("ion-header");if(this.collapsibleMainHeader=Array.from(n).find((t=>"condense"!==t.collapse)),!this.collapsibleMainHeader)return;const o=Wt(this.collapsibleMainHeader),i=Wt(this.el);if(!o||!i)return;Gt(o,!1),qt(o.el,0);const a=t=>{Yt(t,o,i,this.scrollEl)};this.intersectionObserver=new IntersectionObserver(a,{root:t,threshold:[.25,.3,.4,.5,.6,.7,.8,.9,1]}),this.intersectionObserver.observe(i.toolbars[i.toolbars.length-1].el),this.contentScrollCallback=()=>{Ut(this.scrollEl,i,t)},this.scrollEl.addEventListener("scroll",this.contentScrollCallback),(0,r.Iu)((()=>{void 0!==this.collapsibleMainHeader&&this.collapsibleMainHeader.classList.add("header-collapse-main")}))}render(){const{translucent:t,inheritedAttributes:e}=this,n=z(this),o=this.collapse||"none",i=B("ion-menu",this.el)?"none":"banner";return(0,r.h)(r.AA,Object.assign({role:i,class:{[n]:!0,[`header-${n}`]:!0,["header-translucent"]:this.translucent,[`header-collapse-${o}`]:!0,[`header-translucent-${n}`]:this.translucent}},e),"ios"===n&&t&&(0,r.h)("div",{class:"header-background"}),(0,r.h)("slot",null))}get el(){return this}static get style(){return{ios:Kt,md:Zt}}},[36,"ion-header",{collapse:[1],translucent:[4]}]);function te(){if("undefined"===typeof customElements)return;const t=["ion-header"];t.forEach((t=>{switch(t){case"ion-header":customElements.get(t)||customElements.define(t,Qt);break}}))}const ee=te,ne=":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}",oe=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionImgWillLoad=(0,r.yM)(this,"ionImgWillLoad",7),this.ionImgDidLoad=(0,r.yM)(this,"ionImgDidLoad",7),this.ionError=(0,r.yM)(this,"ionError",7),this.inheritedAttributes={},this.onLoad=()=>{this.ionImgDidLoad.emit()},this.onError=()=>{this.ionError.emit()}}srcChanged(){this.addIO()}componentWillLoad(){this.inheritedAttributes=(0,M.k)(this.el,["draggable"])}componentDidLoad(){this.addIO()}addIO(){void 0!==this.src&&("undefined"!==typeof window&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype?(this.removeIO(),this.io=new IntersectionObserver((t=>{t[t.length-1].isIntersecting&&(this.load(),this.removeIO())})),this.io.observe(this.el)):setTimeout((()=>this.load()),200))}load(){this.loadError=this.onError,this.loadSrc=this.src,this.ionImgWillLoad.emit()}removeIO(){this.io&&(this.io.disconnect(),this.io=void 0)}render(){const{loadSrc:t,alt:e,onLoad:n,loadError:o,inheritedAttributes:i}=this,{draggable:a}=i;return(0,r.h)(r.AA,{class:z(this)},(0,r.h)("img",{decoding:"async",src:t,alt:e,onLoad:n,onError:o,part:"image",draggable:ie(a)}))}get el(){return this}static get watchers(){return{src:["srcChanged"]}}static get style(){return ne}},[1,"ion-img",{alt:[1],src:[1],loadSrc:[32],loadError:[32]}]),ie=t=>{switch(t){case"true":return!0;case"false":return!1;default:return}};function re(){if("undefined"===typeof customElements)return;const t=["ion-img"];t.forEach((t=>{switch(t){case"ion-img":customElements.get(t)||customElements.define(t,oe);break}}))}const ae=re,se="ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}",le=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.ionInfinite=(0,r.yM)(this,"ionInfinite",7),this.thrPx=0,this.thrPc=0,this.didFire=!1,this.isBusy=!1,this.isLoading=!1,this.threshold="15%",this.disabled=!1,this.position="bottom",this.onScroll=()=>{const t=this.scrollEl;if(!t||!this.canStart())return 1;const e=this.el.offsetHeight;if(0===e)return 2;const n=t.scrollTop,o=t.scrollHeight,i=t.offsetHeight,r=0!==this.thrPc?i*this.thrPc:this.thrPx,a="bottom"===this.position?o-e-n-r-i:n-e-r;if(a<0){if(!this.didFire)return this.isLoading=!0,this.didFire=!0,this.ionInfinite.emit(),3}else this.didFire=!1;return 4}}thresholdChanged(){const t=this.threshold;t.lastIndexOf("%")>-1?(this.thrPx=0,this.thrPc=parseFloat(t)/100):(this.thrPx=parseFloat(t),this.thrPc=0)}disabledChanged(){const t=this.disabled;t&&(this.isLoading=!1,this.isBusy=!1),this.enableScrollEvents(!t)}async connectedCallback(){const t=(0,Bt.a)(this.el);t?(this.scrollEl=await(0,Bt.g)(t),this.thresholdChanged(),this.disabledChanged(),"top"===this.position&&(0,r.Iu)((()=>{this.scrollEl&&(this.scrollEl.scrollTop=this.scrollEl.scrollHeight-this.scrollEl.clientHeight)}))):(0,Bt.p)(this.el)}disconnectedCallback(){this.enableScrollEvents(!1),this.scrollEl=void 0}async complete(){const t=this.scrollEl;if(this.isLoading&&t&&(this.isLoading=!1,"top"===this.position)){this.isBusy=!0;const e=t.scrollHeight-t.scrollTop;requestAnimationFrame((()=>{(0,r.wj)((()=>{const n=t.scrollHeight,o=n-e;requestAnimationFrame((()=>{(0,r.Iu)((()=>{t.scrollTop=o,this.isBusy=!1}))}))}))}))}}canStart(){return!this.disabled&&!this.isBusy&&!!this.scrollEl&&!this.isLoading}enableScrollEvents(t){this.scrollEl&&(t?this.scrollEl.addEventListener("scroll",this.onScroll):this.scrollEl.removeEventListener("scroll",this.onScroll))}render(){const t=z(this),e=this.disabled;return(0,r.h)(r.AA,{class:{[t]:!0,"infinite-scroll-loading":this.isLoading,"infinite-scroll-enabled":!e}})}get el(){return this}static get watchers(){return{threshold:["thresholdChanged"],disabled:["disabledChanged"]}}static get style(){return se}},[0,"ion-infinite-scroll",{threshold:[1],disabled:[4],position:[1],isLoading:[32],complete:[64]}]);function ce(){if("undefined"===typeof customElements)return;const t=["ion-infinite-scroll"];t.forEach((t=>{switch(t){case"ion-infinite-scroll":customElements.get(t)||customElements.define(t,le);break}}))}const de=ce,ue=t=>{try{if(t instanceof be)return t.value;if(!fe()||"string"!==typeof t||""===t)return t;const e=document.createDocumentFragment(),n=document.createElement("div");e.appendChild(n),n.innerHTML=t,ge.forEach((t=>{const n=e.querySelectorAll(t);for(let o=n.length-1;o>=0;o--){const t=n[o];t.parentNode?t.parentNode.removeChild(t):e.removeChild(t);const i=pe(t);for(let e=0;e{if(t.nodeType&&1!==t.nodeType)return;for(let n=t.attributes.length-1;n>=0;n--){const e=t.attributes.item(n),o=e.name;if(!me.includes(o.toLowerCase())){t.removeAttribute(o);continue}const i=e.value;null!=i&&i.toLowerCase().includes("javascript:")&&t.removeAttribute(o)}const e=pe(t);for(let n=0;nnull!=t.children?t.children:t.childNodes,fe=()=>{var t;const e=window,n=null===(t=null===e||void 0===e?void 0:e.Ionic)||void 0===t?void 0:t.config;return!n||(n.get?n.get("sanitizerEnabled",!0):!0===n.sanitizerEnabled||void 0===n.sanitizerEnabled)},me=["class","id","href","src","name","slot"],ge=["script","style","iframe","meta","link","object","embed"];class be{constructor(t){this.value=t}} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const ve={bubbles:{dur:1e3,circles:9,fn:(t,e,n)=>{const o=t*e/n-t+"ms",i=2*Math.PI*e/n;return{r:5,style:{top:9*Math.sin(i)+"px",left:9*Math.cos(i)+"px","animation-delay":o}}}},circles:{dur:1e3,circles:8,fn:(t,e,n)=>{const o=e/n,i=t*o-t+"ms",r=2*Math.PI*o;return{r:5,style:{top:9*Math.sin(r)+"px",left:9*Math.cos(r)+"px","animation-delay":i}}}},circular:{dur:1400,elmDuration:!0,circles:1,fn:()=>({r:20,cx:48,cy:48,fill:"none",viewBox:"24 24 48 48",transform:"translate(0,0)",style:{}})},crescent:{dur:750,circles:1,fn:()=>({r:26,style:{}})},dots:{dur:750,circles:3,fn:(t,e)=>{const n=-110*e+"ms";return{r:6,style:{left:9-9*e+"px","animation-delay":n}}}},lines:{dur:1e3,lines:8,fn:(t,e,n)=>{const o=`rotate(${360/n*e+(e{const o=`rotate(${360/n*e+(e{const o=`rotate(${30*e+(e<6?180:-180)}deg)`,i=t*e/n-t+"ms";return{y1:17,y2:29,style:{transform:o,"animation-delay":i}}}},"lines-sharp-small":{dur:1e3,lines:12,fn:(t,e,n)=>{const o=`rotate(${30*e+(e<6?180:-180)}deg)`,i=t*e/n-t+"ms";return{y1:12,y2:20,style:{transform:o,"animation-delay":i}}}}},ye=ve,we=":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}[dir=rtl] svg,:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}",xe=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.paused=!1}getName(){const t=this.name||s.get("spinner"),e=z(this);return t||("ios"===e?"lines":"circular")}render(){const t=this,e=z(t),n=t.getName(),o=ye[n]||ye["lines"],i="number"===typeof t.duration&&t.duration>10?t.duration:o.dur,a=[];if(void 0!==o.circles)for(let r=0;r{const i=t.fn(e,n,o);return i.style["animation-duration"]=e+"ms",(0,r.h)("svg",{viewBox:i.viewBox||"0 0 64 64",style:i.style},(0,r.h)("circle",{transform:i.transform||"translate(32,32)",cx:i.cx,cy:i.cy,r:i.r,style:t.elmDuration?{animationDuration:e+"ms"}:{}}))},$e=(t,e,n,o)=>{const i=t.fn(e,n,o);return i.style["animation-duration"]=e+"ms",(0,r.h)("svg",{viewBox:i.viewBox||"0 0 64 64",style:i.style},(0,r.h)("line",{transform:"translate(32,32)",y1:i.y1,y2:i.y2}))};function Ee(){if("undefined"===typeof customElements)return;const t=["ion-spinner"];t.forEach((t=>{switch(t){case"ion-spinner":customElements.get(t)||customElements.define(t,xe);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Se="ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}",_e="ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}",Ce=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost()}componentDidLoad(){if(void 0===this.loadingSpinner){const t=z(this);this.loadingSpinner=s.get("infiniteLoadingSpinner",s.get("spinner","ios"===t?"lines":"crescent"))}}render(){const t=z(this);return(0,r.h)(r.AA,{class:{[t]:!0,[`infinite-scroll-content-${t}`]:!0}},(0,r.h)("div",{class:"infinite-loading"},this.loadingSpinner&&(0,r.h)("div",{class:"infinite-loading-spinner"},(0,r.h)("ion-spinner",{name:this.loadingSpinner})),this.loadingText&&(0,r.h)("div",{class:"infinite-loading-text",innerHTML:ue(this.loadingText)})))}static get style(){return{ios:Se,md:_e}}},[32,"ion-infinite-scroll-content",{loadingSpinner:[1025,"loading-spinner"],loadingText:[1,"loading-text"]}]);function Ae(){if("undefined"===typeof customElements)return;const t=["ion-infinite-scroll-content","ion-spinner"];t.forEach((t=>{switch(t){case"ion-infinite-scroll-content":customElements.get(t)||customElements.define(t,Ce);break;case"ion-spinner":customElements.get(t)||Ee();break}}))}const Te=Ae,Ie=".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right: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:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-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;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:18px}",Le=".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right: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:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-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;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-md-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-md-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\"data:image/svg+xml;charset=utf-8,\");width:30px;height:30px;background-size:22px}",Re=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.ionInput=(0,r.yM)(this,"ionInput",7),this.ionChange=(0,r.yM)(this,"ionChange",7),this.ionBlur=(0,r.yM)(this,"ionBlur",7),this.ionFocus=(0,r.yM)(this,"ionFocus",7),this.ionStyle=(0,r.yM)(this,"ionStyle",7),this.inputId="ion-input-"+Oe++,this.didBlurAfterEdit=!1,this.inheritedAttributes={},this.isComposing=!1,this.fireFocusEvents=!0,this.hasFocus=!1,this.autocapitalize="off",this.autocomplete="off",this.autocorrect="off",this.autofocus=!1,this.clearInput=!1,this.debounce=0,this.disabled=!1,this.name=this.inputId,this.readonly=!1,this.required=!1,this.spellcheck=!1,this.type="text",this.value="",this.onInput=t=>{const e=t.target;e&&(this.value=e.value||""),this.ionInput.emit(t)},this.onBlur=t=>{this.hasFocus=!1,this.focusChanged(),this.emitStyle(),this.fireFocusEvents&&this.ionBlur.emit(t)},this.onFocus=t=>{this.hasFocus=!0,this.focusChanged(),this.emitStyle(),this.fireFocusEvents&&this.ionFocus.emit(t)},this.onKeydown=t=>{this.shouldClearOnEdit()&&(this.didBlurAfterEdit&&this.hasValue()&&"Enter"!==t.key&&this.clearTextInput(),this.didBlurAfterEdit=!1)},this.onCompositionStart=()=>{this.isComposing=!0},this.onCompositionEnd=()=>{this.isComposing=!1},this.clearTextOnEnter=t=>{"Enter"===t.key&&this.clearTextInput(t)},this.clearTextInput=t=>{this.clearInput&&!this.readonly&&!this.disabled&&t&&(t.preventDefault(),t.stopPropagation(),this.setFocus()),this.value="",this.nativeInput&&(this.nativeInput.value="")}}debounceChanged(){this.ionChange=(0,M.l)(this.ionChange,this.debounce)}disabledChanged(){this.emitStyle()}placeholderChanged(){this.emitStyle()}valueChanged(){const t=this.nativeInput,e=this.getValue();t&&t.value!==e&&!this.isComposing&&(t.value=e),this.emitStyle(),this.ionChange.emit({value:null==this.value?this.value:this.value.toString()})}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},(0,M.i)(this.el)),(0,M.k)(this.el,["tabindex","title"]))}connectedCallback(){this.emitStyle(),this.debounceChanged(),r.Z5.isBrowser&&document.dispatchEvent(new CustomEvent("ionInputDidLoad",{detail:this.el}))}componentDidLoad(){const t=this.nativeInput;t&&(t.addEventListener("compositionstart",this.onCompositionStart),t.addEventListener("compositionend",this.onCompositionEnd))}disconnectedCallback(){r.Z5.isBrowser&&document.dispatchEvent(new CustomEvent("ionInputDidUnload",{detail:this.el}));const t=this.nativeInput;t&&(t.removeEventListener("compositionstart",this.onCompositionStart),t.removeEventListener("compositionEnd",this.onCompositionEnd))}async setFocus(){this.nativeInput&&this.nativeInput.focus()}async setBlur(){this.nativeInput&&this.nativeInput.blur()}getInputElement(){return Promise.resolve(this.nativeInput)}shouldClearOnEdit(){const{type:t,clearOnEdit:e}=this;return void 0===e?"password"===t:e}getValue(){return"number"===typeof this.value?this.value.toString():(this.value||"").toString()}emitStyle(){this.ionStyle.emit({interactive:!0,input:!0,"has-placeholder":void 0!==this.placeholder,"has-value":this.hasValue(),"has-focus":this.hasFocus,"interactive-disabled":this.disabled})}focusChanged(){!this.hasFocus&&this.shouldClearOnEdit()&&this.hasValue()&&(this.didBlurAfterEdit=!0)}hasValue(){return this.getValue().length>0}render(){const t=z(this),e=this.getValue(),n=this.inputId+"-lbl",o=(0,M.m)(this.el);return o&&(o.id=n),(0,r.h)(r.AA,{"aria-disabled":this.disabled?"true":null,class:F(this.color,{[t]:!0,"has-value":this.hasValue(),"has-focus":this.hasFocus})},(0,r.h)("input",Object.assign({class:"native-input",ref:t=>this.nativeInput=t,"aria-labelledby":o?n:null,disabled:this.disabled,accept:this.accept,autoCapitalize:this.autocapitalize,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,autoFocus:this.autofocus,enterKeyHint:this.enterkeyhint,inputMode:this.inputmode,min:this.min,max:this.max,minLength:this.minlength,maxLength:this.maxlength,multiple:this.multiple,name:this.name,pattern:this.pattern,placeholder:this.placeholder||"",readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,step:this.step,size:this.size,type:this.type,value:e,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.onKeydown},this.inheritedAttributes)),this.clearInput&&!this.readonly&&!this.disabled&&(0,r.h)("button",{"aria-label":"reset",type:"button",class:"input-clear-icon",onTouchStart:this.clearTextInput,onMouseDown:this.clearTextInput,onKeyDown:this.clearTextOnEnter}))}get el(){return this}static get watchers(){return{debounce:["debounceChanged"],disabled:["disabledChanged"],placeholder:["placeholderChanged"],value:["valueChanged"]}}static get style(){return{ios:Ie,md:Le}}},[34,"ion-input",{fireFocusEvents:[4,"fire-focus-events"],color:[513],accept:[1],autocapitalize:[1],autocomplete:[1],autocorrect:[1],autofocus:[4],clearInput:[4,"clear-input"],clearOnEdit:[4,"clear-on-edit"],debounce:[2],disabled:[4],enterkeyhint:[1],inputmode:[1],max:[8],maxlength:[2],min:[8],minlength:[2],multiple:[4],name:[1],pattern:[1],placeholder:[1],readonly:[4],required:[4],spellcheck:[4],step:[1],size:[2],type:[1],value:[1032],hasFocus:[32],setFocus:[64],setBlur:[64],getInputElement:[64]}]);let Oe=0;function De(){if("undefined"===typeof customElements)return;const t=["ion-input"];t.forEach((t=>{switch(t){case"ion-input":customElements.get(t)||customElements.define(t,Re);break}}))}const Ne=De,Pe="data:image/svg+xml;utf8,Arrow Back",ze="data:image/svg+xml;utf8,Arrow Down",je="data:image/svg+xml;utf8,Caret Back",Me="data:image/svg+xml;utf8,Chevron Back",Be="data:image/svg+xml;utf8,Chevron Forward",Fe="data:image/svg+xml;utf8,Close Circle",He="data:image/svg+xml;utf8,Close",We="data:image/svg+xml;utf8,Search",Ue="data:image/svg+xml;utf8,Search";var qe=n(9370); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +let Ve;const Ye=()=>{if("undefined"===typeof window)return new Map;if(!Ve){const t=window;t.Ionicons=t.Ionicons||{},Ve=t.Ionicons.map=t.Ionicons.map||new Map}return Ve},Ge=t=>{let e=Ke(t.src);if(e)return e;if(e=Je(t.name,t.icon,t.mode,t.ios,t.md),e)return Xe(e);if(t.icon){if(e=Ke(t.icon),e)return e;if(e=Ke(t.icon[t.mode]),e)return e}return null},Xe=t=>{const e=Ye().get(t);return e||(0,r.K3)(`svg/${t}.svg`)},Je=(t,e,n,o,i)=>{if(n="ios"===(n&&tn(n))?"ios":"md",o&&"ios"===n?t=tn(o):i&&"md"===n?t=tn(i):(t||!e||Ze(e)||(t=e),Qe(t)&&(t=tn(t))),!Qe(t)||""===t.trim())return null;const r=t.replace(/[a-z]|-|\d/gi,"");return""!==r?null:t},Ke=t=>Qe(t)&&(t=t.trim(),Ze(t))?t:null,Ze=t=>t.length>0&&/(\/|\.)/.test(t),Qe=t=>"string"===typeof t,tn=t=>t.toLowerCase(),en=(t,e=[])=>{const n={};return e.forEach((e=>{if(t.hasAttribute(e)){const o=t.getAttribute(e);null!==o&&(n[e]=t.getAttribute(e)),t.removeAttribute(e)}})),n},nn=t=>{const e=document.createElement("div");e.innerHTML=t;for(let o=e.childNodes.length-1;o>=0;o--)"svg"!==e.childNodes[o].nodeName.toLowerCase()&&e.removeChild(e.childNodes[o]);const n=e.firstElementChild;if(n&&"svg"===n.nodeName.toLowerCase()){const t=n.getAttribute("class")||"";if(n.setAttribute("class",(t+" s-ion-icon").trim()),on(n))return e.innerHTML}return""},on=t=>{if(1===t.nodeType){if("script"===t.nodeName.toLowerCase())return!1;for(let e=0;e{let n=an.get(t);if(!n){if("undefined"===typeof fetch||"undefined"===typeof document)return rn.set(t,""),Promise.resolve();n=fetch(t).then((n=>{if(n.ok)return n.text().then((n=>{n&&!1!==e&&(n=nn(n)),rn.set(t,n||"")}));rn.set(t,"")})),an.set(t,n)}return n},ln=":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:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !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)}",cn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.isVisible=!1,this.mode=dn(),this.lazy=!1,this.sanitize=!0,this.hasAriaHidden=()=>{const{el:t}=this;return t.hasAttribute("aria-hidden")&&"true"===t.getAttribute("aria-hidden")}}componentWillLoad(){this.inheritedAttributes=en(this.el,["aria-label"])}connectedCallback(){this.waitUntilVisible(this.el,"50px",(()=>{this.isVisible=!0,this.loadIcon()}))}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(t,e,n){if(r.Z5.isBrowser&&this.lazy&&"undefined"!==typeof window&&window.IntersectionObserver){const o=this.io=new window.IntersectionObserver((t=>{t[0].isIntersecting&&(o.disconnect(),this.io=void 0,n())}),{rootMargin:e});o.observe(t)}else n()}loadIcon(){if(r.Z5.isBrowser&&this.isVisible){const t=Ge(this);t&&(rn.has(t)?this.svgContent=rn.get(t):sn(t,this.sanitize).then((()=>this.svgContent=rn.get(t))))}const t=this.iconName=Je(this.name,this.icon,this.mode,this.ios,this.md);t&&(this.ariaLabel=t.replace(/\-/g," "))}render(){const{iconName:t,ariaLabel:e,inheritedAttributes:n}=this,o=this.mode||"md",i=this.flipRtl||t&&(t.indexOf("arrow")>-1||t.indexOf("chevron")>-1)&&!1!==this.flipRtl;return(0,r.h)(r.AA,Object.assign({"aria-label":void 0===e||this.hasAriaHidden()?null:e,role:"img",class:Object.assign(Object.assign({[o]:!0},un(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":!!i&&"rtl"===this.el.ownerDocument.dir})},n),r.Z5.isBrowser&&this.svgContent?(0,r.h)("div",{class:"icon-inner",innerHTML:this.svgContent}):(0,r.h)("div",{class:"icon-inner"}))}static get assetsDirs(){return["svg"]}get el(){return this}static get watchers(){return{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"]}}static get style(){return ln}},[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],ariaLabel:[32]}]),dn=()=>r.Z5.isBrowser&&"undefined"!==typeof document&&document.documentElement.getAttribute("mode")||"md",un=t=>t?{"ion-color":!0,[`ion-color-${t}`]:!0}:null;function hn(){if("undefined"===typeof customElements)return;const t=["ion-icon"];t.forEach((t=>{switch(t){case"ion-icon":customElements.get(t)||customElements.define(t,cn);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const pn=":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}",fn=":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}",mn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){const t=z(this);return(0,r.h)(r.AA,{class:F(this.color,{[t]:!0})},(0,r.h)("slot",null))}static get style(){return{ios:pn,md:fn}}},[33,"ion-note",{color:[513]}]);function gn(){if("undefined"===typeof customElements)return;const t=["ion-note"];t.forEach((t=>{switch(t){case"ion-note":customElements.get(t)||customElements.define(t,mn);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const bn=':host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native,:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right: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:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-bottom{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--inner-padding-end);padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-bottom{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--inner-padding-end);padding-inline-end:var(--inner-padding-end)}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;top:0;bottom:0;border-radius:inherit;position:absolute;width:100%;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:transform 200ms, border-bottom-width 200ms;transition:transform 200ms, border-bottom-width 200ms, -webkit-transform 200ms;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.item-interactive.item-has-focus) .item-native{caret-color:var(--highlight-background)}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=helper]){display:none}::slotted([slot=error]){display:none;color:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=error]){display:block}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){-ms-flex-item-align:center;align-self:center}::slotted([slot=helper]),::slotted([slot=error]),.item-counter{padding-top:5px;font-size:12px;z-index:1}.item-counter{margin-left:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-counter{margin-left:unset;-webkit-margin-start:auto;margin-inline-start:auto}}@media (prefers-reduced-motion: reduce){.item-highlight,.item-inner-highlight{-webkit-transition:none;transition:none}}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--bottom-padding-start:0px;font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}.item-highlight,.item-inner-highlight{-webkit-transition:none;transition:none}:host(.item-has-focus) .item-inner-highlight,:host(.item-has-focus) .item-highlight{border-top:none;border-right:none;border-left:none}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}',vn=':host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native,:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right: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:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-bottom{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--inner-padding-end);padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-bottom{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--inner-padding-end);padding-inline-end:var(--inner-padding-end)}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;top:0;bottom:0;border-radius:inherit;position:absolute;width:100%;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:transform 200ms, border-bottom-width 200ms;transition:transform 200ms, border-bottom-width 200ms, -webkit-transform 200ms;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.item-interactive.item-has-focus) .item-native{caret-color:var(--highlight-background)}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=helper]){display:none}::slotted([slot=error]){display:none;color:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=error]){display:block}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){-ms-flex-item-align:center;align-self:center}::slotted([slot=helper]),::slotted([slot=error]),.item-counter{padding-top:5px;font-size:12px;z-index:1}.item-counter{margin-left:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-counter{margin-left:unset;-webkit-margin-start:auto;margin-inline-start:auto}}@media (prefers-reduced-motion: reduce){.item-highlight,.item-inner-highlight{-webkit-transition:none;transition:none}}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:1px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.item-fill-outline){--highlight-height:2px}:host(.item-fill-none.item-interactive.ion-focus) .item-highlight,:host(.item-fill-none.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-none.item-interactive.ion-touched.ion-invalid) .item-highlight{-webkit-transform:scaleX(1);transform:scaleX(1);border-width:0 0 var(--full-highlight-height) 0;border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-none.item-interactive.ion-focus) .item-native,:host(.item-fill-none.item-interactive.item-has-focus) .item-native,:host(.item-fill-none.item-interactive.ion-touched.ion-invalid) .item-native{border-bottom-color:var(--highlight-background)}:host(.item-fill-outline.item-interactive.ion-focus) .item-highlight,:host(.item-fill-outline.item-interactive.item-has-focus) .item-highlight{-webkit-transform:scaleX(1);transform:scaleX(1)}:host(.item-fill-outline.item-interactive.ion-focus) .item-highlight,:host(.item-fill-outline.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-outline.item-interactive.ion-touched.ion-invalid) .item-highlight{border-width:var(--full-highlight-height);border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-outline.item-interactive.ion-touched.ion-invalid) .item-native{border-color:var(--highlight-background)}:host(.item-fill-solid.item-interactive.ion-focus) .item-highlight,:host(.item-fill-solid.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-solid.item-interactive.ion-touched.ion-invalid) .item-highlight{-webkit-transform:scaleX(1);transform:scaleX(1);border-width:0 0 var(--full-highlight-height) 0;border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-solid.item-interactive.ion-focus) .item-native,:host(.item-fill-solid.item-interactive.item-has-focus) .item-native,:host(.item-fill-solid.item-interactive.ion-touched.ion-invalid) .item-native{border-bottom-color:var(--highlight-background)}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-has-focus) .item-native{caret-color:var(--highlight-color-focused)}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-fill-outline) .item-highlight{--position-offset:calc(-1 * var(--border-width));left:var(--position-offset);top:var(--position-offset);width:calc(100% + 2 * var(--border-width));height:calc(100% + 2 * var(--border-width));-webkit-transition:none;transition:none}:host-context([dir=rtl]):host(.item-fill-outline) .item-highlight,:host-context([dir=rtl]).item-fill-outline .item-highlight{left:unset;right:unset;right:var(--position-offset)}:host(.item-fill-outline.ion-focused) .item-native,:host(.item-fill-outline.item-has-focus) .item-native{border-color:transparent}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}:host(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){-ms-flex-item-align:center;align-self:center}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}:host(.item-fill-solid) ::slotted(ion-icon[slot=start]),:host(.item-fill-outline) ::slotted(ion-icon[slot=start]){margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-fill-solid) ::slotted(ion-icon[slot=start]),:host(.item-fill-outline) ::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]:not([slot=helper]):not([slot=error])){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.ion-focused:not(.ion-color)) ::slotted(.label-stacked),:host(.ion-focused:not(.ion-color)) ::slotted(.label-floating),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}:host(.item-fill-solid.ion-color),:host(.item-fill-outline.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.item-fill-solid){--background:var(--ion-color-step-50, #f2f2f2);--background-hover:var(--ion-color-step-100, #e6e6e6);--background-focused:var(--ion-color-step-150, #d9d9d9);--border-width:0 0 1px 0;--inner-border-width:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.item-fill-solid),:host-context([dir=rtl]).item-fill-solid{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host(.item-fill-solid) .item-native{--border-color:var(--ion-color-step-500, gray)}:host(.item-fill-solid.ion-focused) .item-native,:host(.item-fill-solid.item-has-focus) .item-native{--background:var(--background-focused)}:host(.item-fill-solid.item-shape-round){border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.item-fill-solid.item-shape-round),:host-context([dir=rtl]).item-fill-solid.item-shape-round{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:0;border-bottom-left-radius:0}@media (any-hover: hover){:host(.item-fill-solid:hover) .item-native{--background:var(--background-hover);--border-color:var(--ion-color-step-750, #404040)}}:host(.item-fill-outline){--ripple-color:transparent;--background-focused:transparent;--background-hover:transparent;--border-color:var(--ion-color-step-500, gray);--border-width:1px;border:none;overflow:visible}:host(.item-fill-outline) .item-native{--native-padding-left:16px;border-radius:4px}:host(.item-fill-outline.item-shape-round) .item-native{--inner-padding-start:16px;border-radius:28px}:host(.item-fill-outline.item-shape-round) .item-bottom{padding-left:32px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.item-fill-outline.item-shape-round) .item-bottom{padding-left:unset;-webkit-padding-start:32px;padding-inline-start:32px}}:host(.item-fill-outline.item-label-floating.ion-focused) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.ion-focused) .item-native ::slotted(ion-textarea:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-focus) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-focus) .item-native ::slotted(ion-textarea:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-value) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-value) .item-native ::slotted(ion-textarea:not(:first-child)){-webkit-transform:translateY(-14px);transform:translateY(-14px)}@media (any-hover: hover){:host(.item-fill-outline:hover) .item-native{--border-color:var(--ion-color-step-750, #404040)}}.item-counter{letter-spacing:0.0333333333em}',yn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.labelColorStyles={},this.itemStyles=new Map,this.multipleInputs=!1,this.focusable=!0,this.button=!1,this.detailIcon=Be,this.disabled=!1,this.counter=!1,this.routerDirection="forward",this.type="button"}counterFormatterChanged(){this.updateCounterOutput(this.getFirstInput())}handleIonChange(t){this.counter&&t.target===this.getFirstInput()&&this.updateCounterOutput(t.target)}labelColorChanged(t){const{color:e}=this;void 0===e&&(this.labelColorStyles=t.detail)}itemStyle(t){t.stopPropagation();const e=t.target.tagName,n=t.detail,o={},i=this.itemStyles.get(e)||{};let a=!1;Object.keys(n).forEach((t=>{if(n[t]){const e=`item-${t}`;i[e]||(a=!0),o[e]=!0}})),a||Object.keys(o).length===Object.keys(i).length||(a=!0),a&&(this.itemStyles.set(e,o),(0,r.xE)(this))}connectedCallback(){this.counter&&this.updateCounterOutput(this.getFirstInput()),this.hasStartEl()}componentDidUpdate(){const t=this.getFirstInput();t&&!this.clickListener&&(this.clickListener=e=>this.delegateFocus(e,t),this.el.addEventListener("click",this.clickListener))}disconnectedCallback(){const t=this.getFirstInput();t&&this.clickListener&&(this.el.removeEventListener("click",this.clickListener),this.clickListener=void 0)}componentDidLoad(){(0,M.r)((()=>{this.setMultipleInputs(),this.focusable=this.isFocusable()}))}setMultipleInputs(){const t=this.el.querySelectorAll("ion-checkbox, ion-datetime, ion-select, ion-radio"),e=this.el.querySelectorAll("ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle"),n=this.el.querySelectorAll("ion-anchor, ion-button, a, button");this.multipleInputs=t.length+e.length>1||t.length+n.length>1||t.length>0&&this.isClickable()}hasCover(){const t=this.el.querySelectorAll("ion-checkbox, ion-datetime, ion-select, ion-radio");return 1===t.length&&!this.multipleInputs}isClickable(){return void 0!==this.href||this.button}canActivate(){return this.isClickable()||this.hasCover()}isFocusable(){const t=this.el.querySelector(".ion-focusable");return this.canActivate()||null!==t}getFirstInput(){const t=this.el.querySelectorAll("ion-input, ion-textarea");return t[0]}delegateFocus(t,e){const n="ION-ITEM"===t.target.tagName;let o=!1;document.activeElement&&(o=e.querySelector("input, textarea")===document.activeElement),!n||!o&&this.multipleInputs||(e.fireFocusEvents=!1,e.setBlur(),e.setFocus(),(0,M.r)((()=>{e.fireFocusEvents=!0})))}updateCounterOutput(t){var e,n;const{counter:o,counterFormatter:i,defaultCounterFormatter:r}=this;if(o&&!this.multipleInputs&&void 0!==(null===t||void 0===t?void 0:t.maxlength)){const o=null!==(n=null===(e=null===t||void 0===t?void 0:t.value)||void 0===e?void 0:e.toString().length)&&void 0!==n?n:0;if(void 0===i)this.counterString=r(o,t.maxlength);else try{this.counterString=i(o,t.maxlength)}catch(a){(0,qe.a)("Exception in provided `counterFormatter`.",a),this.counterString=r(o,t.maxlength)}}}defaultCounterFormatter(t,e){return`${t} / ${e}`}hasStartEl(){const t=this.el.querySelector('[slot="start"]');null!==t&&this.el.classList.add("item-has-start-slot")}render(){const{counterString:t,detail:e,detailIcon:n,download:o,fill:i,labelColorStyles:a,lines:s,disabled:l,href:c,rel:d,shape:u,target:h,routerAnimation:p,routerDirection:f}=this,m={},g=z(this),b=this.isClickable(),v=this.canActivate(),y=b?void 0===c?"button":"a":"div",w="button"===y?{type:this.type}:{download:o,href:c,rel:d,target:h},x=b?{onClick:t=>{q(c,t,f,p)}}:{},k=void 0!==e?e:"ios"===g&&b;this.itemStyles.forEach((t=>{Object.assign(m,t)}));const $=l||m["item-interactive-disabled"]?"true":null,E=i||"none",S=B("ion-list",this.el);return(0,r.h)(r.AA,{"aria-disabled":$,class:Object.assign(Object.assign(Object.assign({},m),a),F(this.color,{item:!0,[g]:!0,[`item-lines-${s}`]:void 0!==s,[`item-fill-${E}`]:!0,[`item-shape-${u}`]:void 0!==u,"item-disabled":l,"in-list":S,"item-multiple-inputs":this.multipleInputs,"ion-activatable":v,"ion-focusable":this.focusable,"item-rtl":"rtl"===document.dir})),role:S?"listitem":null},(0,r.h)(y,Object.assign({},w,{class:"item-native",part:"native",disabled:l},x),(0,r.h)("slot",{name:"start"}),(0,r.h)("div",{class:"item-inner"},(0,r.h)("div",{class:"input-wrapper"},(0,r.h)("slot",null)),(0,r.h)("slot",{name:"end"}),k&&(0,r.h)("ion-icon",{icon:n,lazy:!1,class:"item-detail-icon",part:"detail-icon","aria-hidden":"true","flip-rtl":n===Be}),(0,r.h)("div",{class:"item-inner-highlight"})),v&&"md"===g&&(0,r.h)("ion-ripple-effect",null),(0,r.h)("div",{class:"item-highlight"})),(0,r.h)("div",{class:"item-bottom"},(0,r.h)("slot",{name:"error"}),(0,r.h)("slot",{name:"helper"}),t&&(0,r.h)("ion-note",{class:"item-counter"},t)))}static get delegatesFocus(){return!0}get el(){return this}static get watchers(){return{counterFormatter:["counterFormatterChanged"]}}static get style(){return{ios:bn,md:vn}}},[49,"ion-item",{color:[513],button:[4],detail:[4],detailIcon:[1,"detail-icon"],disabled:[4],download:[1],fill:[1],shape:[1],href:[1],rel:[1],lines:[1],counter:[4],routerAnimation:[16],routerDirection:[1,"router-direction"],target:[1],type:[1],counterFormatter:[16],multipleInputs:[32],focusable:[32],counterString:[32]},[[0,"ionChange","handleIonChange"],[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]]]);function wn(){if("undefined"===typeof customElements)return;const t=["ion-item","ion-icon","ion-note","ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-item":customElements.get(t)||customElements.define(t,yn);break;case"ion-icon":customElements.get(t)||hn();break;case"ion-note":customElements.get(t)||gn();break;case"ion-ripple-effect":customElements.get(t)||K();break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const xn=wn,kn=".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate(0, 29px);transform:translate(0, 29px);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}.item-textarea.label-floating.sc-ion-label-ios-h,.item-textarea .label-floating.sc-ion-label-ios-h{-webkit-transform:translate(0, 28px);transform:translate(0, 28px)}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.sc-ion-label-ios-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:scale(0.82);transform:scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.in-item-color.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}",$n='.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:top left;transform-origin:top left}.label-stacked.label-rtl.sc-ion-label-md-h,.label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform-origin:top right;transform-origin:top right}.label-stacked.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.ion-focused.label-floating.sc-ion-label-md-h,.ion-focused .label-floating.sc-ion-label-md-h,.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(-6px) scale(0.75);transform:translateY(-6px) scale(0.75);position:relative;max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content;background-color:var(--ion-item-background, var(--ion-background-color, #fff));overflow:visible;z-index:3}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{position:absolute;width:4px;height:100%;background-color:var(--ion-item-background, var(--ion-background-color, #fff));content:""}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before{left:calc(-1 * 4px)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{right:calc(-1 * 4px)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.sc-ion-label-md-h{-webkit-transform:translateX(-32px) translateY(-6px) scale(0.75);transform:translateX(-32px) translateY(-6px) scale(0.75)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating.label-rtl,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75);transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75)}.ion-focused.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.item-fill-solid.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-base)}.ion-invalid.ion-touched.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--highlight-color-invalid)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.in-item-color.sc-ion-label-md-s>p{color:inherit}',En=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.ionColor=(0,r.yM)(this,"ionColor",7),this.ionStyle=(0,r.yM)(this,"ionStyle",7),this.inRange=!1,this.noAnimate=!1}componentWillLoad(){this.inRange=!!this.el.closest("ion-range"),this.noAnimate="floating"===this.position,this.emitStyle(),this.emitColor()}componentDidLoad(){this.noAnimate&&setTimeout((()=>{this.noAnimate=!1}),1e3)}colorChanged(){this.emitColor()}positionChanged(){this.emitStyle()}emitColor(){const{color:t}=this;this.ionColor.emit({"item-label-color":void 0!==t,[`ion-color-${t}`]:void 0!==t})}emitStyle(){const{inRange:t,position:e}=this;t||this.ionStyle.emit({label:!0,[`label-${e}`]:void 0!==e})}render(){const t=this.position,e=z(this);return(0,r.h)(r.AA,{class:F(this.color,{[e]:!0,"in-item-color":B("ion-item.ion-color",this.el),[`label-${t}`]:void 0!==t,["label-no-animate"]:this.noAnimate,"label-rtl":"rtl"===document.dir})})}get el(){return this}static get watchers(){return{color:["colorChanged"],position:["positionChanged"]}}static get style(){return{ios:kn,md:$n}}},[34,"ion-label",{color:[513],position:[1],noAnimate:[32]}]);function Sn(){if("undefined"===typeof customElements)return;const t=["ion-label"];t.forEach((t=>{switch(t){case"ion-label":customElements.get(t)||customElements.define(t,En);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const _n=Sn,Cn="ion-list{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:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}",An="ion-list{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:block;contain:content;list-style-type:none}ion-list.list-inset{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}",Tn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.inset=!1}async closeSlidingItems(){const t=this.el.querySelector("ion-item-sliding");return!!(null===t||void 0===t?void 0:t.closeOpened)&&t.closeOpened()}render(){const t=z(this),{lines:e,inset:n}=this;return(0,r.h)(r.AA,{role:"list",class:{[t]:!0,[`list-${t}`]:!0,"list-inset":n,[`list-lines-${e}`]:void 0!==e,[`list-${t}-lines-${e}`]:void 0!==e}})}get el(){return this}static get style(){return{ios:Cn,md:An}}},[32,"ion-list",{lines:[1],inset:[4],closeSlidingItems:[64]}]);function In(){if("undefined"===typeof customElements)return;const t=["ion-list"];t.forEach((t=>{switch(t){case"ion-list":customElements.get(t)||customElements.define(t,Tn);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ln=In,Rn=":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-color-step-850, #262626);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));padding-left:calc(var(--ion-safe-area-left, 0px) + 20px);position:relative;-ms-flex-align:end;align-items:flex-end;font-size:22px;font-weight:700;letter-spacing:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0px) + 20px);padding-inline-start:calc(var(--ion-safe-area-left, 0px) + 20px)}}::slotted(ion-button),::slotted(ion-label){margin-top:29px;margin-bottom:6px}::slotted(ion-button){margin-left:3px;margin-right:3px;height:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-button){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:3px;margin-inline-end:3px}}:host(.list-header-lines-full){--border-width:0 0 0.55px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 0.55px 0}",On=":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex:1 1 auto;flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}",Dn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){const{lines:t}=this,e=z(this);return(0,r.h)(r.AA,{class:F(this.color,{[e]:!0,[`list-header-lines-${t}`]:void 0!==t})},(0,r.h)("div",{class:"list-header-inner"},(0,r.h)("slot",null)))}static get style(){return{ios:Rn,md:On}}},[33,"ion-list-header",{color:[513],lines:[1]}]);function Nn(){if("undefined"===typeof customElements)return;const t=["ion-list-header"];t.forEach((t=>{switch(t){case"ion-list-header":customElements.get(t)||customElements.define(t,Dn);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Pn=Nn,zn=':host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color-checked:var(--ion-color-primary, #3880ff);width:15px;height:24px}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-radio.item-ios ion-label{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-9px;top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:"";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}:host(.in-item){margin-left:10px;margin-right:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:11px;margin-inline-end:11px}}:host(.in-item[slot=start]){margin-left:3px;margin-right:21px;margin-top:8px;margin-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px}}',jn=':host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}label{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-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:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:"";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}',Mn=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionStyle=(0,r.yM)(this,"ionStyle",7),this.ionFocus=(0,r.yM)(this,"ionFocus",7),this.ionBlur=(0,r.yM)(this,"ionBlur",7),this.inputId="ion-rb-"+Bn++,this.radioGroup=null,this.checked=!1,this.buttonTabindex=-1,this.name=this.inputId,this.disabled=!1,this.updateState=()=>{this.radioGroup&&(this.checked=this.radioGroup.value===this.value)},this.onClick=()=>{this.checked=this.nativeInput.checked},this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()}}async setFocus(t){t.stopPropagation(),t.preventDefault(),this.el.focus()}async setButtonTabindex(t){this.buttonTabindex=t}connectedCallback(){void 0===this.value&&(this.value=this.inputId);const t=this.radioGroup=this.el.closest("ion-radio-group");t&&(this.updateState(),(0,M.a)(t,"ionChange",this.updateState))}disconnectedCallback(){const t=this.radioGroup;t&&((0,M.b)(t,"ionChange",this.updateState),this.radioGroup=null)}componentWillLoad(){this.emitStyle()}emitStyle(){this.ionStyle.emit({"radio-checked":this.checked,"interactive-disabled":this.disabled})}render(){const{inputId:t,disabled:e,checked:n,color:o,el:i,buttonTabindex:a}=this,s=z(this),{label:l,labelId:c,labelText:d}=(0,M.d)(i,t);return(0,r.h)(r.AA,{"aria-checked":`${n}`,"aria-hidden":e?"true":null,"aria-labelledby":l?c:null,role:"radio",tabindex:a,onFocus:this.onFocus,onBlur:this.onBlur,onClick:this.onClick,class:F(o,{[s]:!0,"in-item":B("ion-item",i),interactive:!0,"radio-checked":n,"radio-disabled":e})},(0,r.h)("div",{class:"radio-icon",part:"container"},(0,r.h)("div",{class:"radio-inner",part:"mark"}),(0,r.h)("div",{class:"radio-ripple"})),(0,r.h)("label",{htmlFor:t},d),(0,r.h)("input",{type:"radio",checked:n,disabled:e,tabindex:"-1",id:t,ref:t=>this.nativeInput=t}))}get el(){return this}static get watchers(){return{color:["emitStyle"],checked:["emitStyle"],disabled:["emitStyle"]}}static get style(){return{ios:zn,md:jn}}},[33,"ion-radio",{color:[513],name:[1],disabled:[4],value:[8],checked:[32],buttonTabindex:[32],setFocus:[64],setButtonTabindex:[64]}]);let Bn=0;function Fn(){if("undefined"===typeof customElements)return;const t=["ion-radio"];t.forEach((t=>{switch(t){case"ion-radio":customElements.get(t)||customElements.define(t,Mn);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Hn=Fn,Wn=(t,e,n,o,i)=>qn(t[1],e[1],n[1],o[1],i).map((i=>Un(t[0],e[0],n[0],o[0],i))),Un=(t,e,n,o,i)=>{const r=3*e*Math.pow(i-1,2),a=-3*n*i+3*n+o*i,s=t*Math.pow(i-1,3);return i*(r+i*a)-s},qn=(t,e,n,o,i)=>{t-=i,e-=i,n-=i,o-=i;const r=Yn(o-3*n+3*e-t,3*n-6*e+3*t,3*e-3*t,t);return r.filter((t=>t>=0&&t<=1))},Vn=(t,e,n)=>{const o=e*e-4*t*n;return o<0?[]:[(-e+Math.sqrt(o))/(2*t),(-e-Math.sqrt(o))/(2*t)]},Yn=(t,e,n,o)=>{if(0===t)return Vn(e,n,o);e/=t,n/=t,o/=t;const i=(3*n-e*e)/3,r=(2*e*e*e-9*e*n+27*o)/27;if(0===i)return[Math.pow(-r,1/3)];if(0===r)return[Math.sqrt(-i),-Math.sqrt(-i)];const a=Math.pow(r/2,2)+Math.pow(i/3,3);if(0===a)return[Math.pow(r/2,.5)-e/3];if(a>0)return[Math.pow(-r/2+Math.sqrt(a),1/3)-Math.pow(r/2+Math.sqrt(a),1/3)-e/3];const s=Math.sqrt(Math.pow(-i/3,3)),l=Math.acos(-r/(2*Math.sqrt(Math.pow(-i/3,3)))),c=2*Math.pow(s,1/3);return[c*Math.cos(l/3)-e/3,c*Math.cos((l+2*Math.PI)/3)-e/3,c*Math.cos((l+4*Math.PI)/3)-e/3]},Gn={getEngine(){var t;const e=window;return e.TapticEngine||(null===(t=e.Capacitor)||void 0===t?void 0:t.isPluginAvailable("Haptics"))&&e.Capacitor.Plugins.Haptics},available(){return!!this.getEngine()},isCordova(){return!!window.TapticEngine},isCapacitor(){const t=window;return!!t.Capacitor},impact(t){const e=this.getEngine();if(!e)return;const n=this.isCapacitor()?t.style.toUpperCase():t.style;e.impact({style:n})},notification(t){const e=this.getEngine();if(!e)return;const n=this.isCapacitor()?t.style.toUpperCase():t.style;e.notification({style:n})},selection(){this.impact({style:"light"})},selectionStart(){const t=this.getEngine();t&&(this.isCapacitor()?t.selectionStart():t.gestureSelectionStart())},selectionChanged(){const t=this.getEngine();t&&(this.isCapacitor()?t.selectionChanged():t.gestureSelectionChanged())},selectionEnd(){const t=this.getEngine();t&&(this.isCapacitor()?t.selectionEnd():t.gestureSelectionEnd())}},Xn=()=>{Gn.selectionStart()},Jn=()=>{Gn.selectionChanged()},Kn=()=>{Gn.selectionEnd()},Zn=t=>{Gn.impact(t)};var Qn=n(5980); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const to=t=>{const e=t.previousElementSibling,n=null!==e&&"ION-HEADER"===e.tagName;return n?"translate":"scale"},eo=(t,e,n)=>"scale"===t?oo(e,n):io(e,n),no=t=>{const e=t.querySelector("ion-spinner"),n=e.shadowRoot.querySelector("circle"),o=t.querySelector(".spinner-arrow-container"),i=t.querySelector(".arrow-container"),r=i?i.querySelector("ion-icon"):null,a=(0,Qn.c)().duration(1e3).easing("ease-out"),s=(0,Qn.c)().addElement(o).keyframes([{offset:0,opacity:"0.3"},{offset:.45,opacity:"0.3"},{offset:.55,opacity:"1"},{offset:1,opacity:"1"}]),l=(0,Qn.c)().addElement(n).keyframes([{offset:0,strokeDasharray:"1px, 200px"},{offset:.2,strokeDasharray:"1px, 200px"},{offset:.55,strokeDasharray:"100px, 200px"},{offset:1,strokeDasharray:"100px, 200px"}]),c=(0,Qn.c)().addElement(e).keyframes([{offset:0,transform:"rotate(-90deg)"},{offset:1,transform:"rotate(210deg)"}]);if(i&&r){const t=(0,Qn.c)().addElement(i).keyframes([{offset:0,transform:"rotate(0deg)"},{offset:.3,transform:"rotate(0deg)"},{offset:.55,transform:"rotate(280deg)"},{offset:1,transform:"rotate(400deg)"}]),e=(0,Qn.c)().addElement(r).keyframes([{offset:0,transform:"translateX(2px) scale(0)"},{offset:.3,transform:"translateX(2px) scale(0)"},{offset:.55,transform:"translateX(-1.5px) scale(1)"},{offset:1,transform:"translateX(-1.5px) scale(1)"}]);a.addAnimation([t,e])}return a.addAnimation([s,l,c])},oo=(t,e)=>{const n=e.clientHeight,o=(0,Qn.c)().addElement(t).keyframes([{offset:0,transform:`scale(0) translateY(-${n}px)`},{offset:1,transform:"scale(1) translateY(100px)"}]);return no(t).addAnimation([o])},io=(t,e)=>{const n=e.clientHeight,o=(0,Qn.c)().addElement(t).keyframes([{offset:0,transform:`translateY(-${n}px)`},{offset:1,transform:"translateY(100px)"}]);return no(t).addAnimation([o])},ro=t=>(0,Qn.c)().duration(125).addElement(t).fromTo("transform","translateY(var(--ion-pulling-refresher-translate, 100px))","translateY(0px)"),ao=(t,e)=>{t.style.setProperty("opacity",e.toString())},so=(t,e,n)=>{const o=1;(0,r.Iu)((()=>{t.forEach(((t,i)=>{const r=i*(o/e),a=o-r,s=n-r,l=(0,M.j)(0,s/a,1);t.style.setProperty("opacity",l.toString())}))}))},lo=(t,e)=>{(0,r.Iu)((()=>{t.style.setProperty("--refreshing-rotation-duration",e>=1?"0.5s":"2s"),t.style.setProperty("opacity","1")}))},co=(t,e,n=200)=>{if(!t)return Promise.resolve();const o=(0,M.t)(t,n);return(0,r.Iu)((()=>{t.style.setProperty("transition",`${n}ms all ease-out`),void 0===e?t.style.removeProperty("transform"):t.style.setProperty("transform",`translate3d(0px, ${e}, 0px)`)})),o},uo=async(t,e)=>{const n=t.querySelector("ion-refresher-content");if(!n)return Promise.resolve(!1);await new Promise((t=>(0,M.c)(n,t)));const o=t.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),i=t.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");return null!==o&&null!==i&&("ios"===e&&m("mobile")&&void 0!==t.style.webkitOverflowScrolling||"md"===e)},ho="ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0) rotate(180deg);transform:scale(0) rotate(180deg);-webkit-transition:300ms;transition:300ms}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}",po="ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}",fo=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.ionRefresh=(0,r.yM)(this,"ionRefresh",7),this.ionPull=(0,r.yM)(this,"ionPull",7),this.ionStart=(0,r.yM)(this,"ionStart",7),this.appliedStyles=!1,this.didStart=!1,this.progress=0,this.pointerDown=!1,this.needsCompletion=!1,this.didRefresh=!1,this.lastVelocityY=0,this.animations=[],this.nativeRefresher=!1,this.state=1,this.pullMin=60,this.pullMax=this.pullMin+60,this.closeDuration="280ms",this.snapbackDuration="280ms",this.pullFactor=1,this.disabled=!1}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}async checkNativeRefresher(){const t=await uo(this.el,z(this));if(t&&!this.nativeRefresher){const t=this.el.closest("ion-content");this.setupNativeRefresher(t)}else t||this.destroyNativeRefresher()}destroyNativeRefresher(){this.scrollEl&&this.scrollListenerCallback&&(this.scrollEl.removeEventListener("scroll",this.scrollListenerCallback),this.scrollListenerCallback=void 0),this.nativeRefresher=!1}async resetNativeRefresher(t,e){this.state=e,"ios"===z(this)?await co(t,void 0,300):await(0,M.t)(this.el.querySelector(".refresher-refreshing-icon"),200),this.didRefresh=!1,this.needsCompletion=!1,this.pointerDown=!1,this.animations.forEach((t=>t.destroy())),this.animations=[],this.progress=0,this.state=1}async setupiOSNativeRefresher(t,e){this.elementToTransform=this.scrollEl;const o=t.shadowRoot.querySelectorAll("svg");let i=.16*this.scrollEl.clientHeight;const a=o.length;(0,r.Iu)((()=>o.forEach((t=>t.style.setProperty("animation","none"))))),this.scrollListenerCallback=()=>{(this.pointerDown||1!==this.state)&&(0,r.wj)((()=>{const t=this.scrollEl.scrollTop,n=this.el.clientHeight;if(t>0){if(8===this.state){const o=(0,M.j)(0,t/(.5*n),1);return void(0,r.Iu)((()=>ao(e,1-o)))}return}this.pointerDown&&(this.didStart||(this.didStart=!0,this.ionStart.emit()),this.pointerDown&&this.ionPull.emit());const s=this.didStart?30:0,l=this.progress=(0,M.j)(0,(Math.abs(t)-s)/i,1),c=8===this.state||1===l;c?(this.pointerDown&&lo(e,this.lastVelocityY),this.didRefresh||(this.beginRefresh(),this.didRefresh=!0,Zn({style:"light"}),this.pointerDown||co(this.elementToTransform,`${n}px`))):(this.state=2,so(o,a,l))}))},this.scrollEl.addEventListener("scroll",this.scrollListenerCallback),this.gesture=(await Promise.resolve().then(n.bind(n,6515))).createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,onStart:()=>{this.pointerDown=!0,this.didRefresh||co(this.elementToTransform,"0px"),0===i&&(i=.16*this.scrollEl.clientHeight)},onMove:t=>{this.lastVelocityY=t.velocityY},onEnd:()=>{this.pointerDown=!1,this.didStart=!1,this.needsCompletion?(this.resetNativeRefresher(this.elementToTransform,32),this.needsCompletion=!1):this.didRefresh&&(0,r.wj)((()=>co(this.elementToTransform,`${this.el.clientHeight}px`)))}}),this.disabledChanged()}async setupMDNativeRefresher(t,e,o){const i=(0,M.g)(e).querySelector("circle"),a=this.el.querySelector("ion-refresher-content .refresher-pulling-icon"),s=(0,M.g)(o).querySelector("circle");null!==i&&null!==s&&(0,r.Iu)((()=>{i.style.setProperty("animation","none"),o.style.setProperty("animation-delay","-655ms"),s.style.setProperty("animation-delay","-655ms")})),this.gesture=(await Promise.resolve().then(n.bind(n,6515))).createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,canStart:()=>8!==this.state&&32!==this.state&&0===this.scrollEl.scrollTop,onStart:t=>{this.progress=0,t.data={animation:void 0,didStart:!1,cancelled:!1}},onMove:e=>{if(e.velocityY<0&&0===this.progress&&!e.data.didStart||e.data.cancelled)e.data.cancelled=!0;else{if(!e.data.didStart){e.data.didStart=!0,this.state=2,(0,r.Iu)((()=>this.scrollEl.style.setProperty("--overflow","hidden")));const n=to(t),o=eo(n,a,this.el);return e.data.animation=o,o.progressStart(!1,0),this.ionStart.emit(),void this.animations.push(o)}this.progress=(0,M.j)(0,e.deltaY/180*.5,1),e.data.animation.progressStep(this.progress),this.ionPull.emit()}},onEnd:t=>{if(!t.data.didStart)return;if(this.gesture.enable(!1),(0,r.Iu)((()=>this.scrollEl.style.removeProperty("--overflow"))),this.progress<=.4)return void t.data.animation.progressEnd(0,this.progress,500).onFinish((()=>{this.animations.forEach((t=>t.destroy())),this.animations=[],this.gesture.enable(!0),this.state=1}));const e=Wn([0,0],[0,0],[1,1],[1,1],this.progress)[0],n=ro(a);this.animations.push(n),(0,r.Iu)((async()=>{a.style.setProperty("--ion-pulling-refresher-translate",100*e+"px"),t.data.animation.progressEnd(),await n.play(),this.beginRefresh(),t.data.animation.destroy(),this.gesture.enable(!0)}))}}),this.disabledChanged()}async setupNativeRefresher(t){if(this.scrollListenerCallback||!t||this.nativeRefresher||!this.scrollEl)return;this.setCss(0,"",!1,""),this.nativeRefresher=!0;const e=this.el.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),n=this.el.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");"ios"===z(this)?this.setupiOSNativeRefresher(e,n):this.setupMDNativeRefresher(t,e,n)}componentDidUpdate(){this.checkNativeRefresher()}async connectedCallback(){if("fixed"!==this.el.getAttribute("slot"))return void console.error('Make sure you use: ');const t=this.el.closest(Bt.I);if(!t)return void(0,Bt.p)(this.el);const e=t.querySelector(Bt.b);this.scrollEl=await(0,Bt.g)(null!==e&&void 0!==e?e:t),this.backgroundContentEl=(0,M.g)(null!==t&&void 0!==t?t:e).querySelector("#background-content"),await uo(this.el,z(this))?this.setupNativeRefresher(t):(this.gesture=(await Promise.resolve().then(n.bind(n,6515))).createGesture({el:t,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:20,passive:!1,canStart:()=>this.canStart(),onStart:()=>this.onStart(),onMove:t=>this.onMove(t),onEnd:()=>this.onEnd()}),this.disabledChanged())}disconnectedCallback(){this.destroyNativeRefresher(),this.scrollEl=void 0,this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}async complete(){this.nativeRefresher?(this.needsCompletion=!0,this.pointerDown||(0,M.r)((()=>(0,M.r)((()=>this.resetNativeRefresher(this.elementToTransform,32)))))):this.close(32,"120ms")}async cancel(){this.nativeRefresher?this.pointerDown||(0,M.r)((()=>(0,M.r)((()=>this.resetNativeRefresher(this.elementToTransform,16))))):this.close(16,"")}getProgress(){return Promise.resolve(this.progress)}canStart(){return!!this.scrollEl&&(1===this.state&&!(this.scrollEl.scrollTop>0))}onStart(){this.progress=0,this.state=1}onMove(t){if(!this.scrollEl)return;const e=t.event;if(e.touches&&e.touches.length>1)return;if(0!==(56&this.state))return;const n=Number.isNaN(this.pullFactor)||this.pullFactor<0?1:this.pullFactor,o=t.deltaY*n;if(o<=0)return this.progress=0,this.state=1,this.appliedStyles?void this.setCss(0,"",!1,""):void 0;if(1===this.state){const t=this.scrollEl.scrollTop;if(t>0)return void(this.progress=0);this.state=2}if(e.cancelable&&e.preventDefault(),this.setCss(o,"0ms",!0,""),0===o)return void(this.progress=0);const i=this.pullMin;this.progress=o/i,this.didStart||(this.didStart=!0,this.ionStart.emit()),this.ionPull.emit(),othis.pullMax?this.beginRefresh():this.state=4}onEnd(){4===this.state?this.beginRefresh():2===this.state&&this.cancel()}beginRefresh(){this.state=8,this.setCss(this.pullMin,this.snapbackDuration,!0,""),this.ionRefresh.emit({complete:this.complete.bind(this)})}close(t,e){setTimeout((()=>{this.state=1,this.progress=0,this.didStart=!1,this.setCss(0,"0ms",!1,"")}),600),this.state=t,this.setCss(0,this.closeDuration,!0,e)}setCss(t,e,n,o){this.nativeRefresher||(this.appliedStyles=t>0,(0,r.Iu)((()=>{if(this.scrollEl&&this.backgroundContentEl){const i=this.scrollEl.style,r=this.backgroundContentEl.style;i.transform=r.transform=t>0?`translateY(${t}px) translateZ(0px)`:"",i.transitionDuration=r.transitionDuration=e,i.transitionDelay=r.transitionDelay=o,i.overflow=n?"hidden":""}})))}render(){const t=z(this);return(0,r.h)(r.AA,{slot:"fixed",class:{[t]:!0,[`refresher-${t}`]:!0,"refresher-native":this.nativeRefresher,"refresher-active":1!==this.state,"refresher-pulling":2===this.state,"refresher-ready":4===this.state,"refresher-refreshing":8===this.state,"refresher-cancelling":16===this.state,"refresher-completing":32===this.state}})}get el(){return this}static get watchers(){return{disabled:["disabledChanged"]}}static get style(){return{ios:ho,md:po}}},[32,"ion-refresher",{pullMin:[2,"pull-min"],pullMax:[2,"pull-max"],closeDuration:[1,"close-duration"],snapbackDuration:[1,"snapback-duration"],pullFactor:[2,"pull-factor"],disabled:[4],nativeRefresher:[32],state:[32],complete:[64],cancel:[64],getProgress:[64]}]);function mo(){if("undefined"===typeof customElements)return;const t=["ion-refresher"];t.forEach((t=>{switch(t){case"ion-refresher":customElements.get(t)||customElements.define(t,fo);break}}))}const go=mo,bo=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost()}componentWillLoad(){if(void 0===this.pullingIcon){const t=z(this),e=void 0!==this.el.style.webkitOverflowScrolling?"lines":ze;this.pullingIcon=s.get("refreshingIcon","ios"===t&&m("mobile")?s.get("spinner",e):"circular")}if(void 0===this.refreshingSpinner){const t=z(this);this.refreshingSpinner=s.get("refreshingSpinner",s.get("spinner","ios"===t?"lines":"circular"))}}render(){const t=this.pullingIcon,e=null!=t&&void 0!==ye[t],n=z(this);return(0,r.h)(r.AA,{class:n},(0,r.h)("div",{class:"refresher-pulling"},this.pullingIcon&&e&&(0,r.h)("div",{class:"refresher-pulling-icon"},(0,r.h)("div",{class:"spinner-arrow-container"},(0,r.h)("ion-spinner",{name:this.pullingIcon,paused:!0}),"md"===n&&"circular"===this.pullingIcon&&(0,r.h)("div",{class:"arrow-container"},(0,r.h)("ion-icon",{icon:je})))),this.pullingIcon&&!e&&(0,r.h)("div",{class:"refresher-pulling-icon"},(0,r.h)("ion-icon",{icon:this.pullingIcon,lazy:!1})),this.pullingText&&(0,r.h)("div",{class:"refresher-pulling-text",innerHTML:ue(this.pullingText)})),(0,r.h)("div",{class:"refresher-refreshing"},this.refreshingSpinner&&(0,r.h)("div",{class:"refresher-refreshing-icon"},(0,r.h)("ion-spinner",{name:this.refreshingSpinner})),this.refreshingText&&(0,r.h)("div",{class:"refresher-refreshing-text",innerHTML:ue(this.refreshingText)})))}get el(){return this}},[0,"ion-refresher-content",{pullingIcon:[1025,"pulling-icon"],pullingText:[1,"pulling-text"],refreshingSpinner:[1025,"refreshing-spinner"],refreshingText:[1,"refreshing-text"]}]);function vo(){if("undefined"===typeof customElements)return;const t=["ion-refresher-content","ion-icon","ion-spinner"];t.forEach((t=>{switch(t){case"ion-refresher-content":customElements.get(t)||customElements.define(t,bo);break;case"ion-icon":customElements.get(t)||hn();break;case"ion-spinner":customElements.get(t)||Ee();break}}))}const yo=vo,wo=":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}",xo=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return(0,r.h)(r.AA,{class:z(this)},(0,r.h)("slot",null))}static get style(){return wo}},[1,"ion-row"]);function ko(){if("undefined"===typeof customElements)return;const t=["ion-row"];t.forEach((t=>{switch(t){case"ion-row":customElements.get(t)||customElements.define(t,xo);break}}))}const $o=ko,Eo=".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{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;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-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:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}",So=".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{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;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-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:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}",_o=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.ionInput=(0,r.yM)(this,"ionInput",7),this.ionChange=(0,r.yM)(this,"ionChange",7),this.ionCancel=(0,r.yM)(this,"ionCancel",7),this.ionClear=(0,r.yM)(this,"ionClear",7),this.ionBlur=(0,r.yM)(this,"ionBlur",7),this.ionFocus=(0,r.yM)(this,"ionFocus",7),this.ionStyle=(0,r.yM)(this,"ionStyle",7),this.isCancelVisible=!1,this.shouldAlignLeft=!0,this.focused=!1,this.noAnimate=!0,this.animated=!1,this.autocomplete="off",this.autocorrect="off",this.cancelButtonIcon=s.get("backButtonIcon",Pe),this.cancelButtonText="Cancel",this.debounce=250,this.disabled=!1,this.placeholder="Search",this.showCancelButton="never",this.showClearButton="always",this.spellcheck=!1,this.type="search",this.value="",this.onClearInput=(t,e)=>{this.ionClear.emit(),t&&(t.preventDefault(),t.stopPropagation()),setTimeout((()=>{const t=this.getValue();""!==t&&(this.value="",this.ionInput.emit(),e&&!this.focused&&this.setFocus())}),64)},this.onCancelSearchbar=t=>{t&&(t.preventDefault(),t.stopPropagation()),this.ionCancel.emit(),this.onClearInput(),this.nativeInput&&this.nativeInput.blur()},this.onInput=t=>{const e=t.target;e&&(this.value=e.value),this.ionInput.emit(t)},this.onBlur=()=>{this.focused=!1,this.ionBlur.emit(),this.positionElements()},this.onFocus=()=>{this.focused=!0,this.ionFocus.emit(),this.positionElements()}}debounceChanged(){this.ionChange=(0,M.l)(this.ionChange,this.debounce)}valueChanged(){const t=this.nativeInput,e=this.getValue();t&&t.value!==e&&(t.value=e),this.ionChange.emit({value:e})}showCancelButtonChanged(){requestAnimationFrame((()=>{this.positionElements(),(0,r.xE)(this)}))}connectedCallback(){this.emitStyle()}componentDidLoad(){this.positionElements(),this.debounceChanged(),setTimeout((()=>{this.noAnimate=!1}),300)}emitStyle(){this.ionStyle.emit({searchbar:!0})}async setFocus(){this.nativeInput&&this.nativeInput.focus()}getInputElement(){return Promise.resolve(this.nativeInput)}positionElements(){const t=this.getValue(),e=this.shouldAlignLeft,n=z(this),o=!this.animated||""!==t.trim()||!!this.focused;this.shouldAlignLeft=o,"ios"===n&&(e!==o&&this.positionPlaceholder(),this.animated&&this.positionCancelButton())}positionPlaceholder(){const t=this.nativeInput;if(!t)return;const e=(0,Rt.i)(this.el),n=(this.el.shadowRoot||this.el).querySelector(".searchbar-search-icon");if(this.shouldAlignLeft)t.removeAttribute("style"),n.removeAttribute("style");else{const o=document,i=o.createElement("span");i.innerText=this.placeholder||"",o.body.appendChild(i),(0,M.r)((()=>{const o=i.offsetWidth;i.remove();const r="calc(50% - "+o/2+"px)",a="calc(50% - "+(o/2+30)+"px)";e?(t.style.paddingRight=r,n.style.marginRight=a):(t.style.paddingLeft=r,n.style.marginLeft=a)}))}}positionCancelButton(){const t=(0,Rt.i)(this.el),e=(this.el.shadowRoot||this.el).querySelector(".searchbar-cancel-button"),n=this.shouldShowCancelButton();if(e&&n!==this.isCancelVisible){const o=e.style;if(this.isCancelVisible=n,n)t?o.marginLeft="0":o.marginRight="0";else{const n=e.offsetWidth;n>0&&(t?o.marginLeft=-n+"px":o.marginRight=-n+"px")}}}getValue(){return this.value||""}hasValue(){return""!==this.getValue()}shouldShowCancelButton(){return!("never"===this.showCancelButton||"focus"===this.showCancelButton&&!this.focused)}shouldShowClearButton(){return!("never"===this.showClearButton||"focus"===this.showClearButton&&!this.focused)}render(){const{cancelButtonText:t}=this,e=this.animated&&s.getBoolean("animated",!0),n=z(this),o=this.clearIcon||("ios"===n?Fe:He),i=this.searchIcon||("ios"===n?We:Ue),a=this.shouldShowCancelButton(),l="never"!==this.showCancelButton&&(0,r.h)("button",{"aria-label":t,"aria-hidden":a?void 0:"true",type:"button",tabIndex:"ios"!==n||a?void 0:-1,onMouseDown:this.onCancelSearchbar,onTouchStart:this.onCancelSearchbar,class:"searchbar-cancel-button"},(0,r.h)("div",{"aria-hidden":"true"},"md"===n?(0,r.h)("ion-icon",{"aria-hidden":"true",mode:n,icon:this.cancelButtonIcon,lazy:!1}):t));return(0,r.h)(r.AA,{role:"search","aria-disabled":this.disabled?"true":null,class:F(this.color,{[n]:!0,"searchbar-animated":e,"searchbar-disabled":this.disabled,"searchbar-no-animate":e&&this.noAnimate,"searchbar-has-value":this.hasValue(),"searchbar-left-aligned":this.shouldAlignLeft,"searchbar-has-focus":this.focused,"searchbar-should-show-clear":this.shouldShowClearButton(),"searchbar-should-show-cancel":this.shouldShowCancelButton()})},(0,r.h)("div",{class:"searchbar-input-container"},(0,r.h)("input",{"aria-label":"search text",disabled:this.disabled,ref:t=>this.nativeInput=t,class:"searchbar-input",inputMode:this.inputmode,enterKeyHint:this.enterkeyhint,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,placeholder:this.placeholder,type:this.type,value:this.getValue(),autoComplete:this.autocomplete,autoCorrect:this.autocorrect,spellcheck:this.spellcheck}),"md"===n&&l,(0,r.h)("ion-icon",{"aria-hidden":"true",mode:n,icon:i,lazy:!1,class:"searchbar-search-icon"}),(0,r.h)("button",{"aria-label":"reset",type:"button","no-blur":!0,class:"searchbar-clear-button",onMouseDown:t=>this.onClearInput(t,!0),onTouchStart:t=>this.onClearInput(t,!0)},(0,r.h)("ion-icon",{"aria-hidden":"true",mode:n,icon:o,lazy:!1,class:"searchbar-clear-icon"}))),"ios"===n&&l)}get el(){return this}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"],showCancelButton:["showCancelButtonChanged"]}}static get style(){return{ios:Eo,md:So}}},[34,"ion-searchbar",{color:[513],animated:[4],autocomplete:[1],autocorrect:[1],cancelButtonIcon:[1,"cancel-button-icon"],cancelButtonText:[1,"cancel-button-text"],clearIcon:[1,"clear-icon"],debounce:[2],disabled:[4],inputmode:[1],enterkeyhint:[1],placeholder:[1],searchIcon:[1,"search-icon"],showCancelButton:[1,"show-cancel-button"],showClearButton:[1,"show-clear-button"],spellcheck:[4],type:[1],value:[1025],focused:[32],noAnimate:[32],setFocus:[64],getInputElement:[64]}]);function Co(){if("undefined"===typeof customElements)return;const t=["ion-searchbar","ion-icon"];t.forEach((t=>{switch(t){case"ion-searchbar":customElements.get(t)||customElements.define(t,_o);break;case"ion-icon":customElements.get(t)||hn();break}}))}const Ao=Co,To=Ee,Io=":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}",Lo=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return(0,r.h)(r.AA,{class:z(this)},(0,r.h)("slot",null))}static get style(){return Io}},[1,"ion-thumbnail"]);function Ro(){if("undefined"===typeof customElements)return;const t=["ion-thumbnail"];t.forEach((t=>{switch(t){case"ion-thumbnail":customElements.get(t)||customElements.define(t,Lo);break}}))}const Oo=Ro,Do=":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.title-large.title-rtl){-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}",No=":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}",Po=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionStyle=(0,r.yM)(this,"ionStyle",7)}sizeChanged(){this.emitStyle()}connectedCallback(){this.emitStyle()}emitStyle(){const t=this.getSize();this.ionStyle.emit({[`title-${t}`]:!0})}getSize(){return void 0!==this.size?this.size:"default"}render(){const t=z(this),e=this.getSize();return(0,r.h)(r.AA,{class:F(this.color,{[t]:!0,[`title-${e}`]:!0,"title-rtl":"rtl"===document.dir})},(0,r.h)("div",{class:"toolbar-title"},(0,r.h)("slot",null)))}get el(){return this}static get watchers(){return{size:["sizeChanged"]}}static get style(){return{ios:Do,md:No}}},[33,"ion-title",{color:[513],size:[1]}]);function zo(){if("undefined"===typeof customElements)return;const t=["ion-title"];t.forEach((t=>{switch(t){case"ion-title":customElements.get(t)||customElements.define(t,Po);break}}))}const jo=zo,Mo=":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #f7f7f7));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}",Bo=":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}",Fo=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.childrenStyles=new Map}componentWillLoad(){const t=Array.from(this.el.querySelectorAll("ion-buttons")),e=t.find((t=>"start"===t.slot));e&&e.classList.add("buttons-first-slot");const n=t.reverse(),o=n.find((t=>"end"===t.slot))||n.find((t=>"primary"===t.slot))||n.find((t=>"secondary"===t.slot));o&&o.classList.add("buttons-last-slot")}childrenStyle(t){t.stopPropagation();const e=t.target.tagName,n=t.detail,o={},i=this.childrenStyles.get(e)||{};let a=!1;Object.keys(n).forEach((t=>{const e=`toolbar-${t}`,r=n[t];r!==i[e]&&(a=!0),r&&(o[e]=!0)})),a&&(this.childrenStyles.set(e,o),(0,r.xE)(this))}render(){const t=z(this),e={};return this.childrenStyles.forEach((t=>{Object.assign(e,t)})),(0,r.h)(r.AA,{class:Object.assign(Object.assign({},e),F(this.color,{[t]:!0,"in-toolbar":B("ion-toolbar",this.el)}))},(0,r.h)("div",{class:"toolbar-background"}),(0,r.h)("div",{class:"toolbar-container"},(0,r.h)("slot",{name:"start"}),(0,r.h)("slot",{name:"secondary"}),(0,r.h)("div",{class:"toolbar-content"},(0,r.h)("slot",null)),(0,r.h)("slot",{name:"primary"}),(0,r.h)("slot",{name:"end"})))}get el(){return this}static get style(){return{ios:Mo,md:Bo}}},[33,"ion-toolbar",{color:[513]},[[0,"ionStyle","childrenStyle"]]]);function Ho(){if("undefined"===typeof customElements)return;const t=["ion-toolbar"];t.forEach((t=>{switch(t){case"ion-toolbar":customElements.get(t)||customElements.define(t,Fo);break}}))}const Wo=Ho;var Uo=n(4261); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +let qo=0;const Vo=new WeakMap,Yo=t=>({create(e){return Zo(t,e)},dismiss(e,n,o){return ri(document,e,n,t,o)},async getTop(){return si(document,t)}}),Go=Yo("ion-action-sheet"),Xo=Yo("ion-loading"),Jo=Yo("ion-toast"),Ko=t=>{"undefined"!==typeof document&&ii(document);const e=qo++;t.overlayIndex=e,t.hasAttribute("id")||(t.id=`ion-overlay-${e}`)},Zo=(t,e)=>"undefined"!==typeof window&&"undefined"!==typeof window.customElements?window.customElements.whenDefined(t).then((()=>{const n=document.createElement(t);return n.classList.add("overlay-hidden"),Object.assign(n,Object.assign(Object.assign({},e),{hasController:!0})),hi(document).appendChild(n),new Promise((t=>(0,M.c)(n,t)))})):Promise.resolve(),Qo='[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])',ti=(t,e)=>{let n=t.querySelector(Qo);const o=null===n||void 0===n?void 0:n.shadowRoot;o&&(n=o.querySelector(Qo)||n),n?(0,M.f)(n):e.focus()},ei=t=>t.classList.contains("overlay-hidden"),ni=(t,e)=>{const n=Array.from(t.querySelectorAll(Qo));let o=n.length>0?n[n.length-1]:null;const i=null===o||void 0===o?void 0:o.shadowRoot;i&&(o=i.querySelector(Qo)||o),o?o.focus():e.focus()},oi=(t,e)=>{const n=si(e,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover"),o=t.target;if(!n||!o)return;if(n.classList.contains("ion-disable-focus-trap"))return;const i=()=>{if(n===o)n.lastFocus=void 0;else{const t=(0,M.g)(n);if(!t.contains(o))return;const i=t.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(o))n.lastFocus=o;else{const t=n.lastFocus;ti(i,n),t===e.activeElement&&ni(i,n),n.lastFocus=e.activeElement}}},r=()=>{if(n.contains(o))n.lastFocus=o;else{const t=n.lastFocus;ti(n,n),t===e.activeElement&&ni(n,n),n.lastFocus=e.activeElement}};n.shadowRoot?r():i()},ii=t=>{0===qo&&(qo=1,t.addEventListener("focus",(e=>{oi(e,t)}),!0),t.addEventListener("ionBackButton",(e=>{const n=si(t);(null===n||void 0===n?void 0:n.backdropDismiss)&&e.detail.register(Uo.OVERLAY_BACK_BUTTON_PRIORITY,(()=>n.dismiss(void 0,yi)))})),t.addEventListener("keyup",(e=>{if("Escape"===e.key){const e=si(t);(null===e||void 0===e?void 0:e.backdropDismiss)&&e.dismiss(void 0,yi)}})))},ri=(t,e,n,o,i)=>{const r=si(t,o,i);return r?r.dismiss(e,n):Promise.reject("overlay does not exist")},ai=(t,e)=>(void 0===e&&(e="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast"),Array.from(t.querySelectorAll(e)).filter((t=>t.overlayIndex>0))),si=(t,e,n)=>{const o=ai(t,e).filter((t=>!ei(t)));return void 0===n?o[o.length-1]:o.find((t=>t.id===n))},li=(t=!1)=>{const e=hi(document),n=e.querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");n&&(t?n.setAttribute("aria-hidden","true"):n.removeAttribute("aria-hidden"))},ci=async(t,e,n,o,i)=>{var r,a;if(t.presented)return;li(!0),t.presented=!0,t.willPresent.emit(),null===(r=t.willPresentShorthand)||void 0===r||r.emit();const l=z(t),c=t.enterAnimation?t.enterAnimation:s.get(e,"ios"===l?n:o),d=await pi(t,c,t.el,i);d&&(t.didPresent.emit(),null===(a=t.didPresentShorthand)||void 0===a||a.emit()),"ION-TOAST"!==t.el.tagName&&di(t.el),!t.keyboardClose||null!==document.activeElement&&t.el.contains(document.activeElement)||t.el.focus()},di=async t=>{let e=document.activeElement;if(!e)return;const n=null===e||void 0===e?void 0:e.shadowRoot;n&&(e=n.querySelector(Qo)||e),await t.onDidDismiss(),e.focus()},ui=async(t,e,n,o,i,r,a)=>{var l,c;if(!t.presented)return!1;li(!1),t.presented=!1;try{t.el.style.setProperty("pointer-events","none"),t.willDismiss.emit({data:e,role:n}),null===(l=t.willDismissShorthand)||void 0===l||l.emit({data:e,role:n});const d=z(t),u=t.leaveAnimation?t.leaveAnimation:s.get(o,"ios"===d?i:r);"gesture"!==n&&await pi(t,u,t.el,a),t.didDismiss.emit({data:e,role:n}),null===(c=t.didDismissShorthand)||void 0===c||c.emit({data:e,role:n}),Vo.delete(t),t.el.classList.add("overlay-hidden"),t.el.style.removeProperty("pointer-events")}catch(d){console.error(d)}return t.el.remove(),!0},hi=t=>t.querySelector("ion-app")||t.body,pi=async(t,e,n,o)=>{n.classList.remove("overlay-hidden");const i=t.el,r=e(i,o);t.animated&&s.getBoolean("animated",!0)||r.duration(0),t.keyboardClose&&r.beforeAddWrite((()=>{const t=n.ownerDocument.activeElement;(null===t||void 0===t?void 0:t.matches("input,ion-input, ion-textarea"))&&t.blur()}));const a=Vo.get(t)||[];return Vo.set(t,[...a,r]),await r.play(),!0},fi=(t,e)=>{let n;const o=new Promise((t=>n=t));return mi(t,e,(t=>{n(t.detail)})),o},mi=(t,e,n)=>{const o=i=>{(0,M.b)(t,e,o),n(i)};(0,M.a)(t,e,o)},gi=t=>"cancel"===t||t===yi,bi=t=>t(),vi=(t,e)=>{if("function"===typeof t){const n=s.get("_zoneGate",bi);return n((()=>{try{return t(e)}catch(n){throw n}}))}},yi="backdrop";var wi=n(5026); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const xi=':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;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.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{padding-left:var(--icon-padding-start);padding-right:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);margin-left:var(--icon-margin-start);margin-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-icon{padding-left:unset;padding-right:unset;-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)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-icon{margin-left:unset;margin-right:unset;-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)}}: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, #3880ff);--icon-margin-end:-5px;--icon-margin-start:-4px;--icon-font-size:1.85em;--min-height:32px;font-size:17px}.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}}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}',ki=':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;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.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{padding-left:var(--icon-padding-start);padding-right:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);margin-left:var(--icon-margin-start);margin-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-icon{padding-left:unset;padding-right:unset;-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)}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){ion-icon{margin-left:unset;margin-right:unset;-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)}}: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:24px;--icon-font-weight:normal;--min-height:32px;--min-width:44px;--padding-start:12px;--padding-end:12px;font-size:14px;font-weight:500;text-transform:uppercase}:host(.back-button-has-icon-only){--border-radius:50%;min-width:48px;height:48px}.button-native{-webkit-box-shadow:none;box-shadow:none}.button-text{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-text{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}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)}',$i=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.inheritedAttributes={},this.disabled=!1,this.type="button",this.onClick=async t=>{const e=this.el.closest("ion-nav");return t.preventDefault(),e&&await e.canGoBack()?e.pop({animationBuilder:this.routerAnimation,skipIfBusy:!0}):q(this.defaultHref,t,"back",this.routerAnimation)}}componentWillLoad(){this.inheritedAttributes=(0,M.i)(this.el),void 0===this.defaultHref&&(this.defaultHref=s.get("backButtonDefaultHref"))}get backButtonIcon(){const t=this.icon;return null!=t?t:"ios"===z(this)?s.get("backButtonIcon",Me):s.get("backButtonIcon",Pe)}get backButtonText(){const t="ios"===z(this)?"Back":null;return null!=this.text?this.text:s.get("backButtonText",t)}get hasIconOnly(){return this.backButtonIcon&&!this.backButtonText}get rippleType(){return this.hasIconOnly?"unbounded":"bounded"}render(){const{color:t,defaultHref:e,disabled:n,type:o,hasIconOnly:i,backButtonIcon:a,backButtonText:s,icon:l,inheritedAttributes:c}=this,d=void 0!==e,u=z(this),h=c["aria-label"]||s||"back";return(0,r.h)(r.AA,{onClick:this.onClick,class:F(t,{[u]:!0,button:!0,"back-button-disabled":n,"back-button-has-icon-only":i,"in-toolbar":B("ion-toolbar",this.el),"in-toolbar-color":B("ion-toolbar[color]",this.el),"ion-activatable":!0,"ion-focusable":!0,"show-back-button":d})},(0,r.h)("button",{type:o,disabled:n,class:"button-native",part:"native","aria-label":h},(0,r.h)("span",{class:"button-inner"},a&&(0,r.h)("ion-icon",{part:"icon",icon:a,"aria-hidden":"true",lazy:!1,"flip-rtl":void 0===l}),s&&(0,r.h)("span",{part:"text","aria-hidden":"true",class:"button-text"},s)),"md"===u&&(0,r.h)("ion-ripple-effect",{type:this.rippleType})))}get el(){return this}static get style(){return{ios:xi,md:ki}}},[33,"ion-back-button",{color:[513],defaultHref:[1025,"default-href"],disabled:[516],icon:[1],text:[1],type:[1],routerAnimation:[16]}]);const Ei=$i,Si={allRenderFn:!1,cmpDidLoad:!0,cmpDidUnload:!1,cmpDidUpdate:!0,cmpDidRender:!0,cmpWillLoad:!0,cmpWillUpdate:!0,cmpWillRender:!0,connectedCallback:!0,disconnectedCallback:!0,element:!0,event:!0,hasRenderFn:!0,lifecycle:!0,hostListener:!0,hostListenerTargetWindow:!0,hostListenerTargetDocument:!0,hostListenerTargetBody:!0,hostListenerTargetParent:!1,hostListenerTarget:!0,member:!0,method:!0,mode:!0,observeAttribute:!0,prop:!0,propMutable:!0,reflect:!0,scoped:!0,shadowDom:!0,slot:!0,cssAnnotations:!0,state:!0,style:!0,svg:!0,updatable:!0,vdomAttribute:!0,vdomXlink:!0,vdomClass:!0,vdomFunctional:!0,vdomKey:!0,vdomListener:!0,vdomRef:!0,vdomPropOrAttr:!0,vdomRender:!0,vdomStyle:!0,vdomText:!0,watchCallback:!0,taskQueue:!0,hotModuleReplacement:!1,isDebug:!1,isDev:!1,isTesting:!1,hydrateServerSide:!1,hydrateClientSide:!1,lifecycleDOMEvents:!1,lazyLoad:!1,profile:!1,slotRelocation:!0,appendChildSlotFix:!1,cloneNodeFix:!1,hydratedAttribute:!1,hydratedClass:!0,safari10:!1,scriptDataOpts:!1,scopedSlotTextContentFix:!1,shadowDomShim:!1,slotChildNodesFix:!1,invisiblePrehydration:!0,propBoolean:!0,propNumber:!0,propString:!0,cssVarShim:!1,constructableCSS:!0,cmpShouldUpdate:!0,devTools:!1,dynamicImportShim:!1,shadowDelegatesFocus:!0,initializeNextTick:!1,asyncLoading:!1,asyncQueue:!1,transformTagName:!1,attachStyles:!0},_i="app";let Ci,Ai,Ti,Ii,Li=0,Ri=!1,Oi=!1,Di=!1,Ni=!1,Pi=null,zi=0,ji=!1;const Mi="undefined"!==typeof window?window:{},Bi=(Si.cssVarShim&&Mi.CSS,Mi.document||{head:{}}),Fi=Mi.HTMLElement||class{},Hi={$flags$:0,$resourcesUrl$:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},Wi=!Si.shadowDomShim||!Si.shadowDom||(()=>(Bi.head.attachShadow+"").indexOf("[native")>-1)(),Ui=(()=>{let t=!1;try{Bi.addEventListener("e",null,Object.defineProperty({},"passive",{get(){t=!0}}))}catch(e){}return t})(),qi=t=>Promise.resolve(t),Vi=!!Si.constructableCSS&&(()=>{try{return new CSSStyleSheet,"function"===typeof(new CSSStyleSheet).replace}catch(t){}return!1})(),Yi=(t,e,n,o)=>{Si.hostListener&&n&&(Si.hostListenerTargetParent&&(n=o?n.filter((([t])=>32&t)):n.filter((([t])=>!(32&t)))),n.map((([n,o,i])=>{const r=Si.hostListenerTarget?Xi(t,n):t,a=Gi(e,i),s=Ji(n);Hi.ael(r,o,a,s),(e.$rmListeners$=e.$rmListeners$||[]).push((()=>Hi.rel(r,o,a,s)))})))},Gi=(t,e)=>n=>{try{Si.lazyLoad?256&t.$flags$?t.$lazyInstance$[e](n):(t.$queuedListeners$=t.$queuedListeners$||[]).push([e,n]):t.$hostElement$[e](n)}catch(o){Ea(o)}},Xi=(t,e)=>Si.hostListenerTargetDocument&&4&e?Bi:Si.hostListenerTargetWindow&&8&e?Mi:Si.hostListenerTargetBody&&16&e?Bi.body:Si.hostListenerTargetParent&&32&e?t.parentElement:t,Ji=t=>Ui?{passive:0!==(1&t),capture:0!==(2&t)}:0!==(2&t),Ki="r",Zi="o",Qi="s",tr="t",er="s-id",nr="sty-id",or="c-id",ir="http://www.w3.org/1999/xlink",rr=(t,e="")=>{if(Si.profile&&performance.mark){const n=`st:${t}:${e}:${Li++}`;return performance.mark(n),()=>performance.measure(`[Stencil] ${t}() <${e}>`,n)}return()=>{}},ar=(t,e)=>Si.profile&&performance.mark?(0===performance.getEntriesByName(t).length&&performance.mark(t),()=>{0===performance.getEntriesByName(e).length&&performance.measure(e,t)}):()=>{},sr=new WeakMap,lr=(t,e,n)=>{let o=Ia.get(t);Vi&&n?(o=o||new CSSStyleSheet,o.replace(e)):o=e,Ia.set(t,o)},cr=(t,e,n,o)=>{let i=ur(e,n);const r=Ia.get(i);if(!Si.attachStyles)return i;if(t=11===t.nodeType?t:Bi,r)if("string"===typeof r){t=t.head||t;let n,a=sr.get(t);if(a||sr.set(t,a=new Set),!a.has(i)){if(Si.hydrateClientSide&&t.host&&(n=t.querySelector(`[${nr}="${i}"]`)))n.innerHTML=r;else{if(Si.cssVarShim&&Hi.$cssShim$){n=Hi.$cssShim$.createHostStyle(o,i,r,!!(10&e.$flags$));const t=n["s-sc"];t&&(i=t,a=null)}else n=Bi.createElement("style"),n.innerHTML=r;(Si.hydrateServerSide||Si.hotModuleReplacement)&&n.setAttribute(nr,i),t.insertBefore(n,t.querySelector("link"))}a&&a.add(i)}}else Si.constructableCSS&&!t.adoptedStyleSheets.includes(r)&&(t.adoptedStyleSheets=[...t.adoptedStyleSheets,r]);return i},dr=t=>{const e=t.$cmpMeta$,n=t.$hostElement$,o=e.$flags$,i=rr("attachStyles",e.$tagName$),r=cr(Si.shadowDom&&Wi&&n.shadowRoot?n.shadowRoot:n.getRootNode(),e,t.$modeName$,n);(Si.shadowDom||Si.scoped)&&Si.cssAnnotations&&10&o&&(n["s-sc"]=r,n.classList.add(r+"-h"),Si.scoped&&2&o&&n.classList.add(r+"-s")),i()},ur=(t,e)=>"sc-"+(Si.mode&&e&&32&t.$flags$?t.$tagName$+"-"+e:t.$tagName$),hr=t=>La.map((e=>e(t))).find((t=>!!t)),pr={},fr="http://www.w3.org/2000/svg",mr="http://www.w3.org/1999/xhtml",gr=t=>null!=t,br=t=>(t=typeof t,"object"===t||"function"===t),vr=(t,e,...n)=>{let o=null,i=null,r=null,a=!1,s=!1;const l=[],c=e=>{for(let n=0;nt[e])).join(" "))}if(Si.isDev&&l.some(xr)&&_a("The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function."),Si.vdomFunctional&&"function"===typeof t)return t(null===e?{}:e,l,kr);const d=yr(t,null);return d.$attrs$=e,l.length>0&&(d.$children$=l),Si.vdomKey&&(d.$key$=i),Si.slotRelocation&&(d.$name$=r),d},yr=(t,e)=>{const n={$flags$:0,$tag$:t,$text$:e,$elm$:null,$children$:null};return Si.vdomAttribute&&(n.$attrs$=null),Si.vdomKey&&(n.$key$=null),Si.slotRelocation&&(n.$name$=null),n},wr={},xr=t=>t&&t.$tag$===wr,kr={forEach:(t,e)=>t.map($r).forEach(e),map:(t,e)=>t.map($r).map(e).map(Er)},$r=t=>({vattrs:t.$attrs$,vchildren:t.$children$,vkey:t.$key$,vname:t.$name$,vtag:t.$tag$,vtext:t.$text$}),Er=t=>{if("function"===typeof t.vtag){const e=Object.assign({},t.vattrs);return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),vr(t.vtag,e,...t.vchildren||[])}const e=yr(t.vtag,t.vtext);return e.$attrs$=t.vattrs,e.$children$=t.vchildren,e.$key$=t.vkey,e.$name$=t.vname,e},Sr=t=>{const e=Object.keys(t),n=e.indexOf("value");if(-1===n)return;const o=e.indexOf("type"),i=e.indexOf("min"),r=e.indexOf("max"),a=e.indexOf("step");(n should be set after "min", "max", "type" and "step"')},_r=(t,e,n,o,i,r)=>{if(n!==o){let s=$a(t,e),l=e.toLowerCase();if(Si.vdomClass&&"class"===e){const e=t.classList,i=Ar(n),r=Ar(o);e.remove(...i.filter((t=>t&&!r.includes(t)))),e.add(...r.filter((t=>t&&!i.includes(t))))}else if(Si.vdomStyle&&"style"===e){if(Si.updatable)for(const e in n)o&&null!=o[e]||(!Si.hydrateServerSide&&e.includes("-")?t.style.removeProperty(e):t.style[e]="");for(const e in o)n&&o[e]===n[e]||(!Si.hydrateServerSide&&e.includes("-")?t.style.setProperty(e,o[e]):t.style[e]=o[e])}else if(Si.vdomKey&&"key"===e);else if(Si.vdomRef&&"ref"===e)o&&o(t);else if(!Si.vdomListener||(Si.lazyLoad?s:t.__lookupSetter__(e))||"o"!==e[0]||"n"!==e[1]){if(Si.vdomPropOrAttr){const c=br(o);if((s||c&&null!==o)&&!i)try{if(t.tagName.includes("-"))t[e]=o;else{const i=null==o?"":o;"list"===e?s=!1:null!=n&&t[e]==i||(t[e]=i)}}catch(a){}let d=!1;Si.vdomXlink&&l!==(l=l.replace(/^xlink\:?/,""))&&(e=l,d=!0),null==o||!1===o?!1===o&&""!==t.getAttribute(e)||(Si.vdomXlink&&d?t.removeAttributeNS(ir,e):t.removeAttribute(e)):(!s||4&r||i)&&!c&&(o=!0===o?"":o,Si.vdomXlink&&d?t.setAttributeNS(ir,e,o):t.setAttribute(e,o))}}else e="-"===e[2]?e.slice(3):$a(Mi,l)?l.slice(2):l[2]+e.slice(3),n&&Hi.rel(t,e,n,!1),o&&Hi.ael(t,e,o,!1)}},Cr=/\s/,Ar=t=>t?t.split(Cr):[],Tr=(t,e,n,o)=>{const i=11===e.$elm$.nodeType&&e.$elm$.host?e.$elm$.host:e.$elm$,r=t&&t.$attrs$||pr,a=e.$attrs$||pr;if(Si.updatable)for(o in r)o in a||_r(i,o,r[o],void 0,n,e.$flags$);for(o in a)_r(i,o,r[o],a[o],n,e.$flags$)},Ir=(t,e,n,o)=>{const i=e.$children$[n];let r,a,s,l=0;if(Si.slotRelocation&&!Ri&&(Di=!0,"slot"===i.$tag$&&(Ci&&o.classList.add(Ci+"-s"),i.$flags$|=i.$children$?2:1)),Si.isDev&&i.$elm$&&_a(`The JSX ${null!==i.$text$?`"${i.$text$}" text`:`"${i.$tag$}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`),Si.vdomText&&null!==i.$text$)r=i.$elm$=Bi.createTextNode(i.$text$);else if(Si.slotRelocation&&1&i.$flags$)r=i.$elm$=Si.isDebug||Si.hydrateServerSide?qr(i):Bi.createTextNode("");else{if(Si.svg&&!Ni&&(Ni="svg"===i.$tag$),r=i.$elm$=Si.svg?Bi.createElementNS(Ni?fr:mr,Si.slotRelocation&&2&i.$flags$?"slot-fb":i.$tag$):Bi.createElement(Si.slotRelocation&&2&i.$flags$?"slot-fb":i.$tag$),Si.svg&&Ni&&"foreignObject"===i.$tag$&&(Ni=!1),Si.vdomAttribute&&Tr(null,i,Ni),(Si.shadowDom||Si.scoped)&&gr(Ci)&&r["s-si"]!==Ci&&r.classList.add(r["s-si"]=Ci),i.$children$)for(l=0;l{Hi.$flags$|=1;const n=t.childNodes;for(let o=n.length-1;o>=0;o--){const t=n[o];t["s-hn"]!==Ti&&t["s-ol"]&&(zr(t).insertBefore(t,Pr(t)),t["s-ol"].remove(),t["s-ol"]=void 0,Di=!0),e&&Lr(t,e)}Hi.$flags$&=-2},Rr=(t,e,n,o,i,r)=>{let a,s=Si.slotRelocation&&t["s-cr"]&&t["s-cr"].parentNode||t;for(Si.shadowDom&&s.shadowRoot&&s.tagName===Ti&&(s=s.shadowRoot);i<=r;++i)o[i]&&(a=Ir(null,n,i,t),a&&(o[i].$elm$=a,s.insertBefore(a,Si.slotRelocation?Pr(e):e)))},Or=(t,e,n,o,i)=>{for(;e<=n;++e)(o=t[e])&&(i=o.$elm$,Wr(o),Si.slotRelocation&&(Oi=!0,i["s-ol"]?i["s-ol"].remove():Lr(i,!0)),i.remove())},Dr=(t,e,n,o)=>{let i,r,a=0,s=0,l=0,c=0,d=e.length-1,u=e[0],h=e[d],p=o.length-1,f=o[0],m=o[p];while(a<=d&&s<=p)if(null==u)u=e[++a];else if(null==h)h=e[--d];else if(null==f)f=o[++s];else if(null==m)m=o[--p];else if(Nr(u,f))jr(u,f),u=e[++a],f=o[++s];else if(Nr(h,m))jr(h,m),h=e[--d],m=o[--p];else if(Nr(u,m))!Si.slotRelocation||"slot"!==u.$tag$&&"slot"!==m.$tag$||Lr(u.$elm$.parentNode,!1),jr(u,m),t.insertBefore(u.$elm$,h.$elm$.nextSibling),u=e[++a],m=o[--p];else if(Nr(h,f))!Si.slotRelocation||"slot"!==u.$tag$&&"slot"!==m.$tag$||Lr(h.$elm$.parentNode,!1),jr(h,f),t.insertBefore(h.$elm$,u.$elm$),h=e[--d],f=o[++s];else{if(l=-1,Si.vdomKey)for(c=a;c<=d;++c)if(e[c]&&null!==e[c].$key$&&e[c].$key$===f.$key$){l=c;break}Si.vdomKey&&l>=0?(r=e[l],r.$tag$!==f.$tag$?i=Ir(e&&e[s],n,l,t):(jr(r,f),e[l]=void 0,i=r.$elm$),f=o[++s]):(i=Ir(e&&e[s],n,s,t),f=o[++s]),i&&(Si.slotRelocation?zr(u.$elm$).insertBefore(i,Pr(u.$elm$)):u.$elm$.parentNode.insertBefore(i,u.$elm$))}a>d?Rr(t,null==o[p+1]?null:o[p+1].$elm$,n,o,s,p):Si.updatable&&s>p&&Or(e,a,d)},Nr=(t,e)=>t.$tag$===e.$tag$&&(Si.slotRelocation&&"slot"===t.$tag$?t.$name$===e.$name$:!Si.vdomKey||t.$key$===e.$key$),Pr=t=>t&&t["s-ol"]||t,zr=t=>(t["s-ol"]?t["s-ol"]:t).parentNode,jr=(t,e)=>{const n=e.$elm$=t.$elm$,o=t.$children$,i=e.$children$,r=e.$tag$,a=e.$text$;let s;Si.vdomText&&null!==a?Si.vdomText&&Si.slotRelocation&&(s=n["s-cr"])?s.parentNode.textContent=a:Si.vdomText&&t.$text$!==a&&(n.data=a):(Si.svg&&(Ni="svg"===r||"foreignObject"!==r&&Ni),(Si.vdomAttribute||Si.reflect)&&(Si.slot&&"slot"===r||Tr(t,e,Ni)),Si.updatable&&null!==o&&null!==i?Dr(n,o,e,i):null!==i?(Si.updatable&&Si.vdomText&&null!==t.$text$&&(n.textContent=""),Rr(n,null,e,i,0,i.length-1)):Si.updatable&&null!==o&&Or(o,0,o.length-1),Si.svg&&Ni&&"svg"===r&&(Ni=!1))},Mr=t=>{const e=t.childNodes;let n,o,i,r,a,s;for(o=0,i=e.length;o{let e,n,o,i,r,a,s=0;const l=t.childNodes,c=l.length;for(;s=0;a--)n=o[a],n["s-cn"]||n["s-nr"]||n["s-hn"]===e["s-hn"]||(Hr(n,i)?(r=Br.find((t=>t.$nodeToRelocate$===n)),Oi=!0,n["s-sn"]=n["s-sn"]||i,r?r.$slotRefNode$=e:Br.push({$slotRefNode$:e,$nodeToRelocate$:n}),n["s-sr"]&&Br.map((t=>{Hr(t.$nodeToRelocate$,n["s-sn"])&&(r=Br.find((t=>t.$nodeToRelocate$===n)),r&&!t.$slotRefNode$&&(t.$slotRefNode$=r.$slotRefNode$))}))):Br.some((t=>t.$nodeToRelocate$===n))||Br.push({$nodeToRelocate$:n}));1===e.nodeType&&Fr(e)}},Hr=(t,e)=>1===t.nodeType?null===t.getAttribute("slot")&&""===e||t.getAttribute("slot")===e:t["s-sn"]===e||""===e,Wr=t=>{Si.vdomRef&&(t.$attrs$&&t.$attrs$.ref&&t.$attrs$.ref(null),t.$children$&&t.$children$.map(Wr))},Ur=(t,e)=>{const n=t.$hostElement$,o=t.$cmpMeta$,i=t.$vnode$||yr(null,null),r=xr(e)?e:vr(null,null,e);if(Ti=n.tagName,Si.isDev&&Array.isArray(e)&&e.some(xr))throw new Error(`The must be the single root component.\nLooks like the render() function of "${Ti.toLowerCase()}" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);if(Si.reflect&&o.$attrsToReflect$&&(r.$attrs$=r.$attrs$||{},o.$attrsToReflect$.map((([t,e])=>r.$attrs$[e]=n[t]))),r.$tag$=null,r.$flags$|=4,t.$vnode$=r,r.$elm$=i.$elm$=Si.shadowDom&&n.shadowRoot||n,(Si.scoped||Si.shadowDom)&&(Ci=n["s-sc"]),Si.slotRelocation&&(Ai=n["s-cr"],Ri=Wi&&0!==(1&o.$flags$),Oi=!1),jr(i,r),Si.slotRelocation){if(Hi.$flags$|=1,Di){let t,e,n,o,i,a;Fr(r.$elm$);let s=0;for(;sBi.createComment(` (host=${Ti.toLowerCase()})`),Vr=t=>Bi.createComment("org-location for "+(t.localName?`<${t.localName}> (host=${t["s-hn"]})`:`[${t.textContent}]`)),Yr=(t,e,n)=>{const o=Hi.ce(e,n);return t.dispatchEvent(o),o},Gr=(t,e)=>{Si.asyncLoading&&e&&!t.$onRenderResolve$&&e["s-p"]&&e["s-p"].push(new Promise((e=>t.$onRenderResolve$=e)))},Xr=(t,e)=>{if(Si.taskQueue&&Si.updatable&&(t.$flags$|=16),Si.asyncLoading&&4&t.$flags$)return void(t.$flags$|=512);Gr(t,t.$ancestorComponent$);const n=()=>Jr(t,e);return Si.taskQueue?Ba(n):n()},Jr=(t,e)=>{const n=t.$hostElement$,o=rr("scheduleUpdate",t.$cmpMeta$.$tagName$),i=Si.lazyLoad?t.$lazyInstance$:n;let r;return e?(Si.lazyLoad&&Si.hostListener&&(t.$flags$|=256,t.$queuedListeners$&&(t.$queuedListeners$.map((([t,e])=>ea(i,t,e))),t.$queuedListeners$=null)),oa(n,"componentWillLoad"),Si.cmpWillLoad&&(r=ea(i,"componentWillLoad"))):(oa(n,"componentWillUpdate"),Si.cmpWillUpdate&&(r=ea(i,"componentWillUpdate"))),oa(n,"componentWillRender"),Si.cmpWillRender&&(r=na(r,(()=>ea(i,"componentWillRender")))),o(),na(r,(()=>Kr(t,i,e)))},Kr=async(t,e,n)=>{const o=t.$hostElement$,i=rr("update",t.$cmpMeta$.$tagName$),r=o["s-rc"];Si.style&&n&&dr(t);const a=rr("render",t.$cmpMeta$.$tagName$);if(Si.isDev&&(t.$flags$|=1024),Si.hydrateServerSide?await Zr(t,e,o):Zr(t,e,o),Si.cssVarShim&&Hi.$cssShim$&&Hi.$cssShim$.updateHost(o),Si.isDev&&(t.$renderCount$++,t.$flags$&=-1025),Si.hydrateServerSide)try{ra(o),n&&(1&t.$cmpMeta$.$flags$?o["s-en"]="":2&t.$cmpMeta$.$flags$&&(o["s-en"]="c"))}catch(s){Ea(s,o)}if(Si.asyncLoading&&r&&(r.map((t=>t())),o["s-rc"]=void 0),a(),i(),Si.asyncLoading){const e=o["s-p"],n=()=>Qr(t);0===e.length?n():(Promise.all(e).then(n),t.$flags$|=4,e.length=0)}else Qr(t)},Zr=(t,e,n)=>{const o=!!Si.allRenderFn,i=!!Si.lazyLoad,r=!!Si.taskQueue,a=!!Si.updatable;try{if(Pi=e,e=(o||e.render)&&e.render(),a&&r&&(t.$flags$&=-17),(a||i)&&(t.$flags$|=2),Si.hasRenderFn||Si.reflect)if(Si.vdomRender||Si.reflect){if(Si.hydrateServerSide)return Promise.resolve(e).then((e=>Ur(t,e)));Ur(t,e)}else n.textContent=e}catch(s){Ea(s,t.$hostElement$)}return Pi=null,null},Qr=t=>{const e=t.$cmpMeta$.$tagName$,n=t.$hostElement$,o=rr("postUpdate",e),i=Si.lazyLoad?t.$lazyInstance$:n,r=t.$ancestorComponent$;Si.cmpDidRender&&(Si.isDev&&(t.$flags$|=1024),ea(i,"componentDidRender"),Si.isDev&&(t.$flags$&=-1025)),oa(n,"componentDidRender"),64&t.$flags$?(Si.cmpDidUpdate&&(Si.isDev&&(t.$flags$|=1024),ea(i,"componentDidUpdate"),Si.isDev&&(t.$flags$&=-1025)),oa(n,"componentDidUpdate"),o()):(t.$flags$|=64,Si.asyncLoading&&Si.cssAnnotations&&ia(n),Si.cmpDidLoad&&(Si.isDev&&(t.$flags$|=2048),ea(i,"componentDidLoad"),Si.isDev&&(t.$flags$&=-2049)),oa(n,"componentDidLoad"),o(),Si.asyncLoading&&(t.$onReadyResolve$(n),r||ta(e))),Si.hotModuleReplacement&&n["s-hmr-load"]&&n["s-hmr-load"](),Si.method&&Si.lazyLoad&&t.$onInstanceResolve$(n),Si.asyncLoading&&(t.$onRenderResolve$&&(t.$onRenderResolve$(),t.$onRenderResolve$=void 0),512&t.$flags$&&Ma((()=>Xr(t,!1))),t.$flags$&=-517)},ta=t=>{Si.cssAnnotations&&ia(Bi.documentElement),Si.asyncQueue&&(Hi.$flags$|=2),Ma((()=>Yr(Mi,"appload",{detail:{namespace:_i}}))),Si.profile&&performance.measure&&performance.measure(`[Stencil] ${_i} initial load (by ${t})`,"st:app:start")},ea=(t,e,n)=>{if(t&&t[e])try{return t[e](n)}catch(o){Ea(o)}},na=(t,e)=>t&&t.then?t.then(e):e(),oa=(t,e)=>{Si.lifecycleDOMEvents&&Yr(t,"stencil_"+e,{bubbles:!0,composed:!0,detail:{namespace:_i}})},ia=t=>Si.hydratedClass?t.classList.add("hydrated"):Si.hydratedAttribute?t.setAttribute("hydrated",""):void 0,ra=t=>{const e=t.children;if(null!=e)for(let n=0,o=e.length;n{const i=rr("hydrateClient",e),r=t.shadowRoot,a=[],s=[],l=Si.shadowDom&&r?[]:null,c=o.$vnode$=yr(e,null);Hi.$orgLocNodes$||la(Bi.body,Hi.$orgLocNodes$=new Map),t[er]=n,t.removeAttribute(er),sa(c,a,s,l,t,t,n),a.map((t=>{const n=t.$hostId$+"."+t.$nodeId$,o=Hi.$orgLocNodes$.get(n),i=t.$elm$;o&&Wi&&""===o["s-en"]&&o.parentNode.insertBefore(i,o.nextSibling),r||(i["s-hn"]=e,o&&(i["s-ol"]=o,i["s-ol"]["s-nr"]=i)),Hi.$orgLocNodes$.delete(n)})),Si.shadowDom&&r&&l.map((t=>{t&&r.appendChild(t)})),i()},sa=(t,e,n,o,i,r,a)=>{let s,l,c,d;if(1===r.nodeType){for(s=r.getAttribute(or),s&&(l=s.split("."),l[0]!==a&&"0"!==l[0]||(c={$flags$:0,$hostId$:l[0],$nodeId$:l[1],$depth$:l[2],$index$:l[3],$tag$:r.tagName.toLowerCase(),$elm$:r,$attrs$:null,$children$:null,$key$:null,$name$:null,$text$:null},e.push(c),r.removeAttribute(or),t.$children$||(t.$children$=[]),t.$children$[c.$index$]=c,t=c,o&&"0"===c.$depth$&&(o[c.$index$]=c.$elm$))),d=r.childNodes.length-1;d>=0;d--)sa(t,e,n,o,i,r.childNodes[d],a);if(r.shadowRoot)for(d=r.shadowRoot.childNodes.length-1;d>=0;d--)sa(t,e,n,o,i,r.shadowRoot.childNodes[d],a)}else if(8===r.nodeType)l=r.nodeValue.split("."),l[1]!==a&&"0"!==l[1]||(s=l[0],c={$flags$:0,$hostId$:l[1],$nodeId$:l[2],$depth$:l[3],$index$:l[4],$elm$:r,$attrs$:null,$children$:null,$key$:null,$name$:null,$tag$:null,$text$:null},s===tr?(c.$elm$=r.nextSibling,c.$elm$&&3===c.$elm$.nodeType&&(c.$text$=c.$elm$.textContent,e.push(c),r.remove(),t.$children$||(t.$children$=[]),t.$children$[c.$index$]=c,o&&"0"===c.$depth$&&(o[c.$index$]=c.$elm$))):c.$hostId$===a&&(s===Qi?(c.$tag$="slot",l[5]?r["s-sn"]=c.$name$=l[5]:r["s-sn"]="",r["s-sr"]=!0,Si.shadowDom&&o&&(c.$elm$=Bi.createElement(c.$tag$),c.$name$&&c.$elm$.setAttribute("name",c.$name$),r.parentNode.insertBefore(c.$elm$,r),r.remove(),"0"===c.$depth$&&(o[c.$index$]=c.$elm$)),n.push(c),t.$children$||(t.$children$=[]),t.$children$[c.$index$]=c):s===Ki&&(Si.shadowDom&&o?r.remove():Si.slotRelocation&&(i["s-cr"]=r,r["s-cn"]=!0))));else if(t&&"style"===t.$tag$){const e=yr(null,r.textContent);e.$elm$=r,e.$index$="0",t.$children$=[e]}},la=(t,e)=>{if(1===t.nodeType){let n=0;for(;nnull==t||br(t)?t:Si.propBoolean&&4&e?"false"!==t&&(""===t||!!t):Si.propNumber&&2&e?parseFloat(t):Si.propString&&1&e?String(t):t,da=(t,e)=>xa(t).$instanceValues$.get(e),ua=(t,e,n,o)=>{const i=xa(t),r=Si.lazyLoad?i.$hostElement$:t,a=i.$instanceValues$.get(e),s=i.$flags$,l=Si.lazyLoad?i.$lazyInstance$:r;n=ca(n,o.$members$[e][0]);const c=Number.isNaN(a)&&Number.isNaN(n),d=n!==a&&!c;if((!Si.lazyLoad||!(8&s)||void 0===a)&&d&&(i.$instanceValues$.set(e,n),Si.isDev&&(1024&i.$flags$?Ca(`The state/prop "${e}" changed during rendering. This can potentially lead to infinite-loops and other bugs.`,"\nElement",r,"\nNew value",n,"\nOld value",a):2048&i.$flags$&&Ca(`The state/prop "${e}" changed during "componentDidLoad()", this triggers extra re-renders, try to setup on "componentWillLoad()"`,"\nElement",r,"\nNew value",n,"\nOld value",a)),!Si.lazyLoad||l)){if(Si.watchCallback&&o.$watchers$&&128&s){const t=o.$watchers$[e];t&&t.map((t=>{try{l[t](n,a,e)}catch(o){Ea(o,r)}}))}if(Si.updatable&&2===(18&s)){if(Si.cmpShouldUpdate&&l.componentShouldUpdate&&!1===l.componentShouldUpdate(n,a,e))return;Xr(i,!1)}}},ha=(t,e,n)=>{if(Si.member&&e.$members$){Si.watchCallback&&t.watchers&&(e.$watchers$=t.watchers);const o=Object.entries(e.$members$),i=t.prototype;if(o.map((([t,[o]])=>{(Si.prop||Si.state)&&(31&o||(!Si.lazyLoad||2&n)&&32&o)?Object.defineProperty(i,t,{get(){return da(this,t)},set(i){if(Si.isDev){const i=xa(this);0===(1&n)&&0===(8&i.$flags$)&&0!==(31&o)&&0===(1024&o)&&Ca(`@Prop() "${t}" on <${e.$tagName$}> is immutable but was modified from within the component.\nMore information: https://stenciljs.com/docs/properties#prop-mutability`)}ua(this,t,i,e)},configurable:!0,enumerable:!0}):Si.lazyLoad&&Si.method&&1&n&&64&o&&Object.defineProperty(i,t,{value(...e){const n=xa(this);return n.$onInstancePromise$.then((()=>n.$lazyInstance$[t](...e)))}})})),Si.observeAttribute&&(!Si.lazyLoad||1&n)){const n=new Map;i.attributeChangedCallback=function(t,e,o){Hi.jmp((()=>{const e=n.get(t);if(this.hasOwnProperty(e))o=this[e],delete this[e];else if(i.hasOwnProperty(e)&&"number"===typeof this[e]&&this[e]==o)return;this[e]=(null!==o||"boolean"!==typeof this[e])&&o}))},t.observedAttributes=o.filter((([t,e])=>15&e[0])).map((([t,o])=>{const i=o[1]||t;return n.set(i,t),Si.reflect&&512&o[0]&&e.$attrsToReflect$.push([t,i]),i}))}}return t},pa=async(t,e,o,i,r)=>{if((Si.lazyLoad||Si.hydrateServerSide||Si.style)&&0===(32&e.$flags$)){if(Si.lazyLoad||Si.hydrateClientSide){if(e.$flags$|=32,r=Ta(o,e,i),r.then){const t=ar(`st:load:${o.$tagName$}:${e.$modeName$}`,`[Stencil] Load module for <${o.$tagName$}>`);r=await r,t()}if((Si.isDev||Si.isDebug)&&!r)throw new Error(`Constructor for "${o.$tagName$}#${e.$modeName$}" was not found`);Si.member&&!r.isProxied&&(Si.watchCallback&&(o.$watchers$=r.watchers),ha(r,o,2),r.isProxied=!0);const t=rr("createInstance",o.$tagName$);Si.member&&(e.$flags$|=8);try{new r(e)}catch(l){Ea(l)}Si.member&&(e.$flags$&=-9),Si.watchCallback&&(e.$flags$|=128),t(),fa(e.$lazyInstance$)}else r=t.constructor,e.$flags$|=32,customElements.whenDefined(o.$tagName$).then((()=>e.$flags$|=128));if(Si.style&&r.style){let i=r.style;Si.mode&&"string"!==typeof i&&(i=i[e.$modeName$=hr(t)],Si.hydrateServerSide&&e.$modeName$&&t.setAttribute("s-mode",e.$modeName$));const a=ur(o,e.$modeName$);if(!Ia.has(a)){const t=rr("registerStyles",o.$tagName$);!Si.hydrateServerSide&&Si.shadowDom&&Si.shadowDomShim&&8&o.$flags$&&(i=await n.e(880).then(n.bind(n,5880)).then((t=>t.scopeCss(i,a,!1)))),lr(a,i,!!(1&o.$flags$)),t()}}}const a=e.$ancestorComponent$,s=()=>Xr(e,!0);Si.asyncLoading&&a&&a["s-rc"]?a["s-rc"].push(s):s()},fa=t=>{Si.lazyLoad&&Si.connectedCallback&&ea(t,"connectedCallback")},ma=t=>{if(0===(1&Hi.$flags$)){const e=xa(t),n=e.$cmpMeta$,o=rr("connectedCallback",n.$tagName$);if(Si.hostListenerTargetParent&&Yi(t,e,n.$listeners$,!0),1&e.$flags$)Yi(t,e,n.$listeners$,!1),fa(e.$lazyInstance$);else{let o;if(e.$flags$|=1,Si.hydrateClientSide&&(o=t.getAttribute(er),o)){if(Si.shadowDom&&Wi&&1&n.$flags$){const e=Si.mode?cr(t.shadowRoot,n,t.getAttribute("s-mode")):cr(t.shadowRoot,n);t.classList.remove(e+"-h",e+"-s")}aa(t,n.$tagName$,o,e)}if(Si.slotRelocation&&!o&&(Si.hydrateServerSide||(Si.slot||Si.shadowDom)&&12&n.$flags$)&&ga(t),Si.asyncLoading){let n=t;while(n=n.parentNode||n.host)if(Si.hydrateClientSide&&1===n.nodeType&&n.hasAttribute("s-id")&&n["s-p"]||n["s-p"]){Gr(e,e.$ancestorComponent$=n);break}}Si.prop&&!Si.hydrateServerSide&&n.$members$&&Object.entries(n.$members$).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),Si.initializeNextTick?Ma((()=>pa(t,e,n))):pa(t,e,n)}o()}},ga=t=>{const e=t["s-cr"]=Bi.createComment(Si.isDebug?`content-ref (host=${t.localName})`:"");e["s-cn"]=!0,t.insertBefore(e,t.firstChild)},ba=t=>{if(0===(1&Hi.$flags$)){const e=xa(t),n=Si.lazyLoad?e.$lazyInstance$:t;Si.hostListener&&e.$rmListeners$&&(e.$rmListeners$.map((t=>t())),e.$rmListeners$=void 0),Si.cssVarShim&&Hi.$cssShim$&&Hi.$cssShim$.removeHost(t),Si.lazyLoad&&Si.disconnectedCallback&&ea(n,"disconnectedCallback"),Si.cmpDidUnload&&ea(n,"componentDidUnload")}},va=(t,e)=>{const n={$flags$:e[0],$tagName$:e[1]};Si.member&&(n.$members$=e[2]),Si.hostListener&&(n.$listeners$=e[3]),Si.watchCallback&&(n.$watchers$=t.$watchers$),Si.reflect&&(n.$attrsToReflect$=[]),Si.shadowDom&&!Wi&&1&n.$flags$&&(n.$flags$|=8);const o=t.prototype.connectedCallback,i=t.prototype.disconnectedCallback;return Object.assign(t.prototype,{__registerHost(){ka(this,n)},connectedCallback(){ma(this),Si.connectedCallback&&o&&o.call(this)},disconnectedCallback(){ba(this),Si.disconnectedCallback&&i&&i.call(this)},__attachShadow(){Wi?Si.shadowDelegatesFocus?this.attachShadow({mode:"open",delegatesFocus:!!(16&n.$flags$)}):this.attachShadow({mode:"open"}):this.shadowRoot=this}}),t.is=n.$tagName$,ha(t,n,3)},ya=t=>{const e=new URL(t,Hi.$resourcesUrl$);return e.origin!==Mi.location.origin?e.href:e.pathname},wa=new WeakMap,xa=t=>wa.get(t),ka=(t,e)=>{const n={$flags$:0,$hostElement$:t,$cmpMeta$:e,$instanceValues$:new Map};return Si.isDev&&(n.$renderCount$=0),Si.method&&Si.lazyLoad&&(n.$onInstancePromise$=new Promise((t=>n.$onInstanceResolve$=t))),Si.asyncLoading&&(n.$onReadyPromise$=new Promise((t=>n.$onReadyResolve$=t)),t["s-p"]=[],t["s-rc"]=[]),Yi(t,n,e.$listeners$,!1),wa.set(t,n)},$a=(t,e)=>e in t,Ea=(t,e)=>(Ii||console.error)(t,e),Sa=Si.isTesting?["STENCIL:"]:["%cstencil","color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px"],_a=(...t)=>console.error(...Sa,...t),Ca=(...t)=>console.warn(...Sa,...t),Aa=new Map,Ta=(t,e,o)=>{const i=t.$tagName$.replace(/-/g,"_"),r=t.$lazyBundleId$;if(Si.isDev&&"string"!==typeof r)return void _a(`Trying to lazily load component <${t.$tagName$}> with style mode "${e.$modeName$}", but it does not exist.`);const a=!Si.hotModuleReplacement&&Aa.get(r);return a?a[i]:n(1875)(`./${r}.entry.js${Si.hotModuleReplacement&&o?"?s-hmr="+o:""}`).then((t=>(Si.hotModuleReplacement||Aa.set(r,t),t[i])),Ea) +/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Ia=new Map,La=[],Ra=[],Oa=[],Da=[],Na=(t,e)=>n=>{t.push(n),ji||(ji=!0,e&&4&Hi.$flags$?Ma(ja):Hi.raf(ja))},Pa=t=>{for(let n=0;n{let n=0,o=0;while(n{if(Si.asyncQueue&&zi++,Pa(Ra),Si.asyncQueue){const t=2===(6&Hi.$flags$)?performance.now()+14*Math.ceil(.1*zi):1/0;za(Oa,t),za(Da,t),Oa.length>0&&(Da.push(...Oa),Oa.length=0),(ji=Ra.length+Oa.length+Da.length>0)?Hi.raf(ja):zi=0}else Pa(Oa),(ji=Ra.length>0)&&Hi.raf(ja)},Ma=t=>qi().then(t),Ba=Na(Oa,!0),Fa={isDev:!!Si.isDev,isBrowser:!0,isServer:!1,isTesting:!!Si.isTesting};let Ha;const Wa=()=>{if("undefined"===typeof window)return new Map;if(!Ha){const t=window;t.Ionicons=t.Ionicons||{},Ha=t.Ionicons.map=t.Ionicons.map||new Map}return Ha},Ua=t=>{let e=Ya(t.src);if(e)return e;if(e=Va(t.name,t.icon,t.mode,t.ios,t.md),e)return qa(e);if(t.icon){if(e=Ya(t.icon),e)return e;if(e=Ya(t.icon[t.mode]),e)return e}return null},qa=t=>{const e=Wa().get(t);return e||ya(`svg/${t}.svg`)},Va=(t,e,n,o,i)=>{if(n="ios"===(n&&Ja(n))?"ios":"md",o&&"ios"===n?t=Ja(o):i&&"md"===n?t=Ja(i):(t||!e||Ga(e)||(t=e),Xa(t)&&(t=Ja(t))),!Xa(t)||""===t.trim())return null;const r=t.replace(/[a-z]|-|\d/gi,"");return""!==r?null:t},Ya=t=>Xa(t)&&(t=t.trim(),Ga(t))?t:null,Ga=t=>t.length>0&&/(\/|\.)/.test(t),Xa=t=>"string"===typeof t,Ja=t=>t.toLowerCase(),Ka=(t,e=[])=>{const n={};return e.forEach((e=>{if(t.hasAttribute(e)){const o=t.getAttribute(e);null!==o&&(n[e]=t.getAttribute(e)),t.removeAttribute(e)}})),n},Za=t=>{const e=document.createElement("div");e.innerHTML=t;for(let o=e.childNodes.length-1;o>=0;o--)"svg"!==e.childNodes[o].nodeName.toLowerCase()&&e.removeChild(e.childNodes[o]);const n=e.firstElementChild;if(n&&"svg"===n.nodeName.toLowerCase()){const t=n.getAttribute("class")||"";if(n.setAttribute("class",(t+" s-ion-icon").trim()),Qa(n))return e.innerHTML}return""},Qa=t=>{if(1===t.nodeType){if("script"===t.nodeName.toLowerCase())return!1;for(let e=0;e{let n=es.get(t);if(!n){if("undefined"===typeof fetch||"undefined"===typeof document)return ts.set(t,""),Promise.resolve();n=fetch(t).then((n=>{if(n.ok)return n.text().then((n=>{n&&!1!==e&&(n=Za(n)),ts.set(t,n||"")}));ts.set(t,"")})),es.set(t,n)}return n},os=":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:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !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)}",is=va(class extends Fi{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.isVisible=!1,this.mode=rs(),this.lazy=!1,this.sanitize=!0,this.hasAriaHidden=()=>{const{el:t}=this;return t.hasAttribute("aria-hidden")&&"true"===t.getAttribute("aria-hidden")}}componentWillLoad(){this.inheritedAttributes=Ka(this.el,["aria-label"])}connectedCallback(){this.waitUntilVisible(this.el,"50px",(()=>{this.isVisible=!0,this.loadIcon()}))}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(t,e,n){if(Fa.isBrowser&&this.lazy&&"undefined"!==typeof window&&window.IntersectionObserver){const o=this.io=new window.IntersectionObserver((t=>{t[0].isIntersecting&&(o.disconnect(),this.io=void 0,n())}),{rootMargin:e});o.observe(t)}else n()}loadIcon(){if(Fa.isBrowser&&this.isVisible){const t=Ua(this);t&&(ts.has(t)?this.svgContent=ts.get(t):ns(t,this.sanitize).then((()=>this.svgContent=ts.get(t))))}const t=this.iconName=Va(this.name,this.icon,this.mode,this.ios,this.md);t&&(this.ariaLabel=t.replace(/\-/g," "))}render(){const{iconName:t,ariaLabel:e,inheritedAttributes:n}=this,o=this.mode||"md",i=this.flipRtl||t&&(t.indexOf("arrow")>-1||t.indexOf("chevron")>-1)&&!1!==this.flipRtl;return vr(wr,Object.assign({"aria-label":void 0===e||this.hasAriaHidden()?null:e,role:"img",class:Object.assign(Object.assign({[o]:!0},as(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":!!i&&"rtl"===this.el.ownerDocument.dir})},n),Fa.isBrowser&&this.svgContent?vr("div",{class:"icon-inner",innerHTML:this.svgContent}):vr("div",{class:"icon-inner"}))}static get assetsDirs(){return["svg"]}get el(){return this}static get watchers(){return{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"]}}static get style(){return os}},[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],ariaLabel:[32]}]),rs=()=>Fa.isBrowser&&"undefined"!==typeof document&&document.documentElement.getAttribute("mode")||"md",as=t=>t?{"ion-color":!0,[`ion-color-${t}`]:!0}:null;const ss=is,ls=async(t,e,n,o,i,r)=>{var a;if(t)return t.attachViewToDom(e,n,i,o);if(!r&&"string"!==typeof n&&!(n instanceof HTMLElement))throw new Error("framework delegate is missing");const s="string"===typeof n?null===(a=e.ownerDocument)||void 0===a?void 0:a.createElement(n):n;return o&&o.forEach((t=>s.classList.add(t))),i&&Object.assign(s,i),e.appendChild(s),await new Promise((t=>(0,M.c)(s,t))),s},cs=(t,e)=>{if(e){if(t){const n=e.parentElement;return t.removeViewFromDom(n,e)}e.remove()}return Promise.resolve()},ds=()=>{let t,e;const n=async(n,o,i={},r=[])=>{var a,s;if(t=n,o){const e="string"===typeof o?null===(a=t.ownerDocument)||void 0===a?void 0:a.createElement(o):o;r.forEach((t=>e.classList.add(t))),Object.assign(e,i),t.appendChild(e),await new Promise((t=>(0,M.c)(e,t)))}else if(t.children.length>0){const e=null===(s=t.ownerDocument)||void 0===s?void 0:s.createElement("div");r.forEach((t=>e.classList.add(t))),e.append(...t.children),t.appendChild(e)}const l=document.querySelector("ion-app")||document.body;return e=document.createComment("ionic teleport"),t.parentNode.insertBefore(e,t),l.appendChild(t),t},o=()=>(t&&e&&(e.parentNode.insertBefore(t,e),e.remove()),Promise.resolve());return{attachViewToDom:n,removeViewFromDom:o}},us=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}",hs=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionNavWillLoad=(0,r.yM)(this,"ionNavWillLoad",7),this.ionNavWillChange=(0,r.yM)(this,"ionNavWillChange",3),this.ionNavDidChange=(0,r.yM)(this,"ionNavDidChange",3),this.gestureOrAnimationInProgress=!1,this.mode=z(this),this.animated=!0}swipeHandlerChanged(){this.gesture&&this.gesture.enable(void 0!==this.swipeHandler)}async connectedCallback(){const t=()=>{this.gestureOrAnimationInProgress=!0,this.swipeHandler&&this.swipeHandler.onStart()};this.gesture=(await n.e(990).then(n.bind(n,8990))).createSwipeBackGesture(this.el,(()=>!this.gestureOrAnimationInProgress&&!!this.swipeHandler&&this.swipeHandler.canStart()),(()=>t()),(t=>{var e;return null===(e=this.ani)||void 0===e?void 0:e.progressStep(t)}),((t,e,n)=>{if(this.ani){this.ani.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(t)}),{oneTimeCallback:!0});let o=t?-.001:.001;t?o+=Wn([0,0],[.32,.72],[0,1],[1,1],e)[0]:(this.ani.easing("cubic-bezier(1, 0, 0.68, 0.28)"),o+=Wn([0,0],[1,0],[.68,.28],[1,1],e)[0]),this.ani.progressEnd(t?1:0,o,n)}else this.gestureOrAnimationInProgress=!1})),this.swipeHandlerChanged()}componentWillLoad(){this.ionNavWillLoad.emit()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}async commit(t,e,n){const o=await this.lock();let i=!1;try{i=await this.transition(t,e,n)}catch(r){console.error(r)}return o(),i}async setRouteId(t,e,n,o){const i=await this.setRoot(t,e,{duration:"root"===n?0:void 0,direction:"back"===n?"back":"forward",animationBuilder:o});return{changed:i,element:this.activeEl}}async getRouteId(){const t=this.activeEl;return t?{id:t.tagName,element:t,params:this.activeParams}:void 0}async setRoot(t,e,n){if(this.activeComponent===t&&(0,M.s)(e,this.activeParams))return!1;const o=this.activeEl,i=await ls(this.delegate,this.el,t,["ion-page","ion-page-invisible"],e);return this.activeComponent=t,this.activeEl=i,this.activeParams=e,await this.commit(i,o,n),await cs(this.delegate,o),!0}async transition(t,e,n={}){if(e===t)return!1;this.ionNavWillChange.emit();const{el:o,mode:i}=this,r=this.animated&&s.getBoolean("animated",!0),a=n.animationBuilder||this.animation||s.get("navAnimation");return await(0,wi.t)(Object.assign(Object.assign({mode:i,animated:r,enteringEl:t,leavingEl:e,baseEl:o,progressCallback:n.progressAnimation?t=>{void 0===t||this.gestureOrAnimationInProgress?this.ani=t:(this.gestureOrAnimationInProgress=!0,t.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(!1)}),{oneTimeCallback:!0}),t.progressEnd(0,0,0))}:void 0},n),{animationBuilder:a})),this.ionNavDidChange.emit(),!0}async lock(){const t=this.waitPromise;let e;return this.waitPromise=new Promise((t=>e=t)),void 0!==t&&await t,e}render(){return(0,r.h)("slot",null)}get el(){return this}static get watchers(){return{swipeHandler:["swipeHandlerChanged"]}}static get style(){return us}},[1,"ion-router-outlet",{mode:[1025],delegate:[16],animated:[4],animation:[16],swipeHandler:[16],commit:[64],setRouteId:[64],getRouteId:[64]}]);const ps=hs;var fs=n(2119); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const ms=':host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}',gs=':host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}',bs=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionTabButtonClick=(0,r.yM)(this,"ionTabButtonClick",7),this.disabled=!1,this.selected=!1,this.onKeyUp=t=>{"Enter"!==t.key&&" "!==t.key||this.selectTab(t)},this.onClick=t=>{this.selectTab(t)}}onTabBarChanged(t){const e=t.target,n=this.el.parentElement;(t.composedPath().includes(n)||(null===e||void 0===e?void 0:e.contains(this.el)))&&(this.selected=this.tab===t.detail.tab)}componentWillLoad(){void 0===this.layout&&(this.layout=s.get("tabButtonLayout","icon-top"))}selectTab(t){void 0!==this.tab&&(this.disabled||this.ionTabButtonClick.emit({tab:this.tab,href:this.href,selected:this.selected}),t.preventDefault())}get hasLabel(){return!!this.el.querySelector("ion-label")}get hasIcon(){return!!this.el.querySelector("ion-icon")}get tabIndex(){if(this.disabled)return-1;const t=this.el.hasAttribute("tabindex");return t?this.el.getAttribute("tabindex"):0}render(){const{disabled:t,hasIcon:e,hasLabel:n,tabIndex:o,href:i,rel:a,target:s,layout:l,selected:c,tab:d}=this,u=z(this),h={download:this.download,href:i,rel:a,target:s};return(0,r.h)(r.AA,{onClick:this.onClick,onKeyup:this.onKeyUp,role:"tab",tabindex:o,"aria-selected":c?"true":null,id:void 0!==d?`tab-button-${d}`:null,class:{[u]:!0,"tab-selected":c,"tab-disabled":t,"tab-has-label":n,"tab-has-icon":e,"tab-has-label-only":n&&!e,"tab-has-icon-only":e&&!n,[`tab-layout-${l}`]:!0,"ion-activatable":!0,"ion-selectable":!0,"ion-focusable":!0}},(0,r.h)("a",Object.assign({},h,{tabIndex:-1,class:"button-native",part:"native"}),(0,r.h)("span",{class:"button-inner"},(0,r.h)("slot",null)),"md"===u&&(0,r.h)("ion-ripple-effect",{type:"unbounded"})))}get el(){return this}static get style(){return{ios:ms,md:gs}}},[33,"ion-tab-button",{disabled:[4],download:[1],href:[1],rel:[1],layout:[1025],selected:[1028],tab:[1],target:[1]},[[8,"ionTabBarChanged","onTabBarChanged"]]]);const vs=bs,ys=":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-color-step-50, #f7f7f7));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}",ws=":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}",xs=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionTabBarChanged=(0,r.yM)(this,"ionTabBarChanged",7),this.keyboardVisible=!1,this.translucent=!1}selectedTabChanged(){void 0!==this.selectedTab&&this.ionTabBarChanged.emit({tab:this.selectedTab})}componentWillLoad(){this.selectedTabChanged()}connectedCallback(){"undefined"!==typeof window&&(this.keyboardWillShowHandler=()=>{"top"!==this.el.getAttribute("slot")&&(this.keyboardVisible=!0)},this.keyboardWillHideHandler=()=>{setTimeout((()=>this.keyboardVisible=!1),50)},window.addEventListener("keyboardWillShow",this.keyboardWillShowHandler),window.addEventListener("keyboardWillHide",this.keyboardWillHideHandler))}disconnectedCallback(){"undefined"!==typeof window&&(window.removeEventListener("keyboardWillShow",this.keyboardWillShowHandler),window.removeEventListener("keyboardWillHide",this.keyboardWillHideHandler),this.keyboardWillShowHandler=this.keyboardWillHideHandler=void 0)}render(){const{color:t,translucent:e,keyboardVisible:n}=this,o=z(this);return(0,r.h)(r.AA,{role:"tablist","aria-hidden":n?"true":null,class:F(t,{[o]:!0,"tab-bar-translucent":e,"tab-bar-hidden":n})},(0,r.h)("slot",null))}get el(){return this}static get watchers(){return{selectedTab:["selectedTabChanged"]}}static get style(){return{ios:ys,md:ws}}},[33,"ion-tab-bar",{color:[513],selectedTab:[1,"selected-tab"],translucent:[4],keyboardVisible:[32]}]);const ks=xs,$s="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}",Es=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost()}componentDidLoad(){r.Z5.isBrowser&&_s((async()=>{const t=m(window,"hybrid");s.getBoolean("_testing")||n.e(168).then(n.bind(n,3168)).then((t=>t.startTapClick(s))),s.getBoolean("statusTap",t)&&n.e(78).then(n.bind(n,6078)).then((t=>t.startStatusTap())),s.getBoolean("inputShims",Ss())&&n.e(775).then(n.bind(n,8775)).then((t=>t.startInputShims(s)));const e=await Promise.resolve().then(n.bind(n,4261));s.getBoolean("hardwareBackButton",t)?e.startHardwareBackButton():e.blockHardwareBackButton(),"undefined"!==typeof window&&Promise.resolve().then(n.bind(n,3541)).then((t=>t.startKeyboardAssist(window))),n.e(544).then(n.bind(n,8544)).then((t=>this.focusVisible=t.startFocusVisible()))}))}async setFocus(t){this.focusVisible&&this.focusVisible.setFocus(t)}render(){const t=z(this);return(0,r.h)(r.AA,{class:{[t]:!0,"ion-page":!0,"force-statusbar-padding":s.getBoolean("_forceStatusbarPadding")}})}get el(){return this}static get style(){return $s}},[0,"ion-app",{setFocus:[64]}]),Ss=()=>m(window,"ios")&&m(window,"mobile"),_s=t=>{"requestIdleCallback"in window?window.requestIdleCallback(t):setTimeout(t,32)};const Cs=Es;var As=n(6515); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ts=(t,e)=>{let n,o;const i=(t,o,i)=>{if("undefined"===typeof document)return;const r=document.elementFromPoint(t,o);r&&e(r)?r!==n&&(s(),a(r,i)):s()},a=(t,e)=>{n=t,o||(o=n);const i=n;(0,r.Iu)((()=>i.classList.add("ion-activated"))),e()},s=(t=!1)=>{if(!n)return;const e=n;(0,r.Iu)((()=>e.classList.remove("ion-activated"))),t&&o!==n&&n.click(),n=void 0};return(0,As.createGesture)({el:t,gestureName:"buttonActiveDrag",threshold:0,onStart:t=>i(t.currentX,t.currentY,Xn),onMove:t=>i(t.currentX,t.currentY,Jn),onEnd:()=>{s(!0),Kn(),o=void 0}})};var Is=n(9350); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ls=":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)}",Rs=":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)}",Os=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.ionBackdropTap=(0,r.yM)(this,"ionBackdropTap",7),this.blocker=Is.G.createBlocker({disableScroll:!0}),this.visible=!0,this.tappable=!0,this.stopPropagation=!0}connectedCallback(){this.stopPropagation&&this.blocker.block()}disconnectedCallback(){this.blocker.unblock()}onMouseDown(t){this.emitTap(t)}emitTap(t){this.stopPropagation&&(t.preventDefault(),t.stopPropagation()),this.tappable&&this.ionBackdropTap.emit()}render(){const t=z(this);return(0,r.h)(r.AA,{tabindex:"-1","aria-hidden":"true",class:{[t]:!0,"backdrop-hide":!this.visible,"backdrop-no-tappable":!this.tappable}})}static get style(){return{ios:Ls,md:Rs}}},[33,"ion-backdrop",{visible:[4],tappable:[4],stopPropagation:[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]);function Ds(){if("undefined"===typeof customElements)return;const t=["ion-backdrop"];t.forEach((t=>{switch(t){case"ion-backdrop":customElements.get(t)||customElements.define(t,Os);break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Ns=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),e.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([n,o])},Ps=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),e.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([n,o])},zs=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),e.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([n,o])},js=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),e.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([n,o])},Ms='.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:100%;--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-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:100%}.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)}.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:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios: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, #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, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.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{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.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:13px;font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.3em;font-size:28px;pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.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, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}',Bs='.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:100%;--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-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:100%}.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)}.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:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md: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, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right: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:16px;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.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{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.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}',Fs=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.didPresent=(0,r.yM)(this,"ionActionSheetDidPresent",7),this.willPresent=(0,r.yM)(this,"ionActionSheetWillPresent",7),this.willDismiss=(0,r.yM)(this,"ionActionSheetWillDismiss",7),this.didDismiss=(0,r.yM)(this,"ionActionSheetDidDismiss",7),this.presented=!1,this.keyboardClose=!0,this.buttons=[],this.backdropDismiss=!0,this.translucent=!1,this.animated=!0,this.onBackdropTap=()=>{this.dismiss(void 0,yi)},this.dispatchCancelHandler=t=>{const e=t.detail.role;if(gi(e)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}present(){return ci(this,"actionSheetEnter",Ns,zs)}connectedCallback(){Ko(this.el)}dismiss(t,e){return ui(this,t,e,"actionSheetLeave",Ps,js)}onDidDismiss(){return fi(this.el,"ionActionSheetDidDismiss")}onWillDismiss(){return fi(this.el,"ionActionSheetWillDismiss")}async buttonClick(t){const e=t.role;if(gi(e))return this.dismiss(t.data,e);const n=await this.callButtonHandler(t);return n?this.dismiss(t.data,t.role):Promise.resolve()}async callButtonHandler(t){if(t){const e=await vi(t.handler);if(!1===e)return!1}return!0}getButtons(){return this.buttons.map((t=>"string"===typeof t?{text:t}:t))}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}componentDidLoad(){const{groupEl:t,wrapperEl:e}=this;!this.gesture&&"md"!==z(this)&&e&&t&&(0,r.wj)((()=>{const n=t.scrollHeight>t.clientHeight;n||(this.gesture=Ts(e,(t=>t.classList.contains("action-sheet-button"))),this.gesture.enable(!0))}))}render(){const{htmlAttributes:t}=this,e=z(this),n=this.getButtons(),o=n.find((t=>"cancel"===t.role)),i=n.filter((t=>"cancel"!==t.role));return(0,r.h)(r.AA,Object.assign({role:"dialog","aria-modal":"true",tabindex:"-1"},t,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({[e]:!0},W(this.cssClass)),{"overlay-hidden":!0,"action-sheet-translucent":this.translucent}),onIonActionSheetWillDismiss:this.dispatchCancelHandler,onIonBackdropTap:this.onBackdropTap}),(0,r.h)("ion-backdrop",{tappable:this.backdropDismiss}),(0,r.h)("div",{tabindex:"0"}),(0,r.h)("div",{class:"action-sheet-wrapper ion-overlay-wrapper",role:"dialog",ref:t=>this.wrapperEl=t},(0,r.h)("div",{class:"action-sheet-container"},(0,r.h)("div",{class:"action-sheet-group",ref:t=>this.groupEl=t},void 0!==this.header&&(0,r.h)("div",{class:{"action-sheet-title":!0,"action-sheet-has-sub-title":void 0!==this.subHeader}},this.header,this.subHeader&&(0,r.h)("div",{class:"action-sheet-sub-title"},this.subHeader)),i.map((t=>(0,r.h)("button",{type:"button",id:t.id,class:Hs(t),onClick:()=>this.buttonClick(t)},(0,r.h)("span",{class:"action-sheet-button-inner"},t.icon&&(0,r.h)("ion-icon",{icon:t.icon,lazy:!1,class:"action-sheet-icon"}),t.text),"md"===e&&(0,r.h)("ion-ripple-effect",null))))),o&&(0,r.h)("div",{class:"action-sheet-group action-sheet-group-cancel"},(0,r.h)("button",{type:"button",class:Hs(o),onClick:()=>this.buttonClick(o)},(0,r.h)("span",{class:"action-sheet-button-inner"},o.icon&&(0,r.h)("ion-icon",{icon:o.icon,lazy:!1,class:"action-sheet-icon"}),o.text),"md"===e&&(0,r.h)("ion-ripple-effect",null))))),(0,r.h)("div",{tabindex:"0"}))}get el(){return this}static get style(){return{ios:Ms,md:Bs}}},[34,"ion-action-sheet",{overlayIndex:[2,"overlay-index"],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],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]}]),Hs=t=>Object.assign({"action-sheet-button":!0,"ion-activatable":!0,"ion-focusable":!0,[`action-sheet-${t.role}`]:void 0!==t.role},W(t.cssClass));function Ws(){if("undefined"===typeof customElements)return;const t=["ion-action-sheet","ion-backdrop","ion-icon","ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-action-sheet":customElements.get(t)||customElements.define(t,Fs);break;case"ion-backdrop":customElements.get(t)||Ds();break;case"ion-icon":customElements.get(t)||hn();break;case"ion-ripple-effect":customElements.get(t)||K();break}}))} +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const Us=Ws,qs=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.addElement(t.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),e.addElement(t).easing("ease-in-out").duration(200).addAnimation([n,o])},Vs=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.addElement(t.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),e.addElement(t).easing("ease-in-out").duration(200).addAnimation([n,o])},Ys=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),o.addElement(t.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),e.addElement(t).easing("ease-in-out").duration(200).addAnimation([n,o])},Gs=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,Qn.c)();return n.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),o.addElement(t.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),e.addElement(t).easing("ease-in-out").duration(200).addAnimation([n,o])},Xs=".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;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-loading-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:14px}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;padding-left:34px;padding-right:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}",Js=".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;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-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, #f2f2f2);--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #3880ff);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, #262626);font-size:14px}.loading-wrapper.sc-ion-loading-md{border-radius:2px;padding-left:24px;padding-right:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0, 0, 0, 0.4);box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}",Ks=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.didPresent=(0,r.yM)(this,"ionLoadingDidPresent",7),this.willPresent=(0,r.yM)(this,"ionLoadingWillPresent",7),this.willDismiss=(0,r.yM)(this,"ionLoadingWillDismiss",7),this.didDismiss=(0,r.yM)(this,"ionLoadingDidDismiss",7),this.presented=!1,this.keyboardClose=!0,this.duration=0,this.backdropDismiss=!1,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.onBackdropTap=()=>{this.dismiss(void 0,yi)}}connectedCallback(){Ko(this.el)}componentWillLoad(){if(void 0===this.spinner){const t=z(this);this.spinner=s.get("loadingSpinner",s.get("spinner","ios"===t?"lines":"crescent"))}}async present(){await ci(this,"loadingEnter",qs,Ys,void 0),this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss()),this.duration+10))}dismiss(t,e){return this.durationTimeout&&clearTimeout(this.durationTimeout),ui(this,t,e,"loadingLeave",Vs,Gs)}onDidDismiss(){return fi(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return fi(this.el,"ionLoadingWillDismiss")}render(){const{message:t,spinner:e,htmlAttributes:n}=this,o=z(this);return(0,r.h)(r.AA,Object.assign({tabindex:"-1"},n,{style:{zIndex:`${4e4+this.overlayIndex}`},onIonBackdropTap:this.onBackdropTap,class:Object.assign(Object.assign({},W(this.cssClass)),{[o]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent})}),(0,r.h)("ion-backdrop",{visible:this.showBackdrop,tappable:this.backdropDismiss}),(0,r.h)("div",{tabindex:"0"}),(0,r.h)("div",{class:"loading-wrapper ion-overlay-wrapper",role:"dialog"},e&&(0,r.h)("div",{class:"loading-spinner"},(0,r.h)("ion-spinner",{name:e,"aria-hidden":"true"})),t&&(0,r.h)("div",{class:"loading-content",innerHTML:ue(t)})),(0,r.h)("div",{tabindex:"0"}))}get el(){return this}static get style(){return{ios:Xs,md:Js}}},[34,"ion-loading",{overlayIndex:[2,"overlay-index"],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],message:[1],cssClass:[1,"css-class"],duration:[2],backdropDismiss:[4,"backdrop-dismiss"],showBackdrop:[4,"show-backdrop"],spinner:[1025],translucent:[4],animated:[4],htmlAttributes:[16],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]}]);function Zs(){if("undefined"===typeof customElements)return;const t=["ion-loading","ion-backdrop","ion-spinner"];t.forEach((t=>{switch(t){case"ion-loading":customElements.get(t)||customElements.define(t,Ks);break;case"ion-backdrop":customElements.get(t)||Ds();break;case"ion-spinner":customElements.get(t)||Ee();break}}))}const Qs=Zs,tl=(t,e)=>{const n=(0,Qn.c)(),o=(0,Qn.c)(),i=(0,M.g)(t),r=i.querySelector(".toast-wrapper"),a="calc(-10px - var(--ion-safe-area-bottom, 0px))",s="calc(10px + var(--ion-safe-area-top, 0px))";switch(o.addElement(r),e){case"top":o.fromTo("transform","translateY(-100%)",`translateY(${s})`);break;case"middle":const e=Math.floor(t.clientHeight/2-r.clientHeight/2);r.style.top=`${e}px`,o.fromTo("opacity",.01,1);break;default:o.fromTo("transform","translateY(100%)",`translateY(${a})`);break}return n.easing("cubic-bezier(.155,1.105,.295,1.12)").duration(400).addAnimation(o)},el=(t,e)=>{const n=(0,Qn.c)(),o=(0,Qn.c)(),i=(0,M.g)(t),r=i.querySelector(".toast-wrapper"),a="calc(-10px - var(--ion-safe-area-bottom, 0px))",s="calc(10px + var(--ion-safe-area-top, 0px))";switch(o.addElement(r),e){case"top":o.fromTo("transform",`translateY(${s})`,"translateY(-100%)");break;case"middle":o.fromTo("opacity",.99,0);break;default:o.fromTo("transform",`translateY(${a})`,"translateY(100%)");break}return n.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(o)},nl=(t,e)=>{const n=(0,Qn.c)(),o=(0,Qn.c)(),i=(0,M.g)(t),r=i.querySelector(".toast-wrapper"),a="calc(8px + var(--ion-safe-area-bottom, 0px))",s="calc(8px + var(--ion-safe-area-top, 0px))";switch(o.addElement(r),e){case"top":r.style.top=s,o.fromTo("opacity",.01,1);break;case"middle":const e=Math.floor(t.clientHeight/2-r.clientHeight/2);r.style.top=`${e}px`,o.fromTo("opacity",.01,1);break;default:r.style.bottom=a,o.fromTo("opacity",.01,1);break}return n.easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation(o)},ol=t=>{const e=(0,Qn.c)(),n=(0,Qn.c)(),o=(0,M.g)(t),i=o.querySelector(".toast-wrapper");return n.addElement(i).fromTo("opacity",.99,0),e.easing("cubic-bezier(.36,.66,.04,1)").duration(300).addAnimation(n)},il=":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);left:var(--start);right:var(--end);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)}[dir=rtl] .toast-wrapper,:host-context([dir=rtl]) .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-content{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-icon{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-50, #f2f2f2);--border-radius:14px;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-850, #262626);--max-width:700px;--start:10px;--end:10px;font-size:14px}.toast-wrapper{margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-wrapper{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.toast-translucent) .toast-wrapper{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)}}.toast-wrapper.toast-top{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}.toast-wrapper.toast-middle{opacity:0.01}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}.toast-content{padding-left:15px;padding-right:15px;padding-top:15px;padding-bottom:15px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-content{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-header{margin-bottom:2px;font-weight:500}.toast-button{padding-left:15px;padding-right:15px;padding-top:10px;padding-bottom:10px;height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:17px;font-weight:500;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-button{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-button.ion-activated{opacity:0.4}@media (any-hover: hover){.toast-button:hover{opacity:0.6}}",rl=":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);left:var(--start);right:var(--end);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)}[dir=rtl] .toast-wrapper,:host-context([dir=rtl]) .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}.toast-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-content{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-icon{margin-left:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-icon{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}.toast-message{-ms-flex:1;flex:1;white-space:var(--white-space)}.toast-button-group{display:-ms-flexbox;display:flex}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon,.toast-button-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-800, #333333);--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-50, #f2f2f2);--max-width:700px;--start:8px;--end:8px;font-size:14px}.toast-wrapper{margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-wrapper{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.toast-content{padding-left:16px;padding-right:16px;padding-top:14px;padding-bottom:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-content{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.toast-header{margin-bottom:2px;font-weight:500;line-height:20px}.toast-message{line-height:20px}.toast-button-group-start{margin-left:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-button-group-start{margin-left:unset;-webkit-margin-start:8px;margin-inline-start:8px}}.toast-button-group-end{margin-right:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-button-group-end{margin-right:unset;-webkit-margin-end:8px;margin-inline-end:8px}}.toast-button{padding-left:15px;padding-right:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:14px;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-button{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-button-cancel{color:var(--ion-color-step-100, #e6e6e6)}.toast-button-icon-only{border-radius:50%;padding-left:9px;padding-right:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toast-button-icon-only{padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}@media (any-hover: hover){.toast-button:hover{background-color:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08)}.toast-button-cancel:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}",al=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.didPresent=(0,r.yM)(this,"ionToastDidPresent",7),this.willPresent=(0,r.yM)(this,"ionToastWillPresent",7),this.willDismiss=(0,r.yM)(this,"ionToastWillDismiss",7),this.didDismiss=(0,r.yM)(this,"ionToastDidDismiss",7),this.presented=!1,this.duration=0,this.keyboardClose=!1,this.position="bottom",this.translucent=!1,this.animated=!0,this.dispatchCancelHandler=t=>{const e=t.detail.role;if(gi(e)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}connectedCallback(){Ko(this.el)}async present(){await ci(this,"toastEnter",tl,nl,this.position),this.duration>0&&(this.durationTimeout=setTimeout((()=>this.dismiss(void 0,"timeout")),this.duration))}dismiss(t,e){return this.durationTimeout&&clearTimeout(this.durationTimeout),ui(this,t,e,"toastLeave",el,ol,this.position)}onDidDismiss(){return fi(this.el,"ionToastDidDismiss")}onWillDismiss(){return fi(this.el,"ionToastWillDismiss")}getButtons(){const t=this.buttons?this.buttons.map((t=>"string"===typeof t?{text:t}:t)):[];return t}async buttonClick(t){const e=t.role;if(gi(e))return this.dismiss(void 0,e);const n=await this.callButtonHandler(t);return n?this.dismiss(void 0,e):Promise.resolve()}async callButtonHandler(t){if(null===t||void 0===t?void 0:t.handler)try{const e=await vi(t.handler);if(!1===e)return!1}catch(e){console.error(e)}return!0}renderButtons(t,e){if(0===t.length)return;const n=z(this),o={"toast-button-group":!0,[`toast-button-group-${e}`]:!0};return(0,r.h)("div",{class:o},t.map((t=>(0,r.h)("button",{type:"button",class:sl(t),tabIndex:0,onClick:()=>this.buttonClick(t),part:"button"},(0,r.h)("div",{class:"toast-button-inner"},t.icon&&(0,r.h)("ion-icon",{icon:t.icon,slot:void 0===t.text?"icon-only":void 0,class:"toast-button-icon"}),t.text),"md"===n&&(0,r.h)("ion-ripple-effect",{type:void 0!==t.icon&&void 0===t.text?"unbounded":"bounded"})))))}render(){const t=this.getButtons(),e=t.filter((t=>"start"===t.side)),n=t.filter((t=>"start"!==t.side)),o=z(this),i={"toast-wrapper":!0,[`toast-${this.position}`]:!0},a=t.length>0?"dialog":"status";return(0,r.h)(r.AA,Object.assign({"aria-live":"polite","aria-atomic":"true",role:a,tabindex:"-1"},this.htmlAttributes,{style:{zIndex:`${6e4+this.overlayIndex}`},class:F(this.color,Object.assign(Object.assign({[o]:!0},W(this.cssClass)),{"overlay-hidden":!0,"toast-translucent":this.translucent})),onIonToastWillDismiss:this.dispatchCancelHandler}),(0,r.h)("div",{class:i},(0,r.h)("div",{class:"toast-container",part:"container"},this.renderButtons(e,"start"),void 0!==this.icon&&(0,r.h)("ion-icon",{class:"toast-icon",part:"icon",icon:this.icon,lazy:!1,"aria-hidden":"true"}),(0,r.h)("div",{class:"toast-content"},void 0!==this.header&&(0,r.h)("div",{class:"toast-header",part:"header"},this.header),void 0!==this.message&&(0,r.h)("div",{class:"toast-message",part:"message",innerHTML:ue(this.message)})),this.renderButtons(n,"end"))))}get el(){return this}static get style(){return{ios:il,md:rl}}},[33,"ion-toast",{overlayIndex:[2,"overlay-index"],color:[513],enterAnimation:[16],leaveAnimation:[16],cssClass:[1,"css-class"],duration:[2],header:[1],message:[1],keyboardClose:[4,"keyboard-close"],position:[1],buttons:[16],translucent:[4],animated:[4],icon:[1],htmlAttributes:[16],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]}]),sl=t=>Object.assign({"toast-button":!0,"toast-button-icon-only":void 0!==t.icon&&void 0===t.text,[`toast-button-${t.role}`]:void 0!==t.role,"ion-focusable":!0,"ion-activatable":!0},W(t.cssClass));function ll(){if("undefined"===typeof customElements)return;const t=["ion-toast","ion-icon","ion-ripple-effect"];t.forEach((t=>{switch(t){case"ion-toast":customElements.get(t)||customElements.define(t,al);break;case"ion-icon":customElements.get(t)||hn();break;case"ion-ripple-effect":customElements.get(t)||K();break}}))}const cl=ll;var dl=n(3541); +/*! + * (C) Ionic http://ionicframework.com - MIT License + */ +const ul="undefined"!==typeof window?window:void 0;var hl;(function(t){t["Dark"]="DARK",t["Light"]="LIGHT",t["Default"]="DEFAULT"})(hl||(hl={}));const pl={getEngine(){var t,e,n;return(null===(e=null===(t=ul)||void 0===t?void 0:t.Capacitor)||void 0===e?void 0:e.isPluginAvailable("StatusBar"))&&(null===(n=ul)||void 0===n?void 0:n.Capacitor.Plugins.StatusBar)},supportsDefaultStatusBarStyle(){var t,e;return!!(null===(e=null===(t=ul)||void 0===t?void 0:t.Capacitor)||void 0===e?void 0:e.PluginHeaders)},setStyle(t){const e=this.getEngine();e&&e.setStyle(t)}},fl=(t,e)=>{if(1===e)return 0;const n=1/(1-e),o=-e*n;return t*n+o},ml=()=>{!ul||ul.innerWidth>=768||!pl.supportsDefaultStatusBarStyle()||pl.setStyle({style:hl.Dark})},gl=()=>{!ul||ul.innerWidth>=768||!pl.supportsDefaultStatusBarStyle()||pl.setStyle({style:hl.Default})},bl=async(t,e)=>{if("function"!==typeof t.canDismiss)return;const n=await t.canDismiss();n&&(e.isRunning()?e.onFinish((()=>{t.dismiss(void 0,"handler")}),{oneTimeCallback:!0}):t.dismiss(void 0,"handler"))},vl=t=>.00255275*2.71828**(-14.9619*t)-1.00255*2.71828**(-.0380968*t)+1,yl={MIN_PRESENTING_SCALE:.93},wl=(t,e,n)=>{const o=.5,i=t.offsetHeight;let r=!1,a=!1,s=null,l=null;const c=.2;let d=!0,u=0;const h=()=>!s||!(0,Bt.i)(s)||s.scrollY,p=t=>{const e=t.event.target;if(null===e||!e.closest)return!0;if(s=(0,Bt.a)(e),s){if((0,Bt.i)(s)){const t=(0,M.g)(s);l=t.querySelector(".inner-scroll")}else l=s;const t=!!s.querySelector("ion-refresher");return!t&&0===l.scrollTop}const n=e.closest("ion-footer");return null===n},f=n=>{const{deltaY:o}=n;d=h(),a=void 0!==t.canDismiss&&!0!==t.canDismiss,o>0&&s&&(0,Bt.d)(s),e.progressStart(!0,r?1:0)},m=t=>{const{deltaY:n}=t;n>0&&s&&(0,Bt.d)(s);const r=t.deltaY/i,l=r>=0&&a,d=l?c:.9999,h=l?vl(r/d):r,p=(0,M.j)(1e-4,h,d);e.progressStep(p),p>=o&&u=o&&ml(),u=p},g=l=>{const u=l.velocityY,h=l.deltaY/i,p=h>=0&&a,f=p?c:.9999,m=p?vl(h/f):h,g=(0,M.j)(1e-4,m,f),v=(l.deltaY+1e3*u)/i,y=!p&&v>=o;let w=y?-.001:.001;y?(e.easing("cubic-bezier(0.32, 0.72, 0, 1)"),w+=Wn([0,0],[.32,.72],[0,1],[1,1],g)[0]):(e.easing("cubic-bezier(1, 0, 0.68, 0.28)"),w+=Wn([0,0],[1,0],[.68,.28],[1,1],g)[0]);const x=xl(y?h*i:(1-g)*i,u);r=y,b.enable(!1),s&&(0,Bt.r)(s,d),e.onFinish((()=>{y||b.enable(!0)})).progressEnd(y?1:0,w,x),p&&g>f/4?bl(t,e):y&&n()},b=(0,As.createGesture)({el:t,gestureName:"modalSwipeToClose",gesturePriority:39,direction:"y",threshold:10,canStart:p,onStart:f,onMove:m,onEnd:g});return b},xl=(t,e)=>(0,M.j)(400,t/Math.abs(1.1*e),500),kl=t=>{const{currentBreakpoint:e,backdropBreakpoint:n}=t,o=void 0===n||n{const{currentBreakpoint:e,backdropBreakpoint:n}=t,o=`calc(var(--backdrop-opacity) * ${fl(e,n)})`,i=[{offset:0,opacity:o},{offset:1,opacity:0}],r=[{offset:0,opacity:o},{offset:n,opacity:0},{offset:1,opacity:0}],a=(0,Qn.c)("backdropAnimation").keyframes(0!==n?r:i),s=(0,Qn.c)("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:`translateY(${100-100*e}%)`},{offset:1,opacity:1,transform:"translateY(100%)"}]);return{wrapperAnimation:s,backdropAnimation:a}},El=()=>{const t=(0,Qn.c)().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),e=(0,Qn.c)().fromTo("transform","translateY(100vh)","translateY(0vh)");return{backdropAnimation:t,wrapperAnimation:e}},Sl=(t,e)=>{const{presentingEl:n,currentBreakpoint:o}=e,i=(0,M.g)(t),{wrapperAnimation:r,backdropAnimation:a}=void 0!==o?kl(e):El();a.addElement(i.querySelector("ion-backdrop")),r.addElement(i.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1});const s=(0,Qn.c)("entering-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(500).addAnimation(r);if(n){const t=window.innerWidth<768,e="ION-MODAL"===n.tagName&&void 0!==n.presentingElement,o=(0,M.g)(n),i=(0,Qn.c)().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"}),l=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",o=e?"-10px":t,r=yl.MIN_PRESENTING_SCALE,a=`translateY(${o}) scale(${r})`;i.afterStyles({transform:a}).beforeAddWrite((()=>l.style.setProperty("background-color","black"))).addElement(n).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"},{offset:1,filter:"contrast(0.85)",transform:a,borderRadius:"10px 10px 0 0"}]),s.addAnimation(i)}else if(s.addAnimation(a),e){const t=e?yl.MIN_PRESENTING_SCALE:1,n=`translateY(-10px) scale(${t})`;i.afterStyles({transform:n}).addElement(o.querySelector(".modal-wrapper")).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0) scale(1)"},{offset:1,filter:"contrast(0.85)",transform:n}]);const r=(0,Qn.c)().afterStyles({transform:n}).addElement(o.querySelector(".modal-shadow")).keyframes([{offset:0,opacity:"1",transform:"translateY(0) scale(1)"},{offset:1,opacity:"0",transform:n}]);s.addAnimation([i,r])}else r.fromTo("opacity","0","1")}else s.addAnimation(a);return s},_l=()=>{const t=(0,Qn.c)().fromTo("opacity","var(--backdrop-opacity)",0),e=(0,Qn.c)().fromTo("transform","translateY(0vh)","translateY(100vh)");return{backdropAnimation:t,wrapperAnimation:e}},Cl=(t,e,n=500)=>{const{presentingEl:o,currentBreakpoint:i}=e,r=(0,M.g)(t),{wrapperAnimation:a,backdropAnimation:s}=void 0!==i?$l(e):_l();s.addElement(r.querySelector("ion-backdrop")),a.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1});const l=(0,Qn.c)("leaving-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(n).addAnimation(a);if(o){const t=window.innerWidth<768,e="ION-MODAL"===o.tagName&&void 0!==o.presentingElement,n=(0,M.g)(o),i=(0,Qn.c)().beforeClearStyles(["transform"]).afterClearStyles(["transform"]).onFinish((t=>{if(1!==t)return;o.style.setProperty("overflow","");const e=Array.from(r.querySelectorAll("ion-modal")).filter((t=>void 0!==t.presentingElement)).length;e<=1&&r.style.setProperty("background-color","")})),r=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",n=e?"-10px":t,r=yl.MIN_PRESENTING_SCALE,a=`translateY(${n}) scale(${r})`;i.addElement(o).keyframes([{offset:0,filter:"contrast(0.85)",transform:a,borderRadius:"10px 10px 0 0"},{offset:1,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"}]),l.addAnimation(i)}else if(l.addAnimation(s),e){const t=e?yl.MIN_PRESENTING_SCALE:1,o=`translateY(-10px) scale(${t})`;i.addElement(n.querySelector(".modal-wrapper")).afterStyles({transform:"translate3d(0, 0, 0)"}).keyframes([{offset:0,filter:"contrast(0.85)",transform:o},{offset:1,filter:"contrast(1)",transform:"translateY(0) scale(1)"}]);const r=(0,Qn.c)().addElement(n.querySelector(".modal-shadow")).afterStyles({transform:"translateY(0) scale(1)"}).keyframes([{offset:0,opacity:"0",transform:o},{offset:1,opacity:"1",transform:"translateY(0) scale(1)"}]);l.addAnimation([i,r])}else a.fromTo("opacity","1","0")}else l.addAnimation(s);return l},Al=()=>{const t=(0,Qn.c)().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),e=(0,Qn.c)().keyframes([{offset:0,opacity:.01,transform:"translateY(40px)"},{offset:1,opacity:1,transform:"translateY(0px)"}]);return{backdropAnimation:t,wrapperAnimation:e}},Tl=(t,e)=>{const{currentBreakpoint:n}=e,o=(0,M.g)(t),{wrapperAnimation:i,backdropAnimation:r}=void 0!==n?kl(e):Al();return r.addElement(o.querySelector("ion-backdrop")),i.addElement(o.querySelector(".modal-wrapper")),(0,Qn.c)().addElement(t).easing("cubic-bezier(0.36,0.66,0.04,1)").duration(280).addAnimation([r,i])},Il=()=>{const t=(0,Qn.c)().fromTo("opacity","var(--backdrop-opacity)",0),e=(0,Qn.c)().keyframes([{offset:0,opacity:.99,transform:"translateY(0px)"},{offset:1,opacity:0,transform:"translateY(40px)"}]);return{backdropAnimation:t,wrapperAnimation:e}},Ll=(t,e)=>{const{currentBreakpoint:n}=e,o=(0,M.g)(t),{wrapperAnimation:i,backdropAnimation:r}=void 0!==n?$l(e):Il();return r.addElement(o.querySelector("ion-backdrop")),i.addElement(o.querySelector(".modal-wrapper")),(0,Qn.c)().easing("cubic-bezier(0.47,0,0.745,0.715)").duration(200).addAnimation([r,i])},Rl=(t,e,n,o,i,r,a=[],s,l,c)=>{const d=[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1,opacity:.01}],u=[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1-i,opacity:0},{offset:1,opacity:0}],h={WRAPPER_KEYFRAMES:[{offset:0,transform:"translateY(0%)"},{offset:1,transform:"translateY(100%)"}],BACKDROP_KEYFRAMES:0!==i?u:d},p=t.querySelector("ion-content"),f=n.clientHeight;let m=o,g=0,b=!1;const v=.95,y=r.childAnimations.find((t=>"wrapperAnimation"===t.id)),w=r.childAnimations.find((t=>"backdropAnimation"===t.id)),x=a[a.length-1],k=a[0],$=()=>{t.style.setProperty("pointer-events","auto"),e.style.setProperty("pointer-events","auto"),t.classList.remove("ion-disable-focus-trap")},E=()=>{t.style.setProperty("pointer-events","none"),e.style.setProperty("pointer-events","none"),t.classList.add("ion-disable-focus-trap")};if(y&&w){y.keyframes([...h.WRAPPER_KEYFRAMES]),w.keyframes([...h.BACKDROP_KEYFRAMES]),r.progressStart(!0,1-m);const t=m>i;t?$():E()}p&&m!==x&&(p.scrollY=!1);const S=t=>{const e=t.event.target.closest("ion-content");return m=s(),1!==m||!e},_=()=>{b=void 0!==t.canDismiss&&!0!==t.canDismiss&&0===k,p&&(p.scrollY=!1),(0,M.r)((()=>{t.focus()})),r.progressStart(!0,1-m)},C=t=>{const e=1-m,n=a.length>1?1-a[1]:void 0,o=e+t.deltaY/f,i=void 0!==n&&o>=n&&b,s=i?v:.9999,l=i&&void 0!==n?n+vl((o-n)/(s-n)):o;g=(0,M.j)(1e-4,l,s),r.progressStep(g)},A=t=>{const e=t.velocityY,n=(t.deltaY+100*e)/f,o=m-n,i=a.reduce(((t,e)=>Math.abs(e-o){const{breakpoint:n,canDismiss:o,breakpointOffset:s}=e,d=o&&0===n,u=d?m:n,f=0!==u;m=0,y&&w&&(y.keyframes([{offset:0,transform:`translateY(${100*s}%)`},{offset:1,transform:`translateY(${100*(1-u)}%)`}]),w.keyframes([{offset:0,opacity:`calc(var(--backdrop-opacity) * ${fl(1-s,i)})`},{offset:1,opacity:`calc(var(--backdrop-opacity) * ${fl(u,i)})`}]),r.progressStep(0)),I.enable(!1),r.onFinish((()=>{f&&(y&&w?(0,M.r)((()=>{y.keyframes([...h.WRAPPER_KEYFRAMES]),w.keyframes([...h.BACKDROP_KEYFRAMES]),r.progressStart(!0,1-u),m=u,c(m),p&&m===a[a.length-1]&&(p.scrollY=!0);const t=m>i;t?$():E(),I.enable(!0)})):I.enable(!0))}),{oneTimeCallback:!0}).progressEnd(1,0,500),d?bl(t,r):f||l()},I=(0,As.createGesture)({el:n,gestureName:"modalSheet",gesturePriority:40,direction:"y",threshold:10,canStart:S,onStart:_,onMove:C,onEnd:A});return{gesture:I,moveSheetToBreakpoint:T}},Ol=":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;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;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@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;margin-left:auto;margin-right:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);background:var(--ion-color-step-350, #c0c0be);z-index:11}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.modal-handle{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}: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: 1px){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: 1px){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.modal-card) .modal-wrapper,:host-context([dir=rtl]).modal-card .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-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-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.modal-sheet) .modal-wrapper,:host-context([dir=rtl]).modal-sheet .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}",Dl=":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;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;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@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;margin-left:auto;margin-right:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);background:var(--ion-color-step-350, #c0c0be);z-index:11}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.modal-handle{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}: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}",Nl=(0,r.GH)(class extends r.mv{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.didPresent=(0,r.yM)(this,"ionModalDidPresent",7),this.willPresent=(0,r.yM)(this,"ionModalWillPresent",7),this.willDismiss=(0,r.yM)(this,"ionModalWillDismiss",7),this.didDismiss=(0,r.yM)(this,"ionModalDidDismiss",7),this.ionBreakpointDidChange=(0,r.yM)(this,"ionBreakpointDidChange",7),this.didPresentShorthand=(0,r.yM)(this,"didPresent",7),this.willPresentShorthand=(0,r.yM)(this,"willPresent",7),this.willDismissShorthand=(0,r.yM)(this,"willDismiss",7),this.didDismissShorthand=(0,r.yM)(this,"didDismiss",7),this.modalIndex=zl++,this.coreDelegate=ds(),this.isSheetModal=!1,this.inline=!1,this.gestureAnimationDismissing=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.backdropBreakpoint=0,this.backdropDismiss=!0,this.showBackdrop=!0,this.animated=!0,this.swipeToClose=!1,this.isOpen=!1,this.configureTriggerInteraction=()=>{const{trigger:t,el:e,destroyTriggerInteraction:n}=this;n&&n();const o=void 0!==t?document.getElementById(t):null;if(!o)return;const i=(t,e)=>{const n=()=>{e.present()};return t.addEventListener("click",n),()=>{t.removeEventListener("click",n)}};this.destroyTriggerInteraction=i(o,e)},this.onBackdropTap=()=>{this.dismiss(void 0,yi)},this.onLifecycle=t=>{const e=this.usersElement,n=Pl[t.type];if(e&&n){const o=new CustomEvent(n,{bubbles:!1,cancelable:!1,detail:t.detail});e.dispatchEvent(o)}}}onIsOpenChange(t,e){!0===t&&!1===e?this.present():!1===t&&!0===e&&this.dismiss()}onTriggerChange(){this.configureTriggerInteraction()}async swipeToCloseChanged(t){this.gesture?this.gesture.enable(t):t&&await this.initSwipeToClose()}breakpointsChanged(t){void 0!==t&&(this.sortedBreakpoints=t.sort(((t,e)=>t-e)))}connectedCallback(){Ko(this.el)}componentWillLoad(){const{breakpoints:t,initialBreakpoint:e,swipeToClose:n}=this;this.modalId=this.el.hasAttribute("id")?this.el.getAttribute("id"):`ion-modal-${this.modalIndex}`;const o=this.isSheetModal=void 0!==t&&void 0!==e;o&&(this.currentBreakpoint=this.initialBreakpoint),void 0===t||void 0===e||t.includes(e)||(0,qe.p)("Your breakpoints array must include the initialBreakpoint value."),n&&(0,qe.p)("swipeToClose has been deprecated in favor of canDismiss.\n\nIf you want a card modal to be swipeable, set canDismiss to `true`. In the next major release of Ionic, swipeToClose will be removed, and all card modals will be swipeable by default.")}componentDidLoad(){!0===this.isOpen&&(0,M.r)((()=>this.present())),this.breakpointsChanged(this.breakpoints),this.configureTriggerInteraction()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const e=this.el.parentNode,n=this.inline=null!==e&&!this.hasController,o=this.workingDelegate=n?this.delegate||this.coreDelegate:this.delegate;return{inline:n,delegate:o}}async checkCanDismiss(){const{canDismiss:t}=this;return void 0===t||("function"===typeof t?t():t)}async present(){if(this.presented)return;void 0!==this.currentTransition&&await this.currentTransition,this.currentBreakpoint=this.initialBreakpoint;const t=Object.assign(Object.assign({},this.componentProps),{modal:this.el}),{inline:e,delegate:n}=this.getDelegate(!0);this.usersElement=await ls(n,this.el,this.component,["ion-page"],t,e),await(0,wi.e)(this.usersElement),(0,r.Iu)((()=>this.el.classList.add("show-modal"))),this.currentTransition=ci(this,"modalEnter",Sl,Tl,{presentingEl:this.presentingElement,currentBreakpoint:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint});const o=this.swipeToClose||void 0!==this.canDismiss&&void 0!==this.presentingElement;o&&"ios"===z(this)&&ml(),await this.currentTransition,this.isSheetModal?this.initSheetGesture():o&&await this.initSwipeToClose(),"undefined"!==typeof window&&(this.keyboardOpenCallback=()=>{this.gesture&&(this.gesture.enable(!1),(0,M.r)((()=>{this.gesture&&this.gesture.enable(!0)})))},window.addEventListener(dl.KEYBOARD_DID_OPEN,this.keyboardOpenCallback)),this.currentTransition=void 0}initSwipeToClose(){if("ios"!==z(this))return;const{el:t}=this,e=this.leaveAnimation||s.get("modalLeave",Cl),n=this.animation=e(t,{presentingEl:this.presentingElement}),o=(0,Bt.f)(t);o?(this.gesture=wl(t,n,(()=>{this.gestureAnimationDismissing=!0,this.animation.onFinish((async()=>{await this.dismiss(void 0,"gesture"),this.gestureAnimationDismissing=!1}))})),this.gesture.enable(!0)):(0,Bt.p)(t)}initSheetGesture(){const{wrapperEl:t,initialBreakpoint:e,backdropBreakpoint:n}=this;if(!t||void 0===e)return;const o=this.enterAnimation||s.get("modalEnter",Sl),i=this.animation=o(this.el,{presentingEl:this.presentingElement,currentBreakpoint:e,backdropBreakpoint:n});i.progressStart(!0,1);const{gesture:r,moveSheetToBreakpoint:a}=Rl(this.el,this.backdropEl,t,e,n,i,this.sortedBreakpoints,(()=>{var t;return null!==(t=this.currentBreakpoint)&&void 0!==t?t:0}),(()=>this.sheetOnDismiss()),(t=>{this.currentBreakpoint!==t&&(this.currentBreakpoint=t,this.ionBreakpointDidChange.emit({breakpoint:t}))}));this.gesture=r,this.moveSheetToBreakpoint=a,this.gesture.enable(!0)}sheetOnDismiss(){this.gestureAnimationDismissing=!0,this.animation.onFinish((async()=>{this.currentBreakpoint=0,this.ionBreakpointDidChange.emit({breakpoint:this.currentBreakpoint}),await this.dismiss(void 0,"gesture"),this.gestureAnimationDismissing=!1}))}async dismiss(t,e){if(this.gestureAnimationDismissing&&"gesture"!==e)return!1;if("handler"!==e&&!await this.checkCanDismiss())return!1;const n=this.swipeToClose||void 0!==this.canDismiss&&void 0!==this.presentingElement;n&&"ios"===z(this)&&gl(),"undefined"!==typeof window&&this.keyboardOpenCallback&&window.removeEventListener(dl.KEYBOARD_DID_OPEN,this.keyboardOpenCallback),void 0!==this.currentTransition&&await this.currentTransition;const o=Vo.get(this)||[];this.currentTransition=ui(this,t,e,"modalLeave",Cl,Ll,{presentingEl:this.presentingElement,currentBreakpoint:this.currentBreakpoint||this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint});const i=await this.currentTransition;if(i){const{delegate:t}=this.getDelegate();await cs(t,this.usersElement),(0,r.Iu)((()=>this.el.classList.remove("show-modal"))),this.animation&&this.animation.destroy(),this.gesture&&this.gesture.destroy(),o.forEach((t=>t.destroy()))}return this.currentBreakpoint=void 0,this.currentTransition=void 0,this.animation=void 0,i}onDidDismiss(){return fi(this.el,"ionModalDidDismiss")}onWillDismiss(){return fi(this.el,"ionModalWillDismiss")}async setCurrentBreakpoint(t){if(!this.isSheetModal)return void(0,qe.p)("setCurrentBreakpoint is only supported on sheet modals.");if(!this.breakpoints.includes(t))return void(0,qe.p)(`Attempted to set invalid breakpoint value ${t}. Please double check that the breakpoint value is part of your defined breakpoints.`);const{currentBreakpoint:e,moveSheetToBreakpoint:n,canDismiss:o,breakpoints:i}=this;e!==t&&n&&n({breakpoint:t,breakpointOffset:1-e,canDismiss:void 0!==o&&!0!==o&&0===i[0]})}async getCurrentBreakpoint(){return this.currentBreakpoint}render(){const{handle:t,isSheetModal:e,presentingElement:n,htmlAttributes:o}=this,i=!1!==t&&e,a=z(this),{modalId:s}=this,l=void 0!==n&&"ios"===a;return(0,r.h)(r.AA,Object.assign({"no-router":!0,"aria-modal":"true",tabindex:"-1"},o,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign({[a]:!0,["modal-default"]:!l&&!e,["modal-card"]:l,["modal-sheet"]:e,"overlay-hidden":!0},W(this.cssClass)),id:s,onIonBackdropTap:this.onBackdropTap,onIonModalDidPresent:this.onLifecycle,onIonModalWillPresent:this.onLifecycle,onIonModalWillDismiss:this.onLifecycle,onIonModalDidDismiss:this.onLifecycle}),(0,r.h)("ion-backdrop",{ref:t=>this.backdropEl=t,visible:this.showBackdrop,tappable:this.backdropDismiss,part:"backdrop"}),"ios"===a&&(0,r.h)("div",{class:"modal-shadow"}),(0,r.h)("div",{role:"dialog",class:"modal-wrapper ion-overlay-wrapper",part:"content",ref:t=>this.wrapperEl=t},i&&(0,r.h)("div",{class:"modal-handle",part:"handle"}),(0,r.h)("slot",null)))}get el(){return this}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["onTriggerChange"],swipeToClose:["swipeToCloseChanged"]}}static get style(){return{ios:Ol,md:Dl}}},[33,"ion-modal",{hasController:[4,"has-controller"],overlayIndex:[2,"overlay-index"],delegate:[16],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],breakpoints:[16],initialBreakpoint:[2,"initial-breakpoint"],backdropBreakpoint:[2,"backdrop-breakpoint"],handle:[4],component:[1],componentProps:[16],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],showBackdrop:[4,"show-backdrop"],animated:[4],swipeToClose:[4,"swipe-to-close"],presentingElement:[16],htmlAttributes:[16],isOpen:[4,"is-open"],trigger:[1],canDismiss:[4,"can-dismiss"],presented:[32],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64],setCurrentBreakpoint:[64],getCurrentBreakpoint:[64]}]),Pl={ionModalDidPresent:"ionViewDidEnter",ionModalWillPresent:"ionViewWillEnter",ionModalWillDismiss:"ionViewWillLeave",ionModalDidDismiss:"ionViewDidLeave"};let zl=0;function jl(){if("undefined"===typeof customElements)return;const t=["ion-modal","ion-backdrop"];t.forEach((t=>{switch(t){case"ion-modal":customElements.get(t)||customElements.define(t,Nl);break;case"ion-backdrop":customElements.get(t)||Ds();break}}))}const Ml=jl,Bl="update:modelValue",Fl="modelValue",Hl="routerLink",Wl="navManager",Ul="router",ql=Symbol(),Vl={default:ql},Yl=t=>(null===t||void 0===t?void 0:t.split(" "))||[],Gl=(t,e,n=[])=>{var o;return[...Array.from((null===(o=t.value)||void 0===o?void 0:o.classList)||[]),...n].filter(((t,n,o)=>!e.has(t)&&o.indexOf(t)===n))},Xl=(t,e,n=[],r,a,s)=>{void 0!==e&&e();const l=(0,o.aZ)(((e,{attrs:n,slots:l,emit:c})=>{var d;let u=e[r];const h=(0,i.iH)(),p=new Set(Yl(n.class)),f=t=>{if(t.el){const e=Array.isArray(a)?a:[a];e.forEach((e=>{t.el.addEventListener(e.toLowerCase(),(t=>{u=(null===t||void 0===t?void 0:t.target)[r],c(Bl,u),s&&c(s,t)}))}))}},m=(0,o.FN)(),g=null===(d=null===m||void 0===m?void 0:m.appContext)||void 0===d?void 0:d.provides[Wl],b=g?(0,o.f3)(Wl):void 0,v=t=>{const{routerLink:n}=e;if(n!==ql)if(void 0!==b){let n={event:t};for(const t in e){const o=e[t];e.hasOwnProperty(t)&&t.startsWith(Ul)&&o!==ql&&(n[t]=o)}b.navigate(n)}else console.warn("Tried to navigate, but no router was found. Make sure you have mounted Vue Router.")};return()=>{u=e[r],Yl(n.class).forEach((t=>{p.add(t)}));const i=e.onClick,s=t=>{void 0!==i&&i(t),t.defaultPrevented||v(t)};let c={ref:h,class:Gl(h,p),onClick:s,onVnodeBeforeMount:a?f:void 0};for(const t in e){const n=e[t];e.hasOwnProperty(t)&&n!==ql&&(c[t]=n)}return r&&(e[Fl]!==ql?c=Object.assign(Object.assign({},c),{[r]:e[Fl]}):u!==ql&&(c=Object.assign(Object.assign({},c),{[r]:u}))),(0,o.h)(t,c,l.default&&l.default())}}));return l.displayName=t,l.props={[Hl]:Vl},n.forEach((t=>{l.props[t]=Vl})),r&&(l.props[Fl]=Vl,l.emits=[Bl,s]),l},Jl=Xl("ion-button",nt,["color","buttonType","disabled","expand","fill","routerDirection","routerAnimation","download","href","rel","shape","size","strong","target","type","ionFocus","ionBlur"]),Kl=Xl("ion-buttons",st,["collapse"]),Zl=Xl("ion-card",ht,["color","button","type","disabled","download","href","rel","routerDirection","routerAnimation","target"]),Ql=Xl("ion-card-header",bt,["color","translucent"]),tc=Xl("ion-card-title",kt,["color"]),ec=Xl("ion-col",Lt,["offset","offsetXs","offsetSm","offsetMd","offsetLg","offsetXl","pull","pullXs","pullSm","pullMd","pullLg","pullXl","push","pushXs","pushSm","pushMd","pushLg","pushXl","size","sizeXs","sizeSm","sizeMd","sizeLg","sizeXl"]),nc=Xl("ion-content",Mt,["color","fullscreen","forceOverscroll","scrollX","scrollY","scrollEvents","ionScrollStart","ionScroll","ionScrollEnd"]),oc=Xl("ion-header",ee,["collapse","translucent"]),ic=Xl("ion-img",ae,["alt","src","ionImgWillLoad","ionImgDidLoad","ionError"]),rc=Xl("ion-infinite-scroll",de,["threshold","disabled","position","ionInfinite"]),ac=Xl("ion-infinite-scroll-content",Te,["loadingSpinner","loadingText"]),sc=Xl("ion-input",Ne,["fireFocusEvents","color","accept","autocapitalize","autocomplete","autocorrect","autofocus","clearInput","clearOnEdit","debounce","disabled","enterkeyhint","inputmode","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","spellcheck","step","size","type","value","ionInput","ionChange","ionBlur","ionFocus","ionStyle"],"value","v-ion-change","ionChange"),lc=Xl("ion-item",xn,["color","button","detail","detailIcon","disabled","download","fill","shape","href","rel","lines","counter","routerAnimation","routerDirection","target","type","counterFormatter"]),cc=Xl("ion-label",_n,["color","position","ionColor","ionStyle"]),dc=Xl("ion-list",Ln,["lines","inset"]),uc=Xl("ion-list-header",Pn,["color","lines"]),hc=Xl("ion-radio",Hn,["color","name","disabled","value","ionStyle","ionFocus","ionBlur"],"value","v-ion-change","ionChange"),pc=Xl("ion-refresher",go,["pullMin","pullMax","closeDuration","snapbackDuration","pullFactor","disabled","ionRefresh","ionPull","ionStart"]),fc=Xl("ion-refresher-content",yo,["pullingIcon","pullingText","refreshingSpinner","refreshingText"]),mc=Xl("ion-row",$o),gc=Xl("ion-searchbar",Ao,["color","animated","autocomplete","autocorrect","cancelButtonIcon","cancelButtonText","clearIcon","debounce","disabled","inputmode","enterkeyhint","placeholder","searchIcon","showCancelButton","showClearButton","spellcheck","type","value","ionInput","ionChange","ionCancel","ionClear","ionBlur","ionFocus","ionStyle"],"value","v-ion-change","ionChange"),bc=Xl("ion-spinner",To,["color","duration","name","paused"]),vc=Xl("ion-thumbnail",Oo),yc=Xl("ion-title",jo,["color","size","ionStyle"]),wc=Xl("ion-toolbar",Wo,["color"]);var xc;(function(t){t["WillEnter"]="onIonViewWillEnter",t["DidEnter"]="onIonViewDidEnter",t["WillLeave"]="onIonViewWillLeave",t["DidLeave"]="onIonViewDidLeave"})(xc||(xc={}));const kc={[wi.L]:xc.WillEnter,[wi.a]:xc.DidEnter,[wi.b]:xc.WillLeave,[wi.c]:xc.DidLeave},$c={main:0},Ec=(t="main")=>{var e;const n=(null!==(e=$c[t])&&void 0!==e?e:0)+1;return $c[t]=n,n.toString()},Sc=(t,e,n)=>{(null===t||void 0===t?void 0:t[n])&&t[n].bind(null===e||void 0===e?void 0:e.value)();const o=null===e||void 0===e?void 0:e.value;if((null===o||void 0===o?void 0:o[n])&&o[n](),o){const t=kc[n],e=o[t];e&&e.forEach((t=>t()))}},_c=()=>{if("undefined"!==typeof window){const t=window.Ionic;if(t&&t.config)return t.config}return null},Cc=(t,e)=>{"undefined"!==typeof customElements&&(customElements.get(t)||customElements.define(t,e))},Ac=(t,e,n)=>{if(n){const o=n,i=o.proxy[t]||(o.proxy[t]=[]);o.exposed&&(o.exposed[t]=i);const r=(...t)=>{if(!o.isUnmounted)return t?e(...t):e()};return i.push(r),r}console.warn("[@ionic/vue]: Ionic Lifecycle Hooks can only be used during execution of setup().")},Tc=t=>(e,n=(0,o.FN)())=>Ac(t,e,n),Ic=(Tc(xc.WillEnter),Tc(xc.DidEnter),Tc(xc.WillLeave),Tc(xc.DidLeave),t=>"ionChange"===t?"v-ion-change":t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()),Lc=()=>({ael:(t,e,n,o)=>t.addEventListener(Ic(e),n,o),rel:(t,e,n,o)=>t.removeEventListener(Ic(e),n,o),ce:(t,e)=>new CustomEvent(Ic(t),e)}),Rc={async install(t,e={}){"undefined"!==typeof document&&document.documentElement.classList.add("ion-ce");const{ael:n,rel:o,ce:i}=Lc();j(Object.assign(Object.assign({},e),{_ael:n,_rel:o,_ce:i}))}},Oc=(0,o.aZ)(((t,{attrs:e,slots:n})=>{Cc("ion-back-button",Ei),Cc("ion-icon",ss);const i=(0,o.f3)("navManager"),r=()=>{const t=e["default-href"]||e["defaultHref"],n=e["router-animation"]||e["routerAnimation"];i.handleNavigateBack(t,n)};return()=>(0,o.h)("ion-back-button",Object.assign({onClick:r},e),n.default&&n.default())})),Dc=(0,o.aZ)({name:"IonPage",props:{registerIonPage:{type:Function,default:()=>{}}},mounted(){this.$props.registerIonPage(this.$refs.ionPage)},setup(t,{attrs:e,slots:n}){return()=>(0,o.h)("div",Object.assign(Object.assign({},e),{["class"]:"ion-page",ref:"ionPage"}),n.default&&n.default())}}),Nc=t=>!t.classList.contains("ion-page-hidden")&&!t.classList.contains("ion-page-invisible");let Pc=Symbol(0);const zc=(0,o.aZ)({name:"IonRouterOutlet",setup(){Cc("ion-router-outlet",ps);const t=(0,o.f3)(fs.ZD),e=(0,fs.yj)(),n=(0,o.f3)(Pc,0),r=(0,o.Fl)((()=>e.matched[n]));let a,s;(0,o.JJ)(Pc,n+1),(0,o.JJ)(fs.XS,r);const l=(0,i.iH)(),c=Ec("ion-router-outlet"),d=(0,o.f3)("navManager"),u=(0,o.f3)("viewStacks"),h=(0,i.XI)([]);let p,f=!1;(0,o.YP)((()=>[e,r.value]),(([t,e])=>{if(void 0===e)return;const n=e!==a,o=t.matched[t.matched.length-1]===e&&t.path!==s;(n||o)&&(w(r),a=e,s=t.path)}));const m=()=>{const t=_c(),e=t&&t.get("swipeBackEnabled","ios"===l.value.mode);if(!e)return!1;const n=u.getViewStack(c);if(!n||n.length<=1)return!1;const o=d.getLeavingRouteInfo(),i=u.findViewItemByRouteInfo({pathname:o.pushedByRoute||""},c);return!!i},g=async()=>{const t=d.getLeavingRouteInfo(),{routerAnimation:e}=t,n=u.findViewItemByRouteInfo({pathname:t.pushedByRoute||""},c),o=u.findViewItemByRouteInfo(t,c);if(o){let t=e;const i=n.ionPageElement,r=o.ionPageElement,a=n.routerAnimation;void 0===t&&void 0!==a&&(t=a),o.routerAnimation=t,await v(i,r,"back",d.canGoBack(2),!0,t)}return Promise.resolve()},b=t=>{if(t)f=!0,d.handleNavigateBack();else{const t=d.getCurrentRouteInfo(),e=u.findViewItemByRouteInfo({pathname:t.pushedByRoute||""},c);e.ionPageElement.setAttribute("aria-hidden","true"),e.ionPageElement.classList.add("ion-page-hidden")}};(0,o.YP)(l,(()=>{l.value.swipeHandler={canStart:m,onStart:g,onEnd:b}}));const v=(t,e,n,o,i,r)=>new Promise((a=>f?(f=!1,a(!1)):t===e?a(!1):void requestAnimationFrame((()=>{requestAnimationFrame((async()=>{t.classList.add("ion-page-invisible");const s=await l.value.commit(t,e,{deepWait:!0,duration:void 0===n||"root"===n||"none"===n?0:void 0,direction:n,showGoBack:o,progressAnimation:i,animationBuilder:r});return a(s)}))})))),y=async()=>{const t=d.getCurrentRouteInfo(),{routerDirection:e,routerAction:n,routerAnimation:o,prevRouteLastPathname:i,delta:r}=t,a=u.findViewItemByRouteInfo(t,c);let s=u.findLeavingViewItemByRouteInfo(t,c);const l=a.ionPageElement;if(void 0===l&&console.warn(`[@ionic/vue Warning]: The view you are trying to render for path ${t.pathname} does not have the required component. Transitions and lifecycle methods may not work as expected.\n\nSee https://ionicframework.com/docs/vue/navigation#ionpage for more information.`),a!==s&&(!s&&i&&(s=u.findViewItemByPathname(i,c)),!Nc(l)||void 0===s||Nc(s.ionPageElement))){if(Sc(a.vueComponent,a.vueComponentRef,wi.L),s&&a!==s){let i=o;const d=s.ionPageElement;Sc(s.vueComponent,s.vueComponentRef,wi.b);const h=a.routerAnimation;void 0===i&&"back"===e&&void 0!==h&&(i=h),s.routerAnimation=i,await v(l,d,e,!!t.pushedByRoute,!1,i),d.classList.add("ion-page-hidden"),d.setAttribute("aria-hidden","true");const p=1===u.size();if("replace"===n)s.mount=!1,s.ionPageElement=void 0,s.ionRoute=!1;else if("push"!==n||"forward"!==e){const t="none"!==e&&s&&a!==s;t&&(s.mount=!1,s.ionPageElement=void 0,s.ionRoute=!1,p&&u.unmountLeavingViews(c,a,r))}else p&&u.mountIntermediaryViews(c,s,r);Sc(s.vueComponent,s.vueComponentRef,wi.c)}else requestAnimationFrame((()=>l.classList.remove("ion-page-invisible")));Sc(a.vueComponent,a.vueComponentRef,wi.a),h.value=u.getChildrenToRender(c)}},w=t=>{const n=e.matched[0];if(p||(p=n.path),!t.value||t.value!==n&&n.path!==p)return;const o=d.getCurrentRouteInfo();let i=u.findViewItemByRouteInfo(o,c);i||(i=u.createViewItem(c,t.value.components.default,t.value,o),u.add(i)),i.mount?y():(i.mount=!0,i.registerCallback=()=>{y(),i.registerCallback=void 0}),h.value=u.getChildrenToRender(c)};r.value&&w(r),(0,o.Ah)((()=>u.clear(c)));const x=(t,e)=>{const n=t.ionPageElement;u.registerIonPage(t,e),t.registerCallback?(e.classList.add("ion-page-invisible"),t.registerCallback()):n&&!n.classList.contains("ion-page-invisible")&&e.classList.remove("ion-page-invisible")};return{id:c,components:h,injectedRoute:t,ionRouterOutlet:l,registerIonPage:x}},render(){const{components:t,registerIonPage:e,injectedRoute:n}=this;return(0,o.h)("ion-router-outlet",{ref:"ionRouterOutlet"},t&&t.map((t=>{var i,r;let a={ref:t.vueComponentRef,key:t.pathname,registerIonPage:n=>e(t,n)};const s=null===(r=null===(i=t.matchedRoute)||void 0===i?void 0:i.props)||void 0===r?void 0:r.default,l=()=>{var e;const o=null===(e=t.vueComponentData)||void 0===e?void 0:e.propsFunctionResult;if(o)return o;{const e=s(n);return t.vueComponentData=Object.assign(Object.assign({},t.vueComponentData),{propsFunctionResult:e}),e}},c=s?!0===s?t.params:"function"===typeof s?l():s:null;return a=Object.assign(Object.assign({},a),c),(0,o.h)(t.vueComponent,a)})))}}),jc=(Boolean,Boolean,t=>{var e;return"IonTabButton"===(null===(e=t.type)||void 0===e?void 0:e.name)}),Mc=t=>{let e=[];return t.forEach((t=>{if(jc(t))e.push(t);else if(Array.isArray(t.children)&&t.children.length>1){const n=Mc(t.children);e=[...e,...n]}})),e},Bc=((0,o.aZ)({name:"IonTabBar",props:{_tabsWillChange:{type:Function,default:()=>{}},_tabsDidChange:{type:Function,default:()=>{}}},data(){return{tabState:{activeTab:void 0,tabs:{}},tabVnodes:[]}},updated(){this.setupTabState((0,o.f3)("navManager"))},methods:{setupTabState(t){const e=this.$data.tabState,n=(0,o.FN)(),i=this.$data.tabVnodes=Mc(n.subTree.children||[]);i.forEach((t=>{e.tabs[t.props.tab]={originalHref:t.props.href,currentHref:t.props.href,ref:t},t.component.props._getTabState=()=>e})),this.checkActiveTab(t)},checkActiveTab(t){const e=t.getCurrentRouteInfo(),n=this.$data.tabVnodes,{tabs:o,activeTab:i}=this.$data.tabState,r=this.$data.tabState,a=Object.keys(o),s=a.find((t=>{const n=o[t].originalHref;return e.pathname.startsWith(n)}));if(n.forEach((t=>{const e=o[t.props.tab];e&&e.originalHref===t.props.href||(o[t.props.tab]={originalHref:t.props.href,currentHref:t.props.href,ref:t})})),s&&i){const t=this.$data.tabState.tabs[i].currentHref;if(s!==i||t!==e.pathname){const t=e.search?`?${e.search}`:"";o[s]=Object.assign(Object.assign({},o[s]),{currentHref:e.pathname+t})}"pop"===e.routerAction&&s!==i&&(o[i]=Object.assign(Object.assign({},o[i]),{currentHref:o[i].originalHref}))}const l=n.find((t=>{var e;return jc(t)&&(null===(e=t.props)||void 0===e?void 0:e.tab)===s})),c=this.$refs.ionTabBar,d=s!==i;c&&(l?(d&&this.$props._tabsWillChange(s),t.handleSetCurrentTab(s),c.selectedTab=r.activeTab=s,d&&this.$props._tabsDidChange(s)):c.selectedTab=r.activeTab="")}},mounted(){const t=(0,o.f3)("navManager");this.setupTabState(t),t.registerHistoryChangeListener((()=>this.checkActiveTab(t)))},setup(t,{slots:e}){return Cc("ion-tab-bar",ks),()=>(0,o.h)("ion-tab-bar",{ref:"ionTabBar"},e.default&&e.default())}}),(0,i.XI)([])),Fc=(0,o.aZ)(((t,{attrs:e,slots:n})=>(Cc("ion-app",Cs),()=>(0,o.h)("ion-app",Object.assign({},e),[n.default&&n.default(),...Bc.value])))),Hc=t=>{Bc.value=[...Bc.value,t]},Wc=t=>{Bc.value=Bc.value.filter((e=>e!==t))},Uc=(t=Hc,e=Wc)=>{let n;const i=(e,i,r={},a)=>{delete r["modal"],delete r["popover"];const s=document.createElement("div");return a&&s.classList.add(...a),e.appendChild(s),n=(0,o.h)(o.lR,{to:s},(0,o.h)(i,Object.assign({},r))),t(n),s},r=()=>(n&&e(n),Promise.resolve());return{attachViewToDom:i,removeViewFromDom:r}},qc=(0,o.aZ)({name:"IonIcon",props:{color:String,flipRtl:Boolean,icon:String,ios:String,lazy:String,md:String,mode:String,name:String,size:String,src:String},setup(t,{slots:e}){return Cc("ion-icon",ss),()=>{var n,i;const{icon:r,ios:a,md:s}=t;let l;return l=a||s?m("ios")?null!==(n=null!==a&&void 0!==a?a:s)&&void 0!==n?n:r:null!==(i=null!==s&&void 0!==s?s:a)&&void 0!==i?i:r:r,(0,o.h)("ion-icon",Object.assign(Object.assign({},t),{icon:l}),e)}}}),Vc=Symbol(),Yc={default:Vc},Gc=(t,e,n=[],r)=>{const a=()=>(0,o.aZ)(((n,{slots:a,emit:s})=>{const l=[{componentEv:`${t}-will-present`,frameworkEv:"willPresent"},{componentEv:`${t}-did-present`,frameworkEv:"didPresent"},{componentEv:`${t}-will-dismiss`,frameworkEv:"willDismiss"},{componentEv:`${t}-did-dismiss`,frameworkEv:"didDismiss"}];void 0!==e&&e();const c=(0,i.iH)(),d=async()=>{const t=n.isOpen;t&&await f(n)},u=async(t,e)=>{const o=t.props.isOpen,i=e.props.isOpen;o!==i&&(o?await f(n):await p())},h=async()=>{await p()},p=async()=>{c.value&&(await c.value,c.value=c.value.dismiss(),await c.value,c.value=void 0)},f=async t=>{var e;if(c.value&&await c.value,null===(e=c.value)||void 0===e?void 0:e.present)return void await c.value.present();let n={};for(const i in t){const e=t[i];t.hasOwnProperty(i)&&e!==Vc&&(n[i]=e)}delete n.onWillPresent,delete n.onDidPresent,delete n.onWillDismiss,delete n.onDidDismiss;const o=a.default&&a.default()[0];c.value=r.create(Object.assign(Object.assign({},n),{component:o})),c.value=await c.value,l.forEach((t=>{c.value.addEventListener(t.componentEv,(()=>{s(t.frameworkEv)}))})),await c.value.present()};return()=>(0,o.h)("div",{style:{display:"none"},onVnodeMounted:d,onVnodeUpdated:u,onVnodeBeforeUnmount:h,isOpen:!0===n.isOpen})})),s=()=>(0,o.aZ)(((n,{slots:r})=>{void 0!==e&&e();const a=(0,i.iH)(!1),s=(0,i.iH)();return(0,o.bv)((()=>{s.value.addEventListener("will-present",(()=>a.value=!0)),s.value.addEventListener("did-dismiss",(()=>a.value=!1))})),()=>{let e={};for(const t in n){const o=n[t];n.hasOwnProperty(t)&&o!==Vc&&(e[t]=o)}return(0,o.h)(t,Object.assign(Object.assign({},e),{ref:s}),a.value?r:void 0)}})),l=void 0!==r?a():s();return l.displayName=t,l.props={isOpen:Yc},n.forEach((t=>{l.props[t]=Yc})),void 0!==r&&(l.emits=["willPresent","didPresent","willDismiss","didDismiss"]),l},Xc=Gc("ion-loading",Qs,["animated","backdropDismiss","cssClass","duration","enterAnimation","htmlAttributes","keyboardClose","leaveAnimation","message","mode","showBackdrop","spinner","translucent"],Xo),Jc=Gc("ion-toast",cl,["animated","buttons","color","cssClass","duration","enterAnimation","header","htmlAttributes","icon","keyboardClose","leaveAnimation","message","mode","position","translucent"],Jo),Kc=Gc("ion-modal",Ml,["animated","backdropBreakpoint","backdropDismiss","breakpoints","canDismiss","enterAnimation","handle","htmlAttributes","initialBreakpoint","isOpen","keyboardClose","leaveAnimation","mode","presentingElement","showBackdrop","swipeToClose","trigger"]),Zc=(t,e,n=!1)=>{const o=n?Uc():void 0,i=e.create.bind(e);return e.create=e=>(t(),i(Object.assign(Object.assign({},e),{delegate:o}))),e},Qc=Zc(Us,Go)},65:function(t,e,n){"use strict";n.d(e,{Z5:function(){return Ce},_y:function(){return _},mv:function(){return y},AA:function(){return nt},yM:function(){return It},xE:function(){return jt},K3:function(){return ie},iJ:function(){return G},h:function(){return tt},GH:function(){return oe},wj:function(){return Se},PM:function(){return Y},TX:function(){return x},Iu:function(){return _e}});const o={allRenderFn:!1,cmpDidLoad:!0,cmpDidUnload:!1,cmpDidUpdate:!0,cmpDidRender:!0,cmpWillLoad:!0,cmpWillUpdate:!0,cmpWillRender:!0,connectedCallback:!0,disconnectedCallback:!0,element:!0,event:!0,hasRenderFn:!0,lifecycle:!0,hostListener:!0,hostListenerTargetWindow:!0,hostListenerTargetDocument:!0,hostListenerTargetBody:!0,hostListenerTargetParent:!1,hostListenerTarget:!0,member:!0,method:!0,mode:!0,observeAttribute:!0,prop:!0,propMutable:!0,reflect:!0,scoped:!0,shadowDom:!0,slot:!0,cssAnnotations:!0,state:!0,style:!0,svg:!0,updatable:!0,vdomAttribute:!0,vdomXlink:!0,vdomClass:!0,vdomFunctional:!0,vdomKey:!0,vdomListener:!0,vdomRef:!0,vdomPropOrAttr:!0,vdomRender:!0,vdomStyle:!0,vdomText:!0,watchCallback:!0,taskQueue:!0,hotModuleReplacement:!1,isDebug:!1,isDev:!1,isTesting:!1,hydrateServerSide:!1,hydrateClientSide:!1,lifecycleDOMEvents:!1,lazyLoad:!1,profile:!1,slotRelocation:!0,appendChildSlotFix:!1,cloneNodeFix:!1,hydratedAttribute:!1,hydratedClass:!0,safari10:!1,scriptDataOpts:!1,scopedSlotTextContentFix:!1,shadowDomShim:!1,slotChildNodesFix:!1,invisiblePrehydration:!0,propBoolean:!0,propNumber:!0,propString:!0,cssVarShim:!1,constructableCSS:!0,cmpShouldUpdate:!0,devTools:!1,dynamicImportShim:!1,shadowDelegatesFocus:!0,initializeNextTick:!1,asyncLoading:!1,asyncQueue:!1,transformTagName:!1,attachStyles:!0},i="app";let r,a,s,l,c=0,d=!1,u=!1,h=!1,p=!1,f=null,m=0,g=!1;const b="undefined"!==typeof window?window:{},v=(o.cssVarShim&&b.CSS,b.document||{head:{}}),y=b.HTMLElement||class{},w={$flags$:0,$resourcesUrl$:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},x=t=>{Object.assign(w,t)},k=!o.shadowDomShim||!o.shadowDom||(()=>(v.head.attachShadow+"").indexOf("[native")>-1)(),$=(()=>{let t=!1;try{v.addEventListener("e",null,Object.defineProperty({},"passive",{get(){t=!0}}))}catch(e){}return t})(),E=t=>Promise.resolve(t),S=!!o.constructableCSS&&(()=>{try{return new CSSStyleSheet,"function"===typeof(new CSSStyleSheet).replace}catch(t){}return!1})(),_={},C=(t,e,n,i)=>{o.hostListener&&n&&(o.hostListenerTargetParent&&(n=i?n.filter((([t])=>32&t)):n.filter((([t])=>!(32&t)))),n.map((([n,i,r])=>{const a=o.hostListenerTarget?T(t,n):t,s=A(e,r),l=I(n);w.ael(a,i,s,l),(e.$rmListeners$=e.$rmListeners$||[]).push((()=>w.rel(a,i,s,l)))})))},A=(t,e)=>n=>{try{o.lazyLoad?256&t.$flags$?t.$lazyInstance$[e](n):(t.$queuedListeners$=t.$queuedListeners$||[]).push([e,n]):t.$hostElement$[e](n)}catch(i){ce(i)}},T=(t,e)=>o.hostListenerTargetDocument&&4&e?v:o.hostListenerTargetWindow&&8&e?b:o.hostListenerTargetBody&&16&e?v.body:o.hostListenerTargetParent&&32&e?t.parentElement:t,I=t=>$?{passive:0!==(1&t),capture:0!==(2&t)}:0!==(2&t),L="r",R="o",O="s",D="t",N="s-id",P="sty-id",z="c-id",j="http://www.w3.org/1999/xlink",M=(t,e="")=>{if(o.profile&&performance.mark){const n=`st:${t}:${e}:${c++}`;return performance.mark(n),()=>performance.measure(`[Stencil] ${t}() <${e}>`,n)}return()=>{}},B=(t,e)=>o.profile&&performance.mark?(0===performance.getEntriesByName(t).length&&performance.mark(t),()=>{0===performance.getEntriesByName(e).length&&performance.measure(e,t)}):()=>{},F=new WeakMap,H=(t,e,n)=>{let o=me.get(t);S&&n?(o=o||new CSSStyleSheet,o.replace(e)):o=e,me.set(t,o)},W=(t,e,n,i)=>{let r=q(e,n);const a=me.get(r);if(!o.attachStyles)return r;if(t=11===t.nodeType?t:v,a)if("string"===typeof a){t=t.head||t;let n,s=F.get(t);if(s||F.set(t,s=new Set),!s.has(r)){if(o.hydrateClientSide&&t.host&&(n=t.querySelector(`[${P}="${r}"]`)))n.innerHTML=a;else{if(o.cssVarShim&&w.$cssShim$){n=w.$cssShim$.createHostStyle(i,r,a,!!(10&e.$flags$));const t=n["s-sc"];t&&(r=t,s=null)}else n=v.createElement("style"),n.innerHTML=a;(o.hydrateServerSide||o.hotModuleReplacement)&&n.setAttribute(P,r),t.insertBefore(n,t.querySelector("link"))}s&&s.add(r)}}else o.constructableCSS&&!t.adoptedStyleSheets.includes(a)&&(t.adoptedStyleSheets=[...t.adoptedStyleSheets,a]);return r},U=t=>{const e=t.$cmpMeta$,n=t.$hostElement$,i=e.$flags$,r=M("attachStyles",e.$tagName$),a=W(o.shadowDom&&k&&n.shadowRoot?n.shadowRoot:n.getRootNode(),e,t.$modeName$,n);(o.shadowDom||o.scoped)&&o.cssAnnotations&&10&i&&(n["s-sc"]=a,n.classList.add(a+"-h"),o.scoped&&2&i&&n.classList.add(a+"-s")),r()},q=(t,e)=>"sc-"+(o.mode&&e&&32&t.$flags$?t.$tagName$+"-"+e:t.$tagName$),V=t=>ge.map((e=>e(t))).find((t=>!!t)),Y=t=>ge.push(t),G=t=>ae(t).$modeName$,X={},J="http://www.w3.org/2000/svg",K="http://www.w3.org/1999/xhtml",Z=t=>null!=t,Q=t=>(t=typeof t,"object"===t||"function"===t),tt=(t,e,...n)=>{let i=null,r=null,a=null,s=!1,l=!1;const c=[],d=e=>{for(let n=0;nt[e])).join(" "))}if(o.isDev&&c.some(ot)&&ue("The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function."),o.vdomFunctional&&"function"===typeof t)return t(null===e?{}:e,c,it);const u=et(t,null);return u.$attrs$=e,c.length>0&&(u.$children$=c),o.vdomKey&&(u.$key$=r),o.slotRelocation&&(u.$name$=a),u},et=(t,e)=>{const n={$flags$:0,$tag$:t,$text$:e,$elm$:null,$children$:null};return o.vdomAttribute&&(n.$attrs$=null),o.vdomKey&&(n.$key$=null),o.slotRelocation&&(n.$name$=null),n},nt={},ot=t=>t&&t.$tag$===nt,it={forEach:(t,e)=>t.map(rt).forEach(e),map:(t,e)=>t.map(rt).map(e).map(at)},rt=t=>({vattrs:t.$attrs$,vchildren:t.$children$,vkey:t.$key$,vname:t.$name$,vtag:t.$tag$,vtext:t.$text$}),at=t=>{if("function"===typeof t.vtag){const e=Object.assign({},t.vattrs);return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),tt(t.vtag,e,...t.vchildren||[])}const e=et(t.vtag,t.vtext);return e.$attrs$=t.vattrs,e.$children$=t.vchildren,e.$key$=t.vkey,e.$name$=t.vname,e},st=t=>{const e=Object.keys(t),n=e.indexOf("value");if(-1===n)return;const o=e.indexOf("type"),i=e.indexOf("min"),r=e.indexOf("max"),a=e.indexOf("step");(n should be set after "min", "max", "type" and "step"')},lt=(t,e,n,i,r,a)=>{if(n!==i){let l=le(t,e),c=e.toLowerCase();if(o.vdomClass&&"class"===e){const e=t.classList,o=dt(n),r=dt(i);e.remove(...o.filter((t=>t&&!r.includes(t)))),e.add(...r.filter((t=>t&&!o.includes(t))))}else if(o.vdomStyle&&"style"===e){if(o.updatable)for(const e in n)i&&null!=i[e]||(!o.hydrateServerSide&&e.includes("-")?t.style.removeProperty(e):t.style[e]="");for(const e in i)n&&i[e]===n[e]||(!o.hydrateServerSide&&e.includes("-")?t.style.setProperty(e,i[e]):t.style[e]=i[e])}else if(o.vdomKey&&"key"===e);else if(o.vdomRef&&"ref"===e)i&&i(t);else if(!o.vdomListener||(o.lazyLoad?l:t.__lookupSetter__(e))||"o"!==e[0]||"n"!==e[1]){if(o.vdomPropOrAttr){const d=Q(i);if((l||d&&null!==i)&&!r)try{if(t.tagName.includes("-"))t[e]=i;else{const o=null==i?"":i;"list"===e?l=!1:null!=n&&t[e]==o||(t[e]=o)}}catch(s){}let u=!1;o.vdomXlink&&c!==(c=c.replace(/^xlink\:?/,""))&&(e=c,u=!0),null==i||!1===i?!1===i&&""!==t.getAttribute(e)||(o.vdomXlink&&u?t.removeAttributeNS(j,e):t.removeAttribute(e)):(!l||4&a||r)&&!d&&(i=!0===i?"":i,o.vdomXlink&&u?t.setAttributeNS(j,e,i):t.setAttribute(e,i))}}else e="-"===e[2]?e.slice(3):le(b,c)?c.slice(2):c[2]+e.slice(3),n&&w.rel(t,e,n,!1),i&&w.ael(t,e,i,!1)}},ct=/\s/,dt=t=>t?t.split(ct):[],ut=(t,e,n,i)=>{const r=11===e.$elm$.nodeType&&e.$elm$.host?e.$elm$.host:e.$elm$,a=t&&t.$attrs$||X,s=e.$attrs$||X;if(o.updatable)for(i in a)i in s||lt(r,i,a[i],void 0,n,e.$flags$);for(i in s)lt(r,i,a[i],s[i],n,e.$flags$)},ht=(t,e,n,i)=>{const l=e.$children$[n];let c,u,f,m=0;if(o.slotRelocation&&!d&&(h=!0,"slot"===l.$tag$&&(r&&i.classList.add(r+"-s"),l.$flags$|=l.$children$?2:1)),o.isDev&&l.$elm$&&ue(`The JSX ${null!==l.$text$?`"${l.$text$}" text`:`"${l.$tag$}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`),o.vdomText&&null!==l.$text$)c=l.$elm$=v.createTextNode(l.$text$);else if(o.slotRelocation&&1&l.$flags$)c=l.$elm$=o.isDebug||o.hydrateServerSide?Ct(l):v.createTextNode("");else{if(o.svg&&!p&&(p="svg"===l.$tag$),c=l.$elm$=o.svg?v.createElementNS(p?J:K,o.slotRelocation&&2&l.$flags$?"slot-fb":l.$tag$):v.createElement(o.slotRelocation&&2&l.$flags$?"slot-fb":l.$tag$),o.svg&&p&&"foreignObject"===l.$tag$&&(p=!1),o.vdomAttribute&&ut(null,l,p),(o.shadowDom||o.scoped)&&Z(r)&&c["s-si"]!==r&&c.classList.add(c["s-si"]=r),l.$children$)for(m=0;m{w.$flags$|=1;const n=t.childNodes;for(let o=n.length-1;o>=0;o--){const t=n[o];t["s-hn"]!==s&&t["s-ol"]&&(yt(t).insertBefore(t,vt(t)),t["s-ol"].remove(),t["s-ol"]=void 0,h=!0),e&&pt(t,e)}w.$flags$&=-2},ft=(t,e,n,i,r,a)=>{let l,c=o.slotRelocation&&t["s-cr"]&&t["s-cr"].parentNode||t;for(o.shadowDom&&c.shadowRoot&&c.tagName===s&&(c=c.shadowRoot);r<=a;++r)i[r]&&(l=ht(null,n,r,t),l&&(i[r].$elm$=l,c.insertBefore(l,o.slotRelocation?vt(e):e)))},mt=(t,e,n,i,r)=>{for(;e<=n;++e)(i=t[e])&&(r=i.$elm$,St(i),o.slotRelocation&&(u=!0,r["s-ol"]?r["s-ol"].remove():pt(r,!0)),r.remove())},gt=(t,e,n,i)=>{let r,a,s=0,l=0,c=0,d=0,u=e.length-1,h=e[0],p=e[u],f=i.length-1,m=i[0],g=i[f];while(s<=u&&l<=f)if(null==h)h=e[++s];else if(null==p)p=e[--u];else if(null==m)m=i[++l];else if(null==g)g=i[--f];else if(bt(h,m))wt(h,m),h=e[++s],m=i[++l];else if(bt(p,g))wt(p,g),p=e[--u],g=i[--f];else if(bt(h,g))!o.slotRelocation||"slot"!==h.$tag$&&"slot"!==g.$tag$||pt(h.$elm$.parentNode,!1),wt(h,g),t.insertBefore(h.$elm$,p.$elm$.nextSibling),h=e[++s],g=i[--f];else if(bt(p,m))!o.slotRelocation||"slot"!==h.$tag$&&"slot"!==g.$tag$||pt(p.$elm$.parentNode,!1),wt(p,m),t.insertBefore(p.$elm$,h.$elm$),p=e[--u],m=i[++l];else{if(c=-1,o.vdomKey)for(d=s;d<=u;++d)if(e[d]&&null!==e[d].$key$&&e[d].$key$===m.$key$){c=d;break}o.vdomKey&&c>=0?(a=e[c],a.$tag$!==m.$tag$?r=ht(e&&e[l],n,c,t):(wt(a,m),e[c]=void 0,r=a.$elm$),m=i[++l]):(r=ht(e&&e[l],n,l,t),m=i[++l]),r&&(o.slotRelocation?yt(h.$elm$).insertBefore(r,vt(h.$elm$)):h.$elm$.parentNode.insertBefore(r,h.$elm$))}s>u?ft(t,null==i[f+1]?null:i[f+1].$elm$,n,i,l,f):o.updatable&&l>f&&mt(e,s,u)},bt=(t,e)=>t.$tag$===e.$tag$&&(o.slotRelocation&&"slot"===t.$tag$?t.$name$===e.$name$:!o.vdomKey||t.$key$===e.$key$),vt=t=>t&&t["s-ol"]||t,yt=t=>(t["s-ol"]?t["s-ol"]:t).parentNode,wt=(t,e)=>{const n=e.$elm$=t.$elm$,i=t.$children$,r=e.$children$,a=e.$tag$,s=e.$text$;let l;o.vdomText&&null!==s?o.vdomText&&o.slotRelocation&&(l=n["s-cr"])?l.parentNode.textContent=s:o.vdomText&&t.$text$!==s&&(n.data=s):(o.svg&&(p="svg"===a||"foreignObject"!==a&&p),(o.vdomAttribute||o.reflect)&&(o.slot&&"slot"===a||ut(t,e,p)),o.updatable&&null!==i&&null!==r?gt(n,i,e,r):null!==r?(o.updatable&&o.vdomText&&null!==t.$text$&&(n.textContent=""),ft(n,null,e,r,0,r.length-1)):o.updatable&&null!==i&&mt(i,0,i.length-1),o.svg&&p&&"svg"===a&&(p=!1))},xt=t=>{const e=t.childNodes;let n,o,i,r,a,s;for(o=0,i=e.length;o{let e,n,o,i,r,a,s=0;const l=t.childNodes,c=l.length;for(;s=0;a--)n=o[a],n["s-cn"]||n["s-nr"]||n["s-hn"]===e["s-hn"]||(Et(n,i)?(r=kt.find((t=>t.$nodeToRelocate$===n)),u=!0,n["s-sn"]=n["s-sn"]||i,r?r.$slotRefNode$=e:kt.push({$slotRefNode$:e,$nodeToRelocate$:n}),n["s-sr"]&&kt.map((t=>{Et(t.$nodeToRelocate$,n["s-sn"])&&(r=kt.find((t=>t.$nodeToRelocate$===n)),r&&!t.$slotRefNode$&&(t.$slotRefNode$=r.$slotRefNode$))}))):kt.some((t=>t.$nodeToRelocate$===n))||kt.push({$nodeToRelocate$:n}));1===e.nodeType&&$t(e)}},Et=(t,e)=>1===t.nodeType?null===t.getAttribute("slot")&&""===e||t.getAttribute("slot")===e:t["s-sn"]===e||""===e,St=t=>{o.vdomRef&&(t.$attrs$&&t.$attrs$.ref&&t.$attrs$.ref(null),t.$children$&&t.$children$.map(St))},_t=(t,e)=>{const n=t.$hostElement$,i=t.$cmpMeta$,l=t.$vnode$||et(null,null),c=ot(e)?e:tt(null,null,e);if(s=n.tagName,o.isDev&&Array.isArray(e)&&e.some(ot))throw new Error(`The must be the single root component.\nLooks like the render() function of "${s.toLowerCase()}" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);if(o.reflect&&i.$attrsToReflect$&&(c.$attrs$=c.$attrs$||{},i.$attrsToReflect$.map((([t,e])=>c.$attrs$[e]=n[t]))),c.$tag$=null,c.$flags$|=4,t.$vnode$=c,c.$elm$=l.$elm$=o.shadowDom&&n.shadowRoot||n,(o.scoped||o.shadowDom)&&(r=n["s-sc"]),o.slotRelocation&&(a=n["s-cr"],d=k&&0!==(1&i.$flags$),u=!1),wt(l,c),o.slotRelocation){if(w.$flags$|=1,h){let t,e,n,i,r,a;$t(c.$elm$);let s=0;for(;sv.createComment(` (host=${s.toLowerCase()})`),At=t=>v.createComment("org-location for "+(t.localName?`<${t.localName}> (host=${t["s-hn"]})`:`[${t.textContent}]`)),Tt=t=>o.lazyLoad?ae(t).$hostElement$:t,It=(t,e,n)=>{const i=Tt(t);return{emit:t=>(o.isDev&&!i.isConnected&&he(`The "${e}" event was emitted, but the dispatcher node is no longer connected to the dom.`),Lt(i,e,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:t}))}},Lt=(t,e,n)=>{const o=w.ce(e,n);return t.dispatchEvent(o),o},Rt=(t,e)=>{o.asyncLoading&&e&&!t.$onRenderResolve$&&e["s-p"]&&e["s-p"].push(new Promise((e=>t.$onRenderResolve$=e)))},Ot=(t,e)=>{if(o.taskQueue&&o.updatable&&(t.$flags$|=16),o.asyncLoading&&4&t.$flags$)return void(t.$flags$|=512);Rt(t,t.$ancestorComponent$);const n=()=>Dt(t,e);return o.taskQueue?_e(n):n()},Dt=(t,e)=>{const n=t.$hostElement$,i=M("scheduleUpdate",t.$cmpMeta$.$tagName$),r=o.lazyLoad?t.$lazyInstance$:n;let a;return e?(o.lazyLoad&&o.hostListener&&(t.$flags$|=256,t.$queuedListeners$&&(t.$queuedListeners$.map((([t,e])=>Bt(r,t,e))),t.$queuedListeners$=null)),Ht(n,"componentWillLoad"),o.cmpWillLoad&&(a=Bt(r,"componentWillLoad"))):(Ht(n,"componentWillUpdate"),o.cmpWillUpdate&&(a=Bt(r,"componentWillUpdate"))),Ht(n,"componentWillRender"),o.cmpWillRender&&(a=Ft(a,(()=>Bt(r,"componentWillRender")))),i(),Ft(a,(()=>Nt(t,r,e)))},Nt=async(t,e,n)=>{const i=t.$hostElement$,r=M("update",t.$cmpMeta$.$tagName$),a=i["s-rc"];o.style&&n&&U(t);const s=M("render",t.$cmpMeta$.$tagName$);if(o.isDev&&(t.$flags$|=1024),o.hydrateServerSide?await Pt(t,e,i):Pt(t,e,i),o.cssVarShim&&w.$cssShim$&&w.$cssShim$.updateHost(i),o.isDev&&(t.$renderCount$++,t.$flags$&=-1025),o.hydrateServerSide)try{Ut(i),n&&(1&t.$cmpMeta$.$flags$?i["s-en"]="":2&t.$cmpMeta$.$flags$&&(i["s-en"]="c"))}catch(l){ce(l,i)}if(o.asyncLoading&&a&&(a.map((t=>t())),i["s-rc"]=void 0),s(),r(),o.asyncLoading){const e=i["s-p"],n=()=>zt(t);0===e.length?n():(Promise.all(e).then(n),t.$flags$|=4,e.length=0)}else zt(t)},Pt=(t,e,n)=>{const i=!!o.allRenderFn,r=!!o.lazyLoad,a=!!o.taskQueue,s=!!o.updatable;try{if(f=e,e=(i||e.render)&&e.render(),s&&a&&(t.$flags$&=-17),(s||r)&&(t.$flags$|=2),o.hasRenderFn||o.reflect)if(o.vdomRender||o.reflect){if(o.hydrateServerSide)return Promise.resolve(e).then((e=>_t(t,e)));_t(t,e)}else n.textContent=e}catch(l){ce(l,t.$hostElement$)}return f=null,null},zt=t=>{const e=t.$cmpMeta$.$tagName$,n=t.$hostElement$,i=M("postUpdate",e),r=o.lazyLoad?t.$lazyInstance$:n,a=t.$ancestorComponent$;o.cmpDidRender&&(o.isDev&&(t.$flags$|=1024),Bt(r,"componentDidRender"),o.isDev&&(t.$flags$&=-1025)),Ht(n,"componentDidRender"),64&t.$flags$?(o.cmpDidUpdate&&(o.isDev&&(t.$flags$|=1024),Bt(r,"componentDidUpdate"),o.isDev&&(t.$flags$&=-1025)),Ht(n,"componentDidUpdate"),i()):(t.$flags$|=64,o.asyncLoading&&o.cssAnnotations&&Wt(n),o.cmpDidLoad&&(o.isDev&&(t.$flags$|=2048),Bt(r,"componentDidLoad"),o.isDev&&(t.$flags$&=-2049)),Ht(n,"componentDidLoad"),i(),o.asyncLoading&&(t.$onReadyResolve$(n),a||Mt(e))),o.hotModuleReplacement&&n["s-hmr-load"]&&n["s-hmr-load"](),o.method&&o.lazyLoad&&t.$onInstanceResolve$(n),o.asyncLoading&&(t.$onRenderResolve$&&(t.$onRenderResolve$(),t.$onRenderResolve$=void 0),512&t.$flags$&&Ee((()=>Ot(t,!1))),t.$flags$&=-517)},jt=t=>{if(o.updatable){const e=ae(t),n=e.$hostElement$.isConnected;return n&&2===(18&e.$flags$)&&Ot(e,!1),n}return!1},Mt=t=>{o.cssAnnotations&&Wt(v.documentElement),o.asyncQueue&&(w.$flags$|=2),Ee((()=>Lt(b,"appload",{detail:{namespace:i}}))),o.profile&&performance.measure&&performance.measure(`[Stencil] ${i} initial load (by ${t})`,"st:app:start")},Bt=(t,e,n)=>{if(t&&t[e])try{return t[e](n)}catch(o){ce(o)}},Ft=(t,e)=>t&&t.then?t.then(e):e(),Ht=(t,e)=>{o.lifecycleDOMEvents&&Lt(t,"stencil_"+e,{bubbles:!0,composed:!0,detail:{namespace:i}})},Wt=t=>o.hydratedClass?t.classList.add("hydrated"):o.hydratedAttribute?t.setAttribute("hydrated",""):void 0,Ut=t=>{const e=t.children;if(null!=e)for(let n=0,o=e.length;n{const r=M("hydrateClient",e),a=t.shadowRoot,s=[],l=[],c=o.shadowDom&&a?[]:null,d=i.$vnode$=et(e,null);w.$orgLocNodes$||Yt(v.body,w.$orgLocNodes$=new Map),t[N]=n,t.removeAttribute(N),Vt(d,s,l,c,t,t,n),s.map((t=>{const n=t.$hostId$+"."+t.$nodeId$,o=w.$orgLocNodes$.get(n),i=t.$elm$;o&&k&&""===o["s-en"]&&o.parentNode.insertBefore(i,o.nextSibling),a||(i["s-hn"]=e,o&&(i["s-ol"]=o,i["s-ol"]["s-nr"]=i)),w.$orgLocNodes$.delete(n)})),o.shadowDom&&a&&c.map((t=>{t&&a.appendChild(t)})),r()},Vt=(t,e,n,i,r,a,s)=>{let l,c,d,u;if(1===a.nodeType){for(l=a.getAttribute(z),l&&(c=l.split("."),c[0]!==s&&"0"!==c[0]||(d={$flags$:0,$hostId$:c[0],$nodeId$:c[1],$depth$:c[2],$index$:c[3],$tag$:a.tagName.toLowerCase(),$elm$:a,$attrs$:null,$children$:null,$key$:null,$name$:null,$text$:null},e.push(d),a.removeAttribute(z),t.$children$||(t.$children$=[]),t.$children$[d.$index$]=d,t=d,i&&"0"===d.$depth$&&(i[d.$index$]=d.$elm$))),u=a.childNodes.length-1;u>=0;u--)Vt(t,e,n,i,r,a.childNodes[u],s);if(a.shadowRoot)for(u=a.shadowRoot.childNodes.length-1;u>=0;u--)Vt(t,e,n,i,r,a.shadowRoot.childNodes[u],s)}else if(8===a.nodeType)c=a.nodeValue.split("."),c[1]!==s&&"0"!==c[1]||(l=c[0],d={$flags$:0,$hostId$:c[1],$nodeId$:c[2],$depth$:c[3],$index$:c[4],$elm$:a,$attrs$:null,$children$:null,$key$:null,$name$:null,$tag$:null,$text$:null},l===D?(d.$elm$=a.nextSibling,d.$elm$&&3===d.$elm$.nodeType&&(d.$text$=d.$elm$.textContent,e.push(d),a.remove(),t.$children$||(t.$children$=[]),t.$children$[d.$index$]=d,i&&"0"===d.$depth$&&(i[d.$index$]=d.$elm$))):d.$hostId$===s&&(l===O?(d.$tag$="slot",c[5]?a["s-sn"]=d.$name$=c[5]:a["s-sn"]="",a["s-sr"]=!0,o.shadowDom&&i&&(d.$elm$=v.createElement(d.$tag$),d.$name$&&d.$elm$.setAttribute("name",d.$name$),a.parentNode.insertBefore(d.$elm$,a),a.remove(),"0"===d.$depth$&&(i[d.$index$]=d.$elm$)),n.push(d),t.$children$||(t.$children$=[]),t.$children$[d.$index$]=d):l===L&&(o.shadowDom&&i?a.remove():o.slotRelocation&&(r["s-cr"]=a,a["s-cn"]=!0))));else if(t&&"style"===t.$tag$){const e=et(null,a.textContent);e.$elm$=a,e.$index$="0",t.$children$=[e]}},Yt=(t,e)=>{if(1===t.nodeType){let n=0;for(;nnull==t||Q(t)?t:o.propBoolean&&4&e?"false"!==t&&(""===t||!!t):o.propNumber&&2&e?parseFloat(t):o.propString&&1&e?String(t):t,Xt=(t,e)=>ae(t).$instanceValues$.get(e),Jt=(t,e,n,i)=>{const r=ae(t),a=o.lazyLoad?r.$hostElement$:t,s=r.$instanceValues$.get(e),l=r.$flags$,c=o.lazyLoad?r.$lazyInstance$:a;n=Gt(n,i.$members$[e][0]);const d=Number.isNaN(s)&&Number.isNaN(n),u=n!==s&&!d;if((!o.lazyLoad||!(8&l)||void 0===s)&&u&&(r.$instanceValues$.set(e,n),o.isDev&&(1024&r.$flags$?he(`The state/prop "${e}" changed during rendering. This can potentially lead to infinite-loops and other bugs.`,"\nElement",a,"\nNew value",n,"\nOld value",s):2048&r.$flags$&&he(`The state/prop "${e}" changed during "componentDidLoad()", this triggers extra re-renders, try to setup on "componentWillLoad()"`,"\nElement",a,"\nNew value",n,"\nOld value",s)),!o.lazyLoad||c)){if(o.watchCallback&&i.$watchers$&&128&l){const t=i.$watchers$[e];t&&t.map((t=>{try{c[t](n,s,e)}catch(o){ce(o,a)}}))}if(o.updatable&&2===(18&l)){if(o.cmpShouldUpdate&&c.componentShouldUpdate&&!1===c.componentShouldUpdate(n,s,e))return;Ot(r,!1)}}},Kt=(t,e,n)=>{if(o.member&&e.$members$){o.watchCallback&&t.watchers&&(e.$watchers$=t.watchers);const i=Object.entries(e.$members$),r=t.prototype;if(i.map((([t,[i]])=>{(o.prop||o.state)&&(31&i||(!o.lazyLoad||2&n)&&32&i)?Object.defineProperty(r,t,{get(){return Xt(this,t)},set(r){if(o.isDev){const o=ae(this);0===(1&n)&&0===(8&o.$flags$)&&0!==(31&i)&&0===(1024&i)&&he(`@Prop() "${t}" on <${e.$tagName$}> is immutable but was modified from within the component.\nMore information: https://stenciljs.com/docs/properties#prop-mutability`)}Jt(this,t,r,e)},configurable:!0,enumerable:!0}):o.lazyLoad&&o.method&&1&n&&64&i&&Object.defineProperty(r,t,{value(...e){const n=ae(this);return n.$onInstancePromise$.then((()=>n.$lazyInstance$[t](...e)))}})})),o.observeAttribute&&(!o.lazyLoad||1&n)){const n=new Map;r.attributeChangedCallback=function(t,e,o){w.jmp((()=>{const e=n.get(t);if(this.hasOwnProperty(e))o=this[e],delete this[e];else if(r.hasOwnProperty(e)&&"number"===typeof this[e]&&this[e]==o)return;this[e]=(null!==o||"boolean"!==typeof this[e])&&o}))},t.observedAttributes=i.filter((([t,e])=>15&e[0])).map((([t,i])=>{const r=i[1]||t;return n.set(r,t),o.reflect&&512&i[0]&&e.$attrsToReflect$.push([t,r]),r}))}}return t},Zt=async(t,e,i,r,a)=>{if((o.lazyLoad||o.hydrateServerSide||o.style)&&0===(32&e.$flags$)){if(o.lazyLoad||o.hydrateClientSide){if(e.$flags$|=32,a=fe(i,e,r),a.then){const t=B(`st:load:${i.$tagName$}:${e.$modeName$}`,`[Stencil] Load module for <${i.$tagName$}>`);a=await a,t()}if((o.isDev||o.isDebug)&&!a)throw new Error(`Constructor for "${i.$tagName$}#${e.$modeName$}" was not found`);o.member&&!a.isProxied&&(o.watchCallback&&(i.$watchers$=a.watchers),Kt(a,i,2),a.isProxied=!0);const t=M("createInstance",i.$tagName$);o.member&&(e.$flags$|=8);try{new a(e)}catch(c){ce(c)}o.member&&(e.$flags$&=-9),o.watchCallback&&(e.$flags$|=128),t(),Qt(e.$lazyInstance$)}else a=t.constructor,e.$flags$|=32,customElements.whenDefined(i.$tagName$).then((()=>e.$flags$|=128));if(o.style&&a.style){let r=a.style;o.mode&&"string"!==typeof r&&(r=r[e.$modeName$=V(t)],o.hydrateServerSide&&e.$modeName$&&t.setAttribute("s-mode",e.$modeName$));const s=q(i,e.$modeName$);if(!me.has(s)){const t=M("registerStyles",i.$tagName$);!o.hydrateServerSide&&o.shadowDom&&o.shadowDomShim&&8&i.$flags$&&(r=await n.e(576).then(n.bind(n,576)).then((t=>t.scopeCss(r,s,!1)))),H(s,r,!!(1&i.$flags$)),t()}}}const s=e.$ancestorComponent$,l=()=>Ot(e,!0);o.asyncLoading&&s&&s["s-rc"]?s["s-rc"].push(l):l()},Qt=t=>{o.lazyLoad&&o.connectedCallback&&Bt(t,"connectedCallback")},te=t=>{if(0===(1&w.$flags$)){const e=ae(t),n=e.$cmpMeta$,i=M("connectedCallback",n.$tagName$);if(o.hostListenerTargetParent&&C(t,e,n.$listeners$,!0),1&e.$flags$)C(t,e,n.$listeners$,!1),Qt(e.$lazyInstance$);else{let i;if(e.$flags$|=1,o.hydrateClientSide&&(i=t.getAttribute(N),i)){if(o.shadowDom&&k&&1&n.$flags$){const e=o.mode?W(t.shadowRoot,n,t.getAttribute("s-mode")):W(t.shadowRoot,n);t.classList.remove(e+"-h",e+"-s")}qt(t,n.$tagName$,i,e)}if(o.slotRelocation&&!i&&(o.hydrateServerSide||(o.slot||o.shadowDom)&&12&n.$flags$)&&ee(t),o.asyncLoading){let n=t;while(n=n.parentNode||n.host)if(o.hydrateClientSide&&1===n.nodeType&&n.hasAttribute("s-id")&&n["s-p"]||n["s-p"]){Rt(e,e.$ancestorComponent$=n);break}}o.prop&&!o.hydrateServerSide&&n.$members$&&Object.entries(n.$members$).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),o.initializeNextTick?Ee((()=>Zt(t,e,n))):Zt(t,e,n)}i()}},ee=t=>{const e=t["s-cr"]=v.createComment(o.isDebug?`content-ref (host=${t.localName})`:"");e["s-cn"]=!0,t.insertBefore(e,t.firstChild)},ne=t=>{if(0===(1&w.$flags$)){const e=ae(t),n=o.lazyLoad?e.$lazyInstance$:t;o.hostListener&&e.$rmListeners$&&(e.$rmListeners$.map((t=>t())),e.$rmListeners$=void 0),o.cssVarShim&&w.$cssShim$&&w.$cssShim$.removeHost(t),o.lazyLoad&&o.disconnectedCallback&&Bt(n,"disconnectedCallback"),o.cmpDidUnload&&Bt(n,"componentDidUnload")}},oe=(t,e)=>{const n={$flags$:e[0],$tagName$:e[1]};o.member&&(n.$members$=e[2]),o.hostListener&&(n.$listeners$=e[3]),o.watchCallback&&(n.$watchers$=t.$watchers$),o.reflect&&(n.$attrsToReflect$=[]),o.shadowDom&&!k&&1&n.$flags$&&(n.$flags$|=8);const i=t.prototype.connectedCallback,r=t.prototype.disconnectedCallback;return Object.assign(t.prototype,{__registerHost(){se(this,n)},connectedCallback(){te(this),o.connectedCallback&&i&&i.call(this)},disconnectedCallback(){ne(this),o.disconnectedCallback&&r&&r.call(this)},__attachShadow(){k?o.shadowDelegatesFocus?this.attachShadow({mode:"open",delegatesFocus:!!(16&n.$flags$)}):this.attachShadow({mode:"open"}):this.shadowRoot=this}}),t.is=n.$tagName$,Kt(t,n,3)},ie=t=>{const e=new URL(t,w.$resourcesUrl$);return e.origin!==b.location.origin?e.href:e.pathname},re=new WeakMap,ae=t=>re.get(t),se=(t,e)=>{const n={$flags$:0,$hostElement$:t,$cmpMeta$:e,$instanceValues$:new Map};return o.isDev&&(n.$renderCount$=0),o.method&&o.lazyLoad&&(n.$onInstancePromise$=new Promise((t=>n.$onInstanceResolve$=t))),o.asyncLoading&&(n.$onReadyPromise$=new Promise((t=>n.$onReadyResolve$=t)),t["s-p"]=[],t["s-rc"]=[]),C(t,n,e.$listeners$,!1),re.set(t,n)},le=(t,e)=>e in t,ce=(t,e)=>(l||console.error)(t,e),de=o.isTesting?["STENCIL:"]:["%cstencil","color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px"],ue=(...t)=>console.error(...de,...t),he=(...t)=>console.warn(...de,...t),pe=new Map,fe=(t,e,i)=>{const r=t.$tagName$.replace(/-/g,"_"),a=t.$lazyBundleId$;if(o.isDev&&"string"!==typeof a)return void ue(`Trying to lazily load component <${t.$tagName$}> with style mode "${e.$modeName$}", but it does not exist.`);const s=!o.hotModuleReplacement&&pe.get(a);return s?s[r]:n(1993)(`./${a}.entry.js${o.hotModuleReplacement&&i?"?s-hmr="+i:""}`).then((t=>(o.hotModuleReplacement||pe.set(a,t),t[r])),ce) +/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},me=new Map,ge=[],be=[],ve=[],ye=[],we=(t,e)=>n=>{t.push(n),g||(g=!0,e&&4&w.$flags$?Ee($e):w.raf($e))},xe=t=>{for(let n=0;n{let n=0,o=0;while(n{if(o.asyncQueue&&m++,xe(be),o.asyncQueue){const t=2===(6&w.$flags$)?performance.now()+14*Math.ceil(.1*m):1/0;ke(ve,t),ke(ye,t),ve.length>0&&(ye.push(...ve),ve.length=0),(g=be.length+ve.length+ye.length>0)?w.raf($e):m=0}else xe(ve),(g=be.length>0)&&w.raf($e)},Ee=t=>E().then(t),Se=we(be,!1),_e=we(ve,!0),Ce={isDev:!!o.isDev,isBrowser:!0,isServer:!1,isTesting:!!o.isTesting}},2262:function(t,e,n){"use strict";n.d(e,{B:function(){return a},BK:function(){return Wt},Bj:function(){return r},Fl:function(){return Yt},IU:function(){return Tt},Jd:function(){return E},PG:function(){return St},SU:function(){return Bt},Um:function(){return kt},WL:function(){return Ht},X$:function(){return A},X3:function(){return At},XI:function(){return zt},Xl:function(){return It},dq:function(){return Nt},iH:function(){return Pt},j:function(){return _},lk:function(){return S},qj:function(){return xt},qq:function(){return w},yT:function(){return Ct}});var o=n(3577);let i;class r{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&i&&(this.parent=i,this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active){const e=i;try{return i=this,t()}finally{i=e}}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&m)>0,d=t=>(t.n&m)>0,u=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let o=0;o{("length"===e||e>=i)&&c.push(t)}));else switch(void 0!==n&&c.push(s.get(n)),e){case"add":(0,o.kJ)(t)?(0,o.S0)(n)&&c.push(s.get("length")):(c.push(s.get(v)),(0,o._N)(t)&&c.push(s.get(y)));break;case"delete":(0,o.kJ)(t)||(c.push(s.get(v)),(0,o._N)(t)&&c.push(s.get(y)));break;case"set":(0,o._N)(t)&&c.push(s.get(v));break}if(1===c.length)c[0]&&T(c[0]);else{const t=[];for(const e of c)e&&t.push(...e);T(l(t))}}function T(t,e){const n=(0,o.kJ)(t)?t:[...t];for(const o of n)o.computed&&I(o,e);for(const o of n)o.computed||I(o,e)}function I(t,e){(t!==b||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const L=(0,o.fY)("__proto__,__v_isRef,__isVue"),R=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(o.yk)),O=j(),D=j(!1,!0),N=j(!0),P=z();function z(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Tt(this);for(let e=0,i=this.length;e{t[e]=function(...t){E();const n=Tt(this)[e].apply(this,t);return S(),n}})),t}function j(t=!1,e=!1){return function(n,i,r){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&r===(t?e?vt:bt:e?gt:mt).get(n))return n;const a=(0,o.kJ)(n);if(!t&&a&&(0,o.RI)(P,i))return Reflect.get(P,i,r);const s=Reflect.get(n,i,r);return((0,o.yk)(i)?R.has(i):L(i))?s:(t||_(n,"get",i),e?s:Nt(s)?a&&(0,o.S0)(i)?s:s.value:(0,o.Kn)(s)?t?$t(s):xt(s):s)}}const M=F(),B=F(!0);function F(t=!1){return function(e,n,i,r){let a=e[n];if(_t(a)&&Nt(a)&&!Nt(i))return!1;if(!t&&!_t(i)&&(Ct(i)||(i=Tt(i),a=Tt(a)),!(0,o.kJ)(e)&&Nt(a)&&!Nt(i)))return a.value=i,!0;const s=(0,o.kJ)(e)&&(0,o.S0)(n)?Number(n)t,X=t=>Reflect.getPrototypeOf(t);function J(t,e,n=!1,o=!1){t=t["__v_raw"];const i=Tt(t),r=Tt(e);n||(e!==r&&_(i,"get",e),_(i,"get",r));const{has:a}=X(i),s=o?G:n?Rt:Lt;return a.call(i,e)?s(t.get(e)):a.call(i,r)?s(t.get(r)):void(t!==i&&t.get(e))}function K(t,e=!1){const n=this["__v_raw"],o=Tt(n),i=Tt(t);return e||(t!==i&&_(o,"has",t),_(o,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)}function Z(t,e=!1){return t=t["__v_raw"],!e&&_(Tt(t),"iterate",v),Reflect.get(t,"size",t)}function Q(t){t=Tt(t);const e=Tt(this),n=X(e),o=n.has.call(e,t);return o||(e.add(t),A(e,"add",t,t)),this}function tt(t,e){e=Tt(e);const n=Tt(this),{has:i,get:r}=X(n);let a=i.call(n,t);a||(t=Tt(t),a=i.call(n,t));const s=r.call(n,t);return n.set(t,e),a?(0,o.aU)(e,s)&&A(n,"set",t,e,s):A(n,"add",t,e),this}function et(t){const e=Tt(this),{has:n,get:o}=X(e);let i=n.call(e,t);i||(t=Tt(t),i=n.call(e,t));const r=o?o.call(e,t):void 0,a=e.delete(t);return i&&A(e,"delete",t,void 0,r),a}function nt(){const t=Tt(this),e=0!==t.size,n=void 0,o=t.clear();return e&&A(t,"clear",void 0,void 0,n),o}function ot(t,e){return function(n,o){const i=this,r=i["__v_raw"],a=Tt(r),s=e?G:t?Rt:Lt;return!t&&_(a,"iterate",v),r.forEach(((t,e)=>n.call(o,s(t),s(e),i)))}}function it(t,e,n){return function(...i){const r=this["__v_raw"],a=Tt(r),s=(0,o._N)(a),l="entries"===t||t===Symbol.iterator&&s,c="keys"===t&&s,d=r[t](...i),u=n?G:e?Rt:Lt;return!e&&_(a,"iterate",c?y:v),{next(){const{value:t,done:e}=d.next();return e?{value:t,done:e}:{value:l?[u(t[0]),u(t[1])]:u(t),done:e}},[Symbol.iterator](){return this}}}}function rt(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return J(this,t)},get size(){return Z(this)},has:K,add:Q,set:tt,delete:et,clear:nt,forEach:ot(!1,!1)},e={get(t){return J(this,t,!1,!0)},get size(){return Z(this)},has:K,add:Q,set:tt,delete:et,clear:nt,forEach:ot(!1,!0)},n={get(t){return J(this,t,!0)},get size(){return Z(this,!0)},has(t){return K.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:ot(!0,!1)},o={get(t){return J(this,t,!0,!0)},get size(){return Z(this,!0)},has(t){return K.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:ot(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=it(i,!1,!1),n[i]=it(i,!0,!1),e[i]=it(i,!1,!0),o[i]=it(i,!0,!0)})),[t,n,e,o]}const[st,lt,ct,dt]=at();function ut(t,e){const n=e?t?dt:ct:t?lt:st;return(e,i,r)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,o.RI)(n,i)&&i in e?n:e,i,r)}const ht={get:ut(!1,!1)},pt={get:ut(!1,!0)},ft={get:ut(!0,!1)};const mt=new WeakMap,gt=new WeakMap,bt=new WeakMap,vt=new WeakMap;function yt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:yt((0,o.W7)(t))}function xt(t){return _t(t)?t:Et(t,!1,q,ht,mt)}function kt(t){return Et(t,!1,Y,pt,gt)}function $t(t){return Et(t,!0,V,ft,bt)}function Et(t,e,n,i,r){if(!(0,o.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=r.get(t);if(a)return a;const s=wt(t);if(0===s)return t;const l=new Proxy(t,2===s?i:n);return r.set(t,l),l}function St(t){return _t(t)?St(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function _t(t){return!(!t||!t["__v_isReadonly"])}function Ct(t){return!(!t||!t["__v_isShallow"])}function At(t){return St(t)||_t(t)}function Tt(t){const e=t&&t["__v_raw"];return e?Tt(e):t}function It(t){return(0,o.Nj)(t,"__v_skip",!0),t}const Lt=t=>(0,o.Kn)(t)?xt(t):t,Rt=t=>(0,o.Kn)(t)?$t(t):t;function Ot(t){k&&b&&(t=Tt(t),C(t.dep||(t.dep=l())))}function Dt(t,e){t=Tt(t),t.dep&&T(t.dep)}function Nt(t){return!(!t||!0!==t.__v_isRef)}function Pt(t){return jt(t,!1)}function zt(t){return jt(t,!0)}function jt(t,e){return Nt(t)?t:new Mt(t,e)}class Mt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Tt(t),this._value=e?t:Lt(t)}get value(){return Ot(this),this._value}set value(t){t=this.__v_isShallow?t:Tt(t),(0,o.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Lt(t),Dt(this,t))}}function Bt(t){return Nt(t)?t.value:t}const Ft={get:(t,e,n)=>Bt(Reflect.get(t,e,n)),set:(t,e,n,o)=>{const i=t[e];return Nt(i)&&!Nt(n)?(i.value=n,!0):Reflect.set(t,e,n,o)}};function Ht(t){return St(t)?t:new Proxy(t,Ft)}function Wt(t){const e=(0,o.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=qt(t,n);return e}class Ut{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function qt(t,e,n){const o=t[e];return Nt(o)?o:new Ut(t,e,n)}class Vt{constructor(t,e,n,o){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new w(t,(()=>{this._dirty||(this._dirty=!0,Dt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!o,this["__v_isReadonly"]=n}get value(){const t=Tt(this);return Ot(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Yt(t,e,n=!1){let i,r;const a=(0,o.mf)(t);a?(i=t,r=o.dG):(i=t.get,r=t.set);const s=new Vt(i,r,a||!r,n);return s}},6252:function(t,e,n){"use strict";n.d(e,{$d:function(){return a},Ah:function(){return It},FN:function(){return $n},Fl:function(){return Mn},HY:function(){return He},JJ:function(){return X},Ko:function(){return Ft},P$:function(){return at},Q6:function(){return ht},U2:function(){return lt},Uk:function(){return hn},Us:function(){return Te},WI:function(){return Ht},Wm:function(){return ln},Y3:function(){return k},Y8:function(){return ot},YP:function(){return Z},_:function(){return sn},aZ:function(){return pt},bv:function(){return _t},f3:function(){return J},h:function(){return Bn},iD:function(){return Qe},ic:function(){return At},j4:function(){return tn},kq:function(){return pn},lR:function(){return Fe},nK:function(){return ut},up:function(){return zt},w5:function(){return B},wg:function(){return Ge},xv:function(){return We}});var o=n(2262),i=n(3577);function r(t,e,n,o){let i;try{i=o?t(...o):t()}catch(r){s(r,e,n)}return i}function a(t,e,n,o){if((0,i.mf)(t)){const a=r(t,e,n,o);return a&&(0,i.tI)(a)&&a.catch((t=>{s(t,e,n)})),a}const l=[];for(let i=0;i>>1,i=R(u[o]);ih&&u.splice(e,1)}function C(t,e,n,o){(0,i.kJ)(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?o+1:o)||n.push(t),S()}function A(t){C(t,f,p,m)}function T(t){C(t,b,g,v)}function I(t,e=null){if(p.length){for(x=e,f=[...new Set(p)],p.length=0,m=0;mR(t)-R(e))),v=0;vnull==t.id?1/0:t.id;function O(t){d=!1,c=!0,I(t),u.sort(((t,e)=>R(t)-R(e)));i.dG;try{for(h=0;ht.trim()))),e&&(r=n.map(i.He))}let c;let d=o[c=(0,i.hR)(e)]||o[c=(0,i.hR)((0,i._A)(e))];!d&&s&&(d=o[c=(0,i.hR)((0,i.rs)(e))]),d&&a(d,t,6,r);const u=o[c+"Once"];if(u){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,a(u,t,6,r)}}function N(t,e,n=!1){const o=e.emitsCache,r=o.get(t);if(void 0!==r)return r;const a=t.emits;let s={},l=!1;if(!(0,i.mf)(t)){const o=t=>{const n=N(t,e,!0);n&&(l=!0,(0,i.l7)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(o),t.extends&&o(t.extends),t.mixins&&t.mixins.forEach(o)}return a||l?((0,i.kJ)(a)?a.forEach((t=>s[t]=null)):(0,i.l7)(s,a),o.set(t,s),s):(o.set(t,null),null)}function P(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let z=null,j=null;function M(t){const e=z;return z=t,j=t&&t.type.__scopeId||null,e}function B(t,e=z,n){if(!e)return t;if(t._n)return t;const o=(...n)=>{o._d&&Ke(-1);const i=M(e),r=t(...n);return M(i),o._d&&Ke(1),r};return o._n=!0,o._c=!0,o._d=!0,o}function F(t){const{type:e,vnode:n,proxy:o,withProxy:r,props:a,propsOptions:[l],slots:c,attrs:d,emit:u,render:h,renderCache:p,data:f,setupState:m,ctx:g,inheritAttrs:b}=t;let v,y;const w=M(t);try{if(4&n.shapeFlag){const t=r||o;v=fn(h.call(t,t,p,a,m,f,g)),y=d}else{const t=e;0,v=fn(t.length>1?t(a,{attrs:d,slots:c,emit:u}):t(a,null)),y=e.props?d:H(d)}}catch(k){Ve.length=0,s(k,t,1),v=ln(Ue)}let x=v;if(y&&!1!==b){const t=Object.keys(y),{shapeFlag:e}=x;t.length&&7&e&&(l&&t.some(i.tR)&&(y=W(y,l)),x=un(x,y))}return n.dirs&&(x=un(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),v=x,M(w),v}const H=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},W=(t,e)=>{const n={};for(const o in t)(0,i.tR)(o)&&o.slice(9)in e||(n[o]=t[o]);return n};function U(t,e,n){const{props:o,children:i,component:r}=t,{props:a,children:s,patchFlag:l}=e,c=r.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||o!==a&&(o?!a||q(o,a,c):!!a);if(1024&l)return!0;if(16&l)return o?q(o,a,c):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function G(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):T(t)}function X(t,e){if(kn){let n=kn.provides;const o=kn.parent&&kn.parent.provides;o===n&&(n=kn.provides=Object.create(o)),n[t]=e}else 0}function J(t,e,n=!1){const o=kn||z;if(o){const r=null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(r&&t in r)return r[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(o.proxy):e}else 0}const K={};function Z(t,e,n){return Q(t,e,n)}function Q(t,e,{immediate:n,deep:s,flush:l,onTrack:c,onTrigger:d}=i.kT){const u=kn;let h,p,f=!1,m=!1;if((0,o.dq)(t)?(h=()=>t.value,f=(0,o.yT)(t)):(0,o.PG)(t)?(h=()=>t,s=!0):(0,i.kJ)(t)?(m=!0,f=t.some((t=>(0,o.PG)(t)||(0,o.yT)(t))),h=()=>t.map((t=>(0,o.dq)(t)?t.value:(0,o.PG)(t)?nt(t):(0,i.mf)(t)?r(t,u,2):void 0))):h=(0,i.mf)(t)?e?()=>r(t,u,2):()=>{if(!u||!u.isUnmounted)return p&&p(),a(t,u,3,[g])}:i.dG,e&&s){const t=h;h=()=>nt(t())}let g=t=>{p=w.onStop=()=>{r(t,u,4)}};if(Tn)return g=i.dG,e?n&&a(e,u,3,[h(),m?[]:void 0,g]):h(),i.dG;let b=m?[]:K;const v=()=>{if(w.active)if(e){const t=w.run();(s||f||(m?t.some(((t,e)=>(0,i.aU)(t,b[e]))):(0,i.aU)(t,b)))&&(p&&p(),a(e,u,3,[t,b===K?void 0:b,g]),b=t)}else w.run()};let y;v.allowRecurse=!!e,y="sync"===l?v:"post"===l?()=>Ae(v,u&&u.suspense):()=>A(v);const w=new o.qq(h,y);return e?n?v():b=w.run():"post"===l?Ae(w.run.bind(w),u&&u.suspense):w.run(),()=>{w.stop(),u&&u.scope&&(0,i.Od)(u.scope.effects,w)}}function tt(t,e,n){const o=this.proxy,r=(0,i.HD)(t)?t.includes(".")?et(o,t):()=>o[t]:t.bind(o,o);let a;(0,i.mf)(e)?a=e:(a=e.handler,n=e);const s=kn;En(this);const l=Q(r,a.bind(o),n);return s?En(s):Sn(),l}function et(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{nt(t,e)}));else if((0,i.PO)(t))for(const n in t)nt(t[n],e);return t}function ot(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return _t((()=>{t.isMounted=!0})),Tt((()=>{t.isUnmounting=!0})),t}const it=[Function,Array],rt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:it,onEnter:it,onAfterEnter:it,onEnterCancelled:it,onBeforeLeave:it,onLeave:it,onAfterLeave:it,onLeaveCancelled:it,onBeforeAppear:it,onAppear:it,onAfterAppear:it,onAppearCancelled:it},setup(t,{slots:e}){const n=$n(),i=ot();let r;return()=>{const a=e.default&&ht(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Ue){0,s=e,t=!0;break}}const l=(0,o.IU)(t),{mode:c}=l;if(i.isLeaving)return ct(s);const d=dt(s);if(!d)return ct(s);const u=lt(d,l,i,n);ut(d,u);const h=n.subTree,p=h&&dt(h);let f=!1;const{getTransitionKey:m}=d.type;if(m){const t=m();void 0===r?r=t:t!==r&&(r=t,f=!0)}if(p&&p.type!==Ue&&(!nn(d,p)||f)){const t=lt(p,l,i,n);if(ut(p,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},ct(s);"in-out"===c&&d.type!==Ue&&(t.delayLeave=(t,e,n)=>{const o=st(i,p);o[String(p.key)]=p,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return s}}},at=rt;function st(t,e){const{leavingVNodes:n}=t;let o=n.get(e.type);return o||(o=Object.create(null),n.set(e.type,o)),o}function lt(t,e,n,o){const{appear:r,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:p,onLeave:f,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:b,onAppear:v,onAfterAppear:y,onAppearCancelled:w}=e,x=String(t.key),k=st(n,t),$=(t,e)=>{t&&a(t,o,9,e)},E=(t,e)=>{const n=e[1];$(t,e),(0,i.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},S={mode:s,persisted:l,beforeEnter(e){let o=c;if(!n.isMounted){if(!r)return;o=b||c}e._leaveCb&&e._leaveCb(!0);const i=k[x];i&&nn(t,i)&&i.el._leaveCb&&i.el._leaveCb(),$(o,[e])},enter(t){let e=d,o=u,i=h;if(!n.isMounted){if(!r)return;e=v||d,o=y||u,i=w||h}let a=!1;const s=t._enterCb=e=>{a||(a=!0,$(e?i:o,[t]),S.delayedLeave&&S.delayedLeave(),t._enterCb=void 0)};e?E(e,[t,s]):s()},leave(e,o){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return o();$(p,[e]);let r=!1;const a=e._leaveCb=n=>{r||(r=!0,o(),$(n?g:m,[e]),e._leaveCb=void 0,k[i]===t&&delete k[i])};k[i]=t,f?E(f,[e,a]):a()},clone(t){return lt(t,e,n,o)}};return S}function ct(t){if(mt(t))return t=un(t),t.children=null,t}function dt(t){return mt(t)?t.children?t.children[0]:void 0:t}function ut(t,e){6&t.shapeFlag&&t.component?ut(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ht(t,e=!1,n){let o=[],i=0;for(let r=0;r1)for(let r=0;r!!t.type.__asyncLoader;const mt=t=>t.type.__isKeepAlive;RegExp,RegExp;function gt(t,e){return(0,i.kJ)(t)?t.some((t=>gt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function bt(t,e){yt(t,"a",e)}function vt(t,e){yt(t,"da",e)}function yt(t,e,n=kn){const o=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if($t(e,o,n),n){let t=n.parent;while(t&&t.parent)mt(t.parent.vnode)&&wt(o,e,n,t),t=t.parent}}function wt(t,e,n,o){const r=$t(e,t,o,!0);It((()=>{(0,i.Od)(o[e],r)}),n)}function xt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function kt(t){return 128&t.shapeFlag?t.ssContent:t}function $t(t,e,n=kn,i=!1){if(n){const r=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,o.Jd)(),En(n);const r=a(e,n,t,i);return Sn(),(0,o.lk)(),r});return i?r.unshift(s):r.push(s),s}}const Et=t=>(e,n=kn)=>(!Tn||"sp"===t)&&$t(t,e,n),St=Et("bm"),_t=Et("m"),Ct=Et("bu"),At=Et("u"),Tt=Et("bum"),It=Et("um"),Lt=Et("sp"),Rt=Et("rtg"),Ot=Et("rtc");function Dt(t,e=kn){$t("ec",t,e)}function Nt(t,e,n,i){const r=t.dirs,s=e&&e.dirs;for(let l=0;le(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);r=new Array(n.length);for(let o=0,i=n.length;o!en(t)||t.type!==Ue&&!(t.type===He&&!Wt(t.children))))?t:null}const Ut=t=>t?_n(t)?Pn(t)||t.proxy:Ut(t.parent):null,qt=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ut(t.parent),$root:t=>Ut(t.root),$emit:t=>t.emit,$options:t=>Zt(t),$forceUpdate:t=>t.f||(t.f=()=>E(t.update)),$nextTick:t=>t.n||(t.n=k.bind(t.proxy)),$watch:t=>tt.bind(t)}),Vt={get({_:t},e){const{ctx:n,setupState:r,data:a,props:s,accessCache:l,type:c,appContext:d}=t;let u;if("$"!==e[0]){const o=l[e];if(void 0!==o)switch(o){case 1:return r[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(r!==i.kT&&(0,i.RI)(r,e))return l[e]=1,r[e];if(a!==i.kT&&(0,i.RI)(a,e))return l[e]=2,a[e];if((u=t.propsOptions[0])&&(0,i.RI)(u,e))return l[e]=3,s[e];if(n!==i.kT&&(0,i.RI)(n,e))return l[e]=4,n[e];Yt&&(l[e]=0)}}const h=qt[e];let p,f;return h?("$attrs"===e&&(0,o.j)(t,"get",e),h(t)):(p=c.__cssModules)&&(p=p[e])?p:n!==i.kT&&(0,i.RI)(n,e)?(l[e]=4,n[e]):(f=d.config.globalProperties,(0,i.RI)(f,e)?f[e]:void 0)},set({_:t},e,n){const{data:o,setupState:r,ctx:a}=t;return r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):o!==i.kT&&(0,i.RI)(o,e)?(o[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:r,propsOptions:a}},s){let l;return!!n[s]||t!==i.kT&&(0,i.RI)(t,s)||e!==i.kT&&(0,i.RI)(e,s)||(l=a[0])&&(0,i.RI)(l,s)||(0,i.RI)(o,s)||(0,i.RI)(qt,s)||(0,i.RI)(r.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,i.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let Yt=!0;function Gt(t){const e=Zt(t),n=t.proxy,r=t.ctx;Yt=!1,e.beforeCreate&&Jt(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:c,provide:d,inject:u,created:h,beforeMount:p,mounted:f,beforeUpdate:m,updated:g,activated:b,deactivated:v,beforeDestroy:y,beforeUnmount:w,destroyed:x,unmounted:k,render:$,renderTracked:E,renderTriggered:S,errorCaptured:_,serverPrefetch:C,expose:A,inheritAttrs:T,components:I,directives:L,filters:R}=e,O=null;if(u&&Xt(u,r,O,t.appContext.config.unwrapInjectedRef),l)for(const o in l){const t=l[o];(0,i.mf)(t)&&(r[o]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,o.qj)(e))}if(Yt=!0,s)for(const o in s){const t=s[o],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const a=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,l=Mn({get:e,set:a});Object.defineProperty(r,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(c)for(const o in c)Kt(c[o],r,n,o);if(d){const t=(0,i.mf)(d)?d.call(n):d;Reflect.ownKeys(t).forEach((e=>{X(e,t[e])}))}function D(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(h&&Jt(h,t,"c"),D(St,p),D(_t,f),D(Ct,m),D(At,g),D(bt,b),D(vt,v),D(Dt,_),D(Ot,E),D(Rt,S),D(Tt,w),D(It,k),D(Lt,C),(0,i.kJ)(A))if(A.length){const e=t.exposed||(t.exposed={});A.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});$&&t.render===i.dG&&(t.render=$),null!=T&&(t.inheritAttrs=T),I&&(t.components=I),L&&(t.directives=L)}function Xt(t,e,n=i.dG,r=!1){(0,i.kJ)(t)&&(t=oe(t));for(const a in t){const n=t[a];let s;s=(0,i.Kn)(n)?"default"in n?J(n.from||a,n.default,!0):J(n.from||a):J(n),(0,o.dq)(s)&&r?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:t=>s.value=t}):e[a]=s}}function Jt(t,e,n){a((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Kt(t,e,n,o){const r=o.includes(".")?et(n,o):()=>n[o];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&Z(r,n)}else if((0,i.mf)(t))Z(r,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Kt(t,e,n,o)));else{const o=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(o)&&Z(r,o,t)}else 0}function Zt(t){const e=t.type,{mixins:n,extends:o}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:a}}=t.appContext,s=r.get(e);let l;return s?l=s:i.length||n||o?(l={},i.length&&i.forEach((t=>Qt(l,t,a,!0))),Qt(l,e,a)):l=e,r.set(e,l),l}function Qt(t,e,n,o=!1){const{mixins:i,extends:r}=e;r&&Qt(t,r,n,!0),i&&i.forEach((e=>Qt(t,e,n,!0)));for(const a in e)if(o&&"expose"===a);else{const o=te[a]||n&&n[a];t[a]=o?o(t[a],e[a]):e[a]}return t}const te={data:ee,props:re,emits:re,methods:re,computed:re,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:re,directives:re,watch:ae,provide:ee,inject:ne};function ee(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function ne(t,e){return re(oe(t),oe(e))}function oe(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&l){let o;ce(t,e,a,s)&&(u=!0);for(const r in c)e&&((0,i.RI)(e,r)||(o=(0,i.rs)(r))!==r&&(0,i.RI)(e,o))||(d?!n||void 0===n[r]&&void 0===n[o]||(a[r]=de(d,c,r,void 0,t,!0)):delete a[r]);if(s!==c)for(const t in s)e&&(0,i.RI)(e,t)||(delete s[t],u=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let o=0;o{c=!0;const[n,o]=ue(t,e,!0);(0,i.l7)(s,n),o&&l.push(...o)};!n&&e.mixins.length&&e.mixins.forEach(o),t.extends&&o(t.extends),t.mixins&&t.mixins.forEach(o)}if(!a&&!c)return o.set(t,i.Z6),i.Z6;if((0,i.kJ)(a))for(let u=0;u-1,o[1]=n<0||t-1||(0,i.RI)(o,"default"))&&l.push(e)}}}}const d=[s,l];return o.set(t,d),d}function he(t){return"$"!==t[0]}function pe(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function fe(t,e){return pe(t)===pe(e)}function me(t,e){return(0,i.kJ)(e)?e.findIndex((e=>fe(e,t))):(0,i.mf)(e)&&fe(e,t)?0:-1}const ge=t=>"_"===t[0]||"$stable"===t,be=t=>(0,i.kJ)(t)?t.map(fn):[fn(t)],ve=(t,e,n)=>{if(e._n)return e;const o=B(((...t)=>be(e(...t))),n);return o._c=!1,o},ye=(t,e,n)=>{const o=t._ctx;for(const r in t){if(ge(r))continue;const n=t[r];if((0,i.mf)(n))e[r]=ve(r,n,o);else if(null!=n){0;const t=be(n);e[r]=()=>t}}},we=(t,e)=>{const n=be(e);t.slots.default=()=>n},xe=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,o.IU)(e),(0,i.Nj)(e,"_",n)):ye(e,t.slots={})}else t.slots={},e&&we(t,e);(0,i.Nj)(t.slots,on,1)},ke=(t,e,n)=>{const{vnode:o,slots:r}=t;let a=!0,s=i.kT;if(32&o.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,i.l7)(r,e),n||1!==t||delete r._):(a=!e.$stable,ye(e,r)),s=e}else e&&(we(t,e),s={default:1});if(a)for(const i in r)ge(i)||i in s||delete r[i]};function $e(){return{app:null,config:{isNativeTag:i.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ee=0;function Se(t,e){return function(n,o=null){(0,i.mf)(n)||(n=Object.assign({},n)),null==o||(0,i.Kn)(o)||(o=null);const r=$e(),a=new Set;let s=!1;const l=r.app={_uid:Ee++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:Fn,get config(){return r.config},set config(t){0},use(t,...e){return a.has(t)||(t&&(0,i.mf)(t.install)?(a.add(t),t.install(l,...e)):(0,i.mf)(t)&&(a.add(t),t(l,...e))),l},mixin(t){return r.mixins.includes(t)||r.mixins.push(t),l},component(t,e){return e?(r.components[t]=e,l):r.components[t]},directive(t,e){return e?(r.directives[t]=e,l):r.directives[t]},mount(i,a,c){if(!s){0;const d=ln(n,o);return d.appContext=r,a&&e?e(d,i):t(d,i,c),s=!0,l._container=i,i.__vue_app__=l,Pn(d.component)||d.component.proxy}},unmount(){s&&(t(null,l._container),delete l._container.__vue_app__)},provide(t,e){return r.provides[t]=e,l}};return l}}function _e(t,e,n,a,s=!1){if((0,i.kJ)(t))return void t.forEach(((t,o)=>_e(t,e&&((0,i.kJ)(e)?e[o]:e),n,a,s)));if(ft(a)&&!s)return;const l=4&a.shapeFlag?Pn(a.component)||a.component.proxy:a.el,c=s?null:l,{i:d,r:u}=t;const h=e&&e.r,p=d.refs===i.kT?d.refs={}:d.refs,f=d.setupState;if(null!=h&&h!==u&&((0,i.HD)(h)?(p[h]=null,(0,i.RI)(f,h)&&(f[h]=null)):(0,o.dq)(h)&&(h.value=null)),(0,i.mf)(u))r(u,d,12,[c,p]);else{const e=(0,i.HD)(u),r=(0,o.dq)(u);if(e||r){const o=()=>{if(t.f){const n=e?p[u]:u.value;s?(0,i.kJ)(n)&&(0,i.Od)(n,l):(0,i.kJ)(n)?n.includes(l)||n.push(l):e?(p[u]=[l],(0,i.RI)(f,u)&&(f[u]=p[u])):(u.value=[l],t.k&&(p[t.k]=u.value))}else e?(p[u]=c,(0,i.RI)(f,u)&&(f[u]=c)):r&&(u.value=c,t.k&&(p[t.k]=c))};c?(o.id=-1,Ae(o,n)):o()}else 0}}function Ce(){}const Ae=G;function Te(t){return Ie(t)}function Ie(t,e){Ce();const n=(0,i.E9)();n.__VUE__=!0;const{insert:r,remove:a,patchProp:s,createElement:l,createText:c,createComment:d,setText:u,setElementText:h,parentNode:p,nextSibling:f,setScopeId:m=i.dG,cloneNode:g,insertStaticContent:b}=t,v=(t,e,n,o=null,i=null,r=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!nn(t,e)&&(o=Q(t),G(t,i,r,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:c,ref:d,shapeFlag:u}=e;switch(c){case We:y(t,e,n,o);break;case Ue:w(t,e,n,o);break;case qe:null==t&&x(e,n,o,a);break;case He:N(t,e,n,o,i,r,a,s,l);break;default:1&u?S(t,e,n,o,i,r,a,s,l):6&u?P(t,e,n,o,i,r,a,s,l):(64&u||128&u)&&c.process(t,e,n,o,i,r,a,s,l,et)}null!=d&&i&&_e(d,t&&t.ref,r,e||t,!e)},y=(t,e,n,o)=>{if(null==t)r(e.el=c(e.children),n,o);else{const n=e.el=t.el;e.children!==t.children&&u(n,e.children)}},w=(t,e,n,o)=>{null==t?r(e.el=d(e.children||""),n,o):e.el=t.el},x=(t,e,n,o)=>{[t.el,t.anchor]=b(t.children,e,n,o,t.el,t.anchor)},k=({el:t,anchor:e},n,o)=>{let i;while(t&&t!==e)i=f(t),r(t,n,o),t=i;r(e,n,o)},$=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=f(t),a(t),t=n;a(e)},S=(t,e,n,o,i,r,a,s,l)=>{a=a||"svg"===e.type,null==t?C(e,n,o,i,r,a,s,l):R(t,e,i,r,a,s,l)},C=(t,e,n,o,a,c,d,u)=>{let p,f;const{type:m,props:b,shapeFlag:v,transition:y,patchFlag:w,dirs:x}=t;if(t.el&&void 0!==g&&-1===w)p=t.el=g(t.el);else{if(p=t.el=l(t.type,c,b&&b.is,b),8&v?h(p,t.children):16&v&&T(t.children,p,null,o,a,c&&"foreignObject"!==m,d,u),x&&Nt(t,null,o,"created"),b){for(const e in b)"value"===e||(0,i.Gg)(e)||s(p,e,null,b[e],c,t.children,o,a,Z);"value"in b&&s(p,"value",null,b.value),(f=b.onVnodeBeforeMount)&&vn(f,o,t)}A(p,t,t.scopeId,d,o)}x&&Nt(t,null,o,"beforeMount");const k=(!a||a&&!a.pendingBranch)&&y&&!y.persisted;k&&y.beforeEnter(p),r(p,e,n),((f=b&&b.onVnodeMounted)||k||x)&&Ae((()=>{f&&vn(f,o,t),k&&y.enter(p),x&&Nt(t,null,o,"mounted")}),a)},A=(t,e,n,o,i)=>{if(n&&m(t,n),o)for(let r=0;r{for(let c=l;c{const c=e.el=t.el;let{patchFlag:d,dynamicChildren:u,dirs:p}=e;d|=16&t.patchFlag;const f=t.props||i.kT,m=e.props||i.kT;let g;n&&Le(n,!1),(g=m.onVnodeBeforeUpdate)&&vn(g,n,e,t),p&&Nt(e,t,n,"beforeUpdate"),n&&Le(n,!0);const b=r&&"foreignObject"!==e.type;if(u?O(t.dynamicChildren,u,c,n,o,b,a):l||H(t,e,c,null,n,o,b,a,!1),d>0){if(16&d)D(c,e,f,m,n,o,r);else if(2&d&&f.class!==m.class&&s(c,"class",null,m.class,r),4&d&&s(c,"style",f.style,m.style,r),8&d){const i=e.dynamicProps;for(let e=0;e{g&&vn(g,n,e,t),p&&Nt(e,t,n,"updated")}),o)},O=(t,e,n,o,i,r,a)=>{for(let s=0;s{if(n!==o){for(const c in o){if((0,i.Gg)(c))continue;const d=o[c],u=n[c];d!==u&&"value"!==c&&s(t,c,u,d,l,e.children,r,a,Z)}if(n!==i.kT)for(const c in n)(0,i.Gg)(c)||c in o||s(t,c,n[c],null,l,e.children,r,a,Z);"value"in o&&s(t,"value",n.value,o.value)}},N=(t,e,n,o,i,a,s,l,d)=>{const u=e.el=t?t.el:c(""),h=e.anchor=t?t.anchor:c("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=e;m&&(l=l?l.concat(m):m),null==t?(r(u,n,o),r(h,n,o),T(e.children,n,h,i,a,s,l,d)):p>0&&64&p&&f&&t.dynamicChildren?(O(t.dynamicChildren,f,n,i,a,s,l),(null!=e.key||i&&e===i.subTree)&&Re(t,e,!0)):H(t,e,n,h,i,a,s,l,d)},P=(t,e,n,o,i,r,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?i.ctx.activate(e,n,o,a,l):z(e,n,o,i,r,a,l):j(t,e,l)},z=(t,e,n,o,i,r,a)=>{const s=t.component=xn(t,o,i);if(mt(t)&&(s.ctx.renderer=et),In(s),s.asyncDep){if(i&&i.registerDep(s,M),!t.el){const t=s.subTree=ln(Ue);w(null,t,e,n)}}else M(s,t,e,n,i,r,a)},j=(t,e,n)=>{const o=e.component=t.component;if(U(t,e,n)){if(o.asyncDep&&!o.asyncResolved)return void B(o,e,n);o.next=e,_(o.update),o.update()}else e.el=t.el,o.vnode=e},M=(t,e,n,r,a,s,l)=>{const c=()=>{if(t.isMounted){let e,{next:n,bu:o,u:r,parent:c,vnode:d}=t,u=n;0,Le(t,!1),n?(n.el=d.el,B(t,n,l)):n=d,o&&(0,i.ir)(o),(e=n.props&&n.props.onVnodeBeforeUpdate)&&vn(e,c,n,d),Le(t,!0);const h=F(t);0;const f=t.subTree;t.subTree=h,v(f,h,p(f.el),Q(f),t,a,s),n.el=h.el,null===u&&V(t,h.el),r&&Ae(r,a),(e=n.props&&n.props.onVnodeUpdated)&&Ae((()=>vn(e,c,n,d)),a)}else{let o;const{el:l,props:c}=e,{bm:d,m:u,parent:h}=t,p=ft(e);if(Le(t,!1),d&&(0,i.ir)(d),!p&&(o=c&&c.onVnodeBeforeMount)&&vn(o,h,e),Le(t,!0),l&&ot){const n=()=>{t.subTree=F(t),ot(l,t.subTree,t,a,null)};p?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const o=t.subTree=F(t);0,v(null,o,n,r,t,a,s),e.el=o.el}if(u&&Ae(u,a),!p&&(o=c&&c.onVnodeMounted)){const t=e;Ae((()=>vn(o,h,t)),a)}(256&e.shapeFlag||h&&ft(h.vnode)&&256&h.vnode.shapeFlag)&&t.a&&Ae(t.a,a),t.isMounted=!0,e=n=r=null}},d=t.effect=new o.qq(c,(()=>E(u)),t.scope),u=t.update=()=>d.run();u.id=t.uid,Le(t,!0),u()},B=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,le(t,e.props,i,n),ke(t,e.children,n),(0,o.Jd)(),I(void 0,t.update),(0,o.lk)()},H=(t,e,n,o,i,r,a,s,l=!1)=>{const c=t&&t.children,d=t?t.shapeFlag:0,u=e.children,{patchFlag:p,shapeFlag:f}=e;if(p>0){if(128&p)return void q(c,u,n,o,i,r,a,s,l);if(256&p)return void W(c,u,n,o,i,r,a,s,l)}8&f?(16&d&&Z(c,i,r),u!==c&&h(n,u)):16&d?16&f?q(c,u,n,o,i,r,a,s,l):Z(c,i,r,!0):(8&d&&h(n,""),16&f&&T(u,n,o,i,r,a,s,l))},W=(t,e,n,o,r,a,s,l,c)=>{t=t||i.Z6,e=e||i.Z6;const d=t.length,u=e.length,h=Math.min(d,u);let p;for(p=0;pu?Z(t,r,a,!0,!1,h):T(e,n,o,r,a,s,l,c,h)},q=(t,e,n,o,r,a,s,l,c)=>{let d=0;const u=e.length;let h=t.length-1,p=u-1;while(d<=h&&d<=p){const o=t[d],i=e[d]=c?mn(e[d]):fn(e[d]);if(!nn(o,i))break;v(o,i,n,null,r,a,s,l,c),d++}while(d<=h&&d<=p){const o=t[h],i=e[p]=c?mn(e[p]):fn(e[p]);if(!nn(o,i))break;v(o,i,n,null,r,a,s,l,c),h--,p--}if(d>h){if(d<=p){const t=p+1,i=tp)while(d<=h)G(t[d],r,a,!0),d++;else{const f=d,m=d,g=new Map;for(d=m;d<=p;d++){const t=e[d]=c?mn(e[d]):fn(e[d]);null!=t.key&&g.set(t.key,d)}let b,y=0;const w=p-m+1;let x=!1,k=0;const $=new Array(w);for(d=0;d=w){G(o,r,a,!0);continue}let i;if(null!=o.key)i=g.get(o.key);else for(b=m;b<=p;b++)if(0===$[b-m]&&nn(o,e[b])){i=b;break}void 0===i?G(o,r,a,!0):($[i-m]=d+1,i>=k?k=i:x=!0,v(o,e[i],n,null,r,a,s,l,c),y++)}const E=x?Oe($):i.Z6;for(b=E.length-1,d=w-1;d>=0;d--){const t=m+d,i=e[t],h=t+1{const{el:a,type:s,transition:l,children:c,shapeFlag:d}=t;if(6&d)return void Y(t.component.subTree,e,n,o);if(128&d)return void t.suspense.move(e,n,o);if(64&d)return void s.move(t,e,n,et);if(s===He){r(a,e,n);for(let t=0;tl.enter(a)),i);else{const{leave:t,delayLeave:o,afterLeave:i}=l,s=()=>r(a,e,n),c=()=>{t(a,(()=>{s(),i&&i()}))};o?o(a,s,c):c()}else r(a,e,n)},G=(t,e,n,o=!1,i=!1)=>{const{type:r,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:u,dirs:h}=t;if(null!=s&&_e(s,null,n,t,!0),256&d)return void e.ctx.deactivate(t);const p=1&d&&h,f=!ft(t);let m;if(f&&(m=a&&a.onVnodeBeforeUnmount)&&vn(m,e,t),6&d)K(t.component,n,o);else{if(128&d)return void t.suspense.unmount(n,o);p&&Nt(t,null,e,"beforeUnmount"),64&d?t.type.remove(t,e,n,i,et,o):c&&(r!==He||u>0&&64&u)?Z(c,e,n,!1,!0):(r===He&&384&u||!i&&16&d)&&Z(l,e,n),o&&X(t)}(f&&(m=a&&a.onVnodeUnmounted)||p)&&Ae((()=>{m&&vn(m,e,t),p&&Nt(t,null,e,"unmounted")}),n)},X=t=>{const{type:e,el:n,anchor:o,transition:i}=t;if(e===He)return void J(n,o);if(e===qe)return void $(t);const r=()=>{a(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:o}=i,a=()=>e(n,r);o?o(t.el,r,a):a()}else r()},J=(t,e)=>{let n;while(t!==e)n=f(t),a(t),t=n;a(e)},K=(t,e,n)=>{const{bum:o,scope:r,update:a,subTree:s,um:l}=t;o&&(0,i.ir)(o),r.stop(),a&&(a.active=!1,G(s,t,e,n)),l&&Ae(l,e),Ae((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Z=(t,e,n,o=!1,i=!1,r=0)=>{for(let a=r;a6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():f(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&G(e._vnode,null,null,!0):v(e._vnode||null,t,e,null,null,null,n),L(),e._vnode=t},et={p:v,um:G,m:Y,r:X,mt:z,mc:T,pc:H,pbc:O,n:Q,o:t};let nt,ot;return e&&([nt,ot]=e(et)),{render:tt,hydrate:nt,createApp:Se(tt,nt)}}function Le({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Re(t,e,n=!1){const o=t.children,r=e.children;if((0,i.kJ)(o)&&(0,i.kJ)(r))for(let i=0;i>1,t[n[s]]0&&(e[o]=n[r-1]),n[r]=o)}}r=n.length,a=n[r-1];while(r-- >0)n[r]=a,a=e[a];return n}const De=t=>t.__isTeleport,Ne=t=>t&&(t.disabled||""===t.disabled),Pe=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,ze=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},je={__isTeleport:!0,process(t,e,n,o,i,r,a,s,l,c){const{mc:d,pc:u,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=c,b=Ne(e.props);let{shapeFlag:v,children:y,dynamicChildren:w}=e;if(null==t){const t=e.el=m(""),c=e.anchor=m("");p(t,n,o),p(c,n,o);const u=e.target=ze(e.props,f),h=e.targetAnchor=m("");u&&(p(h,u),a=a||Pe(u));const g=(t,e)=>{16&v&&d(y,t,e,i,r,a,s,l)};b?g(n,c):u&&g(u,h)}else{e.el=t.el;const o=e.anchor=t.anchor,d=e.target=t.target,p=e.targetAnchor=t.targetAnchor,m=Ne(t.props),g=m?n:d,v=m?o:p;if(a=a||Pe(d),w?(h(t.dynamicChildren,w,g,i,r,a,s),Re(t,e,!0)):l||u(t,e,g,v,i,r,a,s,!1),b)m||Me(e,n,o,c,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=ze(e.props,f);t&&Me(e,t,null,c,0)}else m&&Me(e,d,p,c,1)}},remove(t,e,n,o,{um:i,o:{remove:r}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:d,target:u,props:h}=t;if(u&&r(d),(a||!Ne(h))&&(r(c),16&s))for(let p=0;p0?Ye||i.Z6:null,Xe(),Je>0&&Ye&&Ye.push(t),t}function Qe(t,e,n,o,i,r){return Ze(sn(t,e,n,o,i,r,!0))}function tn(t,e,n,o,i){return Ze(ln(t,e,n,o,i,!0))}function en(t){return!!t&&!0===t.__v_isVNode}function nn(t,e){return t.type===e.type&&t.key===e.key}const on="__vInternal",rn=({key:t})=>null!=t?t:null,an=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,o.dq)(t)||(0,i.mf)(t)?{i:z,r:t,k:e,f:!!n}:t:null;function sn(t,e=null,n=null,o=0,r=null,a=(t===He?0:1),s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&rn(e),ref:e&&an(e),scopeId:j,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(gn(c,n),128&a&&t.normalize(c)):n&&(c.shapeFlag|=(0,i.HD)(n)?8:16),Je>0&&!s&&Ye&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&Ye.push(c),c}const ln=cn;function cn(t,e=null,n=null,r=0,a=null,s=!1){if(t&&t!==jt||(t=Ue),en(t)){const o=un(t,e,!0);return n&&gn(o,n),Je>0&&!s&&Ye&&(6&o.shapeFlag?Ye[Ye.indexOf(t)]=o:Ye.push(o)),o.patchFlag|=-2,o}if(jn(t)&&(t=t.__vccOpts),e){e=dn(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,o.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const l=(0,i.HD)(t)?1:Y(t)?128:De(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return sn(t,e,n,r,a,l,s,!0)}function dn(t){return t?(0,o.X3)(t)||on in t?(0,i.l7)({},t):t:null}function un(t,e,n=!1){const{props:o,ref:r,patchFlag:a,children:s}=t,l=e?bn(o||{},e):o,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&rn(l),ref:e&&e.ref?n&&r?(0,i.kJ)(r)?r.concat(an(e)):[r,an(e)]:an(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==He?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&un(t.ssContent),ssFallback:t.ssFallback&&un(t.ssFallback),el:t.el,anchor:t.anchor};return c}function hn(t=" ",e=0){return ln(We,null,t,e)}function pn(t="",e=!1){return e?(Ge(),tn(Ue,null,t)):ln(Ue,null,t)}function fn(t){return null==t||"boolean"===typeof t?ln(Ue):(0,i.kJ)(t)?ln(He,null,t.slice()):"object"===typeof t?mn(t):ln(We,null,String(t))}function mn(t){return null===t.el||t.memo?t:un(t)}function gn(t,e){let n=0;const{shapeFlag:o}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&o){const n=e.default;return void(n&&(n._c&&(n._d=!1),gn(t,n()),n._c&&(n._d=!0)))}{n=32;const o=e._;o||on in e?3===o&&z&&(1===z.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=z}}else(0,i.mf)(e)?(e={default:e,_ctx:z},n=32):(e=String(e),64&o?(n=16,e=[hn(e)]):n=8);t.children=e,t.shapeFlag|=n}function bn(...t){const e={};for(let n=0;nkn||z,En=t=>{kn=t,t.scope.on()},Sn=()=>{kn&&kn.scope.off(),kn=null};function _n(t){return 4&t.vnode.shapeFlag}let Cn,An,Tn=!1;function In(t,e=!1){Tn=e;const{props:n,children:o}=t.vnode,i=_n(t);se(t,n,i,e),xe(t,o);const r=i?Ln(t,e):void 0;return Tn=!1,r}function Ln(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,o.Xl)(new Proxy(t.ctx,Vt));const{setup:a}=n;if(a){const n=t.setupContext=a.length>1?Nn(t):null;En(t),(0,o.Jd)();const l=r(a,t,0,[t.props,n]);if((0,o.lk)(),Sn(),(0,i.tI)(l)){if(l.then(Sn,Sn),e)return l.then((n=>{Rn(t,n,e)})).catch((e=>{s(e,t,0)}));t.asyncDep=l}else Rn(t,l,e)}else On(t,e)}function Rn(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,o.WL)(e)),On(t,n)}function On(t,e,n){const r=t.type;if(!t.render){if(!e&&Cn&&!r.render){const e=r.template;if(e){0;const{isCustomElement:n,compilerOptions:o}=t.appContext.config,{delimiters:a,compilerOptions:s}=r,l=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:a},o),s);r.render=Cn(e,l)}}t.render=r.render||i.dG,An&&An(t)}En(t),(0,o.Jd)(),Gt(t),(0,o.lk)(),Sn()}function Dn(t){return new Proxy(t.attrs,{get(e,n){return(0,o.j)(t,"get","$attrs"),e[n]}})}function Nn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Dn(t))},slots:t.slots,emit:t.emit,expose:e}}function Pn(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,o.WL)((0,o.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in qt?qt[n](t):void 0}}))}function zn(t,e=!0){return(0,i.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function jn(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Mn=(t,e)=>(0,o.Fl)(t,e,Tn);function Bn(t,e,n){const o=arguments.length;return 2===o?(0,i.Kn)(e)&&!(0,i.kJ)(e)?en(e)?ln(t,null,[e]):ln(t,e):ln(t,null,e):(o>3?n=Array.prototype.slice.call(arguments,2):3===o&&en(n)&&(n=[n]),ln(t,e,n))}Symbol("");const Fn="3.2.37"},9963:function(t,e,n){"use strict";n.d(e,{iM:function(){return et},ri:function(){return rt}});var o=n(3577),i=n(6252);n(2262);const r="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,o)=>{const i=e?a.createElementNS(r,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&o&&null!=o.multiple&&i.setAttribute("multiple",o.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,o,i,r){const a=n?n.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===r||!(i=i.nextSibling))break}else{s.innerHTML=o?`${t}`:t;const i=s.content;if(o){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const o=t._vtc;o&&(e=(e?[e,...o]:[...o]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function d(t,e,n){const i=t.style,r=(0,o.HD)(n);if(n&&!r){for(const t in n)h(i,t,n[t]);if(e&&!(0,o.HD)(e))for(const t in e)null==n[t]&&h(i,t,"")}else{const o=i.display;r?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=o)}}const u=/\s*!important$/;function h(t,e,n){if((0,o.kJ)(n))n.forEach((n=>h(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const i=m(t,e);u.test(n)?t.setProperty((0,o.rs)(i),n.replace(u,""),"important"):t[i]=n}}const p=["Webkit","Moz","ms"],f={};function m(t,e){const n=f[e];if(n)return n;let i=(0,o._A)(e);if("filter"!==i&&i in t)return f[e]=i;i=(0,o.kC)(i);for(let o=0;o{let t=Date.now,e=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(t=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);e=!!(n&&Number(n[1])<=53)}return[t,e]})();let x=0;const k=Promise.resolve(),$=()=>{x=0},E=()=>x||(k.then($),x=y());function S(t,e,n,o){t.addEventListener(e,n,o)}function _(t,e,n,o){t.removeEventListener(e,n,o)}function C(t,e,n,o,i=null){const r=t._vei||(t._vei={}),a=r[e];if(o&&a)a.value=o;else{const[n,s]=T(e);if(o){const a=r[e]=I(o,i);S(t,n,a,s)}else a&&(_(t,n,a,s),r[e]=void 0)}}const A=/(?:Once|Passive|Capture)$/;function T(t){let e;if(A.test(t)){let n;e={};while(n=t.match(A))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[(0,o.rs)(t.slice(2)),e]}function I(t,e){const n=t=>{const o=t.timeStamp||y();(w||o>=n.attached-1)&&(0,i.$d)(L(t,n.value),e,5,[t])};return n.value=t,n.attached=E(),n}function L(t,e){if((0,o.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const R=/^on[a-z]/,O=(t,e,n,i,r=!1,a,s,l,u)=>{"class"===e?c(t,i,r):"style"===e?d(t,n,i):(0,o.F7)(e)?(0,o.tR)(e)||C(t,e,n,i,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):D(t,e,i,r))?v(t,e,i,a,s,l,u):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),b(t,e,i,r))};function D(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&R.test(e)&&(0,o.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!R.test(e)||!(0,o.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const N="transition",P="animation",z=(t,{slots:e})=>(0,i.h)(i.P$,F(t),e);z.displayName="Transition";const j={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},M=(z.props=(0,o.l7)({},i.P$.props,j),(t,e=[])=>{(0,o.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),B=t=>!!t&&((0,o.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function F(t){const e={};for(const o in t)o in j||(e[o]=t[o]);if(!1===t.css)return e;const{name:n="v",type:i,duration:r,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:d=s,appearToClass:u=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=t,m=H(r),g=m&&m[0],b=m&&m[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:w,onLeave:x,onLeaveCancelled:k,onBeforeAppear:$=v,onAppear:E=y,onAppearCancelled:S=w}=e,_=(t,e,n)=>{q(t,e?u:l),q(t,e?d:s),n&&n()},C=(t,e)=>{t._isLeaving=!1,q(t,h),q(t,f),q(t,p),e&&e()},A=t=>(e,n)=>{const o=t?E:y,r=()=>_(e,t,n);M(o,[e,r]),V((()=>{q(e,t?c:a),U(e,t?u:l),B(o)||G(e,i,g,r)}))};return(0,o.l7)(e,{onBeforeEnter(t){M(v,[t]),U(t,a),U(t,s)},onBeforeAppear(t){M($,[t]),U(t,c),U(t,d)},onEnter:A(!1),onAppear:A(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>C(t,e);U(t,h),Z(),U(t,p),V((()=>{t._isLeaving&&(q(t,h),U(t,f),B(x)||G(t,i,b,n))})),M(x,[t,n])},onEnterCancelled(t){_(t,!1),M(w,[t])},onAppearCancelled(t){_(t,!0),M(S,[t])},onLeaveCancelled(t){C(t),M(k,[t])}})}function H(t){if(null==t)return null;if((0,o.Kn)(t))return[W(t.enter),W(t.leave)];{const e=W(t);return[e,e]}}function W(t){const e=(0,o.He)(t);return e}function U(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function q(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function V(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let Y=0;function G(t,e,n,o){const i=t._endId=++Y,r=()=>{i===t._endId&&o()};if(n)return setTimeout(r,n);const{type:a,timeout:s,propCount:l}=X(t,e);if(!a)return o();const c=a+"end";let d=0;const u=()=>{t.removeEventListener(c,h),r()},h=e=>{e.target===t&&++d>=l&&u()};setTimeout((()=>{d(n[t]||"").split(", "),i=o(N+"Delay"),r=o(N+"Duration"),a=J(i,r),s=o(P+"Delay"),l=o(P+"Duration"),c=J(s,l);let d=null,u=0,h=0;e===N?a>0&&(d=N,u=a,h=r.length):e===P?c>0&&(d=P,u=c,h=l.length):(u=Math.max(a,c),d=u>0?a>c?N:P:null,h=d?d===N?r.length:l.length:0);const p=d===N&&/\b(transform|all)(,|$)/.test(n[N+"Property"]);return{type:d,timeout:u,propCount:h,hasTransform:p}}function J(t,e){while(t.lengthK(e)+K(t[n]))))}function K(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Z(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=["ctrl","shift","alt","meta"],tt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>Q.some((n=>t[`${n}Key`]&&!e.includes(n)))},et=(t,e)=>(n,...o)=>{for(let t=0;t{const e=it().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=at(t);if(!i)return;const r=e._component;(0,o.mf)(r)||r.render||r.template||(r.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},e};function at(t){if((0,o.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function o(t,e){const n=Object.create(null),o=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return p},DM:function(){return R},E9:function(){return ot},F7:function(){return E},Gg:function(){return U},HD:function(){return N},He:function(){return et},Kn:function(){return z},NO:function(){return k},Nj:function(){return tt},Od:function(){return C},PO:function(){return H},Pq:function(){return s},RI:function(){return T},S0:function(){return W},W7:function(){return F},WV:function(){return m},Z6:function(){return w},_A:function(){return Y},_N:function(){return L},aU:function(){return Z},dG:function(){return x},e1:function(){return r},fY:function(){return o},hR:function(){return K},hq:function(){return g},ir:function(){return Q},j5:function(){return c},kC:function(){return J},kJ:function(){return I},kT:function(){return y},l7:function(){return _},mf:function(){return D},rs:function(){return X},tI:function(){return j},tR:function(){return S},yA:function(){return l},yk:function(){return P},zw:function(){return b}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",r=o(i);const a="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",s=o(a);function l(t){return!!t||""===t}function c(t){if(I(t)){const e={};for(let n=0;n{if(t){const n=t.split(u);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function p(t){let e="";if(N(t))e=t;else if(I(t))for(let n=0;nm(t,e)))}const b=t=>N(t)?t:null==t?"":I(t)||z(t)&&(t.toString===M||!D(t.toString))?JSON.stringify(t,v,2):String(t),v=(t,e)=>e&&e.__v_isRef?v(t,e.value):L(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:R(e)?{[`Set(${e.size})`]:[...e.values()]}:!z(e)||I(e)||H(e)?e:String(e),y={},w=[],x=()=>{},k=()=>!1,$=/^on[^a-z]/,E=t=>$.test(t),S=t=>t.startsWith("onUpdate:"),_=Object.assign,C=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},A=Object.prototype.hasOwnProperty,T=(t,e)=>A.call(t,e),I=Array.isArray,L=t=>"[object Map]"===B(t),R=t=>"[object Set]"===B(t),O=t=>"[object Date]"===B(t),D=t=>"function"===typeof t,N=t=>"string"===typeof t,P=t=>"symbol"===typeof t,z=t=>null!==t&&"object"===typeof t,j=t=>z(t)&&D(t.then)&&D(t.catch),M=Object.prototype.toString,B=t=>M.call(t),F=t=>B(t).slice(8,-1),H=t=>"[object Object]"===B(t),W=t=>N(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,U=o(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),q=t=>{const e=Object.create(null);return n=>{const o=e[n];return o||(e[n]=t(n))}},V=/-(\w)/g,Y=q((t=>t.replace(V,((t,e)=>e?e.toUpperCase():"")))),G=/\B([A-Z])/g,X=q((t=>t.replace(G,"-$1").toLowerCase())),J=q((t=>t.charAt(0).toUpperCase()+t.slice(1))),K=q((t=>t?`on${J(t)}`:"")),Z=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const ot=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},9669:function(t,e,n){t.exports=n(1609)},5448:function(t,e,n){"use strict";var o=n(4867),i=n(6026),r=n(4372),a=n(5327),s=n(4097),l=n(4109),c=n(7985),d=n(7874),u=n(2648),h=n(644),p=n(205);t.exports=function(t){return new Promise((function(e,n){var f,m=t.data,g=t.headers,b=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(f),t.signal&&t.signal.removeEventListener("abort",f)}o.isFormData(m)&&o.isStandardBrowserEnv()&&delete g["Content-Type"];var y=new XMLHttpRequest;if(t.auth){var w=t.auth.username||"",x=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(w+":"+x)}var k=s(t.baseURL,t.url);function $(){if(y){var o="getAllResponseHeaders"in y?l(y.getAllResponseHeaders()):null,r=b&&"text"!==b&&"json"!==b?y.response:y.responseText,a={data:r,status:y.status,statusText:y.statusText,headers:o,config:t,request:y};i((function(t){e(t),v()}),(function(t){n(t),v()}),a),y=null}}if(y.open(t.method.toUpperCase(),a(k,t.params,t.paramsSerializer),!0),y.timeout=t.timeout,"onloadend"in y?y.onloadend=$:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout($)},y.onabort=function(){y&&(n(new u("Request aborted",u.ECONNABORTED,t,y)),y=null)},y.onerror=function(){n(new u("Network Error",u.ERR_NETWORK,t,y,y)),y=null},y.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",o=t.transitional||d;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new u(e,o.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,t,y)),y=null},o.isStandardBrowserEnv()){var E=(t.withCredentials||c(k))&&t.xsrfCookieName?r.read(t.xsrfCookieName):void 0;E&&(g[t.xsrfHeaderName]=E)}"setRequestHeader"in y&&o.forEach(g,(function(t,e){"undefined"===typeof m&&"content-type"===e.toLowerCase()?delete g[e]:y.setRequestHeader(e,t)})),o.isUndefined(t.withCredentials)||(y.withCredentials=!!t.withCredentials),b&&"json"!==b&&(y.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&y.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(f=function(t){y&&(n(!t||t&&t.type?new h:t),y.abort(),y=null)},t.cancelToken&&t.cancelToken.subscribe(f),t.signal&&(t.signal.aborted?f():t.signal.addEventListener("abort",f))),m||(m=null);var S=p(k);S&&-1===["http","https","file"].indexOf(S)?n(new u("Unsupported protocol "+S+":",u.ERR_BAD_REQUEST,t)):y.send(m)}))}},1609:function(t,e,n){"use strict";var o=n(4867),i=n(1849),r=n(321),a=n(7185),s=n(5546);function l(t){var e=new r(t),n=i(r.prototype.request,e);return o.extend(n,r.prototype,e),o.extend(n,e),n.create=function(e){return l(a(t,e))},n}var c=l(s);c.Axios=r,c.CanceledError=n(644),c.CancelToken=n(4972),c.isCancel=n(6502),c.VERSION=n(7288).version,c.toFormData=n(7675),c.AxiosError=n(2648),c.Cancel=c.CanceledError,c.all=function(t){return Promise.all(t)},c.spread=n(8713),c.isAxiosError=n(6268),t.exports=c,t.exports["default"]=c},4972:function(t,e,n){"use strict";var o=n(644);function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,o=n._listeners.length;for(e=0;e=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(t){h.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){h.headers[t]=o.merge(l)})),t.exports=h},7874:function(t){"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:function(t){t.exports={version:"0.27.2"}},1849:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),o=0;o=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},205:function(t){"use strict";t.exports=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}},8713:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},7675:function(t,e,n){"use strict";var o=n(4867);function i(t,e){e=e||new FormData;var n=[];function i(t){return null===t?"":o.isDate(t)?t.toISOString():o.isArrayBuffer(t)||o.isTypedArray(t)?"function"===typeof Blob?new Blob([t]):Buffer.from(t):t}function r(t,a){if(o.isPlainObject(t)||o.isArray(t)){if(-1!==n.indexOf(t))throw Error("Circular reference detected in "+a);n.push(t),o.forEach(t,(function(t,n){if(!o.isUndefined(t)){var s,l=a?a+"."+n:n;if(t&&!a&&"object"===typeof t)if(o.endsWith(n,"{}"))t=JSON.stringify(t);else if(o.endsWith(n,"[]")&&(s=o.toArray(t)))return void s.forEach((function(t){!o.isUndefined(t)&&e.append(l,i(t))}));r(t,l)}})),n.pop()}else e.append(a,i(t))}return r(t),e}t.exports=i},4875:function(t,e,n){"use strict";var o=n(7288).version,i=n(2648),r={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){r[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var a={};function s(t,e,n){if("object"!==typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);var o=Object.keys(t),r=o.length;while(r-- >0){var a=o[r],s=e[a];if(s){var l=t[a],c=void 0===l||s(l,a,t);if(!0!==c)throw new i("option "+a+" must be "+c,i.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new i("Unknown option "+a,i.ERR_BAD_OPTION)}}r.transitional=function(t,e,n){function r(t,e){return"[Axios v"+o+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,o,s){if(!1===t)throw new i(r(o," has been removed"+(e?" in "+e:"")),i.ERR_DEPRECATED);return e&&!a[o]&&(a[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,s)}},t.exports={assertOptions:s,validators:r}},4867:function(t,e,n){"use strict";var o=n(1849),i=Object.prototype.toString,r=function(t){return function(e){var n=i.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())}}(Object.create(null));function a(t){return t=t.toLowerCase(),function(e){return r(e)===t}}function s(t){return Array.isArray(t)}function l(t){return"undefined"===typeof t}function c(t){return null!==t&&!l(t)&&null!==t.constructor&&!l(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var d=a("ArrayBuffer");function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&d(t.buffer),e}function h(t){return"string"===typeof t}function p(t){return"number"===typeof t}function f(t){return null!==t&&"object"===typeof t}function m(t){if("object"!==r(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}var g=a("Date"),b=a("File"),v=a("Blob"),y=a("FileList");function w(t){return"[object Function]"===i.call(t)}function x(t){return f(t)&&w(t.pipe)}function k(t){var e="[object FormData]";return t&&("function"===typeof FormData&&t instanceof FormData||i.call(t)===e||w(t.toString)&&t.toString()===e)}var $=a("URLSearchParams");function E(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function S(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function _(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),s(t))for(var n=0,o=t.length;n0)r=o[i],a[r]||(e[r]=t[r],a[r]=!0);t=Object.getPrototypeOf(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e}function R(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var o=t.indexOf(e,n);return-1!==o&&o===n}function O(t){if(!t)return null;var e=t.length;if(l(e))return null;var n=new Array(e);while(e-- >0)n[e]=t[e];return n}var D=function(t){return function(e){return t&&e instanceof t}}("undefined"!==typeof Uint8Array&&Object.getPrototypeOf(Uint8Array));t.exports={isArray:s,isArrayBuffer:d,isBuffer:c,isFormData:k,isArrayBufferView:u,isString:h,isNumber:p,isObject:f,isPlainObject:m,isUndefined:l,isDate:g,isFile:b,isBlob:v,isFunction:w,isStream:x,isURLSearchParams:$,isStandardBrowserEnv:S,forEach:_,merge:C,extend:A,trim:E,stripBOM:T,inherits:I,toFlatObject:L,kindOf:r,kindOfTest:a,endsWith:R,toArray:O,isTypedArray:D,isFileList:y}},9662:function(t,e,n){var o=n(614),i=n(6330),r=TypeError;t.exports=function(t){if(o(t))return t;throw r(i(t)+" is not a function")}},6077:function(t,e,n){var o=n(614),i=String,r=TypeError;t.exports=function(t){if("object"==typeof t||o(t))return t;throw r("Can't set "+i(t)+" as a prototype")}},1223:function(t,e,n){var o=n(5112),i=n(30),r=n(3070).f,a=o("unscopables"),s=Array.prototype;void 0==s[a]&&r(s,a,{configurable:!0,value:i(null)}),t.exports=function(t){s[a][t]=!0}},5787:function(t,e,n){var o=n(7976),i=TypeError;t.exports=function(t,e){if(o(e,t))return t;throw i("Incorrect invocation")}},9670:function(t,e,n){var o=n(111),i=String,r=TypeError;t.exports=function(t){if(o(t))return t;throw r(i(t)+" is not an object")}},1318:function(t,e,n){var o=n(5656),i=n(1400),r=n(6244),a=function(t){return function(e,n,a){var s,l=o(e),c=r(l),d=i(a,c);if(t&&n!=n){while(c>d)if(s=l[d++],s!=s)return!0}else for(;c>d;d++)if((t||d in l)&&l[d]===n)return t||d||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},4326:function(t,e,n){var o=n(1702),i=o({}.toString),r=o("".slice);t.exports=function(t){return r(i(t),8,-1)}},648:function(t,e,n){var o=n(1694),i=n(614),r=n(4326),a=n(5112),s=a("toStringTag"),l=Object,c="Arguments"==r(function(){return arguments}()),d=function(t,e){try{return t[e]}catch(n){}};t.exports=o?r:function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=d(e=l(t),s))?n:c?r(e):"Object"==(o=r(e))&&i(e.callee)?"Arguments":o}},7741:function(t,e,n){var o=n(1702),i=Error,r=o("".replace),a=function(t){return String(i(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!i.prepareStackTrace)while(e--)t=r(t,s,"");return t}},9920:function(t,e,n){var o=n(2597),i=n(3887),r=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=i(e),l=a.f,c=r.f,d=0;d0&&o[0]<4?1:+(o[0]+o[1])),!i&&a&&(o=a.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=a.match(/Chrome\/(\d+)/),o&&(i=+o[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(t,e,n){var o=n(7854),i=n(1236).f,r=n(8880),a=n(8052),s=n(3072),l=n(9920),c=n(4705);t.exports=function(t,e){var n,d,u,h,p,f,m=t.target,g=t.global,b=t.stat;if(d=g?o:b?o[m]||s(m,{}):(o[m]||{}).prototype,d)for(u in e){if(p=e[u],t.dontCallGetSet?(f=i(d,u),h=f&&f.value):h=d[u],n=c(g?u:m+(b?".":"#")+u,t.forced),!n&&void 0!==h){if(typeof p==typeof h)continue;l(p,h)}(t.sham||h&&h.sham)&&r(p,"sham",!0),a(d,u,p,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},4374:function(t,e,n){var o=n(7293);t.exports=!o((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var o=n(4374),i=Function.prototype.call;t.exports=o?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var o=n(9781),i=n(2597),r=Function.prototype,a=o&&Object.getOwnPropertyDescriptor,s=i(r,"name"),l=s&&"something"===function(){}.name,c=s&&(!o||o&&a(r,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},1702:function(t,e,n){var o=n(4374),i=Function.prototype,r=i.bind,a=i.call,s=o&&r.bind(a,a);t.exports=o?function(t){return t&&s(t)}:function(t){return t&&function(){return a.apply(t,arguments)}}},5005:function(t,e,n){var o=n(7854),i=n(614),r=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?r(o[t]):o[t]&&o[t][e]}},8173:function(t,e,n){var o=n(9662);t.exports=function(t,e){var n=t[e];return null==n?void 0:o(n)}},7854:function(t,e,n){var o=function(t){return t&&t.Math==Math&&t};t.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var o=n(1702),i=n(7908),r=o({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return r(i(t),e)}},3501:function(t){t.exports={}},490:function(t,e,n){var o=n(5005);t.exports=o("document","documentElement")},4664:function(t,e,n){var o=n(9781),i=n(7293),r=n(317);t.exports=!o&&!i((function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var o=n(1702),i=n(7293),r=n(4326),a=Object,s=o("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?s(t,""):a(t)}:a},9587:function(t,e,n){var o=n(614),i=n(111),r=n(7674);t.exports=function(t,e,n){var a,s;return r&&o(a=e.constructor)&&a!==n&&i(s=a.prototype)&&s!==n.prototype&&r(t,s),t}},2788:function(t,e,n){var o=n(1702),i=n(614),r=n(5465),a=o(Function.toString);i(r.inspectSource)||(r.inspectSource=function(t){return a(t)}),t.exports=r.inspectSource},9909:function(t,e,n){var o,i,r,a=n(8536),s=n(7854),l=n(1702),c=n(111),d=n(8880),u=n(2597),h=n(5465),p=n(6200),f=n(3501),m="Object already initialized",g=s.TypeError,b=s.WeakMap,v=function(t){return r(t)?i(t):o(t,{})},y=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw g("Incompatible receiver, "+t+" required");return n}};if(a||h.state){var w=h.state||(h.state=new b),x=l(w.get),k=l(w.has),$=l(w.set);o=function(t,e){if(k(w,t))throw new g(m);return e.facade=t,$(w,t,e),e},i=function(t){return x(w,t)||{}},r=function(t){return k(w,t)}}else{var E=p("state");f[E]=!0,o=function(t,e){if(u(t,E))throw new g(m);return e.facade=t,d(t,E,e),e},i=function(t){return u(t,E)?t[E]:{}},r=function(t){return u(t,E)}}t.exports={set:o,get:i,has:r,enforce:v,getterFor:y}},614:function(t){t.exports=function(t){return"function"==typeof t}},4705:function(t,e,n){var o=n(7293),i=n(614),r=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==d||n!=c&&(i(e)?o(e):!!e)},s=a.normalize=function(t){return String(t).replace(r,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",d=a.POLYFILL="P";t.exports=a},111:function(t,e,n){var o=n(614);t.exports=function(t){return"object"==typeof t?null!==t:o(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var o=n(5005),i=n(614),r=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=o("Symbol");return i(e)&&r(e.prototype,s(t))}},6244:function(t,e,n){var o=n(7466);t.exports=function(t){return o(t.length)}},6339:function(t,e,n){var o=n(7293),i=n(614),r=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,l=n(2788),c=n(9909),d=c.enforce,u=c.get,h=Object.defineProperty,p=a&&!o((function(){return 8!==h((function(){}),"length",{value:8}).length})),f=String(String).split("String"),m=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!r(t,"name")||s&&t.name!==e)&&h(t,"name",{value:e,configurable:!0}),p&&n&&r(n,"arity")&&t.length!==n.arity&&h(t,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?a&&h(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(i){}var o=d(t);return r(o,"source")||(o.source=f.join("string"==typeof e?e:"")),t};Function.prototype.toString=m((function(){return i(this)&&u(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var o=+t;return(o>0?n:e)(o)}},133:function(t,e,n){var o=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},8536:function(t,e,n){var o=n(7854),i=n(614),r=n(2788),a=o.WeakMap;t.exports=i(a)&&/native code/.test(r(a))},6277:function(t,e,n){var o=n(1340);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:o(t)}},30:function(t,e,n){var o,i=n(9670),r=n(6048),a=n(748),s=n(3501),l=n(490),c=n(317),d=n(6200),u=">",h="<",p="prototype",f="script",m=d("IE_PROTO"),g=function(){},b=function(t){return h+f+u+t+h+"/"+f+u},v=function(t){t.write(b("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=c("iframe"),n="java"+f+":";return e.style.display="none",l.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(b("document.F=Object")),t.close(),t.F},w=function(){try{o=new ActiveXObject("htmlfile")}catch(e){}w="undefined"!=typeof document?document.domain&&o?v(o):y():v(o);var t=a.length;while(t--)delete w[p][a[t]];return w()};s[m]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(g[p]=i(t),n=new g,g[p]=null,n[m]=t):n=w(),void 0===e?n:r.f(n,e)}},6048:function(t,e,n){var o=n(9781),i=n(3353),r=n(3070),a=n(9670),s=n(5656),l=n(1956);e.f=o&&!i?Object.defineProperties:function(t,e){a(t);var n,o=s(e),i=l(e),c=i.length,d=0;while(c>d)r.f(t,n=i[d++],o[n]);return t}},3070:function(t,e,n){var o=n(9781),i=n(4664),r=n(3353),a=n(9670),s=n(4948),l=TypeError,c=Object.defineProperty,d=Object.getOwnPropertyDescriptor,u="enumerable",h="configurable",p="writable";e.f=o?r?function(t,e,n){if(a(t),e=s(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&p in n&&!n[p]){var o=d(t,e);o&&o[p]&&(t[e]=n.value,n={configurable:h in n?n[h]:o[h],enumerable:u in n?n[u]:o[u],writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),i)try{return c(t,e,n)}catch(o){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var o=n(9781),i=n(6916),r=n(5296),a=n(9114),s=n(5656),l=n(4948),c=n(2597),d=n(4664),u=Object.getOwnPropertyDescriptor;e.f=o?u:function(t,e){if(t=s(t),e=l(e),d)try{return u(t,e)}catch(n){}if(c(t,e))return a(!i(r.f,t,e),t[e])}},8006:function(t,e,n){var o=n(6324),i=n(748),r=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return o(t,r)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var o=n(1702);t.exports=o({}.isPrototypeOf)},6324:function(t,e,n){var o=n(1702),i=n(2597),r=n(5656),a=n(1318).indexOf,s=n(3501),l=o([].push);t.exports=function(t,e){var n,o=r(t),c=0,d=[];for(n in o)!i(s,n)&&i(o,n)&&l(d,n);while(e.length>c)i(o,n=e[c++])&&(~a(d,n)||l(d,n));return d}},1956:function(t,e,n){var o=n(6324),i=n(748);t.exports=Object.keys||function(t){return o(t,i)}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:n},7674:function(t,e,n){var o=n(1702),i=n(9670),r=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=o(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(n,[]),e=n instanceof Array}catch(a){}return function(n,o){return i(n),r(o),e?t(n,o):n.__proto__=o,n}}():void 0)},2140:function(t,e,n){var o=n(6916),i=n(614),r=n(111),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&i(n=t.toString)&&!r(s=o(n,t)))return s;if(i(n=t.valueOf)&&!r(s=o(n,t)))return s;if("string"!==e&&i(n=t.toString)&&!r(s=o(n,t)))return s;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var o=n(5005),i=n(1702),r=n(8006),a=n(5181),s=n(9670),l=i([].concat);t.exports=o("Reflect","ownKeys")||function(t){var e=r.f(s(t)),n=a.f;return n?l(e,n(t)):e}},4488:function(t){var e=TypeError;t.exports=function(t){if(void 0==t)throw e("Can't call method on "+t);return t}},6200:function(t,e,n){var o=n(2309),i=n(9711),r=o("keys");t.exports=function(t){return r[t]||(r[t]=i(t))}},5465:function(t,e,n){var o=n(7854),i=n(3072),r="__core-js_shared__",a=o[r]||i(r,{});t.exports=a},2309:function(t,e,n){var o=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.23.2",mode:o?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.23.2/LICENSE",source:"https://github.com/zloirock/core-js"})},1400:function(t,e,n){var o=n(9303),i=Math.max,r=Math.min;t.exports=function(t,e){var n=o(t);return n<0?i(n+e,0):r(n,e)}},5656:function(t,e,n){var o=n(8361),i=n(4488);t.exports=function(t){return o(i(t))}},9303:function(t,e,n){var o=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:o(e)}},7466:function(t,e,n){var o=n(9303),i=Math.min;t.exports=function(t){return t>0?i(o(t),9007199254740991):0}},7908:function(t,e,n){var o=n(4488),i=Object;t.exports=function(t){return i(o(t))}},7593:function(t,e,n){var o=n(6916),i=n(111),r=n(2190),a=n(8173),s=n(2140),l=n(5112),c=TypeError,d=l("toPrimitive");t.exports=function(t,e){if(!i(t)||r(t))return t;var n,l=a(t,d);if(l){if(void 0===e&&(e="default"),n=o(l,t,e),!i(n)||r(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},4948:function(t,e,n){var o=n(7593),i=n(2190);t.exports=function(t){var e=o(t,"string");return i(e)?e:e+""}},1694:function(t,e,n){var o=n(5112),i=o("toStringTag"),r={};r[i]="z",t.exports="[object z]"===String(r)},1340:function(t,e,n){var o=n(648),i=String;t.exports=function(t){if("Symbol"===o(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var o=n(1702),i=0,r=Math.random(),a=o(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+r,36)}},3307:function(t,e,n){var o=n(133);t.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var o=n(9781),i=n(7293);t.exports=o&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},5112:function(t,e,n){var o=n(7854),i=n(2309),r=n(2597),a=n(9711),s=n(133),l=n(3307),c=i("wks"),d=o.Symbol,u=d&&d["for"],h=l?d:d&&d.withoutSetter||a;t.exports=function(t){if(!r(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&r(d,t)?c[t]=d[t]:c[t]=l&&u?u(e):h(e)}return c[t]}},6699:function(t,e,n){"use strict";var o=n(2109),i=n(1318).includes,r=n(7293),a=n(1223),s=r((function(){return!Array(1).includes()}));o({target:"Array",proto:!0,forced:s},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),a("includes")},2801:function(t,e,n){"use strict";var o=n(2109),i=n(5005),r=n(9114),a=n(3070).f,s=n(2597),l=n(5787),c=n(9587),d=n(6277),u=n(3678),h=n(7741),p=n(1913),f="DOMException",m=i("Error"),g=i(f),b=function(){l(this,v);var t=arguments.length,e=d(t<1?void 0:arguments[0]),n=d(t<2?void 0:arguments[1],"Error"),o=new g(e,n),i=m(e);return i.name=f,a(o,"stack",r(1,h(i.stack,1))),c(o,this,b),o},v=b.prototype=g.prototype,y="stack"in m(f),w="stack"in new g(1,2),x=y&&!w;o({global:!0,constructor:!0,forced:p||x},{DOMException:x?b:g});var k=i(f),$=k.prototype;if($.constructor!==k)for(var E in p||a($,"constructor",r(1,k)),u)if(s(u,E)){var S=u[E],_=S.s;s(k,_)||a(k,_,r(6,S.c))}},9483:function(t,e,n){ +/*! + localForage -- Offline Storage, Improved + Version 1.10.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +(function(e){t.exports=e()})((function(){return function t(e,n,o){function i(a,s){if(!n[a]){if(!e[a]){var l=void 0;if(!s&&l)return require(a,!0);if(r)return r(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var d=n[a]={exports:{}};e[a][0].call(d.exports,(function(t){var n=e[a][1][t];return i(n||t)}),d,d.exports,t,e,n,o)}return n[a].exports}for(var r=void 0,a=0;a=43)}}))["catch"]((function(){return!1}))}function k(t){return"boolean"===typeof m?c.resolve(m):x(t).then((function(t){return m=t,m}))}function $(t){var e=g[t.name],n={};n.promise=new c((function(t,e){n.resolve=t,n.reject=e})),e.deferredOperations.push(n),e.dbReady?e.dbReady=e.dbReady.then((function(){return n.promise})):e.dbReady=n.promise}function E(t){var e=g[t.name],n=e.deferredOperations.pop();if(n)return n.resolve(),n.promise}function S(t,e){var n=g[t.name],o=n.deferredOperations.pop();if(o)return o.reject(e),o.promise}function _(t,e){return new c((function(n,o){if(g[t.name]=g[t.name]||P(),t.db){if(!e)return n(t.db);$(t),t.db.close()}var i=[t.name];e&&i.push(t.version);var r=a.open.apply(a,i);e&&(r.onupgradeneeded=function(e){var n=r.result;try{n.createObjectStore(t.storeName),e.oldVersion<=1&&n.createObjectStore(f)}catch(o){if("ConstraintError"!==o.name)throw o;console.warn('The database "'+t.name+'" has been upgraded from version '+e.oldVersion+" to version "+e.newVersion+', but the storage "'+t.storeName+'" already exists.')}}),r.onerror=function(t){t.preventDefault(),o(r.error)},r.onsuccess=function(){var e=r.result;e.onversionchange=function(t){t.target.close()},n(e),E(t)}}))}function C(t){return _(t,!1)}function A(t){return _(t,!0)}function T(t,e){if(!t.db)return!0;var n=!t.db.objectStoreNames.contains(t.storeName),o=t.versiont.db.version;if(o&&(t.version!==e&&console.warn('The database "'+t.name+"\" can't be downgraded from version "+t.db.version+" to version "+t.version+"."),t.version=t.db.version),i||n){if(n){var r=t.db.version+1;r>t.version&&(t.version=r)}return!0}return!1}function I(t){return new c((function(e,n){var o=new FileReader;o.onerror=n,o.onloadend=function(n){var o=btoa(n.target.result||"");e({__local_forage_encoded_blob:!0,data:o,type:t.type})},o.readAsBinaryString(t)}))}function L(t){var e=w(atob(t.data));return l([e],{type:t.type})}function R(t){return t&&t.__local_forage_encoded_blob}function O(t){var e=this,n=e._initReady().then((function(){var t=g[e._dbInfo.name];if(t&&t.dbReady)return t.dbReady}));return u(n,t,t),n}function D(t){$(t);for(var e=g[t.name],n=e.forages,o=0;o0&&(!t.db||"InvalidStateError"===r.name||"NotFoundError"===r.name))return c.resolve().then((function(){if(!t.db||"NotFoundError"===r.name&&!t.db.objectStoreNames.contains(t.storeName)&&t.version<=t.db.version)return t.db&&(t.version=t.db.version+1),A(t)})).then((function(){return D(t).then((function(){N(t,e,n,o-1)}))}))["catch"](n);n(r)}}function P(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function z(t){var e=this,n={db:null};if(t)for(var o in t)n[o]=t[o];var i=g[n.name];i||(i=P(),g[n.name]=i),i.forages.push(e),e._initReady||(e._initReady=e.ready,e.ready=O);var r=[];function a(){return c.resolve()}for(var s=0;s>4,d[l++]=(15&o)<<4|i>>2,d[l++]=(3&i)<<6|63&r;return c}function ft(t){var e,n=new Uint8Array(t),o="";for(e=0;e>2],o+=X[(3&n[e])<<4|n[e+1]>>4],o+=X[(15&n[e+1])<<2|n[e+2]>>6],o+=X[63&n[e+2]];return n.length%3===2?o=o.substring(0,o.length-1)+"=":n.length%3===1&&(o=o.substring(0,o.length-2)+"=="),o}function mt(t,e){var n="";if(t&&(n=ht.call(t)),t&&("[object ArrayBuffer]"===n||t.buffer&&"[object ArrayBuffer]"===ht.call(t.buffer))){var o,i=Z;t instanceof ArrayBuffer?(o=t,i+=tt):(o=t.buffer,"[object Int8Array]"===n?i+=nt:"[object Uint8Array]"===n?i+=ot:"[object Uint8ClampedArray]"===n?i+=it:"[object Int16Array]"===n?i+=rt:"[object Uint16Array]"===n?i+=st:"[object Int32Array]"===n?i+=at:"[object Uint32Array]"===n?i+=lt:"[object Float32Array]"===n?i+=ct:"[object Float64Array]"===n?i+=dt:e(new Error("Failed to get type for BinaryArray"))),e(i+ft(o))}else if("[object Blob]"===n){var r=new FileReader;r.onload=function(){var n=J+t.type+"~"+ft(this.result);e(Z+et+n)},r.readAsArrayBuffer(t)}else try{e(JSON.stringify(t))}catch(a){console.error("Couldn't convert value into a JSON string: ",t),e(null,a)}}function gt(t){if(t.substring(0,Q)!==Z)return JSON.parse(t);var e,n=t.substring(ut),o=t.substring(Q,ut);if(o===et&&K.test(n)){var i=n.match(K);e=i[1],n=n.substring(i[0].length)}var r=pt(n);switch(o){case tt:return r;case et:return l([r],{type:e});case nt:return new Int8Array(r);case ot:return new Uint8Array(r);case it:return new Uint8ClampedArray(r);case rt:return new Int16Array(r);case st:return new Uint16Array(r);case at:return new Int32Array(r);case lt:return new Uint32Array(r);case ct:return new Float32Array(r);case dt:return new Float64Array(r);default:throw new Error("Unkown type: "+o)}}var bt={serialize:mt,deserialize:gt,stringToBuffer:pt,bufferToString:ft};function vt(t,e,n,o){t.executeSql("CREATE TABLE IF NOT EXISTS "+e.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,o)}function yt(t){var e=this,n={db:null};if(t)for(var o in t)n[o]="string"!==typeof t[o]?t[o].toString():t[o];var i=new c((function(t,o){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(i){return o(i)}n.db.transaction((function(i){vt(i,n,(function(){e._dbInfo=n,t()}),(function(t,e){o(e)}))}),o)}));return n.serializer=bt,i}function wt(t,e,n,o,i,r){t.executeSql(n,o,i,(function(t,a){a.code===a.SYNTAX_ERR?t.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[e.storeName],(function(t,s){s.rows.length?r(t,a):vt(t,e,(function(){t.executeSql(n,o,i,r)}),r)}),r):r(t,a)}),r)}function xt(t,e){var n=this;t=h(t);var o=new c((function(e,o){n.ready().then((function(){var i=n._dbInfo;i.db.transaction((function(n){wt(n,i,"SELECT * FROM "+i.storeName+" WHERE key = ? LIMIT 1",[t],(function(t,n){var o=n.rows.length?n.rows.item(0).value:null;o&&(o=i.serializer.deserialize(o)),e(o)}),(function(t,e){o(e)}))}))}))["catch"](o)}));return d(o,e),o}function kt(t,e){var n=this,o=new c((function(e,o){n.ready().then((function(){var i=n._dbInfo;i.db.transaction((function(n){wt(n,i,"SELECT * FROM "+i.storeName,[],(function(n,o){for(var r=o.rows,a=r.length,s=0;s0)return void r($t.apply(i,[t,s,n,o-1]));a(e)}}))}))}))["catch"](a)}));return d(r,n),r}function Et(t,e,n){return $t.apply(this,[t,e,n,1])}function St(t,e){var n=this;t=h(t);var o=new c((function(e,o){n.ready().then((function(){var i=n._dbInfo;i.db.transaction((function(n){wt(n,i,"DELETE FROM "+i.storeName+" WHERE key = ?",[t],(function(){e()}),(function(t,e){o(e)}))}))}))["catch"](o)}));return d(o,e),o}function _t(t){var e=this,n=new c((function(t,n){e.ready().then((function(){var o=e._dbInfo;o.db.transaction((function(e){wt(e,o,"DELETE FROM "+o.storeName,[],(function(){t()}),(function(t,e){n(e)}))}))}))["catch"](n)}));return d(n,t),n}function Ct(t){var e=this,n=new c((function(t,n){e.ready().then((function(){var o=e._dbInfo;o.db.transaction((function(e){wt(e,o,"SELECT COUNT(key) as c FROM "+o.storeName,[],(function(e,n){var o=n.rows.item(0).c;t(o)}),(function(t,e){n(e)}))}))}))["catch"](n)}));return d(n,t),n}function At(t,e){var n=this,o=new c((function(e,o){n.ready().then((function(){var i=n._dbInfo;i.db.transaction((function(n){wt(n,i,"SELECT key FROM "+i.storeName+" WHERE id = ? LIMIT 1",[t+1],(function(t,n){var o=n.rows.length?n.rows.item(0).key:null;e(o)}),(function(t,e){o(e)}))}))}))["catch"](o)}));return d(o,e),o}function Tt(t){var e=this,n=new c((function(t,n){e.ready().then((function(){var o=e._dbInfo;o.db.transaction((function(e){wt(e,o,"SELECT key FROM "+o.storeName,[],(function(e,n){for(var o=[],i=0;i '__WebKitDatabaseInfoTable__'",[],(function(n,o){for(var i=[],r=0;r0}function zt(t){var e=this,n={};if(t)for(var o in t)n[o]=t[o];return n.keyPrefix=Dt(t,e._defaultConfig),Pt()?(e._dbInfo=n,n.serializer=bt,c.resolve()):c.reject()}function jt(t){var e=this,n=e.ready().then((function(){for(var t=e._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var o=localStorage.key(n);0===o.indexOf(t)&&localStorage.removeItem(o)}}));return d(n,t),n}function Mt(t,e){var n=this;t=h(t);var o=n.ready().then((function(){var e=n._dbInfo,o=localStorage.getItem(e.keyPrefix+t);return o&&(o=e.serializer.deserialize(o)),o}));return d(o,e),o}function Bt(t,e){var n=this,o=n.ready().then((function(){for(var e=n._dbInfo,o=e.keyPrefix,i=o.length,r=localStorage.length,a=1,s=0;s=0;e--){var n=localStorage.key(e);0===n.indexOf(t)&&localStorage.removeItem(n)}})):c.reject("Invalid arguments"),d(o,e),o}var Yt={_driver:"localStorageWrapper",_initStorage:zt,_support:Ot(),iterate:Bt,getItem:Mt,setItem:qt,removeItem:Ut,clear:jt,length:Wt,key:Ft,keys:Ht,dropInstance:Vt},Gt=function(t,e){return t===e||"number"===typeof t&&"number"===typeof e&&isNaN(t)&&isNaN(e)},Xt=function(t,e){var n=t.length,o=0;while(os=t,c=Symbol();function d(t){return t&&"object"===typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!==typeof t.toJSON}var u;(function(t){t["direct"]="direct",t["patchObject"]="patch object",t["patchFunction"]="patch function"})(u||(u={}));const h="undefined"!==typeof window,p=(()=>"object"===typeof window&&window.window===window?window:"object"===typeof self&&self.self===self?self:"object"===typeof n.g&&n.g.global===n.g?n.g:"object"===typeof globalThis?globalThis:{HTMLElement:null})();function f(t,{autoBom:e=!1}={}){return e&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}function m(t,e,n){const o=new XMLHttpRequest;o.open("GET",t),o.responseType="blob",o.onload=function(){w(o.response,e,n)},o.onerror=function(){console.error("could not download file")},o.send()}function g(t){const e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(n){}return e.status>=200&&e.status<=299}function b(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(e){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(n)}}const v="object"===typeof navigator?navigator:{userAgent:""},y=(()=>/Macintosh/.test(v.userAgent)&&/AppleWebKit/.test(v.userAgent)&&!/Safari/.test(v.userAgent))(),w=h?"undefined"!==typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!y?x:"msSaveOrOpenBlob"in v?k:$:()=>{};function x(t,e="download",n){const o=document.createElement("a");o.download=e,o.rel="noopener","string"===typeof t?(o.href=t,o.origin!==location.origin?g(o.href)?m(t,e,n):(o.target="_blank",b(o)):b(o)):(o.href=URL.createObjectURL(t),setTimeout((function(){URL.revokeObjectURL(o.href)}),4e4),setTimeout((function(){b(o)}),0))}function k(t,e="download",n){if("string"===typeof t)if(g(t))m(t,e,n);else{const e=document.createElement("a");e.href=t,e.target="_blank",setTimeout((function(){b(e)}))}else navigator.msSaveOrOpenBlob(f(t,n),e)}function $(t,e,n,o){if(o=o||open("","_blank"),o&&(o.document.title=o.document.body.innerText="downloading..."),"string"===typeof t)return m(t,e,n);const i="application/octet-stream"===t.type,r=/constructor/i.test(String(p.HTMLElement))||"safari"in p,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||i&&r||y)&&"undefined"!==typeof FileReader){const e=new FileReader;e.onloadend=function(){let t=e.result;if("string"!==typeof t)throw o=null,new Error("Wrong reader.result type");t=a?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=t:location.assign(t),o=null},e.readAsDataURL(t)}else{const e=URL.createObjectURL(t);o?o.location.assign(e):location.href=e,o=null,setTimeout((function(){URL.revokeObjectURL(e)}),4e4)}}function E(){const t=(0,r.B)(!0),e=t.run((()=>(0,r.iH)({})));let n=[],i=[];const a=(0,r.Xl)({install(t){l(a),o||(a._a=t,t.provide(c,a),t.config.globalProperties.$pinia=a,i.forEach((t=>n.push(t))),i=[])},use(t){return this._a||o?n.push(t):i.push(t),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return a}const S=()=>{};function _(t,e,n,o=S){t.push(e);const i=()=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),o())};return!n&&(0,a.FN)()&&(0,a.Ah)(i),i}function C(t,...e){t.slice().forEach((t=>{t(...e)}))}function A(t,e){for(const n in e){if(!e.hasOwnProperty(n))continue;const o=e[n],i=t[n];d(i)&&d(o)&&t.hasOwnProperty(n)&&!(0,r.dq)(o)&&!(0,r.PG)(o)?t[n]=A(i,o):t[n]=o}return t}const T=Symbol(),I=new WeakMap;function L(t){return o?!I.has(t):!d(t)||!t.hasOwnProperty(T)}const{assign:R}=Object;function O(t){return!(!(0,r.dq)(t)||!t.effect)}function D(t,e,n,s){const{state:c,actions:d,getters:u}=e,h=n.state.value[t];let p;function f(){h||(o?i(n.state.value,t,c?c():{}):n.state.value[t]=c?c():{});const e=(0,r.BK)(n.state.value[t]);return R(e,d,Object.keys(u||{}).reduce(((e,i)=>(e[i]=(0,r.Xl)((0,a.Fl)((()=>{l(n);const e=n._s.get(t);if(!o||e._r)return u[i].call(e,e)}))),e)),{}))}return p=N(t,f,e,n,s,!0),p.$reset=function(){const t=c?c():{};this.$patch((e=>{R(e,t)}))},p}function N(t,e,n={},s,c,d){let h;const p=R({actions:{}},n);const f={deep:!0};let m,g;let b,v=(0,r.Xl)([]),y=(0,r.Xl)([]);const w=s.state.value[t];d||w||(o?i(s.state.value,t,{}):s.state.value[t]={});(0,r.iH)({});let x;function k(e){let n;m=g=!1,"function"===typeof e?(e(s.state.value[t]),n={type:u.patchFunction,storeId:t,events:b}):(A(s.state.value[t],e),n={type:u.patchObject,payload:e,storeId:t,events:b});const o=x=Symbol();(0,a.Y3)().then((()=>{x===o&&(m=!0)})),g=!0,C(v,n,s.state.value[t])}const $=S;function E(){h.stop(),v=[],y=[],s._s.delete(t)}function T(e,n){return function(){l(s);const o=Array.from(arguments),i=[],r=[];function a(t){i.push(t)}function c(t){r.push(t)}let d;C(y,{args:o,name:e,store:D,after:a,onError:c});try{d=n.apply(this&&this.$id===t?this:D,o)}catch(u){throw C(r,u),u}return d instanceof Promise?d.then((t=>(C(i,t),t))).catch((t=>(C(r,t),Promise.reject(t)))):(C(i,d),d)}}const I={_p:s,$id:t,$onAction:_.bind(null,y),$patch:k,$reset:$,$subscribe(e,n={}){const o=_(v,e,n.detached,(()=>i())),i=h.run((()=>(0,a.YP)((()=>s.state.value[t]),(o=>{("sync"===n.flush?g:m)&&e({storeId:t,type:u.direct,events:b},o)}),R({},f,n))));return o},$dispose:E};o&&(I._r=!1);const D=(0,r.qj)(R({},I));s._s.set(t,D);const N=s._e.run((()=>(h=(0,r.B)(),h.run((()=>e())))));for(const a in N){const e=N[a];if((0,r.dq)(e)&&!O(e)||(0,r.PG)(e))d||(w&&L(e)&&((0,r.dq)(e)?e.value=w[a]:A(e,w[a])),o?i(s.state.value[t],a,e):s.state.value[t][a]=e);else if("function"===typeof e){const t=T(a,e);o?i(N,a,t):N[a]=t,p.actions[a]=e}else 0}return o?Object.keys(N).forEach((t=>{i(D,t,N[t])})):(R(D,N),R((0,r.IU)(D),N)),Object.defineProperty(D,"$state",{get:()=>s.state.value[t],set:t=>{k((e=>{R(e,t)}))}}),o&&(D._r=!0),s._p.forEach((t=>{R(D,h.run((()=>t({store:D,app:s._a,pinia:s,options:p}))))})),w&&d&&n.hydrate&&n.hydrate(D.$state,w),m=!0,g=!0,D}function P(t,e,n){let o,i;const r="function"===typeof e;function d(t,n){const d=(0,a.FN)();t=t||d&&(0,a.f3)(c),t&&l(t),t=s,t._s.has(o)||(r?N(o,e,i,t):D(o,i,t));const u=t._s.get(o);return u}return"string"===typeof t?(o=t,i=r?n:e):(i=t,o=t.id),d.$id=o,d}},3324:function(t,e,n){"use strict";n.d(e,{o:function(){return Ke}});const o="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,i=t=>o?Symbol(t):t,r=(t,e,n)=>a({l:t,k:e,s:n}),a=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),s=t=>"number"===typeof t&&isFinite(t),l=t=>"[object Date]"===E(t),c=t=>"[object RegExp]"===E(t),d=t=>S(t)&&0===Object.keys(t).length;function u(t,e){"undefined"!==typeof console&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const h=Object.assign;let p;const f=()=>p||(p="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});function m(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const g=Object.prototype.hasOwnProperty;function b(t,e){return g.call(t,e)}const v=Array.isArray,y=t=>"function"===typeof t,w=t=>"string"===typeof t,x=t=>"boolean"===typeof t,k=t=>null!==t&&"object"===typeof t,$=Object.prototype.toString,E=t=>$.call(t),S=t=>"[object Object]"===E(t),_=t=>null==t?"":v(t)||S(t)&&t.toString===$?JSON.stringify(t,null,2):String(t);const C=Object.prototype.hasOwnProperty;function A(t,e){return C.call(t,e)}const T=t=>null!==t&&"object"===typeof t,I=[];I[0]={["w"]:[0],["i"]:[3,0],["["]:[4],["o"]:[7]},I[1]={["w"]:[1],["."]:[2],["["]:[4],["o"]:[7]},I[2]={["w"]:[2],["i"]:[3,0],["0"]:[3,0]},I[3]={["i"]:[3,0],["0"]:[3,0],["w"]:[1,1],["."]:[2,1],["["]:[4,1],["o"]:[7,1]},I[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],["o"]:8,["l"]:[4,0]},I[5]={["'"]:[4,0],["o"]:8,["l"]:[5,0]},I[6]={['"']:[4,0],["o"]:8,["l"]:[6,0]};const L=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function R(t){return L.test(t)}function O(t){const e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function D(t){if(void 0===t||null===t)return"o";const e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function N(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(parseInt(t)))&&(R(e)?O(e):"*"+e)}function P(t){const e=[];let n,o,i,r,a,s,l,c=-1,d=0,u=0;const h=[];function p(){const e=t[c+1];if(5===d&&"'"===e||6===d&&'"'===e)return c++,i="\\"+e,h[0](),!0}h[0]=()=>{void 0===o?o=i:o+=i},h[1]=()=>{void 0!==o&&(e.push(o),o=void 0)},h[2]=()=>{h[0](),u++},h[3]=()=>{if(u>0)u--,d=4,h[0]();else{if(u=0,void 0===o)return!1;if(o=N(o),!1===o)return!1;h[1]()}};while(null!==d)if(c++,n=t[c],"\\"!==n||!p()){if(r=D(n),l=I[d],a=l[r]||l["l"]||8,8===a)return;if(d=a[0],void 0!==a[1]&&(s=h[a[1]],s&&(i=n,!1===s())))return;if(7===d)return e}}const z=new Map;function j(t,e){if(!T(t))return null;let n=z.get(e);if(n||(n=P(e),n&&z.set(e,n)),!n)return null;const o=n.length;let i=t,r=0;while(rt,F=t=>"",H="text",W=t=>0===t.length?"":t.join(""),U=_;function q(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0}function V(t){const e=s(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(s(t.named.count)||s(t.named.n))?s(t.named.count)?t.named.count:s(t.named.n)?t.named.n:e:e}function Y(t,e){e.count||(e.count=t),e.n||(e.n=t)}function G(t={}){const e=t.locale,n=V(t),o=k(t.pluralRules)&&w(e)&&y(t.pluralRules[e])?t.pluralRules[e]:q,i=k(t.pluralRules)&&w(e)&&y(t.pluralRules[e])?q:void 0,r=t=>t[o(n,t.length,i)],a=t.list||[],l=t=>a[t],c=t.named||{};s(t.pluralIndex)&&Y(n,c);const d=t=>c[t];function u(e){const n=y(t.messages)?t.messages(e):!!k(t.messages)&&t.messages[e];return n||(t.parent?t.parent.message(e):F)}const h=e=>t.modifiers?t.modifiers[e]:B,p=S(t.processor)&&y(t.processor.normalize)?t.processor.normalize:W,f=S(t.processor)&&y(t.processor.interpolate)?t.processor.interpolate:U,m=S(t.processor)&&w(t.processor.type)?t.processor.type:H,g={["list"]:l,["named"]:d,["plural"]:r,["linked"]:(t,e)=>{const n=u(t)(g);return w(e)?h(e)(n):n},["message"]:u,["type"]:m,["interpolate"]:f,["normalize"]:p};return g}function X(t,e,n={}){const{domain:o,messages:i,args:r}=n,a=t,s=new SyntaxError(String(a));return s.code=t,e&&(s.location=e),s.domain=o,s}function J(t){throw t}function K(t,e,n){return{line:t,column:e,offset:n}}function Z(t,e,n){const o={start:t,end:e};return null!=n&&(o.source=n),o}const Q=" ",tt="\r",et="\n",nt=String.fromCharCode(8232),ot=String.fromCharCode(8233);function it(t){const e=t;let n=0,o=1,i=1,r=0;const a=t=>e[t]===tt&&e[t+1]===et,s=t=>e[t]===et,l=t=>e[t]===ot,c=t=>e[t]===nt,d=t=>a(t)||s(t)||l(t)||c(t),u=()=>n,h=()=>o,p=()=>i,f=()=>r,m=t=>a(t)||l(t)||c(t)?et:e[t],g=()=>m(n),b=()=>m(n+r);function v(){return r=0,d(n)&&(o++,i=0),a(n)&&n++,n++,i++,e[n]}function y(){return a(n+r)&&r++,r++,e[n+r]}function w(){n=0,o=1,i=1,r=0}function x(t=0){r=t}function k(){const t=n+r;while(t!==n)v();r=0}return{index:u,line:h,column:p,peekOffset:f,charAt:m,currentChar:g,currentPeek:b,next:v,peek:y,reset:w,resetPeek:x,skipToPeek:k}}const rt=void 0,at="'",st="tokenizer";function lt(t,e={}){const n=!1!==e.location,o=it(t),i=()=>o.index(),r=()=>K(o.line(),o.column(),o.index()),a=r(),s=i(),l={currentType:14,offset:s,startLoc:a,endLoc:a,lastType:14,lastOffset:s,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:d}=e;function u(t,e,n,...o){const i=c();if(e.column+=n,e.offset+=n,d){const n=Z(i.startLoc,e),r=X(t,n,{domain:st,args:o});d(r)}}function h(t,e,o){t.endLoc=r(),t.currentType=e;const i={type:e};return n&&(i.loc=Z(t.startLoc,t.endLoc)),null!=o&&(i.value=o),i}const p=t=>h(t,14);function f(t,e){return t.currentChar()===e?(t.next(),e):(u(0,r(),0,e),"")}function m(t){let e="";while(t.currentPeek()===Q||t.currentPeek()===et)e+=t.currentPeek(),t.peek();return e}function g(t){const e=m(t);return t.skipToPeek(),e}function b(t){if(t===rt)return!1;const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||95===e}function v(t){if(t===rt)return!1;const e=t.charCodeAt(0);return e>=48&&e<=57}function y(t,e){const{currentType:n}=e;if(2!==n)return!1;m(t);const o=b(t.currentPeek());return t.resetPeek(),o}function w(t,e){const{currentType:n}=e;if(2!==n)return!1;m(t);const o="-"===t.currentPeek()?t.peek():t.currentPeek(),i=v(o);return t.resetPeek(),i}function x(t,e){const{currentType:n}=e;if(2!==n)return!1;m(t);const o=t.currentPeek()===at;return t.resetPeek(),o}function k(t,e){const{currentType:n}=e;if(8!==n)return!1;m(t);const o="."===t.currentPeek();return t.resetPeek(),o}function $(t,e){const{currentType:n}=e;if(9!==n)return!1;m(t);const o=b(t.currentPeek());return t.resetPeek(),o}function E(t,e){const{currentType:n}=e;if(8!==n&&12!==n)return!1;m(t);const o=":"===t.currentPeek();return t.resetPeek(),o}function S(t,e){const{currentType:n}=e;if(10!==n)return!1;const o=()=>{const e=t.currentPeek();return"{"===e?b(t.peek()):!("@"===e||"%"===e||"|"===e||":"===e||"."===e||e===Q||!e)&&(e===et?(t.peek(),o()):b(e))},i=o();return t.resetPeek(),i}function _(t){m(t);const e="|"===t.currentPeek();return t.resetPeek(),e}function C(t,e=!0){const n=(e=!1,o="",i=!1)=>{const r=t.currentPeek();return"{"===r?"%"!==o&&e:"@"!==r&&r?"%"===r?(t.peek(),n(e,"%",!0)):"|"===r?!("%"!==o&&!i)||!(o===Q||o===et):r===Q?(t.peek(),n(!0,Q,i)):r!==et||(t.peek(),n(!0,et,i)):"%"===o||e},o=n();return e&&t.resetPeek(),o}function A(t,e){const n=t.currentChar();return n===rt?rt:e(n)?(t.next(),n):null}function T(t){const e=t=>{const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||95===e||36===e};return A(t,e)}function I(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57};return A(t,e)}function L(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};return A(t,e)}function R(t){let e="",n="";while(e=I(t))n+=e;return n}function O(t){let e="";while(1){const n=t.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!C(t))break;e+=n,t.next()}else if(n===Q||n===et)if(C(t))e+=n,t.next();else{if(_(t))break;e+=n,t.next()}else e+=n,t.next()}return e}function D(t){g(t);let e="",n="";while(e=T(t))n+=e;return t.currentChar()===rt&&u(6,r(),0),n}function N(t){g(t);let e="";return"-"===t.currentChar()?(t.next(),e+=`-${R(t)}`):e+=R(t),t.currentChar()===rt&&u(6,r(),0),e}function P(t){g(t),f(t,"'");let e="",n="";const o=t=>t!==at&&t!==et;while(e=A(t,o))n+="\\"===e?z(t):e;const i=t.currentChar();return i===et||i===rt?(u(2,r(),0),i===et&&(t.next(),f(t,"'")),n):(f(t,"'"),n)}function z(t){const e=t.currentChar();switch(e){case"\\":case"'":return t.next(),`\\${e}`;case"u":return j(t,e,4);case"U":return j(t,e,6);default:return u(3,r(),0,e),""}}function j(t,e,n){f(t,e);let o="";for(let i=0;i"{"!==t&&"}"!==t&&t!==Q&&t!==et;while(e=A(t,o))n+=e;return n}function B(t){let e="",n="";while(e=T(t))n+=e;return n}function F(t){const e=(n=!1,o)=>{const i=t.currentChar();return"{"!==i&&"%"!==i&&"@"!==i&&"|"!==i&&i?i===Q?o:i===et?(o+=i,t.next(),e(n,o)):(o+=i,t.next(),e(!0,o)):o};return e(!1,"")}function H(t){g(t);const e=f(t,"|");return g(t),e}function W(t,e){let n=null;const o=t.currentChar();switch(o){case"{":return e.braceNest>=1&&u(8,r(),0),t.next(),n=h(e,2,"{"),g(t),e.braceNest++,n;case"}":return e.braceNest>0&&2===e.currentType&&u(7,r(),0),t.next(),n=h(e,3,"}"),e.braceNest--,e.braceNest>0&&g(t),e.inLinked&&0===e.braceNest&&(e.inLinked=!1),n;case"@":return e.braceNest>0&&u(6,r(),0),n=U(t,e)||p(e),e.braceNest=0,n;default:let o=!0,i=!0,a=!0;if(_(t))return e.braceNest>0&&u(6,r(),0),n=h(e,1,H(t)),e.braceNest=0,e.inLinked=!1,n;if(e.braceNest>0&&(5===e.currentType||6===e.currentType||7===e.currentType))return u(6,r(),0),e.braceNest=0,q(t,e);if(o=y(t,e))return n=h(e,5,D(t)),g(t),n;if(i=w(t,e))return n=h(e,6,N(t)),g(t),n;if(a=x(t,e))return n=h(e,7,P(t)),g(t),n;if(!o&&!i&&!a)return n=h(e,13,M(t)),u(1,r(),0,n.value),g(t),n;break}return n}function U(t,e){const{currentType:n}=e;let o=null;const i=t.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||i!==et&&i!==Q||u(9,r(),0),i){case"@":return t.next(),o=h(e,8,"@"),e.inLinked=!0,o;case".":return g(t),t.next(),h(e,9,".");case":":return g(t),t.next(),h(e,10,":");default:return _(t)?(o=h(e,1,H(t)),e.braceNest=0,e.inLinked=!1,o):k(t,e)||E(t,e)?(g(t),U(t,e)):$(t,e)?(g(t),h(e,12,B(t))):S(t,e)?(g(t),"{"===i?W(t,e)||o:h(e,11,F(t))):(8===n&&u(9,r(),0),e.braceNest=0,e.inLinked=!1,q(t,e))}}function q(t,e){let n={type:14};if(e.braceNest>0)return W(t,e)||p(e);if(e.inLinked)return U(t,e)||p(e);const o=t.currentChar();switch(o){case"{":return W(t,e)||p(e);case"}":return u(5,r(),0),t.next(),h(e,3,"}");case"@":return U(t,e)||p(e);default:if(_(t))return n=h(e,1,H(t)),e.braceNest=0,e.inLinked=!1,n;if(C(t))return h(e,0,O(t));if("%"===o)return t.next(),h(e,4,"%");break}return n}function V(){const{currentType:t,offset:e,startLoc:n,endLoc:a}=l;return l.lastType=t,l.lastOffset=e,l.lastStartLoc=n,l.lastEndLoc=a,l.offset=i(),l.startLoc=r(),o.currentChar()===rt?h(l,14):q(o,l)}return{nextToken:V,currentOffset:i,currentPosition:r,context:c}}const ct="parser",dt=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ut(t,e,n){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const t=parseInt(e||n,16);return t<=55295||t>=57344?String.fromCodePoint(t):"�"}}}function ht(t={}){const e=!1!==t.location,{onError:n}=t;function o(t,e,o,i,...r){const a=t.currentPosition();if(a.offset+=i,a.column+=i,n){const t=Z(o,a),i=X(e,t,{domain:ct,args:r});n(i)}}function i(t,n,o){const i={type:t,start:n,end:n};return e&&(i.loc={start:o,end:o}),i}function r(t,n,o,i){t.end=n,i&&(t.type=i),e&&t.loc&&(t.loc.end=o)}function a(t,e){const n=t.context(),o=i(3,n.offset,n.startLoc);return o.value=e,r(o,t.currentOffset(),t.currentPosition()),o}function s(t,e){const n=t.context(),{lastOffset:o,lastStartLoc:a}=n,s=i(5,o,a);return s.index=parseInt(e,10),t.nextToken(),r(s,t.currentOffset(),t.currentPosition()),s}function l(t,e){const n=t.context(),{lastOffset:o,lastStartLoc:a}=n,s=i(4,o,a);return s.key=e,t.nextToken(),r(s,t.currentOffset(),t.currentPosition()),s}function c(t,e){const n=t.context(),{lastOffset:o,lastStartLoc:a}=n,s=i(9,o,a);return s.value=e.replace(dt,ut),t.nextToken(),r(s,t.currentOffset(),t.currentPosition()),s}function d(t){const e=t.nextToken(),n=t.context(),{lastOffset:a,lastStartLoc:s}=n,l=i(8,a,s);return 12!==e.type?(o(t,11,n.lastStartLoc,0),l.value="",r(l,a,s),{nextConsumeToken:e,node:l}):(null==e.value&&o(t,13,n.lastStartLoc,0,pt(e)),l.value=e.value||"",r(l,t.currentOffset(),t.currentPosition()),{node:l})}function u(t,e){const n=t.context(),o=i(7,n.offset,n.startLoc);return o.value=e,r(o,t.currentOffset(),t.currentPosition()),o}function p(t){const e=t.context(),n=i(6,e.offset,e.startLoc);let a=t.nextToken();if(9===a.type){const e=d(t);n.modifier=e.node,a=e.nextConsumeToken||t.nextToken()}switch(10!==a.type&&o(t,13,e.lastStartLoc,0,pt(a)),a=t.nextToken(),2===a.type&&(a=t.nextToken()),a.type){case 11:null==a.value&&o(t,13,e.lastStartLoc,0,pt(a)),n.key=u(t,a.value||"");break;case 5:null==a.value&&o(t,13,e.lastStartLoc,0,pt(a)),n.key=l(t,a.value||"");break;case 6:null==a.value&&o(t,13,e.lastStartLoc,0,pt(a)),n.key=s(t,a.value||"");break;case 7:null==a.value&&o(t,13,e.lastStartLoc,0,pt(a)),n.key=c(t,a.value||"");break;default:o(t,12,e.lastStartLoc,0);const d=t.context(),h=i(7,d.offset,d.startLoc);return h.value="",r(h,d.offset,d.startLoc),n.key=h,r(n,d.offset,d.startLoc),{nextConsumeToken:a,node:n}}return r(n,t.currentOffset(),t.currentPosition()),{node:n}}function f(t){const e=t.context(),n=1===e.currentType?t.currentOffset():e.offset,d=1===e.currentType?e.endLoc:e.startLoc,u=i(2,n,d);u.items=[];let h=null;do{const n=h||t.nextToken();switch(h=null,n.type){case 0:null==n.value&&o(t,13,e.lastStartLoc,0,pt(n)),u.items.push(a(t,n.value||""));break;case 6:null==n.value&&o(t,13,e.lastStartLoc,0,pt(n)),u.items.push(s(t,n.value||""));break;case 5:null==n.value&&o(t,13,e.lastStartLoc,0,pt(n)),u.items.push(l(t,n.value||""));break;case 7:null==n.value&&o(t,13,e.lastStartLoc,0,pt(n)),u.items.push(c(t,n.value||""));break;case 8:const i=p(t);u.items.push(i.node),h=i.nextConsumeToken||null;break}}while(14!==e.currentType&&1!==e.currentType);const f=1===e.currentType?e.lastOffset:t.currentOffset(),m=1===e.currentType?e.lastEndLoc:t.currentPosition();return r(u,f,m),u}function m(t,e,n,a){const s=t.context();let l=0===a.items.length;const c=i(1,e,n);c.cases=[],c.cases.push(a);do{const e=f(t);l||(l=0===e.items.length),c.cases.push(e)}while(14!==s.currentType);return l&&o(t,10,n,0),r(c,t.currentOffset(),t.currentPosition()),c}function g(t){const e=t.context(),{offset:n,startLoc:o}=e,i=f(t);return 14===e.currentType?i:m(t,n,o,i)}function b(n){const a=lt(n,h({},t)),s=a.context(),l=i(0,s.offset,s.startLoc);return e&&l.loc&&(l.loc.source=n),l.body=g(a),14!==s.currentType&&o(a,13,s.lastStartLoc,0,n[s.offset]||""),r(l,a.currentOffset(),a.currentPosition()),l}return{parse:b}}function pt(t){if(14===t.type)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function ft(t,e={}){const n={ast:t,helpers:new Set},o=()=>n,i=t=>(n.helpers.add(t),t);return{context:o,helper:i}}function mt(t,e){for(let n=0;na;function l(t,e){a.code+=t}function c(t,e=!0){const n=e?i:"";l(r?n+" ".repeat(t):n)}function d(t=!0){const e=++a.indentLevel;t&&c(e)}function u(t=!0){const e=--a.indentLevel;t&&c(e)}function h(){c(a.indentLevel)}const p=t=>`_${t}`,f=()=>a.needIndent;return{context:s,push:l,indent:d,deindent:u,newline:h,helper:p,needIndent:f}}function yt(t,e){const{helper:n}=t;t.push(`${n("linked")}(`),$t(t,e.key),e.modifier&&(t.push(", "),$t(t,e.modifier)),t.push(")")}function wt(t,e){const{helper:n,needIndent:o}=t;t.push(`${n("normalize")}([`),t.indent(o());const i=e.items.length;for(let r=0;r1){t.push(`${n("plural")}([`),t.indent(o());const i=e.cases.length;for(let n=0;n{const n=w(e.mode)?e.mode:"normal",o=w(e.filename)?e.filename:"message.intl",i=!!e.sourceMap,r=null!=e.breakLineCode?e.breakLineCode:"arrow"===n?";":"\n",a=e.needIndent?e.needIndent:"arrow"!==n,s=t.helpers||[],l=vt(t,{mode:n,filename:o,sourceMap:i,breakLineCode:r,needIndent:a});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${s.map((t=>`${t}: _${t}`)).join(", ")} } = ctx`),l.newline()),l.push("return "),$t(l,t),l.deindent(a),l.push("}");const{code:c,map:d}=l.context();return{ast:t,code:c,map:d?d.toJSON():void 0}};function St(t,e={}){const n=h({},e),o=ht(n),i=o.parse(t);return bt(i,n),Et(i,n)} +/*! + * @intlify/devtools-if v9.1.10 + * (c) 2022 kazuya kawaguchi + * Released under the MIT License. + */ +const _t={I18nInit:"i18n:init",FunctionTranslate:"function:translate"}; +/*! + * @intlify/core-base v9.1.10 + * (c) 2022 kazuya kawaguchi + * Released under the MIT License. + */ +let Ct=null;function At(t){Ct=t}function Tt(t,e,n){Ct&&Ct.emit(_t.I18nInit,{timestamp:Date.now(),i18n:t,version:e,meta:n})}const It=Lt(_t.FunctionTranslate);function Lt(t){return e=>Ct&&Ct.emit(t,e)}const Rt="9.1.10",Ot=-1,Dt="";function Nt(){return{upper:t=>w(t)?t.toUpperCase():t,lower:t=>w(t)?t.toLowerCase():t,capitalize:t=>w(t)?`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`:t}}let Pt;function zt(t){Pt=t}let jt=null;const Mt=t=>{jt=t},Bt=()=>jt;let Ft=0;function Ht(t={}){const e=w(t.version)?t.version:Rt,n=w(t.locale)?t.locale:"en-US",o=v(t.fallbackLocale)||S(t.fallbackLocale)||w(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:n,i=S(t.messages)?t.messages:{[n]:{}},r=S(t.datetimeFormats)?t.datetimeFormats:{[n]:{}},a=S(t.numberFormats)?t.numberFormats:{[n]:{}},s=h({},t.modifiers||{},Nt()),l=t.pluralRules||{},d=y(t.missing)?t.missing:null,p=!x(t.missingWarn)&&!c(t.missingWarn)||t.missingWarn,f=!x(t.fallbackWarn)&&!c(t.fallbackWarn)||t.fallbackWarn,m=!!t.fallbackFormat,g=!!t.unresolving,b=y(t.postTranslation)?t.postTranslation:null,$=S(t.processor)?t.processor:null,E=!x(t.warnHtmlMessage)||t.warnHtmlMessage,_=!!t.escapeParameter,C=y(t.messageCompiler)?t.messageCompiler:Pt,A=y(t.onWarn)?t.onWarn:u,T=t,I=k(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,L=k(T.__numberFormatters)?T.__numberFormatters:new Map,R=k(T.__meta)?T.__meta:{};Ft++;const O={version:e,cid:Ft,locale:n,fallbackLocale:o,messages:i,datetimeFormats:r,numberFormats:a,modifiers:s,pluralRules:l,missing:d,missingWarn:p,fallbackWarn:f,fallbackFormat:m,unresolving:g,postTranslation:b,processor:$,warnHtmlMessage:E,escapeParameter:_,messageCompiler:C,onWarn:A,__datetimeFormatters:I,__numberFormatters:L,__meta:R};return __INTLIFY_PROD_DEVTOOLS__&&Tt(O,e,R),O}function Wt(t,e,n,o,i){const{missing:r,onWarn:a}=t;if(null!==r){const o=r(t,n,e,i);return w(o)?o:e}return e}function Ut(t,e,n){const o=t;o.__localeChainCache||(o.__localeChainCache=new Map);let i=o.__localeChainCache.get(n);if(!i){i=[];let t=[n];while(v(t))t=qt(i,t,e);const r=v(e)?e:S(e)?e["default"]?e["default"]:null:e;t=w(r)?[r]:r,v(t)&&qt(i,t,!1),o.__localeChainCache.set(n,i)}return i}function qt(t,e,n){let o=!0;for(let i=0;it;let Jt=Object.create(null);function Kt(t,e={}){{const n=e.onCacheKey||Xt,o=n(t),i=Jt[o];if(i)return i;let r=!1;const a=e.onError||J;e.onError=t=>{r=!0,a(t)};const{code:s}=St(t,e),l=new Function(`return ${s}`)();return r?l:Jt[o]=l}}function Zt(t){return X(t,null,void 0)}const Qt=()=>"",te=t=>y(t);function ee(t,...e){const{fallbackFormat:n,postTranslation:o,unresolving:i,fallbackLocale:r,messages:a}=t,[s,l]=ae(...e),c=x(l.missingWarn)?l.missingWarn:t.missingWarn,d=x(l.fallbackWarn)?l.fallbackWarn:t.fallbackWarn,u=x(l.escapeParameter)?l.escapeParameter:t.escapeParameter,p=!!l.resolvedMessage,f=w(l.default)||x(l.default)?x(l.default)?s:l.default:n?s:"",m=n||""!==f,g=w(l.locale)?l.locale:t.locale;u&&ne(l);let[b,v,y]=p?[s,g,a[g]||{}]:oe(t,s,g,r,d,c),k=s;if(p||w(b)||te(b)||m&&(b=f,k=b),!p&&(!w(b)&&!te(b)||!w(v)))return i?Ot:s;let $=!1;const E=()=>{$=!0},S=te(b)?b:ie(t,s,v,b,k,E);if($)return b;const _=le(t,v,y,l),C=G(_),A=re(t,S,C),T=o?o(A):A;if(__INTLIFY_PROD_DEVTOOLS__){const e={timestamp:Date.now(),key:w(s)?s:te(b)?b.key:"",locale:v||(te(b)?b.locale:""),format:w(b)?b:te(b)?b.source:"",message:T};e.meta=h({},t.__meta,Bt()||{}),It(e)}return T}function ne(t){v(t.list)?t.list=t.list.map((t=>w(t)?m(t):t)):k(t.named)&&Object.keys(t.named).forEach((e=>{w(t.named[e])&&(t.named[e]=m(t.named[e]))}))}function oe(t,e,n,o,i,r){const{messages:a,onWarn:s}=t,l=Ut(t,o,n);let c,d={},u=null,h=n,p=null;const f="translate";for(let m=0;m{throw a&&a(t),t},onCacheKey:t=>r(e,n,t)}}function le(t,e,n,o){const{modifiers:i,pluralRules:r}=t,a=o=>{const i=j(n,o);if(w(i)){let n=!1;const r=()=>{n=!0},a=ie(t,o,e,i,o,r);return n?Qt:a}return te(i)?i:Qt},l={locale:e,modifiers:i,pluralRules:r,messages:a};return t.processor&&(l.processor=t.processor),o.list&&(l.list=o.list),o.named&&(l.named=o.named),s(o.plural)&&(l.pluralIndex=o.plural),l}const ce="undefined"!==typeof Intl;ce&&Intl.DateTimeFormat,ce&&Intl.NumberFormat;function de(t,...e){const{datetimeFormats:n,unresolving:o,fallbackLocale:i,onWarn:r}=t,{__datetimeFormatters:a}=t;const[s,l,c,u]=ue(...e),p=x(c.missingWarn)?c.missingWarn:t.missingWarn,f=(x(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn,!!c.part),m=w(c.locale)?c.locale:t.locale,g=Ut(t,i,m);if(!w(s)||""===s)return new Intl.DateTimeFormat(m).format(l);let b,v={},y=null,k=m,$=null;const E="datetime format";for(let d=0;dt(n,o,(0,ge.FN)()||void 0,i)}function Te(t,e){const{messages:n,__i18n:o}=e,i=S(n)?n:v(o)?{}:{[t]:{}};if(v(o)&&o.forEach((({locale:t,resource:e})=>{t?(i[t]=i[t]||{},Le(e,i[t])):Le(e,i)})),e.flatJson)for(const r in i)b(i,r)&&M(i[r]);return i}const Ie=t=>!k(t)||v(t);function Le(t,e){if(Ie(t)||Ie(e))throw we(20);for(const n in t)b(t,n)&&(Ie(t[n])||Ie(e[n])?e[n]=t[n]:Le(t[n],e[n]))}const Re=()=>{const t=(0,ge.FN)();return t&&t.type[xe]?{[xe]:t.type[xe]}:null};function Oe(t={}){const{__root:e}=t,n=void 0===e;let o=!x(t.inheritLocale)||t.inheritLocale;const i=(0,be.iH)(e&&o?e.locale.value:w(t.locale)?t.locale:"en-US"),r=(0,be.iH)(e&&o?e.fallbackLocale.value:w(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:i.value),a=(0,be.iH)(Te(i.value,t)),l=(0,be.iH)(S(t.datetimeFormats)?t.datetimeFormats:{[i.value]:{}}),d=(0,be.iH)(S(t.numberFormats)?t.numberFormats:{[i.value]:{}});let u=e?e.missingWarn:!x(t.missingWarn)&&!c(t.missingWarn)||t.missingWarn,p=e?e.fallbackWarn:!x(t.fallbackWarn)&&!c(t.fallbackWarn)||t.fallbackWarn,f=e?e.fallbackRoot:!x(t.fallbackRoot)||t.fallbackRoot,m=!!t.fallbackFormat,g=y(t.missing)?t.missing:null,b=y(t.missing)?Ae(t.missing):null,$=y(t.postTranslation)?t.postTranslation:null,E=!x(t.warnHtmlMessage)||t.warnHtmlMessage,_=!!t.escapeParameter;const C=e?e.modifiers:S(t.modifiers)?t.modifiers:{};let A,T=t.pluralRules||e&&e.pluralRules;function I(){return Ht({version:ve,locale:i.value,fallbackLocale:r.value,messages:a.value,datetimeFormats:l.value,numberFormats:d.value,modifiers:C,pluralRules:T,missing:null===b?void 0:b,missingWarn:u,fallbackWarn:p,fallbackFormat:m,unresolving:!0,postTranslation:null===$?void 0:$,warnHtmlMessage:E,escapeParameter:_,__datetimeFormatters:S(A)?A.__datetimeFormatters:void 0,__numberFormatters:S(A)?A.__numberFormatters:void 0,__v_emitter:S(A)?A.__v_emitter:void 0,__meta:{framework:"vue"}})}function L(){return[i.value,r.value,a.value,l.value,d.value]}A=I(),Gt(A,i.value,r.value);const R=(0,ge.Fl)({get:()=>i.value,set:t=>{i.value=t,A.locale=i.value}}),O=(0,ge.Fl)({get:()=>r.value,set:t=>{r.value=t,A.fallbackLocale=r.value,Gt(A,i.value,t)}}),D=(0,ge.Fl)((()=>a.value)),N=(0,ge.Fl)((()=>l.value)),P=(0,ge.Fl)((()=>d.value));function z(){return y($)?$:null}function M(t){$=t,A.postTranslation=t}function B(){return g}function F(t){null!==t&&(b=Ae(t)),g=t,A.missing=b}function H(t,n,o,i,r,a){let l;if(L(),__INTLIFY_PROD_DEVTOOLS__)try{Mt(Re()),l=t(A)}finally{Mt(null)}else l=t(A);if(s(l)&&l===Ot){const[t,o]=n();return e&&f?i(e):r(t)}if(a(l))return l;throw we(14)}function W(...t){return H((e=>ee(e,...t)),(()=>ae(...t)),"translate",(e=>e.t(...t)),(t=>t),(t=>w(t)))}function U(...t){const[e,n,o]=t;if(o&&!k(o))throw we(15);return W(e,n,h({resolvedMessage:!0},o||{}))}function q(...t){return H((e=>de(e,...t)),(()=>ue(...t)),"datetime format",(e=>e.d(...t)),(()=>Dt),(t=>w(t)))}function V(...t){return H((e=>pe(e,...t)),(()=>fe(...t)),"number format",(e=>e.n(...t)),(()=>Dt),(t=>w(t)))}function Y(t){return t.map((t=>w(t)?(0,ge.Wm)(ge.xv,null,t,0):t))}const G=t=>t,X={normalize:Y,interpolate:G,type:"vnode"};function J(...t){return H((e=>{let n;const o=e;try{o.processor=X,n=ee(o,...t)}finally{o.processor=null}return n}),(()=>ae(...t)),"translate",(e=>e[ke](...t)),(t=>[(0,ge.Wm)(ge.xv,null,t,0)]),(t=>v(t)))}function K(...t){return H((e=>pe(e,...t)),(()=>fe(...t)),"number format",(e=>e[Ee](...t)),(()=>[]),(t=>w(t)||v(t)))}function Z(...t){return H((e=>de(e,...t)),(()=>ue(...t)),"datetime format",(e=>e[$e](...t)),(()=>[]),(t=>w(t)||v(t)))}function Q(t){T=t,A.pluralRules=T}function tt(t,e){const n=w(e)?e:i.value,o=ot(n);return null!==j(o,t)}function et(t){let e=null;const n=Ut(A,r.value,i.value);for(let o=0;o{o&&(i.value=t,A.locale=t,Gt(A,i.value,r.value))})),(0,ge.YP)(e.fallbackLocale,(t=>{o&&(r.value=t,A.fallbackLocale=t,Gt(A,i.value,r.value))})));const ht={id:Ce,locale:R,fallbackLocale:O,get inheritLocale(){return o},set inheritLocale(t){o=t,t&&e&&(i.value=e.locale.value,r.value=e.fallbackLocale.value,Gt(A,i.value,r.value))},get availableLocales(){return Object.keys(a.value).sort()},messages:D,datetimeFormats:N,numberFormats:P,get modifiers(){return C},get pluralRules(){return T||{}},get isGlobal(){return n},get missingWarn(){return u},set missingWarn(t){u=t,A.missingWarn=u},get fallbackWarn(){return p},set fallbackWarn(t){p=t,A.fallbackWarn=p},get fallbackRoot(){return f},set fallbackRoot(t){f=t},get fallbackFormat(){return m},set fallbackFormat(t){m=t,A.fallbackFormat=m},get warnHtmlMessage(){return E},set warnHtmlMessage(t){E=t,A.warnHtmlMessage=t},get escapeParameter(){return _},set escapeParameter(t){_=t,A.escapeParameter=t},t:W,rt:U,d:q,n:V,te:tt,tm:nt,getLocaleMessage:ot,setLocaleMessage:it,mergeLocaleMessage:rt,getDateTimeFormat:at,setDateTimeFormat:st,mergeDateTimeFormat:lt,getNumberFormat:ct,setNumberFormat:dt,mergeNumberFormat:ut,getPostTranslationHandler:z,setPostTranslationHandler:M,getMissingHandler:B,setMissingHandler:F,[ke]:J,[Ee]:K,[$e]:Z,[Se]:Q,[_e]:t.__injectWithOption};return ht}function De(t){const e=w(t.locale)?t.locale:"en-US",n=w(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:e,o=y(t.missing)?t.missing:void 0,i=!x(t.silentTranslationWarn)&&!c(t.silentTranslationWarn)||!t.silentTranslationWarn,r=!x(t.silentFallbackWarn)&&!c(t.silentFallbackWarn)||!t.silentFallbackWarn,a=!x(t.fallbackRoot)||t.fallbackRoot,s=!!t.formatFallbackMessages,l=S(t.modifiers)?t.modifiers:{},d=t.pluralizationRules,u=y(t.postTranslation)?t.postTranslation:void 0,p=!w(t.warnHtmlInMessage)||"off"!==t.warnHtmlInMessage,f=!!t.escapeParameterHtml,m=!x(t.sync)||t.sync;let g=t.messages;if(S(t.sharedMessages)){const e=t.sharedMessages,n=Object.keys(e);g=n.reduce(((t,n)=>{const o=t[n]||(t[n]={});return h(o,e[n]),t}),g||{})}const{__i18n:b,__root:k,__injectWithOption:$}=t,E=t.datetimeFormats,_=t.numberFormats,C=t.flatJson;return{locale:e,fallbackLocale:n,messages:g,flatJson:C,datetimeFormats:E,numberFormats:_,missing:o,missingWarn:i,fallbackWarn:r,fallbackRoot:a,fallbackFormat:s,modifiers:l,pluralRules:d,postTranslation:u,warnHtmlMessage:p,escapeParameter:f,inheritLocale:m,__i18n:b,__root:k,__injectWithOption:$}}function Ne(t={}){const e=Oe(De(t)),n={id:e.id,get locale(){return e.locale.value},set locale(t){e.locale.value=t},get fallbackLocale(){return e.fallbackLocale.value},set fallbackLocale(t){e.fallbackLocale.value=t},get messages(){return e.messages.value},get datetimeFormats(){return e.datetimeFormats.value},get numberFormats(){return e.numberFormats.value},get availableLocales(){return e.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(t){},get missing(){return e.getMissingHandler()},set missing(t){e.setMissingHandler(t)},get silentTranslationWarn(){return x(e.missingWarn)?!e.missingWarn:e.missingWarn},set silentTranslationWarn(t){e.missingWarn=x(t)?!t:t},get silentFallbackWarn(){return x(e.fallbackWarn)?!e.fallbackWarn:e.fallbackWarn},set silentFallbackWarn(t){e.fallbackWarn=x(t)?!t:t},get modifiers(){return e.modifiers},get formatFallbackMessages(){return e.fallbackFormat},set formatFallbackMessages(t){e.fallbackFormat=t},get postTranslation(){return e.getPostTranslationHandler()},set postTranslation(t){e.setPostTranslationHandler(t)},get sync(){return e.inheritLocale},set sync(t){e.inheritLocale=t},get warnHtmlInMessage(){return e.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(t){e.warnHtmlMessage="off"!==t},get escapeParameterHtml(){return e.escapeParameter},set escapeParameterHtml(t){e.escapeParameter=t},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(t){},get pluralizationRules(){return e.pluralRules||{}},__composer:e,t(...t){const[n,o,i]=t,r={};let a=null,s=null;if(!w(n))throw we(15);const l=n;return w(o)?r.locale=o:v(o)?a=o:S(o)&&(s=o),v(i)?a=i:S(i)&&(s=i),e.t(l,a||s||{},r)},rt(...t){return e.rt(...t)},tc(...t){const[n,o,i]=t,r={plural:1};let a=null,l=null;if(!w(n))throw we(15);const c=n;return w(o)?r.locale=o:s(o)?r.plural=o:v(o)?a=o:S(o)&&(l=o),w(i)?r.locale=i:v(i)?a=i:S(i)&&(l=i),e.t(c,a||l||{},r)},te(t,n){return e.te(t,n)},tm(t){return e.tm(t)},getLocaleMessage(t){return e.getLocaleMessage(t)},setLocaleMessage(t,n){e.setLocaleMessage(t,n)},mergeLocaleMessage(t,n){e.mergeLocaleMessage(t,n)},d(...t){return e.d(...t)},getDateTimeFormat(t){return e.getDateTimeFormat(t)},setDateTimeFormat(t,n){e.setDateTimeFormat(t,n)},mergeDateTimeFormat(t,n){e.mergeDateTimeFormat(t,n)},n(...t){return e.n(...t)},getNumberFormat(t){return e.getNumberFormat(t)},setNumberFormat(t,n){e.setNumberFormat(t,n)},mergeNumberFormat(t,n){e.mergeNumberFormat(t,n)},getChoiceIndex(t,e){return-1},__onComponentInstanceCreated(e){const{componentInstanceCreatedListener:o}=t;o&&o(e,n)}};return n}const Pe={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>"parent"===t||"global"===t,default:"parent"},i18n:{type:Object}},ze={name:"i18n-t",props:h({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>s(t)||!isNaN(t)}},Pe),setup(t,e){const{slots:n,attrs:o}=e,i=t.i18n||Ze({useScope:t.scope,__useComponent:!0}),r=Object.keys(n).filter((t=>"_"!==t));return()=>{const n={};t.locale&&(n.locale=t.locale),void 0!==t.plural&&(n.plural=w(t.plural)?+t.plural:t.plural);const a=je(e,r),s=i[ke](t.keypath,a,n),l=h({},o);return w(t.tag)||k(t.tag)?(0,ge.h)(t.tag,l,s):(0,ge.h)(ge.HY,l,s)}}};function je({slots:t},e){return 1===e.length&&"default"===e[0]?t.default?t.default():[]:e.reduce(((e,n)=>{const o=t[n];return o&&(e[n]=o()),e}),{})}function Me(t,e,n,o){const{slots:i,attrs:r}=e;return()=>{const e={part:!0};let a={};t.locale&&(e.locale=t.locale),w(t.format)?e.key=t.format:k(t.format)&&(w(t.format.key)&&(e.key=t.format.key),a=Object.keys(t.format).reduce(((e,o)=>n.includes(o)?h({},e,{[o]:t.format[o]}):e),{}));const s=o(t.value,e,a);let l=[e.key];v(s)?l=s.map(((t,e)=>{const n=i[t.type];return n?n({[t.type]:t.value,index:e,parts:s}):[t.value]})):w(s)&&(l=[s]);const c=h({},r);return w(t.tag)||k(t.tag)?(0,ge.h)(t.tag,c,l):(0,ge.h)(ge.HY,c,l)}}const Be=["localeMatcher","style","unit","unitDisplay","currency","currencyDisplay","useGrouping","numberingSystem","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","notation","formatMatcher"],Fe={name:"i18n-n",props:h({value:{type:Number,required:!0},format:{type:[String,Object]}},Pe),setup(t,e){const n=t.i18n||Ze({useScope:"parent",__useComponent:!0});return Me(t,e,Be,((...t)=>n[Ee](...t)))}},He=["dateStyle","timeStyle","fractionalSecondDigits","calendar","dayPeriod","numberingSystem","localeMatcher","timeZone","hour12","hourCycle","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"],We={name:"i18n-d",props:h({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Pe),setup(t,e){const n=t.i18n||Ze({useScope:"parent",__useComponent:!0});return Me(t,e,He,((...t)=>n[$e](...t)))}};function Ue(t,e){const n=t;if("composition"===t.mode)return n.__getInstance(e)||t.global;{const o=n.__getInstance(e);return null!=o?o.__composer:t.global.__composer}}function qe(t){const e=(e,{instance:n,value:o,modifiers:i})=>{if(!n||!n.$)throw we(22);const r=Ue(t,n.$);const a=Ve(o);e.textContent=r.t(...Ye(a))};return{beforeMount:e,beforeUpdate:e}}function Ve(t){if(w(t))return{path:t};if(S(t)){if(!("path"in t))throw we(19,"path");return t}throw we(20)}function Ye(t){const{path:e,locale:n,args:o,choice:i,plural:r}=t,a={},l=o||{};return w(n)&&(a.locale=n),s(i)&&(a.plural=i),s(r)&&(a.plural=r),[e,l,a]}function Ge(t,e,...n){const o=S(n[0])?n[0]:{},i=!!o.useI18nComponentName,r=!x(o.globalInstall)||o.globalInstall;r&&(t.component(i?"i18n":ze.name,ze),t.component(Fe.name,Fe),t.component(We.name,We)),t.directive("t",qe(e))}function Xe(t,e,n){return{beforeCreate(){const o=(0,ge.FN)();if(!o)throw we(22);const i=this.$options;if(i.i18n){const n=i.i18n;i.__i18n&&(n.__i18n=i.__i18n),n.__root=e,this===this.$root?this.$i18n=Je(t,n):(n.__injectWithOption=!0,this.$i18n=Ne(n))}else i.__i18n?this===this.$root?this.$i18n=Je(t,i):this.$i18n=Ne({__i18n:i.__i18n,__injectWithOption:!0,__root:e}):this.$i18n=t;t.__onComponentInstanceCreated(this.$i18n),n.__setInstance(o,this.$i18n),this.$t=(...t)=>this.$i18n.t(...t),this.$rt=(...t)=>this.$i18n.rt(...t),this.$tc=(...t)=>this.$i18n.tc(...t),this.$te=(t,e)=>this.$i18n.te(t,e),this.$d=(...t)=>this.$i18n.d(...t),this.$n=(...t)=>this.$i18n.n(...t),this.$tm=t=>this.$i18n.tm(t)},mounted(){0},beforeUnmount(){const t=(0,ge.FN)();if(!t)throw we(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(t),delete this.$i18n}}}function Je(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[Se](e.pluralizationRules||t.pluralizationRules);const n=Te(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(n).forEach((e=>t.mergeLocaleMessage(e,n[e]))),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach((n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n]))),e.numberFormats&&Object.keys(e.numberFormats).forEach((n=>t.mergeNumberFormat(n,e.numberFormats[n]))),t}function Ke(t={}){const e=__VUE_I18N_LEGACY_API__&&x(t.legacy)?t.legacy:__VUE_I18N_LEGACY_API__,n=!!t.globalInjection,o=new Map,r=__VUE_I18N_LEGACY_API__&&e?Ne(t):Oe(t),a=i(""),s={get mode(){return __VUE_I18N_LEGACY_API__&&e?"legacy":"composition"},async install(t,...o){t.__VUE_I18N_SYMBOL__=a,t.provide(t.__VUE_I18N_SYMBOL__,s),!e&&n&&on(t,s.global),__VUE_I18N_FULL_INSTALL__&&Ge(t,s,...o),__VUE_I18N_LEGACY_API__&&e&&t.mixin(Xe(r,r.__composer,s))},get global(){return r},__instances:o,__getInstance(t){return o.get(t)||null},__setInstance(t,e){o.set(t,e)},__deleteInstance(t){o.delete(t)}};return s}function Ze(t={}){const e=(0,ge.FN)();if(null==e)throw we(16);if(!e.appContext.app.__VUE_I18N_SYMBOL__)throw we(17);const n=(0,ge.f3)(e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw we(22);const o="composition"===n.mode?n.global:n.global.__composer,i=d(t)?"__i18n"in e.type?"local":"global":t.useScope?t.useScope:"local";if("global"===i){let n=k(t.messages)?t.messages:{};"__i18nGlobal"in e.type&&(n=Te(o.locale.value,{messages:n,__i18n:e.type.__i18nGlobal}));const i=Object.keys(n);if(i.length&&i.forEach((t=>{o.mergeLocaleMessage(t,n[t])})),k(t.datetimeFormats)){const e=Object.keys(t.datetimeFormats);e.length&&e.forEach((e=>{o.mergeDateTimeFormat(e,t.datetimeFormats[e])}))}if(k(t.numberFormats)){const e=Object.keys(t.numberFormats);e.length&&e.forEach((e=>{o.mergeNumberFormat(e,t.numberFormats[e])}))}return o}if("parent"===i){let i=Qe(n,e,t.__useComponent);return null==i&&(i=o),i}if("legacy"===n.mode)throw we(18);const r=n;let a=r.__getInstance(e);if(null==a){const n=e.type,i=h({},t);n.__i18n&&(i.__i18n=n.__i18n),o&&(i.__root=o),a=Oe(i),tn(r,e,a),r.__setInstance(e,a)}return a}function Qe(t,e,n=!1){let o=null;const i=e.root;let r=e.parent;while(null!=r){const e=t;if("composition"===t.mode)o=e.__getInstance(r);else{const t=e.__getInstance(r);null!=t&&(o=t.__composer),n&&o&&!o[_e]&&(o=null)}if(null!=o)break;if(i===r)break;r=r.parent}return o}function tn(t,e,n){(0,ge.bv)((()=>{0}),e),(0,ge.Ah)((()=>{t.__deleteInstance(e)}),e)}const en=["locale","fallbackLocale","availableLocales"],nn=["t","rt","d","n","tm"];function on(t,e){const n=Object.create(null);en.forEach((t=>{const o=Object.getOwnPropertyDescriptor(e,t);if(!o)throw we(22);const i=(0,be.dq)(o.value)?{get(){return o.value.value},set(t){o.value.value=t}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,t,i)})),t.config.globalProperties.$i18n=n,nn.forEach((n=>{const o=Object.getOwnPropertyDescriptor(e,n);if(!o||!o.value)throw we(22);Object.defineProperty(t.config.globalProperties,`$${n}`,o)}))}if(zt(Kt),ye(),__INTLIFY_PROD_DEVTOOLS__){const t=f();t.__INTLIFY__=!0,At(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}},3744:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[o,i]of e)n[o]=i;return n}},2119:function(t,e,n){"use strict";n.d(e,{PO:function(){return q},XS:function(){return s},ZD:function(){return d},mB:function(){return Mt},p7:function(){return ne},tv:function(){return re},yj:function(){return ae}});var o=n(6252),i=n(2262); +/*! + * vue-router v4.0.16 + * (c) 2022 Eduardo San Martin Morote + * @license MIT + */ +const r="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,a=t=>r?Symbol(t):"_vr_"+t,s=a("rvlm"),l=a("rvd"),c=a("r"),d=a("rl"),u=a("rvl"),h="undefined"!==typeof window;function p(t){return t.__esModule||r&&"Module"===t[Symbol.toStringTag]}const f=Object.assign;function m(t,e){const n={};for(const o in e){const i=e[o];n[o]=Array.isArray(i)?i.map(t):t(i)}return n}const g=()=>{};const b=/\/$/,v=t=>t.replace(b,"");function y(t,e,n="/"){let o,i={},r="",a="";const s=e.indexOf("?"),l=e.indexOf("#",s>-1?s:0);return s>-1&&(o=e.slice(0,s),r=e.slice(s+1,l>-1?l:e.length),i=t(r)),l>-1&&(o=o||e.slice(0,l),a=e.slice(l,e.length)),o=C(null!=o?o:e,n),{fullPath:o+(r&&"?")+r+a,path:o,query:i,hash:a}}function w(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function x(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function k(t,e,n){const o=e.matched.length-1,i=n.matched.length-1;return o>-1&&o===i&&$(e.matched[o],n.matched[i])&&E(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function $(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function E(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!S(t[n],e[n]))return!1;return!0}function S(t,e){return Array.isArray(t)?_(t,e):Array.isArray(e)?_(e,t):t===e}function _(t,e){return Array.isArray(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function C(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),o=t.split("/");let i,r,a=n.length-1;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function N(t){let e;if("el"in t){const n=t.el,o="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=O(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function P(t,e){const n=history.state?history.state.position-e:-1;return n+t}const z=new Map;function j(t,e){z.set(t,e)}function M(t){const e=z.get(t);return z.delete(t),e}let B=()=>location.protocol+"//"+location.host;function F(t,e){const{pathname:n,search:o,hash:i}=e,r=t.indexOf("#");if(r>-1){let e=i.includes(t.slice(r))?t.slice(r).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),x(n,"")}const a=x(n,t);return a+o+i}function H(t,e,n,o){let i=[],r=[],a=null;const s=({state:r})=>{const s=F(t,location),l=n.value,c=e.value;let d=0;if(r){if(n.value=s,e.value=r,a&&a===l)return void(a=null);d=c?r.position-c.position:0}else o(s);i.forEach((t=>{t(n.value,l,{delta:d,type:A.pop,direction:d?d>0?T.forward:T.back:T.unknown})}))};function l(){a=n.value}function c(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return r.push(e),e}function d(){const{history:t}=window;t.state&&t.replaceState(f({},t.state,{scroll:D()}),"")}function u(){for(const t of r)t();r=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",d),{pauseListeners:l,listen:c,destroy:u}}function W(t,e,n,o=!1,i=!1){return{back:t,current:e,forward:n,replaced:o,position:window.history.length,scroll:i?D():null}}function U(t){const{history:e,location:n}=window,o={value:F(t,n)},i={value:e.state};function r(o,r,a){const s=t.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?t:t.slice(s))+o:B()+t+o;try{e[a?"replaceState":"pushState"](r,"",l),i.value=r}catch(c){console.error(c),n[a?"replace":"assign"](l)}}function a(t,n){const a=f({},e.state,W(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});r(t,a,!0),o.value=t}function s(t,n){const a=f({},i.value,e.state,{forward:t,scroll:D()});r(a.current,a,!0);const s=f({},W(o.value,t,null),{position:a.position+1},n);r(t,s,!1),o.value=t}return i.value||r(o.value,{back:null,current:o.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:o,state:i,push:s,replace:a}}function q(t){t=I(t);const e=U(t),n=H(t,e.state,e.location,e.replace);function o(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=f({location:"",base:t,go:o,createHref:R.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function V(t){return"string"===typeof t||t&&"object"===typeof t}function Y(t){return"string"===typeof t||"symbol"===typeof t}const G={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},X=a("nf");var J;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(J||(J={}));function K(t,e){return f(new Error,{type:t,[X]:!0},e)}function Z(t,e){return t instanceof Error&&X in t&&(null==e||!!(t.type&e))}const Q="[^/]+?",tt={sensitive:!1,strict:!1,start:!0,end:!0},et=/[.+*?^${}()[\]/\\]/g;function nt(t,e){const n=f({},tt,e),o=[];let i=n.start?"^":"";const r=[];for(const d of t){const t=d.length?[]:[90];n.strict&&!d.length&&(i+="/");for(let e=0;e1&&(n.endsWith("/")?n=n.slice(0,-1):o=!0)}n+=d}}return n}return{re:a,score:o,keys:r,parse:s,stringify:l}}function ot(t,e){let n=0;while(ne.length?1===e.length&&80===e[0]?1:-1:0}function it(t,e){let n=0;const o=t.score,i=e.score;while(n0&&e[e.length-1]<0}const at={type:0,value:""},st=/[a-zA-Z0-9_]/;function lt(t){if(!t)return[[]];if("/"===t)return[[at]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${c}": ${t}`)}let n=0,o=n;const i=[];let r;function a(){r&&i.push(r),r=[]}let s,l=0,c="",d="";function u(){c&&(0===n?r.push({type:0,value:c}):1===n||2===n||3===n?(r.length>1&&("*"===s||"+"===s)&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:c,regexp:d,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):e("Invalid state to consume buffer"),c="")}function h(){c+=s}while(l{a(h)}:g}function a(t){if(Y(t)){const e=o.get(t);e&&(o.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(a),e.alias.forEach(a))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&o.delete(t.record.name),t.children.forEach(a),t.alias.forEach(a))}}function s(){return n}function l(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!bt(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!ft(t)&&o.set(t.record.name,t)}function c(t,e){let i,r,a,s={};if("name"in t&&t.name){if(i=o.get(t.name),!i)throw K(1,{location:t});a=i.record.name,s=f(ut(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params),r=i.stringify(s)}else if("path"in t)r=t.path,i=n.find((t=>t.re.test(r))),i&&(s=i.parse(r),a=i.record.name);else{if(i=e.name?o.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw K(1,{location:t,currentLocation:e});a=i.record.name,s=f({},e.params,t.params),r=i.stringify(s)}const l=[];let c=i;while(c)l.unshift(c.record),c=c.parent;return{name:a,path:r,params:s,matched:l,meta:mt(l)}}return e=gt({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>r(t))),{addRoute:r,resolve:c,removeRoute:a,getRoutes:s,getRecordMatcher:i}}function ut(t,e){const n={};for(const o of e)o in t&&(n[o]=t[o]);return n}function ht(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:pt(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||{}:{default:t.component}}}function pt(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const o in t.components)e[o]="boolean"===typeof n?n:n[o];return e}function ft(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function mt(t){return t.reduce(((t,e)=>f(t,e.meta)),{})}function gt(t,e){const n={};for(const o in t)n[o]=o in e?e[o]:t[o];return n}function bt(t,e){return e.children.some((e=>e===t||bt(t,e)))}const vt=/#/g,yt=/&/g,wt=/\//g,xt=/=/g,kt=/\?/g,$t=/\+/g,Et=/%5B/g,St=/%5D/g,_t=/%5E/g,Ct=/%60/g,At=/%7B/g,Tt=/%7C/g,It=/%7D/g,Lt=/%20/g;function Rt(t){return encodeURI(""+t).replace(Tt,"|").replace(Et,"[").replace(St,"]")}function Ot(t){return Rt(t).replace(At,"{").replace(It,"}").replace(_t,"^")}function Dt(t){return Rt(t).replace($t,"%2B").replace(Lt,"+").replace(vt,"%23").replace(yt,"%26").replace(Ct,"`").replace(At,"{").replace(It,"}").replace(_t,"^")}function Nt(t){return Dt(t).replace(xt,"%3D")}function Pt(t){return Rt(t).replace(vt,"%23").replace(kt,"%3F")}function zt(t){return null==t?"":Pt(t).replace(wt,"%2F")}function jt(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Mt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],o=(n?t.slice(1):t).split("&");for(let i=0;it&&Dt(t))):[o&&Dt(o)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Ft(t){const e={};for(const n in t){const o=t[n];void 0!==o&&(e[n]=Array.isArray(o)?o.map((t=>null==t?null:""+t)):null==o?o:""+o)}return e}function Ht(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Wt(t,e,n,o,i){const r=o&&(o.enterCallbacks[i]=o.enterCallbacks[i]||[]);return()=>new Promise(((a,s)=>{const l=t=>{!1===t?s(K(4,{from:n,to:e})):t instanceof Error?s(t):V(t)?s(K(2,{from:e,to:t})):(r&&o.enterCallbacks[i]===r&&"function"===typeof t&&r.push(t),a())},c=t.call(o&&o.instances[i],e,n,l);let d=Promise.resolve(c);t.length<3&&(d=d.then(l)),d.catch((t=>s(t)))}))}function Ut(t,e,n,o){const i=[];for(const r of t)for(const t in r.components){let a=r.components[t];if("beforeRouteEnter"===e||r.instances[t])if(qt(a)){const s=a.__vccOpts||a,l=s[e];l&&i.push(Wt(l,n,o,r,t))}else{let s=a();0,i.push((()=>s.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${r.path}"`));const a=p(i)?i.default:i;r.components[t]=a;const s=a.__vccOpts||a,l=s[e];return l&&Wt(l,n,o,r,t)()}))))}}return i}function qt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Vt(t){const e=(0,o.f3)(c),n=(0,o.f3)(d),r=(0,o.Fl)((()=>e.resolve((0,i.SU)(t.to)))),a=(0,o.Fl)((()=>{const{matched:t}=r.value,{length:e}=t,o=t[e-1],i=n.matched;if(!o||!i.length)return-1;const a=i.findIndex($.bind(null,o));if(a>-1)return a;const s=Kt(t[e-2]);return e>1&&Kt(o)===s&&i[i.length-1].path!==s?i.findIndex($.bind(null,t[e-2])):a})),s=(0,o.Fl)((()=>a.value>-1&&Jt(n.params,r.value.params))),l=(0,o.Fl)((()=>a.value>-1&&a.value===n.matched.length-1&&E(n.params,r.value.params)));function u(n={}){return Xt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(g):Promise.resolve()}return{route:r,href:(0,o.Fl)((()=>r.value.href)),isActive:s,isExactActive:l,navigate:u}}const Yt=(0,o.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Vt,setup(t,{slots:e}){const n=(0,i.qj)(Vt(t)),{options:r}=(0,o.f3)(c),a=(0,o.Fl)((()=>({[Zt(t.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Zt(t.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,o.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},i)}}}),Gt=Yt;function Xt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Jt(t,e){for(const n in e){const o=e[n],i=t[n];if("string"===typeof o){if(o!==i)return!1}else if(!Array.isArray(i)||i.length!==o.length||o.some(((t,e)=>t!==i[e])))return!1}return!0}function Kt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Zt=(t,e,n)=>null!=t?t:null!=e?e:n,Qt=(0,o.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const r=(0,o.f3)(u),a=(0,o.Fl)((()=>t.route||r.value)),c=(0,o.f3)(l,0),d=(0,o.Fl)((()=>a.value.matched[c]));(0,o.JJ)(l,c+1),(0,o.JJ)(s,d),(0,o.JJ)(u,a);const h=(0,i.iH)();return(0,o.YP)((()=>[h.value,d.value,t.name]),(([t,e,n],[o,i,r])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===o&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&$(e,i)&&o||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=a.value,r=d.value,s=r&&r.components[t.name],l=t.name;if(!s)return te(n.default,{Component:s,route:i});const c=r.props[t.name],u=c?!0===c?i.params:"function"===typeof c?c(i):c:null,p=t=>{t.component.isUnmounted&&(r.instances[l]=null)},m=(0,o.h)(s,f({},u,e,{onVnodeUnmounted:p,ref:h}));return te(n.default,{Component:m,route:i})||m}}});function te(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const ee=Qt;function ne(t){const e=dt(t.routes,t),n=t.parseQuery||Mt,r=t.stringifyQuery||Bt,a=t.history;const s=Ht(),l=Ht(),p=Ht(),b=(0,i.XI)(G);let v=G;h&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const x=m.bind(null,(t=>""+t)),$=m.bind(null,zt),E=m.bind(null,jt);function S(t,n){let o,i;return Y(t)?(o=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,o)}function _(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function C(){return e.getRoutes().map((t=>t.record))}function T(t){return!!e.getRecordMatcher(t)}function I(t,o){if(o=f({},o||b.value),"string"===typeof t){const i=y(n,t,o.path),r=e.resolve({path:i.path},o),s=a.createHref(i.fullPath);return f(i,r,{params:E(r.params),hash:jt(i.hash),redirectedFrom:void 0,href:s})}let i;if("path"in t)i=f({},t,{path:y(n,t.path,o.path).path});else{const e=f({},t.params);for(const t in e)null==e[t]&&delete e[t];i=f({},t,{params:$(t.params)}),o.params=$(o.params)}const s=e.resolve(i,o),l=t.hash||"";s.params=x(E(s.params));const c=w(r,f({},t,{hash:Ot(l),path:s.path})),d=a.createHref(c);return f({fullPath:c,hash:l,query:r===Bt?Ft(t.query):t.query||{}},s,{redirectedFrom:void 0,href:d})}function L(t){return"string"===typeof t?y(n,t,b.value.path):f({},t)}function R(t,e){if(v!==t)return K(8,{from:e,to:t})}function O(t){return F(t)}function z(t){return O(f(L(t),{replace:!0}))}function B(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let o="function"===typeof n?n(t):n;return"string"===typeof o&&(o=o.includes("?")||o.includes("#")?o=L(o):{path:o},o.params={}),f({query:t.query,hash:t.hash,params:t.params},o)}}function F(t,e){const n=v=I(t),o=b.value,i=t.state,a=t.force,s=!0===t.replace,l=B(n);if(l)return F(f(L(l),{state:i,force:a,replace:s}),e||n);const c=n;let d;return c.redirectedFrom=e,!a&&k(r,o,n)&&(d=K(16,{to:c,from:o}),it(o,o,!0,!1)),(d?Promise.resolve(d):W(c,o)).catch((t=>Z(t)?Z(t,2)?t:ot(t):et(t,c,o))).then((t=>{if(t){if(Z(t,2))return F(f(L(t.to),{state:i,force:a,replace:s}),e||c)}else t=q(c,o,!0,s,i);return U(c,o,t),t}))}function H(t,e){const n=R(t,e);return n?Promise.reject(n):Promise.resolve()}function W(t,e){let n;const[o,i,r]=ie(t,e);n=Ut(o.reverse(),"beforeRouteLeave",t,e);for(const s of o)s.leaveGuards.forEach((o=>{n.push(Wt(o,t,e))}));const a=H.bind(null,t,e);return n.push(a),oe(n).then((()=>{n=[];for(const o of s.list())n.push(Wt(o,t,e));return n.push(a),oe(n)})).then((()=>{n=Ut(i,"beforeRouteUpdate",t,e);for(const o of i)o.updateGuards.forEach((o=>{n.push(Wt(o,t,e))}));return n.push(a),oe(n)})).then((()=>{n=[];for(const o of t.matched)if(o.beforeEnter&&!e.matched.includes(o))if(Array.isArray(o.beforeEnter))for(const i of o.beforeEnter)n.push(Wt(i,t,e));else n.push(Wt(o.beforeEnter,t,e));return n.push(a),oe(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Ut(r,"beforeRouteEnter",t,e),n.push(a),oe(n)))).then((()=>{n=[];for(const o of l.list())n.push(Wt(o,t,e));return n.push(a),oe(n)})).catch((t=>Z(t,8)?t:Promise.reject(t)))}function U(t,e,n){for(const o of p.list())o(t,e,n)}function q(t,e,n,o,i){const r=R(t,e);if(r)return r;const s=e===G,l=h?history.state:{};n&&(o||s?a.replace(t.fullPath,f({scroll:s&&l&&l.scroll},i)):a.push(t.fullPath,i)),b.value=t,it(t,e,n,s),ot()}let V;function X(){V||(V=a.listen(((t,e,n)=>{const o=I(t),i=B(o);if(i)return void F(f(i,{replace:!0}),o).catch(g);v=o;const r=b.value;h&&j(P(r.fullPath,n.delta),D()),W(o,r).catch((t=>Z(t,12)?t:Z(t,2)?(F(t.to,o).then((t=>{Z(t,20)&&!n.delta&&n.type===A.pop&&a.go(-1,!1)})).catch(g),Promise.reject()):(n.delta&&a.go(-n.delta,!1),et(t,o,r)))).then((t=>{t=t||q(o,r,!1),t&&(n.delta?a.go(-n.delta,!1):n.type===A.pop&&Z(t,20)&&a.go(-1,!1)),U(o,r,t)})).catch(g)})))}let J,Q=Ht(),tt=Ht();function et(t,e,n){ot(t);const o=tt.list();return o.length?o.forEach((o=>o(t,e,n))):console.error(t),Promise.reject(t)}function nt(){return J&&b.value!==G?Promise.resolve():new Promise(((t,e)=>{Q.add([t,e])}))}function ot(t){return J||(J=!t,X(),Q.list().forEach((([e,n])=>t?n(t):e())),Q.reset()),t}function it(e,n,i,r){const{scrollBehavior:a}=t;if(!h||!a)return Promise.resolve();const s=!i&&M(P(e.fullPath,0))||(r||!i)&&history.state&&history.state.scroll||null;return(0,o.Y3)().then((()=>a(e,n,s))).then((t=>t&&N(t))).catch((t=>et(t,e,n)))}const rt=t=>a.go(t);let at;const st=new Set,lt={currentRoute:b,addRoute:S,removeRoute:_,hasRoute:T,getRoutes:C,resolve:I,options:t,push:O,replace:z,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:s.add,beforeResolve:l.add,afterEach:p.add,onError:tt.add,isReady:nt,install(t){const e=this;t.component("RouterLink",Gt),t.component("RouterView",ee),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),h&&!at&&b.value===G&&(at=!0,O(a.location).catch((t=>{0})));const n={};for(const i in G)n[i]=(0,o.Fl)((()=>b.value[i]));t.provide(c,e),t.provide(d,(0,i.qj)(n)),t.provide(u,b);const r=t.unmount;st.add(t),t.unmount=function(){st.delete(t),st.size<1&&(v=G,V&&V(),V=null,b.value=G,at=!1,J=!1),r()}}};return lt}function oe(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function ie(t,e){const n=[],o=[],i=[],r=Math.max(e.matched.length,t.matched.length);for(let a=0;a$(t,r)))?o.push(r):n.push(r));const s=t.matched[a];s&&(e.matched.find((t=>$(t,s)))||i.push(s))}return[n,o,i]}function re(){return(0,o.f3)(c)}function ae(){return(0,o.f3)(d)}},8903:function(t,e,n){"use strict";n.d(e,{$1v:function(){return c},IHx:function(){return o},Pf6:function(){return r},QzP:function(){return i},UQi:function(){return d},euS:function(){return s},gtu:function(){return u},hkI:function(){return a},rI1:function(){return l}});const o="data:image/svg+xml;utf8,Add",i="data:image/svg+xml;utf8,Arrow Forward",r="data:image/svg+xml;utf8,Document",a="data:image/svg+xml;utf8,Lock Closed",s="data:image/svg+xml;utf8,Log Out",l="data:image/svg+xml;utf8,Pencil",c="data:image/svg+xml;utf8,Reader",d="data:image/svg+xml;utf8,Trash Bin",u="data:image/svg+xml;utf8,Trash"}}]); +//# sourceMappingURL=chunk-vendors.bd229e35.js.map \ No newline at end of file diff --git a/ios/App/App/public/js/chunk-vendors.bd229e35.js.map b/ios/App/App/public/js/chunk-vendors.bd229e35.js.map new file mode 100644 index 0000000..92dd023 --- /dev/null +++ b/ios/App/App/public/js/chunk-vendors.bd229e35.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/chunk-vendors.bd229e35.js","mappings":"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,OACA,SACA,SACA,SACA,SACA,SACA,OACA,SACA,SACA,SACA,SACA,WAEE,GAA2BA,GAAgB,cAAe,GAAuB,CACnF,QACA,aACA,kBACA,UACA,UACA,eACA,iBACA,YACA,iBAqEE,GAA0BA,GAAgB,aAAc,GAAuB,CACjF,WACA,gBAEE,GAAuBA,GAAgB,UAAW,GAAuB,CAC3E,MACA,MACA,iBACA,gBACA,aAEE,GAAkCA,GAAgB,sBAAuB,GAAuB,CAClG,YACA,WACA,WACA,gBAEE,GAAyCA,GAAgB,8BAA+B,GAAuB,CACjH,iBACA,gBAEE,GAAyBA,GAAgB,YAAa,GAAuB,CAC/E,kBACA,QACA,SACA,iBACA,eACA,cACA,YACA,aACA,cACA,WACA,WACA,eACA,YACA,MACA,YACA,MACA,YACA,WACA,OACA,UACA,cACA,WACA,WACA,aACA,OACA,OACA,OACA,QACA,WACA,YACA,UACA,WACA,YACD,QAAS,eAAgB,aACtB,GAAwBA,GAAgB,WAAY,GAAuB,CAC7E,QACA,SACA,SACA,aACA,WACA,WACA,OACA,QACA,OACA,MACA,QACA,UACA,kBACA,kBACA,SACA,OACA,qBAyBE,GAAyBA,GAAgB,YAAa,GAAuB,CAC/E,QACA,WACA,WACA,aAEE,GAAwBA,GAAgB,WAAY,GAAuB,CAC7E,QACA,UAEE,GAA8BA,GAAgB,kBAAmB,GAAuB,CAC1F,QACA,UA2CE,GAAyBA,GAAgB,YAAa,GAAuB,CAC/E,QACA,OACA,WACA,QACA,WACA,WACA,WACD,QAAS,eAAgB,aA4BtB,GAA6BA,GAAgB,gBAAiB,GAAuB,CACvF,UACA,UACA,gBACA,mBACA,aACA,WACA,aACA,UACA,aAEE,GAAoCA,GAAgB,wBAAyB,GAAuB,CACtG,cACA,cACA,oBACA,mBAUE,GAAuBA,GAAgB,UAAW,IAClD,GAA6BA,GAAgB,gBAAiB,GAAuB,CACvF,QACA,WACA,eACA,cACA,mBACA,mBACA,YACA,WACA,WACA,YACA,eACA,cACA,aACA,mBACA,kBACA,aACA,OACA,QACA,WACA,YACA,YACA,WACA,UACA,WACA,YAC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","sources":["webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/bootstrap.js","webpack://tainacan-mobile/./node_modules/tslib/tslib.es6.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/config.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://tainacan-mobile/./node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/decorators/common.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/util.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/awesome-cordova-plugin.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/decorators/cordova-instance.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/core/index.js","webpack://tainacan-mobile/./node_modules/@awesome-cordova-plugins/in-app-browser/index.js","webpack://tainacan-mobile/./node_modules/@capacitor/core/dist/index.js","webpack://tainacan-mobile/./node_modules/@capacitor/device/dist/esm/index.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/animation.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/dir.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/gesture-controller.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/hardware-back-button.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/helpers.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index2.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index4.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index7.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index8.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/keyboard.js","webpack://tainacan-mobile/./node_modules/@ionic/storage/dist/esm/index.js","webpack://tainacan-mobile/./node_modules/@ionic/vue-router/dist/index.esm.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ionic-global.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/theme.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ripple-effect.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/button.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-button.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/buttons.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-buttons.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-card.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-card-header.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-card-title.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-col.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-content.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-header.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-img.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-infinite-scroll.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index3.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/spinner.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-infinite-scroll-content.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-input.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/index6.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/icon.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/note.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/item.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-item.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/label.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-label.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/list.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-list.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/list-header.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-list-header.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/radio.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-radio.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/cubic-bezier.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/haptic.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-refresher.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-refresher-content.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-row.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-searchbar.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-spinner.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-thumbnail.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-title.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-toolbar.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/overlays.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-back-button.js","webpack://tainacan-mobile/./node_modules/ionicons/node_modules/@stencil/core/internal/app-data/index.js","webpack://tainacan-mobile/./node_modules/ionicons/node_modules/@stencil/core/internal/client/index.js","webpack://tainacan-mobile/./node_modules/ionicons/components/utils.js","webpack://tainacan-mobile/./node_modules/ionicons/components/ion-icon.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/framework-delegate.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-router-outlet.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-tab-button.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-tab-bar.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-app.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/button-active.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/backdrop.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/action-sheet.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-action-sheet.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-loading.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-toast.js","webpack://tainacan-mobile/./node_modules/@ionic/core/components/ion-modal.js","webpack://tainacan-mobile/./node_modules/@ionic/vue/dist/index.esm.js","webpack://tainacan-mobile/./node_modules/@stencil/core/internal/app-data/index.js","webpack://tainacan-mobile/./node_modules/@stencil/core/internal/client/index.js","webpack://tainacan-mobile/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://tainacan-mobile/./node_modules/axios/index.js","webpack://tainacan-mobile/./node_modules/axios/lib/adapters/xhr.js","webpack://tainacan-mobile/./node_modules/axios/lib/axios.js","webpack://tainacan-mobile/./node_modules/axios/lib/cancel/CancelToken.js","webpack://tainacan-mobile/./node_modules/axios/lib/cancel/CanceledError.js","webpack://tainacan-mobile/./node_modules/axios/lib/cancel/isCancel.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/Axios.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/AxiosError.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/InterceptorManager.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/buildFullPath.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/dispatchRequest.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/mergeConfig.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/settle.js","webpack://tainacan-mobile/./node_modules/axios/lib/core/transformData.js","webpack://tainacan-mobile/./node_modules/axios/lib/defaults/index.js","webpack://tainacan-mobile/./node_modules/axios/lib/defaults/transitional.js","webpack://tainacan-mobile/./node_modules/axios/lib/env/data.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/bind.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/buildURL.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/combineURLs.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/cookies.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/null.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/spread.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/toFormData.js","webpack://tainacan-mobile/./node_modules/axios/lib/helpers/validator.js","webpack://tainacan-mobile/./node_modules/axios/lib/utils.js","webpack://tainacan-mobile/./node_modules/core-js/internals/a-callable.js","webpack://tainacan-mobile/./node_modules/core-js/internals/a-possible-prototype.js","webpack://tainacan-mobile/./node_modules/core-js/internals/add-to-unscopables.js","webpack://tainacan-mobile/./node_modules/core-js/internals/an-instance.js","webpack://tainacan-mobile/./node_modules/core-js/internals/an-object.js","webpack://tainacan-mobile/./node_modules/core-js/internals/array-includes.js","webpack://tainacan-mobile/./node_modules/core-js/internals/classof-raw.js","webpack://tainacan-mobile/./node_modules/core-js/internals/classof.js","webpack://tainacan-mobile/./node_modules/core-js/internals/clear-error-stack.js","webpack://tainacan-mobile/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://tainacan-mobile/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://tainacan-mobile/./node_modules/core-js/internals/create-property-descriptor.js","webpack://tainacan-mobile/./node_modules/core-js/internals/define-built-in.js","webpack://tainacan-mobile/./node_modules/core-js/internals/define-global-property.js","webpack://tainacan-mobile/./node_modules/core-js/internals/descriptors.js","webpack://tainacan-mobile/./node_modules/core-js/internals/document-create-element.js","webpack://tainacan-mobile/./node_modules/core-js/internals/dom-exception-constants.js","webpack://tainacan-mobile/./node_modules/core-js/internals/engine-user-agent.js","webpack://tainacan-mobile/./node_modules/core-js/internals/engine-v8-version.js","webpack://tainacan-mobile/./node_modules/core-js/internals/enum-bug-keys.js","webpack://tainacan-mobile/./node_modules/core-js/internals/export.js","webpack://tainacan-mobile/./node_modules/core-js/internals/fails.js","webpack://tainacan-mobile/./node_modules/core-js/internals/function-bind-native.js","webpack://tainacan-mobile/./node_modules/core-js/internals/function-call.js","webpack://tainacan-mobile/./node_modules/core-js/internals/function-name.js","webpack://tainacan-mobile/./node_modules/core-js/internals/function-uncurry-this.js","webpack://tainacan-mobile/./node_modules/core-js/internals/get-built-in.js","webpack://tainacan-mobile/./node_modules/core-js/internals/get-method.js","webpack://tainacan-mobile/./node_modules/core-js/internals/global.js","webpack://tainacan-mobile/./node_modules/core-js/internals/has-own-property.js","webpack://tainacan-mobile/./node_modules/core-js/internals/hidden-keys.js","webpack://tainacan-mobile/./node_modules/core-js/internals/html.js","webpack://tainacan-mobile/./node_modules/core-js/internals/ie8-dom-define.js","webpack://tainacan-mobile/./node_modules/core-js/internals/indexed-object.js","webpack://tainacan-mobile/./node_modules/core-js/internals/inherit-if-required.js","webpack://tainacan-mobile/./node_modules/core-js/internals/inspect-source.js","webpack://tainacan-mobile/./node_modules/core-js/internals/internal-state.js","webpack://tainacan-mobile/./node_modules/core-js/internals/is-callable.js","webpack://tainacan-mobile/./node_modules/core-js/internals/is-forced.js","webpack://tainacan-mobile/./node_modules/core-js/internals/is-object.js","webpack://tainacan-mobile/./node_modules/core-js/internals/is-pure.js","webpack://tainacan-mobile/./node_modules/core-js/internals/is-symbol.js","webpack://tainacan-mobile/./node_modules/core-js/internals/length-of-array-like.js","webpack://tainacan-mobile/./node_modules/core-js/internals/make-built-in.js","webpack://tainacan-mobile/./node_modules/core-js/internals/math-trunc.js","webpack://tainacan-mobile/./node_modules/core-js/internals/native-symbol.js","webpack://tainacan-mobile/./node_modules/core-js/internals/native-weak-map.js","webpack://tainacan-mobile/./node_modules/core-js/internals/normalize-string-argument.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-create.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-define-properties.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-define-property.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-keys-internal.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-keys.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://tainacan-mobile/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://tainacan-mobile/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://tainacan-mobile/./node_modules/core-js/internals/own-keys.js","webpack://tainacan-mobile/./node_modules/core-js/internals/require-object-coercible.js","webpack://tainacan-mobile/./node_modules/core-js/internals/shared-key.js","webpack://tainacan-mobile/./node_modules/core-js/internals/shared-store.js","webpack://tainacan-mobile/./node_modules/core-js/internals/shared.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-absolute-index.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-indexed-object.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-length.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-object.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-primitive.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-property-key.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-string-tag-support.js","webpack://tainacan-mobile/./node_modules/core-js/internals/to-string.js","webpack://tainacan-mobile/./node_modules/core-js/internals/try-to-string.js","webpack://tainacan-mobile/./node_modules/core-js/internals/uid.js","webpack://tainacan-mobile/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://tainacan-mobile/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://tainacan-mobile/./node_modules/core-js/internals/well-known-symbol.js","webpack://tainacan-mobile/./node_modules/core-js/modules/es.array.includes.js","webpack://tainacan-mobile/./node_modules/core-js/modules/web.dom-exception.stack.js","webpack://tainacan-mobile/./node_modules/localforage/dist/localforage.js","webpack://tainacan-mobile/./node_modules/vue-demi/lib/index.mjs","webpack://tainacan-mobile/./node_modules/pinia/dist/pinia.esm-browser.js","webpack://tainacan-mobile/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@intlify/runtime/dist/runtime.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://tainacan-mobile/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://tainacan-mobile/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://tainacan-mobile/./node_modules/vue-loader/dist/exportHelper.js","webpack://tainacan-mobile/./node_modules/vue-router/dist/vue-router.esm-bundler.js","webpack://tainacan-mobile/./node_modules/ionicons/icons/index.mjs"],"sourcesContent":["/**\n *\n */\nexport function checkReady() {\n if (typeof process === 'undefined') {\n var win_1 = typeof window !== 'undefined' ? window : {};\n var DEVICE_READY_TIMEOUT_1 = 5000;\n // To help developers using cordova, we listen for the device ready event and\n // log an error if it didn't fire in a reasonable amount of time. Generally,\n // when this happens, developers should remove and reinstall plugins, since\n // an inconsistent plugin is often the culprit.\n var before_1 = Date.now();\n var didFireReady_1 = false;\n win_1.document.addEventListener('deviceready', function () {\n console.log(\"Ionic Native: deviceready event fired after \" + (Date.now() - before_1) + \" ms\");\n didFireReady_1 = true;\n });\n setTimeout(function () {\n if (!didFireReady_1 && win_1.cordova) {\n console.warn(\"Ionic Native: deviceready did not fire within \" + DEVICE_READY_TIMEOUT_1 + \"ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.\");\n }\n }, DEVICE_READY_TIMEOUT_1);\n }\n}\n//# sourceMappingURL=bootstrap.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { fromEvent, Observable } from 'rxjs';\nexport var ERR_CORDOVA_NOT_AVAILABLE = { error: 'cordova_not_available' };\nexport var ERR_PLUGIN_NOT_INSTALLED = { error: 'plugin_not_installed' };\n/**\n * @param callback\n */\nexport function getPromise(callback) {\n var tryNativePromise = function () {\n if (Promise) {\n return new Promise(function (resolve, reject) {\n callback(resolve, reject);\n });\n }\n else {\n console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.');\n }\n };\n if (typeof window !== 'undefined' && window.angular) {\n var doc = window.document;\n var injector = window.angular.element(doc.querySelector('[ng-app]') || doc.body).injector();\n if (injector) {\n var $q = injector.get('$q');\n return $q(function (resolve, reject) {\n callback(resolve, reject);\n });\n }\n console.warn(\"Angular 1 was detected but $q couldn't be retrieved. This is usually when the app is not bootstrapped on the html or body tag. Falling back to native promises which won't trigger an automatic digest when promises resolve.\");\n }\n return tryNativePromise();\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param args\n * @param opts\n */\nexport function wrapPromise(pluginObj, methodName, args, opts) {\n if (opts === void 0) { opts = {}; }\n var pluginResult, rej;\n var p = getPromise(function (resolve, reject) {\n if (opts.destruct) {\n pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return resolve(args);\n }, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return reject(args);\n });\n }\n else {\n pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject);\n }\n rej = reject;\n });\n // Angular throws an error on unhandled rejection, but in this case we have already printed\n // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason\n // to error\n if (pluginResult && pluginResult.error) {\n p.catch(function () { });\n typeof rej === 'function' && rej(pluginResult.error);\n }\n return p;\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param args\n * @param opts\n */\nfunction wrapOtherPromise(pluginObj, methodName, args, opts) {\n if (opts === void 0) { opts = {}; }\n return getPromise(function (resolve, reject) {\n var pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts);\n if (pluginResult) {\n if (pluginResult.error) {\n reject(pluginResult.error);\n }\n else if (pluginResult.then) {\n pluginResult.then(resolve).catch(reject);\n }\n }\n else {\n reject({ error: 'unexpected_error' });\n }\n });\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param args\n * @param opts\n */\nfunction wrapObservable(pluginObj, methodName, args, opts) {\n if (opts === void 0) { opts = {}; }\n return new Observable(function (observer) {\n var pluginResult;\n if (opts.destruct) {\n pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return observer.next(args);\n }, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return observer.error(args);\n });\n }\n else {\n pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer));\n }\n if (pluginResult && pluginResult.error) {\n observer.error(pluginResult.error);\n observer.complete();\n }\n return function () {\n try {\n if (opts.clearFunction) {\n if (opts.clearWithArgs) {\n return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer));\n }\n return callCordovaPlugin(pluginObj, opts.clearFunction, []);\n }\n }\n catch (e) {\n console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName);\n console.warn(e);\n }\n };\n });\n}\n/**\n * Wrap the event with an observable\n *\n * @private\n * @param event event name\n * @param element The element to attach the event listener to\n * @returns {Observable}\n */\nfunction wrapEventObservable(event, element) {\n element =\n typeof window !== 'undefined' && element\n ? get(window, element)\n : element || (typeof window !== 'undefined' ? window : {});\n return fromEvent(element, event);\n}\n/**\n * @param plugin\n * @param methodName\n * @param pluginName\n */\nexport function checkAvailability(plugin, methodName, pluginName) {\n var pluginRef, pluginPackage;\n if (typeof plugin === 'string') {\n pluginRef = plugin;\n }\n else {\n pluginRef = plugin.constructor.getPluginRef();\n pluginName = plugin.constructor.getPluginName();\n pluginPackage = plugin.constructor.getPluginInstallName();\n }\n var pluginInstance = getPlugin(pluginRef);\n if (!pluginInstance || (!!methodName && typeof pluginInstance[methodName] === 'undefined')) {\n if (typeof window === 'undefined' || !window.cordova) {\n cordovaWarn(pluginName, methodName);\n return ERR_CORDOVA_NOT_AVAILABLE;\n }\n pluginWarn(pluginName, pluginPackage, methodName);\n return ERR_PLUGIN_NOT_INSTALLED;\n }\n return true;\n}\n/**\n * Checks if _objectInstance exists and has the method/property\n *\n * @param pluginObj\n * @param methodName\n * @private\n */\nexport function instanceAvailability(pluginObj, methodName) {\n return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined');\n}\n/**\n * @param args\n * @param opts\n * @param resolve\n * @param reject\n */\nexport function setIndex(args, opts, resolve, reject) {\n if (opts === void 0) { opts = {}; }\n // ignore resolve and reject in case sync\n if (opts.sync) {\n return args;\n }\n // If the plugin method expects myMethod(success, err, options)\n if (opts.callbackOrder === 'reverse') {\n // Get those arguments in the order [resolve, reject, ...restOfArgs]\n args.unshift(reject);\n args.unshift(resolve);\n }\n else if (opts.callbackStyle === 'node') {\n args.push(function (err, result) {\n if (err) {\n reject(err);\n }\n else {\n resolve(result);\n }\n });\n }\n else if (opts.callbackStyle === 'object' && opts.successName && opts.errorName) {\n var obj = {};\n obj[opts.successName] = resolve;\n obj[opts.errorName] = reject;\n args.push(obj);\n }\n else if (typeof opts.successIndex !== 'undefined' || typeof opts.errorIndex !== 'undefined') {\n var setSuccessIndex = function () {\n // If we've specified a success/error index\n if (opts.successIndex > args.length) {\n args[opts.successIndex] = resolve;\n }\n else {\n args.splice(opts.successIndex, 0, resolve);\n }\n };\n var setErrorIndex = function () {\n // We don't want that the reject cb gets spliced into the position of an optional argument that has not been\n // defined and thus causing non expected behavior.\n if (opts.errorIndex > args.length) {\n args[opts.errorIndex] = reject; // insert the reject fn at the correct specific index\n }\n else {\n args.splice(opts.errorIndex, 0, reject); // otherwise just splice it into the array\n }\n };\n if (opts.successIndex > opts.errorIndex) {\n setErrorIndex();\n setSuccessIndex();\n }\n else {\n setSuccessIndex();\n setErrorIndex();\n }\n }\n else {\n // Otherwise, let's tack them on to the end of the argument list\n // which is 90% of cases\n args.push(resolve);\n args.push(reject);\n }\n return args;\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param args\n * @param opts\n * @param resolve\n * @param reject\n */\nexport function callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject) {\n if (opts === void 0) { opts = {}; }\n // Try to figure out where the success/error callbacks need to be bound\n // to our promise resolve/reject handlers.\n args = setIndex(args, opts, resolve, reject);\n var availabilityCheck = checkAvailability(pluginObj, methodName);\n if (availabilityCheck === true) {\n var pluginInstance = getPlugin(pluginObj.constructor.getPluginRef());\n // eslint-disable-next-line prefer-spread\n return pluginInstance[methodName].apply(pluginInstance, args);\n }\n else {\n return availabilityCheck;\n }\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param args\n * @param opts\n * @param resolve\n * @param reject\n */\nexport function callInstance(pluginObj, methodName, args, opts, resolve, reject) {\n if (opts === void 0) { opts = {}; }\n args = setIndex(args, opts, resolve, reject);\n if (instanceAvailability(pluginObj, methodName)) {\n // eslint-disable-next-line prefer-spread\n return pluginObj._objectInstance[methodName].apply(pluginObj._objectInstance, args);\n }\n}\n/**\n * @param pluginRef\n */\nexport function getPlugin(pluginRef) {\n if (typeof window !== 'undefined') {\n return get(window, pluginRef);\n }\n return null;\n}\n/**\n * @param element\n * @param path\n */\nexport function get(element, path) {\n var paths = path.split('.');\n var obj = element;\n for (var i = 0; i < paths.length; i++) {\n if (!obj) {\n return null;\n }\n obj = obj[paths[i]];\n }\n return obj;\n}\n/**\n * @param pluginName\n * @param plugin\n * @param method\n */\nexport function pluginWarn(pluginName, plugin, method) {\n if (method) {\n console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.');\n }\n else {\n console.warn(\"Native: tried accessing the \" + pluginName + \" plugin but it's not installed.\");\n }\n if (plugin) {\n console.warn(\"Install the \" + pluginName + \" plugin: 'ionic cordova plugin add \" + plugin + \"'\");\n }\n}\n/**\n * @private\n * @param pluginName\n * @param method\n */\nexport function cordovaWarn(pluginName, method) {\n if (typeof process === 'undefined') {\n if (method) {\n console.warn('Native: tried calling ' +\n pluginName +\n '.' +\n method +\n ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');\n }\n else {\n console.warn('Native: tried accessing the ' +\n pluginName +\n ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');\n }\n }\n}\n/**\n * @param pluginObj\n * @param methodName\n * @param opts\n * @private\n */\nexport var wrap = function (pluginObj, methodName, opts) {\n if (opts === void 0) { opts = {}; }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (opts.sync) {\n // Sync doesn't wrap the plugin with a promise or observable, it returns the result as-is\n return callCordovaPlugin(pluginObj, methodName, args, opts);\n }\n else if (opts.observable) {\n return wrapObservable(pluginObj, methodName, args, opts);\n }\n else if (opts.eventObservable && opts.event) {\n return wrapEventObservable(opts.event, opts.element);\n }\n else if (opts.otherPromise) {\n return wrapOtherPromise(pluginObj, methodName, args, opts);\n }\n else {\n return wrapPromise(pluginObj, methodName, args, opts);\n }\n };\n};\n/**\n * @param pluginObj\n * @param methodName\n * @param opts\n * @private\n */\nexport function wrapInstance(pluginObj, methodName, opts) {\n if (opts === void 0) { opts = {}; }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (opts.sync) {\n return callInstance(pluginObj, methodName, args, opts);\n }\n else if (opts.observable) {\n return new Observable(function (observer) {\n var pluginResult;\n if (opts.destruct) {\n pluginResult = callInstance(pluginObj, methodName, args, opts, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return observer.next(args);\n }, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return observer.error(args);\n });\n }\n else {\n pluginResult = callInstance(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer));\n }\n if (pluginResult && pluginResult.error) {\n observer.error(pluginResult.error);\n }\n return function () {\n try {\n if (opts.clearWithArgs) {\n return callInstance(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer));\n }\n return callInstance(pluginObj, opts.clearFunction, []);\n }\n catch (e) {\n console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName);\n console.warn(e);\n }\n };\n });\n }\n else if (opts.otherPromise) {\n return getPromise(function (resolve, reject) {\n var result;\n if (opts.destruct) {\n result = callInstance(pluginObj, methodName, args, opts, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return resolve(args);\n }, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return reject(args);\n });\n }\n else {\n result = callInstance(pluginObj, methodName, args, opts, resolve, reject);\n }\n if (result && result.then) {\n result.then(resolve, reject);\n }\n else {\n reject();\n }\n });\n }\n else {\n var pluginResult_1, rej_1;\n var p = getPromise(function (resolve, reject) {\n if (opts.destruct) {\n pluginResult_1 = callInstance(pluginObj, methodName, args, opts, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return resolve(args);\n }, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return reject(args);\n });\n }\n else {\n pluginResult_1 = callInstance(pluginObj, methodName, args, opts, resolve, reject);\n }\n rej_1 = reject;\n });\n // Angular throws an error on unhandled rejection, but in this case we have already printed\n // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason\n // to error\n if (pluginResult_1 && pluginResult_1.error) {\n p.catch(function () { });\n typeof rej_1 === 'function' && rej_1(pluginResult_1.error);\n }\n return p;\n }\n };\n}\n//# sourceMappingURL=common.js.map","/**\n * @param element\n * @param path\n * @private\n */\nexport function get(element, path) {\n var paths = path.split('.');\n var obj = element;\n for (var i = 0; i < paths.length; i++) {\n if (!obj) {\n return null;\n }\n obj = obj[paths[i]];\n }\n return obj;\n}\n/**\n * @param callback\n * @private\n */\nexport function getPromise(callback) {\n if (callback === void 0) { callback = function () { }; }\n var tryNativePromise = function () {\n if (typeof Promise === 'function' || (typeof window !== 'undefined' && window.Promise)) {\n return new Promise(function (resolve, reject) {\n callback(resolve, reject);\n });\n }\n else {\n console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.');\n }\n };\n return tryNativePromise();\n}\n//# sourceMappingURL=util.js.map","import { checkAvailability } from './decorators/common';\nimport { get } from './util';\nvar AwesomeCordovaNativePlugin = /** @class */ (function () {\n function AwesomeCordovaNativePlugin() {\n }\n /**\n * Returns a boolean that indicates whether the plugin is installed\n *\n * @returns {boolean}\n */\n AwesomeCordovaNativePlugin.installed = function () {\n var isAvailable = checkAvailability(this.pluginRef) === true;\n return isAvailable;\n };\n /**\n * Returns the original plugin object\n */\n AwesomeCordovaNativePlugin.getPlugin = function () {\n if (typeof window !== 'undefined') {\n return get(window, this.pluginRef);\n }\n return null;\n };\n /**\n * Returns the plugin's name\n */\n AwesomeCordovaNativePlugin.getPluginName = function () {\n var pluginName = this.pluginName;\n return pluginName;\n };\n /**\n * Returns the plugin's reference\n */\n AwesomeCordovaNativePlugin.getPluginRef = function () {\n var pluginRef = this.pluginRef;\n return pluginRef;\n };\n /**\n * Returns the plugin's install name\n */\n AwesomeCordovaNativePlugin.getPluginInstallName = function () {\n var plugin = this.plugin;\n return plugin;\n };\n /**\n * Returns the plugin's supported platforms\n */\n AwesomeCordovaNativePlugin.getSupportedPlatforms = function () {\n var platform = this.platforms;\n return platform;\n };\n AwesomeCordovaNativePlugin.pluginName = '';\n AwesomeCordovaNativePlugin.pluginRef = '';\n AwesomeCordovaNativePlugin.plugin = '';\n AwesomeCordovaNativePlugin.repo = '';\n AwesomeCordovaNativePlugin.platforms = [];\n AwesomeCordovaNativePlugin.install = '';\n return AwesomeCordovaNativePlugin;\n}());\nexport { AwesomeCordovaNativePlugin };\n//# sourceMappingURL=awesome-cordova-plugin.js.map","import { wrapInstance } from './common';\n/**\n * @param pluginObj\n * @param methodName\n * @param config\n * @param args\n */\nexport function cordovaInstance(pluginObj, methodName, config, args) {\n args = Array.from(args);\n return wrapInstance(pluginObj, methodName, config).apply(this, args);\n}\n//# sourceMappingURL=cordova-instance.js.map","import { checkReady } from './bootstrap';\nexport { AwesomeCordovaNativePlugin } from './awesome-cordova-plugin';\n// Decorators\nexport { checkAvailability, instanceAvailability, wrap, getPromise } from './decorators/common';\nexport * from './decorators/cordova';\nexport * from './decorators/cordova-function-override';\nexport * from './decorators/cordova-instance';\nexport * from './decorators/cordova-property';\nexport * from './decorators/instance-property';\nexport * from './decorators/interfaces';\ncheckReady();\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { AwesomeCordovaNativePlugin, instanceAvailability, cordovaInstance } from '@awesome-cordova-plugins/core';\nimport { Observable } from 'rxjs';\nvar InAppBrowserObject = /** @class */ (function () {\n /**\n * Opens a URL in a new InAppBrowserOriginal instance, the current browser instance, or the system browser.\n *\n * @param {string} url The URL to load.\n * @param {string} [target=\"self\"] The target in which to load the URL, an optional parameter that defaults to _self.\n * _self: Opens in the WebView if the URL is in the white list, otherwise it opens in the InAppBrowserOriginal.\n * _blank: Opens in the InAppBrowserOriginal.\n * _system: Opens in the system's web browser.\n * @param {string | InAppBrowserOptions} [options] Options for the InAppBrowserOriginal. Optional, defaulting to: location=yes.\n * The options string must not contain any blank space, and each feature's\n * name/value pairs must be separated by a comma. Feature names are case insensitive.\n */\n function InAppBrowserObject(url, target, options) {\n try {\n if (options && typeof options !== 'string') {\n options = Object.keys(options)\n .map(function (key) { return key + \"=\" + options[key]; })\n .join(',');\n }\n this._objectInstance = cordova.InAppBrowser.open(url, target, options);\n }\n catch (e) {\n if (typeof window !== 'undefined') {\n window.open(url, target);\n }\n console.warn('Native: InAppBrowserOriginal is not installed or you are running on a browser. Falling back to window.open.');\n }\n }\n InAppBrowserObject.prototype._loadAfterBeforeload = function (strUrl) { return cordovaInstance(this, \"_loadAfterBeforeload\", { \"sync\": true }, arguments); };\n InAppBrowserObject.prototype.show = function () { return cordovaInstance(this, \"show\", { \"sync\": true }, arguments); };\n InAppBrowserObject.prototype.close = function () { return cordovaInstance(this, \"close\", { \"sync\": true }, arguments); };\n InAppBrowserObject.prototype.hide = function () { return cordovaInstance(this, \"hide\", { \"sync\": true }, arguments); };\n InAppBrowserObject.prototype.executeScript = function (script) { return cordovaInstance(this, \"executeScript\", {}, arguments); };\n InAppBrowserObject.prototype.insertCSS = function (css) { return cordovaInstance(this, \"insertCSS\", {}, arguments); };\n InAppBrowserObject.prototype.on = function (event) {\n var _this = this;\n return (function () {\n if (instanceAvailability(_this) === true) {\n return new Observable(function (observer) {\n _this._objectInstance.addEventListener(event, observer.next.bind(observer));\n return function () { return _this._objectInstance.removeEventListener(event, observer.next.bind(observer)); };\n });\n }\n })();\n };\n InAppBrowserObject.prototype.on = function (event) {\n var _this = this;\n return (function () {\n if (instanceAvailability(_this) === true) {\n return new Observable(function (observer) {\n _this._objectInstance.addEventListener(event, observer.next.bind(observer));\n return function () { return _this._objectInstance.removeEventListener(event, observer.next.bind(observer)); };\n });\n }\n })();\n };\n return InAppBrowserObject;\n}());\nexport { InAppBrowserObject };\nvar InAppBrowserOriginal = /** @class */ (function (_super) {\n __extends(InAppBrowserOriginal, _super);\n function InAppBrowserOriginal() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Opens a URL in a new InAppBrowserOriginal instance, the current browser instance, or the system browser.\n *\n * @param url {string} The URL to load.\n * @param target {string} The target in which to load the URL, an optional parameter that defaults to _self.\n * @param options {string} Options for the InAppBrowserOriginal. Optional, defaulting to: location=yes.\n * The options string must not contain any blank space, and each feature's\n * name/value pairs must be separated by a comma. Feature names are case insensitive.\n * @returns {InAppBrowserObject}\n */\n InAppBrowserOriginal.prototype.create = function (url, target, options) {\n return new InAppBrowserObject(url, target, options);\n };\n InAppBrowserOriginal.pluginName = \"InAppBrowser\";\n InAppBrowserOriginal.plugin = \"cordova-plugin-inappbrowser\";\n InAppBrowserOriginal.pluginRef = \"cordova.InAppBrowser\";\n InAppBrowserOriginal.repo = \"https://github.com/apache/cordova-plugin-inappbrowser\";\n InAppBrowserOriginal.platforms = [\"AmazonFire OS\", \"Android\", \"Browser\", \"iOS\", \"macOS\", \"Windows\"];\n return InAppBrowserOriginal;\n}(AwesomeCordovaNativePlugin));\nvar InAppBrowser = new InAppBrowserOriginal();\nexport { InAppBrowser };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL3BsdWdpbnMvaW4tYXBwLWJyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8scUVBQXNFLE1BQU0sK0JBQStCLENBQUM7QUFDbkgsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQzs7SUFrSjFDOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsNEJBQVksR0FBVyxFQUFFLE1BQWUsRUFBRSxPQUFzQztRQUM5RSxJQUFJO1lBQ0YsSUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO2dCQUMxQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQzNCLEdBQUcsQ0FBQyxVQUFDLEdBQVcsSUFBSyxPQUFHLEdBQUcsU0FBSyxPQUErQixDQUFDLEdBQUcsQ0FBRyxFQUFqRCxDQUFpRCxDQUFDO3FCQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDZDtZQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RTtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FDVixxR0FBcUcsQ0FDdEcsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQVFELGlEQUFvQixhQUFDLE1BQWM7SUFPbkMsaUNBQUk7SUFNSixrQ0FBSztJQU9MLGlDQUFJO0lBV0osMENBQWEsYUFBQyxNQUF3QztJQWF0RCxzQ0FBUyxhQUFDLEdBQXFDO0lBVy9DLCtCQUFFLGFBQUMsS0FBNEI7OztzREFBaUM7Z0JBQzlELE9BQU8sSUFBSSxVQUFVLENBQW9CLFVBQUMsUUFBcUM7b0JBQzdFLEtBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzNFLE9BQU8sY0FBTSxPQUFBLEtBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQTdFLENBQTZFLENBQUM7Z0JBQzdGLENBQUMsQ0FBQyxDQUFDO2FBQ0o7OztJQVNELCtCQUFFLGFBQUMsS0FBYTs7O3NEQUFpQztnQkFDL0MsT0FBTyxJQUFJLFVBQVUsQ0FBb0IsVUFBQyxRQUFxQztvQkFDN0UsS0FBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDM0UsT0FBTyxjQUFNLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBN0UsQ0FBNkUsQ0FBQztnQkFDN0YsQ0FBQyxDQUFDLENBQUM7YUFDSjs7OzZCQW5RSDs7OztJQThTa0MsZ0NBQTBCOzs7O0lBQzFEOzs7Ozs7Ozs7T0FTRztJQUNILDZCQUFNLEdBQU4sVUFBTyxHQUFXLEVBQUUsTUFBZSxFQUFFLE9BQXNDO1FBQ3pFLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7Ozt1QkEzVEg7RUE4U2tDLDBCQUEwQjtTQUEvQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZG92YUluc3RhbmNlLCBJbnN0YW5jZUNoZWNrLCBBd2Vzb21lQ29yZG92YU5hdGl2ZVBsdWdpbiwgUGx1Z2luIH0gZnJvbSAnQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcblxuZGVjbGFyZSBjb25zdCBjb3Jkb3ZhOiBDb3Jkb3ZhICYgeyBJbkFwcEJyb3dzZXI6IGFueSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEluQXBwQnJvd3Nlck9wdGlvbnMge1xuICAvKipcbiAgICogKGlPUyBPbmx5KSBTZXQgdG8geWVzIG9yIG5vIHRvIGFsbG93IGluLWxpbmUgSFRNTDUgbWVkaWEgcGxheWJhY2ssIGRpc3BsYXlpbmcgd2l0aGluIHRoZSBicm93c2VyIHdpbmRvdyByYXRoZXIgdGhhbiBhIGRldmljZS1zcGVjaWZpYyBwbGF5YmFjayBpbnRlcmZhY2UuXG4gICAqIFRoZSBIVE1MJ3MgdmlkZW8gZWxlbWVudCBtdXN0IGFsc28gaW5jbHVkZSB0aGUgd2Via2l0LXBsYXlzaW5saW5lIGF0dHJpYnV0ZSAoZGVmYXVsdHMgdG8gbm8pXG4gICAqL1xuICBhbGxvd0lubGluZU1lZGlhUGxheWJhY2s/OiAneWVzJyB8ICdubyc7XG4gIC8qKlxuICAgKiBzZXQgdG8gZW5hYmxlIHRoZSBiZWZvcmVsb2FkIGV2ZW50IHRvIG1vZGlmeSB3aGljaCBwYWdlcyBhcmUgYWN0dWFsbHkgbG9hZGVkIGluIHRoZSBicm93c2VyLiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGdldCB0b1xuICAgKiBpbnRlcmNlcHQgb25seSBHRVQgcmVxdWVzdHMsIHBvc3QgdG8gaW50ZXJjZXB0IG9uIFBPU1QgcmVxdWVzdHMgb3IgeWVzIHRvIGludGVyY2VwdCBib3RoIEdFVCAmIFBPU1QgcmVxdWVzdHMuXG4gICAqIE5vdGUgdGhhdCBQT1NUIHJlcXVlc3RzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkIChpZiB5b3Ugc2V0IGJlZm9yZWxvYWQ9cG9zdCBpdCB3aWxsIHJhaXNlIGFuIGVycm9yKS5cbiAgICovXG4gIGJlZm9yZWxvYWQ/OiAneWVzJyB8ICdnZXQnIHwgJ3Bvc3QnO1xuICAvKiogU2V0IHRvIHllcyB0byBoYXZlIHRoZSBicm93c2VyJ3MgY29va2llIGNhY2hlIGNsZWFyZWQgYmVmb3JlIHRoZSBuZXcgd2luZG93IGlzIG9wZW5lZC4gKi9cbiAgY2xlYXJjYWNoZT86ICd5ZXMnIHwgJ25vJztcbiAgLyoqICBzZXQgdG8geWVzIHRvIGhhdmUgdGhlIGJyb3dzZXIncyBlbnRpcmUgbG9jYWwgc3RvcmFnZSBjbGVhcmVkIChjb29raWVzLCBIVE1MNSBsb2NhbCBzdG9yYWdlLCBJbmRleGVkREIsIGV0Yy4pIGJlZm9yZSB0aGUgbmV3IHdpbmRvdyBpcyBvcGVuZWQgKi9cbiAgY2xlYXJkYXRhPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogU2V0IHRvIHllcyB0byBoYXZlIHRoZSBzZXNzaW9uIGNvb2tpZSBjYWNoZSBjbGVhcmVkIGJlZm9yZSB0aGUgbmV3IHdpbmRvdyBpcyBvcGVuZWQuXG4gICAqIEZvciBXS1dlYlZpZXcsIHJlcXVpcmVzIGlPUyAxMSsgb24gdGFyZ2V0IGRldmljZS5cbiAgICovXG4gIGNsZWFyc2Vzc2lvbmNhY2hlPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogKEFuZHJvaWQpIFNldCB0byBhIHN0cmluZyB0byB1c2UgYXMgdGhlIGNsb3NlIGJ1dHRvbidzIGNhcHRpb24gaW5zdGVhZCBvZiBhIFguIE5vdGUgdGhhdCB5b3UgbmVlZCB0byBsb2NhbGl6ZSB0aGlzIHZhbHVlIHlvdXJzZWxmLlxuICAgKiAoaU9TKSBTZXQgdG8gYSBzdHJpbmcgdG8gdXNlIGFzIHRoZSBEb25lIGJ1dHRvbidzIGNhcHRpb24uIE5vdGUgdGhhdCB5b3UgbmVlZCB0byBsb2NhbGl6ZSB0aGlzIHZhbHVlIHlvdXJzZWxmLlxuICAgKi9cbiAgY2xvc2VidXR0b25jYXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogKEFuZHJvaWQpIFNldCB0byBhIHZhbGlkIGhleCBjb2xvciBzdHJpbmcsIGZvciBleGFtcGxlOiAjMDBmZjAwLCBhbmQgaXQgd2lsbCBjaGFuZ2UgdGhlIGNsb3NlIGJ1dHRvbiBjb2xvciBmcm9tIGRlZmF1bHQsIHJlZ2FyZGxlc3Mgb2YgYmVpbmcgYSB0ZXh0IG9yIGRlZmF1bHQgWC4gT25seSBoYXMgZWZmZWN0IGlmIHVzZXIgaGFzIGxvY2F0aW9uIHNldCB0byB5ZXMuXG4gICAqIChpT1MpIFNldCBhcyBhIHZhbGlkIGhleCBjb2xvciBzdHJpbmcsIGZvciBleGFtcGxlOiAjMDBmZjAwLCB0byBjaGFuZ2UgZnJvbSB0aGUgZGVmYXVsdCBEb25lIGJ1dHRvbidzIGNvbG9yLiBPbmx5IGFwcGxpY2FibGUgaWYgdG9vbGJhciBpcyBub3QgZGlzYWJsZWQuXG4gICAqL1xuICBjbG9zZWJ1dHRvbmNvbG9yPzogc3RyaW5nO1xuICAvKiogKGlPUyBPbmx5KSBTZXQgdG8geWVzIG9yIG5vIChkZWZhdWx0IGlzIG5vKS4gVHVybnMgb24vb2ZmIHRoZSBVSVdlYlZpZXdCb3VuY2UgcHJvcGVydHkuICovXG4gIGRpc2FsbG93b3ZlcnNjcm9sbD86ICd5ZXMnIHwgJ25vJztcbiAgLyoqIChpT1MgT25seSkgIFNldCB0byB5ZXMgb3Igbm8gdG8gcHJldmVudCB2aWV3cG9ydCBzY2FsaW5nIHRocm91Z2ggYSBtZXRhIHRhZyAoZGVmYXVsdHMgdG8gbm8pLiAqL1xuICBlbmFibGVWaWV3cG9ydFNjYWxlPzogJ3llcycgfCAnbm8nO1xuICAvKiogKEFuZHJvaWQgT25seSkgU2V0IHRvIHllcyB0byBzaG93IGEgY2xvc2UgYnV0dG9uIGluIHRoZSBmb290ZXIgc2ltaWxhciB0byB0aGUgaU9TIERvbmUgYnV0dG9uLiBUaGUgY2xvc2UgYnV0dG9uIHdpbGwgYXBwZWFyIHRoZSBzYW1lIGFzIGZvciB0aGUgaGVhZGVyIGhlbmNlIHVzZSBjbG9zZWJ1dHRvbmNhcHRpb24gYW5kIGNsb3NlYnV0dG9uY29sb3IgdG8gc2V0IGl0cyBwcm9wZXJ0aWVzICovXG4gIGZvb3Rlcj86ICd5ZXMnIHwgJ25vJztcbiAgLyoqIChBbmRyb2lkIE9ubHkpIFNldCB0byBhIHZhbGlkIGhleCBjb2xvciBzdHJpbmcsIGZvciBleGFtcGxlICMwMGZmMDAgb3IgI0NDMDBmZjAwICgjYWFycmdnYmIpLCBhbmQgaXQgd2lsbCBjaGFuZ2UgdGhlIGZvb3RlciBjb2xvciBmcm9tIGRlZmF1bHQuIE9ubHkgaGFzIGVmZmVjdCBpZiB1c2VyIGhhcyBmb290ZXIgc2V0IHRvIHllcyAqL1xuICBmb290ZXJjb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIChXaW5kb3dzIG9ubHkpIFNldCB0byB5ZXMgdG8gY3JlYXRlIHRoZSBicm93c2VyIGNvbnRyb2wgd2l0aG91dCBhIGJvcmRlciBhcm91bmQgaXQuXG4gICAqIFBsZWFzZSBub3RlIHRoYXQgaWYgbG9jYXRpb249bm8gaXMgYWxzbyBzcGVjaWZpZWQsIHRoZXJlIHdpbGwgYmUgbm8gY29udHJvbCBwcmVzZW50ZWQgdG8gdXNlciB0byBjbG9zZSBJQUIgd2luZG93LlxuICAgKi9cbiAgZnVsbHNjcmVlbj86ICd5ZXMnIHwgJ25vJztcbiAgLyoqXG4gICAqIChBbmRyb2lkICYgV2luZG93cyBPbmx5KSBTZXQgdG8geWVzIHRvIHVzZSB0aGUgaGFyZHdhcmUgYmFjayBidXR0b24gdG8gbmF2aWdhdGUgYmFja3dhcmRzIHRocm91Z2ggdGhlIEluQXBwQnJvd3NlcidzIGhpc3RvcnkuXG4gICAqIElmIHRoZXJlIGlzIG5vIHByZXZpb3VzIHBhZ2UsIHRoZSBJbkFwcEJyb3dzZXIgd2lsbCBjbG9zZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgeWVzLCBzbyB5b3UgbXVzdCBzZXQgaXQgdG8gbm8gaWYgeW91IHdhbnQgdGhlIGJhY2sgYnV0dG9uIHRvIHNpbXBseSBjbG9zZSB0aGUgSW5BcHBCcm93c2VyLlxuICAgKi9cbiAgaGFyZHdhcmViYWNrPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogU2V0IHRvIHllcyB0byBjcmVhdGUgdGhlIGJyb3dzZXIgYW5kIGxvYWQgdGhlIHBhZ2UsIGJ1dCBub3Qgc2hvdyBpdC4gVGhlIGxvYWRzdG9wIGV2ZW50IGZpcmVzIHdoZW4gbG9hZGluZyBpcyBjb21wbGV0ZS5cbiAgICogT21pdCBvciBzZXQgdG8gbm8gKGRlZmF1bHQpIHRvIGhhdmUgdGhlIGJyb3dzZXIgb3BlbiBhbmQgbG9hZCBub3JtYWxseS5cbiAgICovXG4gIGhpZGRlbj86ICd5ZXMnIHwgJ25vJztcbiAgLyoqXG4gICAqIChBbmRyb2lkKSBTZXQgdG8geWVzIHRvIGhpZGUgdGhlIG5hdmlnYXRpb24gYnV0dG9ucyBvbiB0aGUgbG9jYXRpb24gdG9vbGJhciwgb25seSBoYXMgZWZmZWN0IGlmIHVzZXIgaGFzIGxvY2F0aW9uIHNldCB0byB5ZXMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIG5vLlxuICAgKiAoaU9TKSBTZXQgdG8geWVzIG9yIG5vIHRvIHR1cm4gdGhlIHRvb2xiYXIgbmF2aWdhdGlvbiBidXR0b25zIG9uIG9yIG9mZiAoZGVmYXVsdHMgdG8gbm8pLiBPbmx5IGFwcGxpY2FibGUgaWYgdG9vbGJhciBpcyBub3QgZGlzYWJsZWQuXG4gICAqL1xuICBoaWRlbmF2aWdhdGlvbmJ1dHRvbnM/OiAneWVzJyB8ICdubyc7XG4gIC8qKlxuICAgKiAgKGlPUyBPbmx5KSBTZXQgdG8geWVzIG9yIG5vIHRvIGNoYW5nZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgbG9hZGluZyBpbmRpY2F0b3IgKGRlZmF1bHRzIHRvIG5vKS5cbiAgICovXG4gIGhpZGVzcGlubmVyPzogJ3llcycgfCAnbm8nO1xuICAvKiogKEFuZHJvaWQpIFNldCB0byB5ZXMgdG8gaGlkZSB0aGUgdXJsIGJhciBvbiB0aGUgbG9jYXRpb24gdG9vbGJhciwgb25seSBoYXMgZWZmZWN0IGlmIHVzZXIgaGFzIGxvY2F0aW9uIHNldCB0byB5ZXMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIG5vLiAqL1xuICBoaWRldXJsYmFyPzogJ3llcycgfCAnbm8nO1xuICAvKiogKGlPUyBPbmx5KSBTZXQgdG8geWVzIG9yIG5vIHRvIG9wZW4gdGhlIGtleWJvYXJkIHdoZW4gZm9ybSBlbGVtZW50cyByZWNlaXZlIGZvY3VzIHZpYSBKYXZhU2NyaXB0J3MgZm9jdXMoKSBjYWxsIChkZWZhdWx0cyB0byB5ZXMpLiAqL1xuICBrZXlib2FyZERpc3BsYXlSZXF1aXJlc1VzZXJBY3Rpb24/OiAneWVzJyB8ICdubyc7XG4gIC8qKlxuICAgKiAoQW5kcm9pZCkgU2V0IHRvIHllcyB0byBzd2FwIHBvc2l0aW9ucyBvZiB0aGUgbmF2aWdhdGlvbiBidXR0b25zIGFuZCB0aGUgY2xvc2UgYnV0dG9uLiBTcGVjaWZpY2FsbHksIG5hdmlnYXRpb24gYnV0dG9ucyBnbyB0byB0aGUgbGVmdCBhbmQgY2xvc2UgYnV0dG9uIHRvIHRoZSByaWdodC5cbiAgICogKGlPUykgU2V0IHRvIHllcyB0byBzd2FwIHBvc2l0aW9ucyBvZiB0aGUgbmF2aWdhdGlvbiBidXR0b25zIGFuZCB0aGUgY2xvc2UgYnV0dG9uLiBTcGVjaWZpY2FsbHksIGNsb3NlIGJ1dHRvbiBnb2VzIHRvIHRoZSByaWdodCBhbmQgbmF2aWdhdGlvbiBidXR0b25zIHRvIHRoZSBsZWZ0LlxuICAgKi9cbiAgbGVmdHRvcmlnaHQ/OiAneWVzJyB8ICdubyc7XG4gIC8qKiBTZXQgdG8geWVzIG9yIG5vIHRvIHR1cm4gdGhlIEluQXBwQnJvd3NlcidzIGxvY2F0aW9uIGJhciBvbiBvciBvZmYuICovXG4gIGxvY2F0aW9uPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogIFNldCB0byB5ZXMgdG8gcHJldmVudCBIVE1MNSBhdWRpbyBvciB2aWRlbyBmcm9tIGF1dG9wbGF5aW5nIChkZWZhdWx0cyB0byBubykuXG4gICAqL1xuICBtZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyQWN0aW9uPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogKEFuZHJvaWQpIFNldCB0byBhIHZhbGlkIGhleCBjb2xvciBzdHJpbmcsIGZvciBleGFtcGxlOiAjMDBmZjAwLCBhbmQgaXQgd2lsbCBjaGFuZ2UgdGhlIGNvbG9yIG9mIGJvdGggbmF2aWdhdGlvbiBidXR0b25zIGZyb20gZGVmYXVsdC4gT25seSBoYXMgZWZmZWN0IGlmIHVzZXIgaGFzIGxvY2F0aW9uIHNldCB0byB5ZXMgYW5kIG5vdCBoaWRlbmF2aWdhdGlvbmJ1dHRvbnMgc2V0IHRvIHllcy5cbiAgICogKGlPUykgU2V0IGFzIGEgdmFsaWQgaGV4IGNvbG9yIHN0cmluZywgZm9yIGV4YW1wbGU6ICMwMGZmMDAsIHRvIGNoYW5nZSBmcm9tIHRoZSBkZWZhdWx0IGNvbG9yLiBPbmx5IGFwcGxpY2FibGUgaWYgbmF2aWdhdGlvbiBidXR0b25zIGFyZSB2aXNpYmxlLlxuICAgKi9cbiAgbmF2aWdhdGlvbmJ1dHRvbmNvbG9yPzogc3RyaW5nO1xuICAvKiogKGlPUyBPbmx5KSBTZXQgdG8gcGFnZXNoZWV0LCBmb3Jtc2hlZXQgb3IgZnVsbHNjcmVlbiB0byBzZXQgdGhlIHByZXNlbnRhdGlvbiBzdHlsZSAoZGVmYXVsdHMgdG8gZnVsbHNjcmVlbikuICovXG4gIHByZXNlbnRhdGlvbnN0eWxlPzogJ3BhZ2VzaGVldCcgfCAnZm9ybXNoZWV0JyB8ICdmdWxsc2NyZWVuJztcbiAgLyoqIChBbmRyb2lkIE9ubHkpIFNldCB0byB5ZXMgdG8gbWFrZSBJbkFwcEJyb3dzZXIgV2ViVmlldyB0byBwYXVzZS9yZXN1bWUgd2l0aCB0aGUgYXBwIHRvIHN0b3AgYmFja2dyb3VuZCBhdWRpbyAodGhpcyBtYXkgYmUgcmVxdWlyZWQgdG8gYXZvaWQgR29vZ2xlIFBsYXkgaXNzdWVzKSAqL1xuICBzaG91bGRQYXVzZU9uU3VzcGVuZD86ICd5ZXMnIHwgJ25vJztcbiAgLyoqIChpT1MgT25seSkgU2V0IHRvIHllcyBvciBubyB0byB3YWl0IHVudGlsIGFsbCBuZXcgdmlldyBjb250ZW50IGlzIHJlY2VpdmVkIGJlZm9yZSBiZWluZyByZW5kZXJlZCAoZGVmYXVsdHMgdG8gbm8pLiAqL1xuICBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmc/OiAneWVzJyB8ICdubyc7XG4gIC8qKiAoaU9TIE9ubHkpIFNldCB0byB5ZXMgb3Igbm8gdG8gdHVybiB0aGUgdG9vbGJhciBvbiBvciBvZmYgZm9yIHRoZSBJbkFwcEJyb3dzZXIgKGRlZmF1bHRzIHRvIHllcykgKi9cbiAgdG9vbGJhcj86ICd5ZXMnIHwgJ25vJztcbiAgLyoqXG4gICAqIChBbmRyb2lkKSBTZXQgdG8gYSB2YWxpZCBoZXggY29sb3Igc3RyaW5nLCBmb3IgZXhhbXBsZTogIzAwZmYwMCwgYW5kIGl0IHdpbGwgY2hhbmdlIHRoZSBjb2xvciB0aGUgdG9vbGJhciBmcm9tIGRlZmF1bHQuIE9ubHkgaGFzIGVmZmVjdCBpZiB1c2VyIGhhcyBsb2NhdGlvbiBzZXQgdG8geWVzLlxuICAgKiAoaU9TKSBTZXQgYXMgYSB2YWxpZCBoZXggY29sb3Igc3RyaW5nLCBmb3IgZXhhbXBsZTogIzAwZmYwMCwgdG8gY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2xiYXIuIE9ubHkgYXBwbGljYWJsZSBpZiB0b29sYmFyIGlzIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHRvb2xiYXJjb2xvcj86IHN0cmluZztcbiAgLyoqIChpT1MgT25seSkgU2V0IHRvIHRvcCBvciBib3R0b20gKGRlZmF1bHQgaXMgYm90dG9tKS4gQ2F1c2VzIHRoZSB0b29sYmFyIHRvIGJlIGF0IHRoZSB0b3Agb3IgYm90dG9tIG9mIHRoZSB3aW5kb3cuICovXG4gIHRvb2xiYXJwb3NpdGlvbj86ICd0b3AnIHwgJ2JvdHRvbSc7XG4gIC8qKiAoaU9TIE9ubHkpIFNldCB0byB5ZXMgb3Igbm8gdG8gbWFrZSB0aGUgdG9vbGJhciB0cmFuc2x1Y2VudChzZW1pLXRyYW5zcGFyZW50KSAoZGVmYXVsdHMgdG8geWVzKS4gT25seSBhcHBsaWNhYmxlIGlmIHRvb2xiYXIgaXMgbm90IGRpc2FibGVkLiAqL1xuICB0b29sYmFydHJhbnNsdWNlbnQ/OiAneWVzJyB8ICdubyc7XG4gIC8qKiAoaU9TIE9ubHkpIFNldCB0byBmbGlwaG9yaXpvbnRhbCwgY3Jvc3NkaXNzb2x2ZSBvciBjb3ZlcnZlcnRpY2FsIHRvIHNldCB0aGUgdHJhbnNpdGlvbiBzdHlsZSAoZGVmYXVsdHMgdG8gY292ZXJ2ZXJ0aWNhbCkuICovXG4gIHRyYW5zaXRpb25zdHlsZT86ICdmbGlwaG9yaXpvbnRhbCcgfCAnY3Jvc3NkaXNzb2x2ZScgfCAnY292ZXJ2ZXJ0aWNhbCc7XG4gIC8qKiAoQW5kcm9pZCBPbmx5KSBTZXRzIHdoZXRoZXIgdGhlIFdlYlZpZXcgc2hvdWxkIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgXCJ2aWV3cG9ydFwiIEhUTUwgbWV0YSB0YWcgb3Igc2hvdWxkIHVzZSBhIHdpZGUgdmlld3BvcnQuIFdoZW4gdGhlIHZhbHVlIG9mIHRoZSBzZXR0aW5nIGlzIG5vLCB0aGUgbGF5b3V0IHdpZHRoIGlzIGFsd2F5cyBzZXQgdG8gdGhlIHdpZHRoIG9mIHRoZSBXZWJWaWV3IGNvbnRyb2wgaW4gZGV2aWNlLWluZGVwZW5kZW50IChDU1MpIHBpeGVscy4gV2hlbiB0aGUgdmFsdWUgaXMgeWVzIGFuZCB0aGUgcGFnZSBjb250YWlucyB0aGUgdmlld3BvcnQgbWV0YSB0YWcsIHRoZSB2YWx1ZSBvZiB0aGUgd2lkdGggc3BlY2lmaWVkIGluIHRoZSB0YWcgaXMgdXNlZC4gSWYgdGhlIHBhZ2UgZG9lcyBub3QgY29udGFpbiB0aGUgdGFnIG9yIGRvZXMgbm90IHByb3ZpZGUgYSB3aWR0aCwgdGhlbiBhIHdpZGUgdmlld3BvcnQgd2lsbCBiZSB1c2VkLiAoZGVmYXVsdHMgdG8geWVzKS4gKi9cbiAgdXNlV2lkZVZpZXdQb3J0PzogJ3llcycgfCAnbm8nO1xuICAvKiogKGlPUyBPbmx5KSBTZXQgdG8geWVzIHRvIHVzZSBXS1dlYlZpZXcgZW5naW5lIGZvciB0aGUgSW5hcHBCcm93c2VyLiBPbWl0IG9yIHNldCB0byBubyAoZGVmYXVsdCkgdG8gdXNlIFVJV2ViVmlldy4gKi9cbiAgdXNld2t3ZWJ2aWV3PzogJ3llcycgfCAnbm8nO1xuICAvKiogKEFuZHJvaWQgT25seSkgU2V0IHRvIHllcyB0byBzaG93IEFuZHJvaWQgYnJvd3NlcidzIHpvb20gY29udHJvbHMsIHNldCB0byBubyB0byBoaWRlIHRoZW0uIERlZmF1bHQgdmFsdWUgaXMgeWVzLiAqL1xuICB6b29tPzogJ3llcycgfCAnbm8nO1xuICAvKipcbiAgICogQGhpZGRlblxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbkFwcEJyb3dzZXJFdmVudFR5cGUgPVxuICB8ICdsb2Fkc3RhcnQnXG4gIHwgJ2xvYWRzdG9wJ1xuICB8ICdsb2FkZXJyb3InXG4gIHwgJ2V4aXQnXG4gIHwgJ2JlZm9yZWxvYWQnXG4gIHwgJ21lc3NhZ2UnXG4gIHwgJ2N1c3RvbXNjaGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5BcHBCcm93c2VyRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIC8qKiB0aGUgZXZlbnQgbmFtZSAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiB0aGUgVVJMIHRoYXQgd2FzIGxvYWRlZC4gKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiB0aGUgZXJyb3IgY29kZSwgb25seSBpbiB0aGUgY2FzZSBvZiBsb2FkZXJyb3IuICovXG4gIGNvZGU6IG51bWJlcjtcbiAgLyoqIHRoZSBlcnJvciBtZXNzYWdlLCBvbmx5IGluIHRoZSBjYXNlIG9mIGxvYWRlcnJvci4gKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKiogdGhlIHBvc3RNZXNzYWdlIGRhdGEsIG9ubHkgaW4gdGhlIGNhc2Ugb2YgbWVzc2FnZS4gKi9cbiAgZGF0YTogYW55O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNsYXNzIEluQXBwQnJvd3Nlck9iamVjdCB7XG4gIHByaXZhdGUgX29iamVjdEluc3RhbmNlOiBhbnk7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgVVJMIGluIGEgbmV3IEluQXBwQnJvd3NlciBpbnN0YW5jZSwgdGhlIGN1cnJlbnQgYnJvd3NlciBpbnN0YW5jZSwgb3IgdGhlIHN5c3RlbSBicm93c2VyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsICAgICBUaGUgVVJMIHRvIGxvYWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFyZ2V0PVwic2VsZlwiXSAgVGhlIHRhcmdldCBpbiB3aGljaCB0byBsb2FkIHRoZSBVUkwsIGFuIG9wdGlvbmFsIHBhcmFtZXRlciB0aGF0IGRlZmF1bHRzIHRvIF9zZWxmLlxuICAgKiAgICAgICAgICAgICAgICAgX3NlbGY6IE9wZW5zIGluIHRoZSBXZWJWaWV3IGlmIHRoZSBVUkwgaXMgaW4gdGhlIHdoaXRlIGxpc3QsIG90aGVyd2lzZSBpdCBvcGVucyBpbiB0aGUgSW5BcHBCcm93c2VyLlxuICAgKiAgICAgICAgICAgICAgICAgX2JsYW5rOiBPcGVucyBpbiB0aGUgSW5BcHBCcm93c2VyLlxuICAgKiAgICAgICAgICAgICAgICAgX3N5c3RlbTogT3BlbnMgaW4gdGhlIHN5c3RlbSdzIHdlYiBicm93c2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEluQXBwQnJvd3Nlck9wdGlvbnN9IFtvcHRpb25zXSBPcHRpb25zIGZvciB0aGUgSW5BcHBCcm93c2VyLiBPcHRpb25hbCwgZGVmYXVsdGluZyB0bzogbG9jYXRpb249eWVzLlxuICAgKiAgICAgICAgICAgICAgICAgVGhlIG9wdGlvbnMgc3RyaW5nIG11c3Qgbm90IGNvbnRhaW4gYW55IGJsYW5rIHNwYWNlLCBhbmQgZWFjaCBmZWF0dXJlJ3NcbiAgICogICAgICAgICAgICAgICAgIG5hbWUvdmFsdWUgcGFpcnMgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gRmVhdHVyZSBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCB0YXJnZXQ/OiBzdHJpbmcsIG9wdGlvbnM/OiBzdHJpbmcgfCBJbkFwcEJyb3dzZXJPcHRpb25zKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zICE9PSAnc3RyaW5nJykge1xuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmtleXMob3B0aW9ucylcbiAgICAgICAgICAubWFwKChrZXk6IHN0cmluZykgPT4gYCR7a2V5fT0keyhvcHRpb25zIGFzIEluQXBwQnJvd3Nlck9wdGlvbnMpW2tleV19YClcbiAgICAgICAgICAuam9pbignLCcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9vYmplY3RJbnN0YW5jZSA9IGNvcmRvdmEuSW5BcHBCcm93c2VyLm9wZW4odXJsLCB0YXJnZXQsIG9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB3aW5kb3cub3Blbih1cmwsIHRhcmdldCk7XG4gICAgICB9XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdOYXRpdmU6IEluQXBwQnJvd3NlciBpcyBub3QgaW5zdGFsbGVkIG9yIHlvdSBhcmUgcnVubmluZyBvbiBhIGJyb3dzZXIuIEZhbGxpbmcgYmFjayB0byB3aW5kb3cub3Blbi4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBcImJlZm9yZWxvYWRcIiBldmVudCB0byBjb250aW51ZSB0aGUgc2NyaXB0XG4gICAqXG4gICAqIEBwYXJhbSBzdHJVcmwge1N0cmluZ30gVGhlIFVSTCB0aGUgSW5BcHBCcm93c2VyIHNob3VsZCBuYXZpZ2F0ZSB0by5cbiAgICovXG4gIEBDb3Jkb3ZhSW5zdGFuY2UoeyBzeW5jOiB0cnVlIH0pXG4gIF9sb2FkQWZ0ZXJCZWZvcmVsb2FkKHN0clVybDogc3RyaW5nKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhbiBJbkFwcEJyb3dzZXIgd2luZG93IHRoYXQgd2FzIG9wZW5lZCBoaWRkZW4uIENhbGxpbmcgdGhpcyBoYXMgbm8gZWZmZWN0XG4gICAqIGlmIHRoZSBJbkFwcEJyb3dzZXIgd2FzIGFscmVhZHkgdmlzaWJsZS5cbiAgICovXG4gIEBDb3Jkb3ZhSW5zdGFuY2UoeyBzeW5jOiB0cnVlIH0pXG4gIHNob3coKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIEluQXBwQnJvd3NlciB3aW5kb3cuXG4gICAqL1xuICBAQ29yZG92YUluc3RhbmNlKHsgc3luYzogdHJ1ZSB9KVxuICBjbG9zZSgpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEhpZGVzIGFuIEluQXBwQnJvd3NlciB3aW5kb3cgdGhhdCBpcyBjdXJyZW50bHkgc2hvd24uIENhbGxpbmcgdGhpcyBoYXMgbm8gZWZmZWN0XG4gICAqIGlmIHRoZSBJbkFwcEJyb3dzZXIgd2FzIGFscmVhZHkgaGlkZGVuLlxuICAgKi9cbiAgQENvcmRvdmFJbnN0YW5jZSh7IHN5bmM6IHRydWUgfSlcbiAgaGlkZSgpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEluamVjdHMgSmF2YVNjcmlwdCBjb2RlIGludG8gdGhlIEluQXBwQnJvd3NlciB3aW5kb3cuXG4gICAqXG4gICAqIEBwYXJhbSBzY3JpcHQge09iamVjdH0gRGV0YWlscyBvZiB0aGUgc2NyaXB0IHRvIHJ1biwgc3BlY2lmeWluZyBlaXRoZXIgYSBmaWxlIG9yIGNvZGUga2V5LlxuICAgKiBAcGFyYW0gc2NyaXB0LmZpbGVcbiAgICogQHBhcmFtIHNjcmlwdC5jb2RlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBAQ29yZG92YUluc3RhbmNlKClcbiAgZXhlY3V0ZVNjcmlwdChzY3JpcHQ6IHsgZmlsZT86IHN0cmluZzsgY29kZT86IHN0cmluZyB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogSW5qZWN0cyBDU1MgaW50byB0aGUgSW5BcHBCcm93c2VyIHdpbmRvdy5cbiAgICpcbiAgICogQHBhcmFtIGNzcyB7T2JqZWN0fSBEZXRhaWxzIG9mIHRoZSBzY3JpcHQgdG8gcnVuLCBzcGVjaWZ5aW5nIGVpdGhlciBhIGZpbGUgb3IgY29kZSBrZXkuXG4gICAqIEBwYXJhbSBjc3MuZmlsZVxuICAgKiBAcGFyYW0gY3NzLmNvZGVcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhSW5zdGFuY2UoKVxuICBpbnNlcnRDU1MoY3NzOiB7IGZpbGU/OiBzdHJpbmc7IGNvZGU/OiBzdHJpbmcgfSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgYWxsb3dzIHlvdSB0byBsaXN0ZW4gdG8gZXZlbnRzIGhhcHBlbmluZyBpbiB0aGUgYnJvd3Nlci5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IHtJbkFwcEJyb3dzZXJFdmVudFR5cGV9IE5hbWUgb2YgdGhlIGV2ZW50XG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluQXBwQnJvd3NlckV2ZW50Pn0gUmV0dXJucyBiYWNrIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIGxpc3RlbiB0byB0aGUgZXZlbnQgb24gc3Vic2NyaWJlLCBhbmQgd2lsbCBzdG9wIGxpc3RlbmluZyB0byB0aGUgZXZlbnQgb24gdW5zdWJzY3JpYmUuXG4gICAqL1xuICBASW5zdGFuY2VDaGVjaygpXG4gIG9uKGV2ZW50OiBJbkFwcEJyb3dzZXJFdmVudFR5cGUpOiBPYnNlcnZhYmxlPEluQXBwQnJvd3NlckV2ZW50PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPEluQXBwQnJvd3NlckV2ZW50Pigob2JzZXJ2ZXI6IE9ic2VydmVyPEluQXBwQnJvd3NlckV2ZW50PikgPT4ge1xuICAgICAgdGhpcy5fb2JqZWN0SW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgb2JzZXJ2ZXIubmV4dC5iaW5kKG9ic2VydmVyKSk7XG4gICAgICByZXR1cm4gKCkgPT4gdGhpcy5fb2JqZWN0SW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgb2JzZXJ2ZXIubmV4dC5iaW5kKG9ic2VydmVyKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBtZXRob2QgdGhhdCBhbGxvd3MgeW91IHRvIGxpc3RlbiB0byBldmVudHMgaGFwcGVuaW5nIGluIHRoZSBicm93c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQge3N0cmluZ30gTmFtZSBvZiB0aGUgZXZlbnRcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5BcHBCcm93c2VyRXZlbnQ+fSBSZXR1cm5zIGJhY2sgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgbGlzdGVuIHRvIHRoZSBldmVudCBvbiBzdWJzY3JpYmUsIGFuZCB3aWxsIHN0b3AgbGlzdGVuaW5nIHRvIHRoZSBldmVudCBvbiB1bnN1YnNjcmliZS5cbiAgICovXG4gIEBJbnN0YW5jZUNoZWNrKClcbiAgb24oZXZlbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8SW5BcHBCcm93c2VyRXZlbnQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8SW5BcHBCcm93c2VyRXZlbnQ+KChvYnNlcnZlcjogT2JzZXJ2ZXI8SW5BcHBCcm93c2VyRXZlbnQ+KSA9PiB7XG4gICAgICB0aGlzLl9vYmplY3RJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvYnNlcnZlci5uZXh0LmJpbmQob2JzZXJ2ZXIpKTtcbiAgICAgIHJldHVybiAoKSA9PiB0aGlzLl9vYmplY3RJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBvYnNlcnZlci5uZXh0LmJpbmQob2JzZXJ2ZXIpKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBuYW1lIEluIEFwcCBCcm93c2VyXG4gKiBAcHJlbWllciBpbmFwcGJyb3dzZXJcbiAqIEBkZXNjcmlwdGlvbiBMYXVuY2hlcyBpbiBhcHAgQnJvd3NlclxuICogQHVzYWdlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBJbkFwcEJyb3dzZXIgfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvaW4tYXBwLWJyb3dzZXIvbmd4JztcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGlhYjogSW5BcHBCcm93c2VyKSB7IH1cbiAqXG4gKlxuICogLi4uXG4gKlxuICpcbiAqIGNvbnN0IGJyb3dzZXIgPSB0aGlzLmlhYi5jcmVhdGUoJ2h0dHBzOi8vaW9uaWNmcmFtZXdvcmsuY29tLycpO1xuICpcbiAqIGJyb3dzZXIuZXhlY3V0ZVNjcmlwdCguLi4pO1xuICpcbiAqIGJyb3dzZXIuaW5zZXJ0Q1NTKC4uLik7XG4gKiBicm93c2VyLm9uKCdsb2Fkc3RvcCcpLnN1YnNjcmliZShldmVudCA9PiB7XG4gKiAgICBicm93c2VyLmluc2VydENTUyh7IGNvZGU6IFwiYm9keXtjb2xvcjogcmVkO1wiIH0pO1xuICogfSk7XG4gKlxuICogYnJvd3Nlci5jbG9zZSgpO1xuICpcbiAqIGBgYFxuICogQGNsYXNzZXNcbiAqIEluQXBwQnJvd3Nlck9iamVjdFxuICogQGludGVyZmFjZXNcbiAqIEluQXBwQnJvd3NlckV2ZW50XG4gKiBJbkFwcEJyb3dzZXJPcHRpb25zXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnSW5BcHBCcm93c2VyJyxcbiAgcGx1Z2luOiAnY29yZG92YS1wbHVnaW4taW5hcHBicm93c2VyJyxcbiAgcGx1Z2luUmVmOiAnY29yZG92YS5JbkFwcEJyb3dzZXInLFxuICByZXBvOiAnaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9jb3Jkb3ZhLXBsdWdpbi1pbmFwcGJyb3dzZXInLFxuICBwbGF0Zm9ybXM6IFsnQW1hem9uRmlyZSBPUycsICdBbmRyb2lkJywgJ0Jyb3dzZXInLCAnaU9TJywgJ21hY09TJywgJ1dpbmRvd3MnXSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5BcHBCcm93c2VyIGV4dGVuZHMgQXdlc29tZUNvcmRvdmFOYXRpdmVQbHVnaW4ge1xuICAvKipcbiAgICogT3BlbnMgYSBVUkwgaW4gYSBuZXcgSW5BcHBCcm93c2VyIGluc3RhbmNlLCB0aGUgY3VycmVudCBicm93c2VyIGluc3RhbmNlLCBvciB0aGUgc3lzdGVtIGJyb3dzZXIuXG4gICAqXG4gICAqIEBwYXJhbSAgdXJsIHtzdHJpbmd9ICAgICBUaGUgVVJMIHRvIGxvYWQuXG4gICAqIEBwYXJhbSAgdGFyZ2V0IHtzdHJpbmd9ICBUaGUgdGFyZ2V0IGluIHdoaWNoIHRvIGxvYWQgdGhlIFVSTCwgYW4gb3B0aW9uYWwgcGFyYW1ldGVyIHRoYXQgZGVmYXVsdHMgdG8gX3NlbGYuXG4gICAqIEBwYXJhbSAgb3B0aW9ucyB7c3RyaW5nfSBPcHRpb25zIGZvciB0aGUgSW5BcHBCcm93c2VyLiBPcHRpb25hbCwgZGVmYXVsdGluZyB0bzogbG9jYXRpb249eWVzLlxuICAgKiAgICAgICAgICAgICAgICAgVGhlIG9wdGlvbnMgc3RyaW5nIG11c3Qgbm90IGNvbnRhaW4gYW55IGJsYW5rIHNwYWNlLCBhbmQgZWFjaCBmZWF0dXJlJ3NcbiAgICogICAgICAgICAgICAgICAgIG5hbWUvdmFsdWUgcGFpcnMgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gRmVhdHVyZSBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cbiAgICogQHJldHVybnMge0luQXBwQnJvd3Nlck9iamVjdH1cbiAgICovXG4gIGNyZWF0ZSh1cmw6IHN0cmluZywgdGFyZ2V0Pzogc3RyaW5nLCBvcHRpb25zPzogc3RyaW5nIHwgSW5BcHBCcm93c2VyT3B0aW9ucyk6IEluQXBwQnJvd3Nlck9iamVjdCB7XG4gICAgcmV0dXJuIG5ldyBJbkFwcEJyb3dzZXJPYmplY3QodXJsLCB0YXJnZXQsIG9wdGlvbnMpO1xuICB9XG59XG4iXX0=","/*! Capacitor: https://capacitorjs.com/ - MIT License */\nconst createCapacitorPlatforms = (win) => {\n const defaultPlatformMap = new Map();\n defaultPlatformMap.set('web', { name: 'web' });\n const capPlatforms = win.CapacitorPlatforms || {\n currentPlatform: { name: 'web' },\n platforms: defaultPlatformMap,\n };\n const addPlatform = (name, platform) => {\n capPlatforms.platforms.set(name, platform);\n };\n const setPlatform = (name) => {\n if (capPlatforms.platforms.has(name)) {\n capPlatforms.currentPlatform = capPlatforms.platforms.get(name);\n }\n };\n capPlatforms.addPlatform = addPlatform;\n capPlatforms.setPlatform = setPlatform;\n return capPlatforms;\n};\nconst initPlatforms = (win) => (win.CapacitorPlatforms = createCapacitorPlatforms(win));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst CapacitorPlatforms = /*#__PURE__*/ initPlatforms((typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst addPlatform = CapacitorPlatforms.addPlatform;\n/**\n * @deprecated Set `CapacitorCustomPlatform` on the window object prior to runtime executing in the web app instead\n */\nconst setPlatform = CapacitorPlatforms.setPlatform;\n\nconst legacyRegisterWebPlugin = (cap, webPlugin) => {\n var _a;\n const config = webPlugin.config;\n const Plugins = cap.Plugins;\n if (!config || !config.name) {\n // TODO: add link to upgrade guide\n throw new Error(`Capacitor WebPlugin is using the deprecated \"registerWebPlugin()\" function, but without the config. Please use \"registerPlugin()\" instead to register this web plugin.\"`);\n }\n // TODO: add link to upgrade guide\n console.warn(`Capacitor plugin \"${config.name}\" is using the deprecated \"registerWebPlugin()\" function`);\n if (!Plugins[config.name] || ((_a = config === null || config === void 0 ? void 0 : config.platforms) === null || _a === void 0 ? void 0 : _a.includes(cap.getPlatform()))) {\n // Add the web plugin into the plugins registry if there already isn't\n // an existing one. If it doesn't already exist, that means\n // there's no existing native implementation for it.\n // - OR -\n // If we already have a plugin registered (meaning it was defined in the native layer),\n // then we should only overwrite it if the corresponding web plugin activates on\n // a certain platform. For example: Geolocation uses the WebPlugin on Android but not iOS\n Plugins[config.name] = webPlugin;\n }\n};\n\nvar ExceptionCode;\n(function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n})(ExceptionCode || (ExceptionCode = {}));\nclass CapacitorException extends Error {\n constructor(message, code) {\n super(message);\n this.message = message;\n this.code = code;\n }\n}\nconst getPlatformId = (win) => {\n var _a, _b;\n if (win === null || win === void 0 ? void 0 : win.androidBridge) {\n return 'android';\n }\n else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) {\n return 'ios';\n }\n else {\n return 'web';\n }\n};\n\nconst createCapacitor = (win) => {\n var _a, _b, _c, _d, _e;\n const capCustomPlatform = win.CapacitorCustomPlatform || null;\n const cap = win.Capacitor || {};\n const Plugins = (cap.Plugins = cap.Plugins || {});\n /**\n * @deprecated Use `capCustomPlatform` instead, default functions like registerPlugin will function with the new object.\n */\n const capPlatforms = win.CapacitorPlatforms;\n const defaultGetPlatform = () => {\n return capCustomPlatform !== null\n ? capCustomPlatform.name\n : getPlatformId(win);\n };\n const getPlatform = ((_a = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _a === void 0 ? void 0 : _a.getPlatform) || defaultGetPlatform;\n const defaultIsNativePlatform = () => getPlatform() !== 'web';\n const isNativePlatform = ((_b = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _b === void 0 ? void 0 : _b.isNativePlatform) || defaultIsNativePlatform;\n const defaultIsPluginAvailable = (pluginName) => {\n const plugin = registeredPlugins.get(pluginName);\n if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) {\n // JS implementation available for the current platform.\n return true;\n }\n if (getPluginHeader(pluginName)) {\n // Native implementation available.\n return true;\n }\n return false;\n };\n const isPluginAvailable = ((_c = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _c === void 0 ? void 0 : _c.isPluginAvailable) ||\n defaultIsPluginAvailable;\n const defaultGetPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find(h => h.name === pluginName); };\n const getPluginHeader = ((_d = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _d === void 0 ? void 0 : _d.getPluginHeader) || defaultGetPluginHeader;\n const handleError = (err) => win.console.error(err);\n const pluginMethodNoop = (_target, prop, pluginName) => {\n return Promise.reject(`${pluginName} does not have an implementation of \"${prop}\".`);\n };\n const registeredPlugins = new Map();\n const defaultRegisterPlugin = (pluginName, jsImplementations = {}) => {\n const registeredPlugin = registeredPlugins.get(pluginName);\n if (registeredPlugin) {\n console.warn(`Capacitor plugin \"${pluginName}\" already registered. Cannot register plugins twice.`);\n return registeredPlugin.proxy;\n }\n const platform = getPlatform();\n const pluginHeader = getPluginHeader(pluginName);\n let jsImplementation;\n const loadPluginImplementation = async () => {\n if (!jsImplementation && platform in jsImplementations) {\n jsImplementation =\n typeof jsImplementations[platform] === 'function'\n ? (jsImplementation = await jsImplementations[platform]())\n : (jsImplementation = jsImplementations[platform]);\n }\n else if (capCustomPlatform !== null &&\n !jsImplementation &&\n 'web' in jsImplementations) {\n jsImplementation =\n typeof jsImplementations['web'] === 'function'\n ? (jsImplementation = await jsImplementations['web']())\n : (jsImplementation = jsImplementations['web']);\n }\n return jsImplementation;\n };\n const createPluginMethod = (impl, prop) => {\n var _a, _b;\n if (pluginHeader) {\n const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find(m => prop === m.name);\n if (methodHeader) {\n if (methodHeader.rtype === 'promise') {\n return (options) => cap.nativePromise(pluginName, prop.toString(), options);\n }\n else {\n return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback);\n }\n }\n else if (impl) {\n return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl);\n }\n }\n else if (impl) {\n return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl);\n }\n else {\n throw new CapacitorException(`\"${pluginName}\" plugin is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n };\n const createPluginMethodWrapper = (prop) => {\n let remove;\n const wrapper = (...args) => {\n const p = loadPluginImplementation().then(impl => {\n const fn = createPluginMethod(impl, prop);\n if (fn) {\n const p = fn(...args);\n remove = p === null || p === void 0 ? void 0 : p.remove;\n return p;\n }\n else {\n throw new CapacitorException(`\"${pluginName}.${prop}()\" is not implemented on ${platform}`, ExceptionCode.Unimplemented);\n }\n });\n if (prop === 'addListener') {\n p.remove = async () => remove();\n }\n return p;\n };\n // Some flair ✨\n wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`;\n Object.defineProperty(wrapper, 'name', {\n value: prop,\n writable: false,\n configurable: false,\n });\n return wrapper;\n };\n const addListener = createPluginMethodWrapper('addListener');\n const removeListener = createPluginMethodWrapper('removeListener');\n const addListenerNative = (eventName, callback) => {\n const call = addListener({ eventName }, callback);\n const remove = async () => {\n const callbackId = await call;\n removeListener({\n eventName,\n callbackId,\n }, callback);\n };\n const p = new Promise(resolve => call.then(() => resolve({ remove })));\n p.remove = async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n };\n return p;\n };\n const proxy = new Proxy({}, {\n get(_, prop) {\n switch (prop) {\n // https://github.com/facebook/react/issues/20030\n case '$$typeof':\n return undefined;\n case 'toJSON':\n return () => ({});\n case 'addListener':\n return pluginHeader ? addListenerNative : addListener;\n case 'removeListener':\n return removeListener;\n default:\n return createPluginMethodWrapper(prop);\n }\n },\n });\n Plugins[pluginName] = proxy;\n registeredPlugins.set(pluginName, {\n name: pluginName,\n proxy,\n platforms: new Set([\n ...Object.keys(jsImplementations),\n ...(pluginHeader ? [platform] : []),\n ]),\n });\n return proxy;\n };\n const registerPlugin = ((_e = capPlatforms === null || capPlatforms === void 0 ? void 0 : capPlatforms.currentPlatform) === null || _e === void 0 ? void 0 : _e.registerPlugin) || defaultRegisterPlugin;\n // Add in convertFileSrc for web, it will already be available in native context\n if (!cap.convertFileSrc) {\n cap.convertFileSrc = filePath => filePath;\n }\n cap.getPlatform = getPlatform;\n cap.handleError = handleError;\n cap.isNativePlatform = isNativePlatform;\n cap.isPluginAvailable = isPluginAvailable;\n cap.pluginMethodNoop = pluginMethodNoop;\n cap.registerPlugin = registerPlugin;\n cap.Exception = CapacitorException;\n cap.DEBUG = !!cap.DEBUG;\n cap.isLoggingEnabled = !!cap.isLoggingEnabled;\n // Deprecated props\n cap.platform = cap.getPlatform();\n cap.isNative = cap.isNativePlatform();\n return cap;\n};\nconst initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win));\n\nconst Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {});\nconst registerPlugin = Capacitor.registerPlugin;\n/**\n * @deprecated Provided for backwards compatibility for Capacitor v2 plugins.\n * Capacitor v3 plugins should import the plugin directly. This \"Plugins\"\n * export is deprecated in v3, and will be removed in v4.\n */\nconst Plugins = Capacitor.Plugins;\n/**\n * Provided for backwards compatibility. Use the registerPlugin() API\n * instead, and provide the web plugin as the \"web\" implmenetation.\n * For example\n *\n * export const Example = registerPlugin('Example', {\n * web: () => import('./web').then(m => new m.Example())\n * })\n *\n * @deprecated Deprecated in v3, will be removed from v4.\n */\nconst registerWebPlugin = (plugin) => legacyRegisterWebPlugin(Capacitor, plugin);\n\n/**\n * Base class web plugins should extend.\n */\nclass WebPlugin {\n constructor(config) {\n this.listeners = {};\n this.windowListeners = {};\n if (config) {\n // TODO: add link to upgrade guide\n console.warn(`Capacitor WebPlugin \"${config.name}\" config object was deprecated in v3 and will be removed in v4.`);\n this.config = config;\n }\n }\n addListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push(listenerFunc);\n // If we haven't added a window listener for this event and it requires one,\n // go ahead and add it\n const windowListener = this.windowListeners[eventName];\n if (windowListener && !windowListener.registered) {\n this.addWindowListener(windowListener);\n }\n const remove = async () => this.removeListener(eventName, listenerFunc);\n const p = Promise.resolve({ remove });\n Object.defineProperty(p, 'remove', {\n value: async () => {\n console.warn(`Using addListener() without 'await' is deprecated.`);\n await remove();\n },\n });\n return p;\n }\n async removeAllListeners() {\n this.listeners = {};\n for (const listener in this.windowListeners) {\n this.removeWindowListener(this.windowListeners[listener]);\n }\n this.windowListeners = {};\n }\n notifyListeners(eventName, data) {\n const listeners = this.listeners[eventName];\n if (listeners) {\n listeners.forEach(listener => listener(data));\n }\n }\n hasListeners(eventName) {\n return !!this.listeners[eventName].length;\n }\n registerWindowListener(windowEventName, pluginEventName) {\n this.windowListeners[pluginEventName] = {\n registered: false,\n windowEventName,\n pluginEventName,\n handler: event => {\n this.notifyListeners(pluginEventName, event);\n },\n };\n }\n unimplemented(msg = 'not implemented') {\n return new Capacitor.Exception(msg, ExceptionCode.Unimplemented);\n }\n unavailable(msg = 'not available') {\n return new Capacitor.Exception(msg, ExceptionCode.Unavailable);\n }\n async removeListener(eventName, listenerFunc) {\n const listeners = this.listeners[eventName];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(listenerFunc);\n this.listeners[eventName].splice(index, 1);\n // If there are no more listeners for this type of event,\n // remove the window listener\n if (!this.listeners[eventName].length) {\n this.removeWindowListener(this.windowListeners[eventName]);\n }\n }\n addWindowListener(handle) {\n window.addEventListener(handle.windowEventName, handle.handler);\n handle.registered = true;\n }\n removeWindowListener(handle) {\n if (!handle) {\n return;\n }\n window.removeEventListener(handle.windowEventName, handle.handler);\n handle.registered = false;\n }\n}\n\nconst WebView = /*#__PURE__*/ registerPlugin('WebView');\n\nexport { Capacitor, CapacitorException, CapacitorPlatforms, ExceptionCode, Plugins, WebPlugin, WebView, addPlatform, registerPlugin, registerWebPlugin, setPlatform };\n//# sourceMappingURL=index.js.map\n","import { registerPlugin } from '@capacitor/core';\nconst Device = registerPlugin('Device', {\n web: () => import('./web').then(m => new m.DeviceWeb()),\n});\nexport * from './definitions';\nexport { Device };\n//# sourceMappingURL=index.js.map","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as raf } from './helpers.js';\n\nlet animationPrefix;\n/**\n * Web Animations requires hyphenated CSS properties\n * to be written in camelCase when animating\n */\nconst processKeyframes = (keyframes) => {\n keyframes.forEach((keyframe) => {\n for (const key in keyframe) {\n // eslint-disable-next-line no-prototype-builtins\n if (keyframe.hasOwnProperty(key)) {\n const value = keyframe[key];\n if (key === 'easing') {\n const newKey = 'animation-timing-function';\n keyframe[newKey] = value;\n delete keyframe[key];\n }\n else {\n const newKey = convertCamelCaseToHypen(key);\n if (newKey !== key) {\n keyframe[newKey] = value;\n delete keyframe[key];\n }\n }\n }\n }\n });\n return keyframes;\n};\nconst convertCamelCaseToHypen = (str) => {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n};\nconst getAnimationPrefix = (el) => {\n if (animationPrefix === undefined) {\n const supportsUnprefixed = el.style.animationName !== undefined;\n const supportsWebkitPrefix = el.style.webkitAnimationName !== undefined;\n animationPrefix = !supportsUnprefixed && supportsWebkitPrefix ? '-webkit-' : '';\n }\n return animationPrefix;\n};\nconst setStyleProperty = (element, propertyName, value) => {\n const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';\n element.style.setProperty(prefix + propertyName, value);\n};\nconst removeStyleProperty = (element, propertyName) => {\n const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';\n element.style.removeProperty(prefix + propertyName);\n};\nconst animationEnd = (el, callback) => {\n let unRegTrans;\n const opts = { passive: true };\n const unregister = () => {\n if (unRegTrans) {\n unRegTrans();\n }\n };\n const onTransitionEnd = (ev) => {\n if (el === ev.target) {\n unregister();\n callback(ev);\n }\n };\n if (el) {\n el.addEventListener('webkitAnimationEnd', onTransitionEnd, opts);\n el.addEventListener('animationend', onTransitionEnd, opts);\n unRegTrans = () => {\n el.removeEventListener('webkitAnimationEnd', onTransitionEnd, opts);\n el.removeEventListener('animationend', onTransitionEnd, opts);\n };\n }\n return unregister;\n};\nconst generateKeyframeRules = (keyframes = []) => {\n return keyframes\n .map((keyframe) => {\n const offset = keyframe.offset;\n const frameString = [];\n for (const property in keyframe) {\n // eslint-disable-next-line no-prototype-builtins\n if (keyframe.hasOwnProperty(property) && property !== 'offset') {\n frameString.push(`${property}: ${keyframe[property]};`);\n }\n }\n return `${offset * 100}% { ${frameString.join(' ')} }`;\n })\n .join(' ');\n};\nconst keyframeIds = [];\nconst generateKeyframeName = (keyframeRules) => {\n let index = keyframeIds.indexOf(keyframeRules);\n if (index < 0) {\n index = keyframeIds.push(keyframeRules) - 1;\n }\n return `ion-animation-${index}`;\n};\nconst getStyleContainer = (element) => {\n const rootNode = element.getRootNode();\n return rootNode.head || rootNode;\n};\nconst createKeyframeStylesheet = (keyframeName, keyframeRules, element) => {\n const styleContainer = getStyleContainer(element);\n const keyframePrefix = getAnimationPrefix(element);\n const existingStylesheet = styleContainer.querySelector('#' + keyframeName);\n if (existingStylesheet) {\n return existingStylesheet;\n }\n const stylesheet = (element.ownerDocument || document).createElement('style');\n stylesheet.id = keyframeName;\n stylesheet.textContent = `@${keyframePrefix}keyframes ${keyframeName} { ${keyframeRules} } @${keyframePrefix}keyframes ${keyframeName}-alt { ${keyframeRules} }`;\n styleContainer.appendChild(stylesheet);\n return stylesheet;\n};\nconst addClassToArray = (classes = [], className) => {\n if (className !== undefined) {\n const classNameToAppend = Array.isArray(className) ? className : [className];\n return [...classes, ...classNameToAppend];\n }\n return classes;\n};\n\nconst createAnimation = (animationId) => {\n let _delay;\n let _duration;\n let _easing;\n let _iterations;\n let _fill;\n let _direction;\n let _keyframes = [];\n let beforeAddClasses = [];\n let beforeRemoveClasses = [];\n let initialized = false;\n let parentAnimation;\n let beforeStylesValue = {};\n let afterAddClasses = [];\n let afterRemoveClasses = [];\n let afterStylesValue = {};\n let numAnimationsRunning = 0;\n let shouldForceLinearEasing = false;\n let shouldForceSyncPlayback = false;\n let cssAnimationsTimerFallback;\n let forceDirectionValue;\n let forceDurationValue;\n let forceDelayValue;\n let willComplete = true;\n let finished = false;\n let shouldCalculateNumAnimations = true;\n let keyframeName;\n let ani;\n let paused = false;\n const id = animationId;\n const onFinishCallbacks = [];\n const onFinishOneTimeCallbacks = [];\n const elements = [];\n const childAnimations = [];\n const stylesheets = [];\n const _beforeAddReadFunctions = [];\n const _beforeAddWriteFunctions = [];\n const _afterAddReadFunctions = [];\n const _afterAddWriteFunctions = [];\n const webAnimations = [];\n const supportsAnimationEffect = typeof AnimationEffect === 'function' || typeof window.AnimationEffect === 'function';\n const supportsWebAnimations = typeof Element === 'function' &&\n typeof Element.prototype.animate === 'function' &&\n supportsAnimationEffect;\n const ANIMATION_END_FALLBACK_PADDING_MS = 100;\n const getWebAnimations = () => {\n return webAnimations;\n };\n const destroy = (clearStyleSheets) => {\n childAnimations.forEach((childAnimation) => {\n childAnimation.destroy(clearStyleSheets);\n });\n cleanUp(clearStyleSheets);\n elements.length = 0;\n childAnimations.length = 0;\n _keyframes.length = 0;\n clearOnFinish();\n initialized = false;\n shouldCalculateNumAnimations = true;\n return ani;\n };\n /**\n * Cancels any Web Animations, removes\n * any animation properties from the\n * animation's elements, and removes the\n * animation's stylesheets from the DOM.\n */\n const cleanUp = (clearStyleSheets) => {\n cleanUpElements();\n if (clearStyleSheets) {\n cleanUpStyleSheets();\n }\n };\n const resetFlags = () => {\n shouldForceLinearEasing = false;\n shouldForceSyncPlayback = false;\n shouldCalculateNumAnimations = true;\n forceDirectionValue = undefined;\n forceDurationValue = undefined;\n forceDelayValue = undefined;\n numAnimationsRunning = 0;\n finished = false;\n willComplete = true;\n paused = false;\n };\n const isRunning = () => {\n return numAnimationsRunning !== 0 && !paused;\n };\n const onFinish = (callback, opts) => {\n const callbacks = (opts === null || opts === void 0 ? void 0 : opts.oneTimeCallback) ? onFinishOneTimeCallbacks : onFinishCallbacks;\n callbacks.push({ c: callback, o: opts });\n return ani;\n };\n const clearOnFinish = () => {\n onFinishCallbacks.length = 0;\n onFinishOneTimeCallbacks.length = 0;\n return ani;\n };\n /**\n * Cancels any Web Animations and removes\n * any animation properties from the\n * the animation's elements.\n */\n const cleanUpElements = () => {\n if (supportsWebAnimations) {\n webAnimations.forEach((animation) => {\n animation.cancel();\n });\n webAnimations.length = 0;\n }\n else {\n const elementsArray = elements.slice();\n raf(() => {\n elementsArray.forEach((element) => {\n removeStyleProperty(element, 'animation-name');\n removeStyleProperty(element, 'animation-duration');\n removeStyleProperty(element, 'animation-timing-function');\n removeStyleProperty(element, 'animation-iteration-count');\n removeStyleProperty(element, 'animation-delay');\n removeStyleProperty(element, 'animation-play-state');\n removeStyleProperty(element, 'animation-fill-mode');\n removeStyleProperty(element, 'animation-direction');\n });\n });\n }\n };\n /**\n * Removes the animation's stylesheets\n * from the DOM.\n */\n const cleanUpStyleSheets = () => {\n stylesheets.forEach((stylesheet) => {\n /**\n * When sharing stylesheets, it's possible\n * for another animation to have already\n * cleaned up a particular stylesheet\n */\n if (stylesheet === null || stylesheet === void 0 ? void 0 : stylesheet.parentNode) {\n stylesheet.parentNode.removeChild(stylesheet);\n }\n });\n stylesheets.length = 0;\n };\n const beforeAddRead = (readFn) => {\n _beforeAddReadFunctions.push(readFn);\n return ani;\n };\n const beforeAddWrite = (writeFn) => {\n _beforeAddWriteFunctions.push(writeFn);\n return ani;\n };\n const afterAddRead = (readFn) => {\n _afterAddReadFunctions.push(readFn);\n return ani;\n };\n const afterAddWrite = (writeFn) => {\n _afterAddWriteFunctions.push(writeFn);\n return ani;\n };\n const beforeAddClass = (className) => {\n beforeAddClasses = addClassToArray(beforeAddClasses, className);\n return ani;\n };\n const beforeRemoveClass = (className) => {\n beforeRemoveClasses = addClassToArray(beforeRemoveClasses, className);\n return ani;\n };\n /**\n * Set CSS inline styles to the animation's\n * elements before the animation begins.\n */\n const beforeStyles = (styles = {}) => {\n beforeStylesValue = styles;\n return ani;\n };\n /**\n * Clear CSS inline styles from the animation's\n * elements before the animation begins.\n */\n const beforeClearStyles = (propertyNames = []) => {\n for (const property of propertyNames) {\n beforeStylesValue[property] = '';\n }\n return ani;\n };\n const afterAddClass = (className) => {\n afterAddClasses = addClassToArray(afterAddClasses, className);\n return ani;\n };\n const afterRemoveClass = (className) => {\n afterRemoveClasses = addClassToArray(afterRemoveClasses, className);\n return ani;\n };\n const afterStyles = (styles = {}) => {\n afterStylesValue = styles;\n return ani;\n };\n const afterClearStyles = (propertyNames = []) => {\n for (const property of propertyNames) {\n afterStylesValue[property] = '';\n }\n return ani;\n };\n const getFill = () => {\n if (_fill !== undefined) {\n return _fill;\n }\n if (parentAnimation) {\n return parentAnimation.getFill();\n }\n return 'both';\n };\n const getDirection = () => {\n if (forceDirectionValue !== undefined) {\n return forceDirectionValue;\n }\n if (_direction !== undefined) {\n return _direction;\n }\n if (parentAnimation) {\n return parentAnimation.getDirection();\n }\n return 'normal';\n };\n const getEasing = () => {\n if (shouldForceLinearEasing) {\n return 'linear';\n }\n if (_easing !== undefined) {\n return _easing;\n }\n if (parentAnimation) {\n return parentAnimation.getEasing();\n }\n return 'linear';\n };\n const getDuration = () => {\n if (shouldForceSyncPlayback) {\n return 0;\n }\n if (forceDurationValue !== undefined) {\n return forceDurationValue;\n }\n if (_duration !== undefined) {\n return _duration;\n }\n if (parentAnimation) {\n return parentAnimation.getDuration();\n }\n return 0;\n };\n const getIterations = () => {\n if (_iterations !== undefined) {\n return _iterations;\n }\n if (parentAnimation) {\n return parentAnimation.getIterations();\n }\n return 1;\n };\n const getDelay = () => {\n if (forceDelayValue !== undefined) {\n return forceDelayValue;\n }\n if (_delay !== undefined) {\n return _delay;\n }\n if (parentAnimation) {\n return parentAnimation.getDelay();\n }\n return 0;\n };\n const getKeyframes = () => {\n return _keyframes;\n };\n const direction = (animationDirection) => {\n _direction = animationDirection;\n update(true);\n return ani;\n };\n const fill = (animationFill) => {\n _fill = animationFill;\n update(true);\n return ani;\n };\n const delay = (animationDelay) => {\n _delay = animationDelay;\n update(true);\n return ani;\n };\n const easing = (animationEasing) => {\n _easing = animationEasing;\n update(true);\n return ani;\n };\n const duration = (animationDuration) => {\n /**\n * CSS Animation Durations of 0ms work fine on Chrome\n * but do not run on Safari, so force it to 1ms to\n * get it to run on both platforms.\n */\n if (!supportsWebAnimations && animationDuration === 0) {\n animationDuration = 1;\n }\n _duration = animationDuration;\n update(true);\n return ani;\n };\n const iterations = (animationIterations) => {\n _iterations = animationIterations;\n update(true);\n return ani;\n };\n const parent = (animation) => {\n parentAnimation = animation;\n return ani;\n };\n const addElement = (el) => {\n if (el != null) {\n if (el.nodeType === 1) {\n elements.push(el);\n }\n else if (el.length >= 0) {\n for (let i = 0; i < el.length; i++) {\n elements.push(el[i]);\n }\n }\n else {\n console.error('Invalid addElement value');\n }\n }\n return ani;\n };\n const addAnimation = (animationToAdd) => {\n if (animationToAdd != null) {\n if (Array.isArray(animationToAdd)) {\n for (const animation of animationToAdd) {\n animation.parent(ani);\n childAnimations.push(animation);\n }\n }\n else {\n animationToAdd.parent(ani);\n childAnimations.push(animationToAdd);\n }\n }\n return ani;\n };\n const keyframes = (keyframeValues) => {\n const different = _keyframes !== keyframeValues;\n _keyframes = keyframeValues;\n if (different) {\n updateKeyframes(_keyframes);\n }\n return ani;\n };\n const updateKeyframes = (keyframeValues) => {\n if (supportsWebAnimations) {\n getWebAnimations().forEach((animation) => {\n if (animation.effect.setKeyframes) {\n animation.effect.setKeyframes(keyframeValues);\n }\n else {\n const newEffect = new KeyframeEffect(animation.effect.target, keyframeValues, animation.effect.getTiming());\n animation.effect = newEffect;\n }\n });\n }\n else {\n initializeCSSAnimation();\n }\n };\n /**\n * Run all \"before\" animation hooks.\n */\n const beforeAnimation = () => {\n // Runs all before read callbacks\n _beforeAddReadFunctions.forEach((callback) => callback());\n // Runs all before write callbacks\n _beforeAddWriteFunctions.forEach((callback) => callback());\n // Updates styles and classes before animation runs\n const addClasses = beforeAddClasses;\n const removeClasses = beforeRemoveClasses;\n const styles = beforeStylesValue;\n elements.forEach((el) => {\n const elementClassList = el.classList;\n addClasses.forEach((c) => elementClassList.add(c));\n removeClasses.forEach((c) => elementClassList.remove(c));\n for (const property in styles) {\n // eslint-disable-next-line no-prototype-builtins\n if (styles.hasOwnProperty(property)) {\n setStyleProperty(el, property, styles[property]);\n }\n }\n });\n };\n /**\n * Run all \"after\" animation hooks.\n */\n const afterAnimation = () => {\n clearCSSAnimationsTimeout();\n // Runs all after read callbacks\n _afterAddReadFunctions.forEach((callback) => callback());\n // Runs all after write callbacks\n _afterAddWriteFunctions.forEach((callback) => callback());\n // Updates styles and classes before animation ends\n const currentStep = willComplete ? 1 : 0;\n const addClasses = afterAddClasses;\n const removeClasses = afterRemoveClasses;\n const styles = afterStylesValue;\n elements.forEach((el) => {\n const elementClassList = el.classList;\n addClasses.forEach((c) => elementClassList.add(c));\n removeClasses.forEach((c) => elementClassList.remove(c));\n for (const property in styles) {\n // eslint-disable-next-line no-prototype-builtins\n if (styles.hasOwnProperty(property)) {\n setStyleProperty(el, property, styles[property]);\n }\n }\n });\n onFinishCallbacks.forEach((onFinishCallback) => {\n return onFinishCallback.c(currentStep, ani);\n });\n onFinishOneTimeCallbacks.forEach((onFinishCallback) => {\n return onFinishCallback.c(currentStep, ani);\n });\n onFinishOneTimeCallbacks.length = 0;\n shouldCalculateNumAnimations = true;\n if (willComplete) {\n finished = true;\n }\n willComplete = true;\n };\n const animationFinish = () => {\n if (numAnimationsRunning === 0) {\n return;\n }\n numAnimationsRunning--;\n if (numAnimationsRunning === 0) {\n afterAnimation();\n if (parentAnimation) {\n parentAnimation.animationFinish();\n }\n }\n };\n const initializeCSSAnimation = (toggleAnimationName = true) => {\n cleanUpStyleSheets();\n const processedKeyframes = processKeyframes(_keyframes);\n elements.forEach((element) => {\n if (processedKeyframes.length > 0) {\n const keyframeRules = generateKeyframeRules(processedKeyframes);\n keyframeName = animationId !== undefined ? animationId : generateKeyframeName(keyframeRules);\n const stylesheet = createKeyframeStylesheet(keyframeName, keyframeRules, element);\n stylesheets.push(stylesheet);\n setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);\n setStyleProperty(element, 'animation-timing-function', getEasing());\n setStyleProperty(element, 'animation-delay', `${getDelay()}ms`);\n setStyleProperty(element, 'animation-fill-mode', getFill());\n setStyleProperty(element, 'animation-direction', getDirection());\n const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();\n setStyleProperty(element, 'animation-iteration-count', iterationsCount);\n setStyleProperty(element, 'animation-play-state', 'paused');\n if (toggleAnimationName) {\n setStyleProperty(element, 'animation-name', `${stylesheet.id}-alt`);\n }\n raf(() => {\n setStyleProperty(element, 'animation-name', stylesheet.id || null);\n });\n }\n });\n };\n const initializeWebAnimation = () => {\n elements.forEach((element) => {\n const animation = element.animate(_keyframes, {\n id,\n delay: getDelay(),\n duration: getDuration(),\n easing: getEasing(),\n iterations: getIterations(),\n fill: getFill(),\n direction: getDirection(),\n });\n animation.pause();\n webAnimations.push(animation);\n });\n if (webAnimations.length > 0) {\n webAnimations[0].onfinish = () => {\n animationFinish();\n };\n }\n };\n const initializeAnimation = (toggleAnimationName = true) => {\n beforeAnimation();\n if (_keyframes.length > 0) {\n if (supportsWebAnimations) {\n initializeWebAnimation();\n }\n else {\n initializeCSSAnimation(toggleAnimationName);\n }\n }\n initialized = true;\n };\n const setAnimationStep = (step) => {\n step = Math.min(Math.max(step, 0), 0.9999);\n if (supportsWebAnimations) {\n webAnimations.forEach((animation) => {\n animation.currentTime = animation.effect.getComputedTiming().delay + getDuration() * step;\n animation.pause();\n });\n }\n else {\n const animationDuration = `-${getDuration() * step}ms`;\n elements.forEach((element) => {\n if (_keyframes.length > 0) {\n setStyleProperty(element, 'animation-delay', animationDuration);\n setStyleProperty(element, 'animation-play-state', 'paused');\n }\n });\n }\n };\n const updateWebAnimation = (step) => {\n webAnimations.forEach((animation) => {\n animation.effect.updateTiming({\n delay: getDelay(),\n duration: getDuration(),\n easing: getEasing(),\n iterations: getIterations(),\n fill: getFill(),\n direction: getDirection(),\n });\n });\n if (step !== undefined) {\n setAnimationStep(step);\n }\n };\n const updateCSSAnimation = (toggleAnimationName = true, step) => {\n raf(() => {\n elements.forEach((element) => {\n setStyleProperty(element, 'animation-name', keyframeName || null);\n setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);\n setStyleProperty(element, 'animation-timing-function', getEasing());\n setStyleProperty(element, 'animation-delay', step !== undefined ? `-${step * getDuration()}ms` : `${getDelay()}ms`);\n setStyleProperty(element, 'animation-fill-mode', getFill() || null);\n setStyleProperty(element, 'animation-direction', getDirection() || null);\n const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();\n setStyleProperty(element, 'animation-iteration-count', iterationsCount);\n if (toggleAnimationName) {\n setStyleProperty(element, 'animation-name', `${keyframeName}-alt`);\n }\n raf(() => {\n setStyleProperty(element, 'animation-name', keyframeName || null);\n });\n });\n });\n };\n const update = (deep = false, toggleAnimationName = true, step) => {\n if (deep) {\n childAnimations.forEach((animation) => {\n animation.update(deep, toggleAnimationName, step);\n });\n }\n if (supportsWebAnimations) {\n updateWebAnimation(step);\n }\n else {\n updateCSSAnimation(toggleAnimationName, step);\n }\n return ani;\n };\n const progressStart = (forceLinearEasing = false, step) => {\n childAnimations.forEach((animation) => {\n animation.progressStart(forceLinearEasing, step);\n });\n pauseAnimation();\n shouldForceLinearEasing = forceLinearEasing;\n if (!initialized) {\n initializeAnimation();\n }\n update(false, true, step);\n return ani;\n };\n const progressStep = (step) => {\n childAnimations.forEach((animation) => {\n animation.progressStep(step);\n });\n setAnimationStep(step);\n return ani;\n };\n const progressEnd = (playTo, step, dur) => {\n shouldForceLinearEasing = false;\n childAnimations.forEach((animation) => {\n animation.progressEnd(playTo, step, dur);\n });\n if (dur !== undefined) {\n forceDurationValue = dur;\n }\n finished = false;\n willComplete = true;\n if (playTo === 0) {\n forceDirectionValue = getDirection() === 'reverse' ? 'normal' : 'reverse';\n if (forceDirectionValue === 'reverse') {\n willComplete = false;\n }\n if (supportsWebAnimations) {\n update();\n setAnimationStep(1 - step);\n }\n else {\n forceDelayValue = (1 - step) * getDuration() * -1;\n update(false, false);\n }\n }\n else if (playTo === 1) {\n if (supportsWebAnimations) {\n update();\n setAnimationStep(step);\n }\n else {\n forceDelayValue = step * getDuration() * -1;\n update(false, false);\n }\n }\n if (playTo !== undefined) {\n onFinish(() => {\n forceDurationValue = undefined;\n forceDirectionValue = undefined;\n forceDelayValue = undefined;\n }, {\n oneTimeCallback: true,\n });\n if (!parentAnimation) {\n play();\n }\n }\n return ani;\n };\n const pauseAnimation = () => {\n if (initialized) {\n if (supportsWebAnimations) {\n webAnimations.forEach((animation) => {\n animation.pause();\n });\n }\n else {\n elements.forEach((element) => {\n setStyleProperty(element, 'animation-play-state', 'paused');\n });\n }\n paused = true;\n }\n };\n const pause = () => {\n childAnimations.forEach((animation) => {\n animation.pause();\n });\n pauseAnimation();\n return ani;\n };\n const onAnimationEndFallback = () => {\n cssAnimationsTimerFallback = undefined;\n animationFinish();\n };\n const clearCSSAnimationsTimeout = () => {\n if (cssAnimationsTimerFallback) {\n clearTimeout(cssAnimationsTimerFallback);\n }\n };\n const playCSSAnimations = () => {\n clearCSSAnimationsTimeout();\n raf(() => {\n elements.forEach((element) => {\n if (_keyframes.length > 0) {\n setStyleProperty(element, 'animation-play-state', 'running');\n }\n });\n });\n if (_keyframes.length === 0 || elements.length === 0) {\n animationFinish();\n }\n else {\n /**\n * This is a catchall in the event that a CSS Animation did not finish.\n * The Web Animations API has mechanisms in place for preventing this.\n * CSS Animations will not fire an `animationend` event\n * for elements with `display: none`. The Web Animations API\n * accounts for this, but using raw CSS Animations requires\n * this workaround.\n */\n const animationDelay = getDelay() || 0;\n const animationDuration = getDuration() || 0;\n const animationIterations = getIterations() || 1;\n // No need to set a timeout when animation has infinite iterations\n if (isFinite(animationIterations)) {\n cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + animationDuration * animationIterations + ANIMATION_END_FALLBACK_PADDING_MS);\n }\n animationEnd(elements[0], () => {\n clearCSSAnimationsTimeout();\n /**\n * Ensure that clean up\n * is always done a frame\n * before the onFinish handlers\n * are fired. Otherwise, there\n * may be flickering if a new\n * animation is started on the same\n * element too quickly\n *\n * TODO: Is there a cleaner way to do this?\n */\n raf(() => {\n clearCSSAnimationPlayState();\n raf(animationFinish);\n });\n });\n }\n };\n const clearCSSAnimationPlayState = () => {\n elements.forEach((element) => {\n removeStyleProperty(element, 'animation-duration');\n removeStyleProperty(element, 'animation-delay');\n removeStyleProperty(element, 'animation-play-state');\n });\n };\n const playWebAnimations = () => {\n webAnimations.forEach((animation) => {\n animation.play();\n });\n if (_keyframes.length === 0 || elements.length === 0) {\n animationFinish();\n }\n };\n const resetAnimation = () => {\n if (supportsWebAnimations) {\n setAnimationStep(0);\n updateWebAnimation();\n }\n else {\n updateCSSAnimation();\n }\n };\n const play = (opts) => {\n return new Promise((resolve) => {\n if (opts === null || opts === void 0 ? void 0 : opts.sync) {\n shouldForceSyncPlayback = true;\n onFinish(() => (shouldForceSyncPlayback = false), { oneTimeCallback: true });\n }\n if (!initialized) {\n initializeAnimation();\n }\n if (finished) {\n resetAnimation();\n finished = false;\n }\n if (shouldCalculateNumAnimations) {\n numAnimationsRunning = childAnimations.length + 1;\n shouldCalculateNumAnimations = false;\n }\n onFinish(() => resolve(), { oneTimeCallback: true });\n childAnimations.forEach((animation) => {\n animation.play();\n });\n if (supportsWebAnimations) {\n playWebAnimations();\n }\n else {\n playCSSAnimations();\n }\n paused = false;\n });\n };\n const stop = () => {\n childAnimations.forEach((animation) => {\n animation.stop();\n });\n if (initialized) {\n cleanUpElements();\n initialized = false;\n }\n resetFlags();\n };\n const from = (property, value) => {\n const firstFrame = _keyframes[0];\n if (firstFrame !== undefined && (firstFrame.offset === undefined || firstFrame.offset === 0)) {\n firstFrame[property] = value;\n }\n else {\n _keyframes = [{ offset: 0, [property]: value }, ..._keyframes];\n }\n return ani;\n };\n const to = (property, value) => {\n const lastFrame = _keyframes[_keyframes.length - 1];\n if (lastFrame !== undefined && (lastFrame.offset === undefined || lastFrame.offset === 1)) {\n lastFrame[property] = value;\n }\n else {\n _keyframes = [..._keyframes, { offset: 1, [property]: value }];\n }\n return ani;\n };\n const fromTo = (property, fromValue, toValue) => {\n return from(property, fromValue).to(property, toValue);\n };\n return (ani = {\n parentAnimation,\n elements,\n childAnimations,\n id,\n animationFinish,\n from,\n to,\n fromTo,\n parent,\n play,\n pause,\n stop,\n destroy,\n keyframes,\n addAnimation,\n addElement,\n update,\n fill,\n direction,\n iterations,\n duration,\n easing,\n delay,\n getWebAnimations,\n getKeyframes,\n getFill,\n getDirection,\n getDelay,\n getIterations,\n getEasing,\n getDuration,\n afterAddRead,\n afterAddWrite,\n afterClearStyles,\n afterStyles,\n afterRemoveClass,\n afterAddClass,\n beforeAddRead,\n beforeAddWrite,\n beforeClearStyles,\n beforeStyles,\n beforeRemoveClass,\n beforeAddClass,\n onFinish,\n isRunning,\n progressStart,\n progressStep,\n progressEnd,\n });\n};\n\nexport { createAnimation as c };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/**\n * Returns `true` if the document or host element\n * has a `dir` set to `rtl`. The host value will always\n * take priority over the root document value.\n */\nconst isRTL = (hostEl) => {\n if (hostEl) {\n if (hostEl.dir !== '') {\n return hostEl.dir.toLowerCase() === 'rtl';\n }\n }\n return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';\n};\n\nexport { isRTL as i };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nclass GestureController {\n constructor() {\n this.gestureId = 0;\n this.requestedStart = new Map();\n this.disabledGestures = new Map();\n this.disabledScroll = new Set();\n }\n /**\n * Creates a gesture delegate based on the GestureConfig passed\n */\n createGesture(config) {\n return new GestureDelegate(this, this.newID(), config.name, config.priority || 0, !!config.disableScroll);\n }\n /**\n * Creates a blocker that will block any other gesture events from firing. Set in the ion-gesture component.\n */\n createBlocker(opts = {}) {\n return new BlockerDelegate(this, this.newID(), opts.disable, !!opts.disableScroll);\n }\n start(gestureName, id, priority) {\n if (!this.canStart(gestureName)) {\n this.requestedStart.delete(id);\n return false;\n }\n this.requestedStart.set(id, priority);\n return true;\n }\n capture(gestureName, id, priority) {\n if (!this.start(gestureName, id, priority)) {\n return false;\n }\n const requestedStart = this.requestedStart;\n let maxPriority = -10000;\n requestedStart.forEach((value) => {\n maxPriority = Math.max(maxPriority, value);\n });\n if (maxPriority === priority) {\n this.capturedId = id;\n requestedStart.clear();\n const event = new CustomEvent('ionGestureCaptured', { detail: { gestureName } });\n document.dispatchEvent(event);\n return true;\n }\n requestedStart.delete(id);\n return false;\n }\n release(id) {\n this.requestedStart.delete(id);\n if (this.capturedId === id) {\n this.capturedId = undefined;\n }\n }\n disableGesture(gestureName, id) {\n let set = this.disabledGestures.get(gestureName);\n if (set === undefined) {\n set = new Set();\n this.disabledGestures.set(gestureName, set);\n }\n set.add(id);\n }\n enableGesture(gestureName, id) {\n const set = this.disabledGestures.get(gestureName);\n if (set !== undefined) {\n set.delete(id);\n }\n }\n disableScroll(id) {\n this.disabledScroll.add(id);\n if (this.disabledScroll.size === 1) {\n document.body.classList.add(BACKDROP_NO_SCROLL);\n }\n }\n enableScroll(id) {\n this.disabledScroll.delete(id);\n if (this.disabledScroll.size === 0) {\n document.body.classList.remove(BACKDROP_NO_SCROLL);\n }\n }\n canStart(gestureName) {\n if (this.capturedId !== undefined) {\n // a gesture already captured\n return false;\n }\n if (this.isDisabled(gestureName)) {\n return false;\n }\n return true;\n }\n isCaptured() {\n return this.capturedId !== undefined;\n }\n isScrollDisabled() {\n return this.disabledScroll.size > 0;\n }\n isDisabled(gestureName) {\n const disabled = this.disabledGestures.get(gestureName);\n if (disabled && disabled.size > 0) {\n return true;\n }\n return false;\n }\n newID() {\n this.gestureId++;\n return this.gestureId;\n }\n}\nclass GestureDelegate {\n constructor(ctrl, id, name, priority, disableScroll) {\n this.id = id;\n this.name = name;\n this.disableScroll = disableScroll;\n this.priority = priority * 1000000 + id;\n this.ctrl = ctrl;\n }\n canStart() {\n if (!this.ctrl) {\n return false;\n }\n return this.ctrl.canStart(this.name);\n }\n start() {\n if (!this.ctrl) {\n return false;\n }\n return this.ctrl.start(this.name, this.id, this.priority);\n }\n capture() {\n if (!this.ctrl) {\n return false;\n }\n const captured = this.ctrl.capture(this.name, this.id, this.priority);\n if (captured && this.disableScroll) {\n this.ctrl.disableScroll(this.id);\n }\n return captured;\n }\n release() {\n if (this.ctrl) {\n this.ctrl.release(this.id);\n if (this.disableScroll) {\n this.ctrl.enableScroll(this.id);\n }\n }\n }\n destroy() {\n this.release();\n this.ctrl = undefined;\n }\n}\nclass BlockerDelegate {\n constructor(ctrl, id, disable, disableScroll) {\n this.id = id;\n this.disable = disable;\n this.disableScroll = disableScroll;\n this.ctrl = ctrl;\n }\n block() {\n if (!this.ctrl) {\n return;\n }\n if (this.disable) {\n for (const gesture of this.disable) {\n this.ctrl.disableGesture(gesture, this.id);\n }\n }\n if (this.disableScroll) {\n this.ctrl.disableScroll(this.id);\n }\n }\n unblock() {\n if (!this.ctrl) {\n return;\n }\n if (this.disable) {\n for (const gesture of this.disable) {\n this.ctrl.enableGesture(gesture, this.id);\n }\n }\n if (this.disableScroll) {\n this.ctrl.enableScroll(this.id);\n }\n }\n destroy() {\n this.unblock();\n this.ctrl = undefined;\n }\n}\nconst BACKDROP_NO_SCROLL = 'backdrop-no-scroll';\nconst GESTURE_CONTROLLER = new GestureController();\n\nexport { GESTURE_CONTROLLER as G };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/**\n * When hardwareBackButton: false in config,\n * we need to make sure we also block the default\n * webview behavior. If we don't then it will be\n * possible for users to navigate backward while\n * an overlay is still open. Additionally, it will\n * give the appearance that the hardwareBackButton\n * config is not working as the page transition\n * will still happen.\n */\nconst blockHardwareBackButton = () => {\n document.addEventListener('backbutton', () => { }); // eslint-disable-line\n};\nconst startHardwareBackButton = () => {\n const doc = document;\n let busy = false;\n doc.addEventListener('backbutton', () => {\n if (busy) {\n return;\n }\n let index = 0;\n let handlers = [];\n const ev = new CustomEvent('ionBackButton', {\n bubbles: false,\n detail: {\n register(priority, handler) {\n handlers.push({ priority, handler, id: index++ });\n },\n },\n });\n doc.dispatchEvent(ev);\n const executeAction = async (handlerRegister) => {\n try {\n if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {\n const result = handlerRegister.handler(processHandlers);\n if (result != null) {\n await result;\n }\n }\n }\n catch (e) {\n console.error(e);\n }\n };\n const processHandlers = () => {\n if (handlers.length > 0) {\n let selectedHandler = {\n priority: Number.MIN_SAFE_INTEGER,\n handler: () => undefined,\n id: -1,\n };\n handlers.forEach((handler) => {\n if (handler.priority >= selectedHandler.priority) {\n selectedHandler = handler;\n }\n });\n busy = true;\n handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);\n executeAction(selectedHandler).then(() => (busy = false));\n }\n };\n processHandlers();\n });\n};\nconst OVERLAY_BACK_BUTTON_PRIORITY = 100;\nconst MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays\n\nexport { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, startHardwareBackButton };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst transitionEndAsync = (el, expectedDuration = 0) => {\n return new Promise((resolve) => {\n transitionEnd(el, expectedDuration, resolve);\n });\n};\n/**\n * Allows developer to wait for a transition\n * to finish and fallback to a timer if the\n * transition is cancelled or otherwise\n * never finishes. Also see transitionEndAsync\n * which is an await-able version of this.\n */\nconst transitionEnd = (el, expectedDuration = 0, callback) => {\n let unRegTrans;\n let animationTimeout;\n const opts = { passive: true };\n const ANIMATION_FALLBACK_TIMEOUT = 500;\n const unregister = () => {\n if (unRegTrans) {\n unRegTrans();\n }\n };\n const onTransitionEnd = (ev) => {\n if (ev === undefined || el === ev.target) {\n unregister();\n callback(ev);\n }\n };\n if (el) {\n el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.addEventListener('transitionend', onTransitionEnd, opts);\n animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);\n unRegTrans = () => {\n if (animationTimeout) {\n clearTimeout(animationTimeout);\n animationTimeout = undefined;\n }\n el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);\n el.removeEventListener('transitionend', onTransitionEnd, opts);\n };\n }\n return unregister;\n};\n/**\n * Waits for a component to be ready for\n * both custom element and non-custom element builds.\n * If non-custom element build, el.componentOnReady\n * will be used.\n * For custom element builds, we wait a frame\n * so that the inner contents of the component\n * have a chance to render.\n *\n * Use this utility rather than calling\n * el.componentOnReady yourself.\n */\nconst componentOnReady = (el, callback) => {\n if (el.componentOnReady) {\n el.componentOnReady().then((resolvedEl) => callback(resolvedEl));\n }\n else {\n raf(() => callback(el));\n }\n};\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nconst inheritAttributes = (el, attributes = []) => {\n const attributeObject = {};\n attributes.forEach((attr) => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n return attributeObject;\n};\n/**\n * List of available ARIA attributes + `role`.\n * Removed deprecated attributes.\n * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes\n */\nconst ariaAttributes = [\n 'role',\n 'aria-activedescendant',\n 'aria-atomic',\n 'aria-autocomplete',\n 'aria-braillelabel',\n 'aria-brailleroledescription',\n 'aria-busy',\n 'aria-checked',\n 'aria-colcount',\n 'aria-colindex',\n 'aria-colindextext',\n 'aria-colspan',\n 'aria-controls',\n 'aria-current',\n 'aria-describedby',\n 'aria-description',\n 'aria-details',\n 'aria-disabled',\n 'aria-errormessage',\n 'aria-expanded',\n 'aria-flowto',\n 'aria-haspopup',\n 'aria-hidden',\n 'aria-invalid',\n 'aria-keyshortcuts',\n 'aria-label',\n 'aria-labelledby',\n 'aria-level',\n 'aria-live',\n 'aria-multiline',\n 'aria-multiselectable',\n 'aria-orientation',\n 'aria-owns',\n 'aria-placeholder',\n 'aria-posinset',\n 'aria-pressed',\n 'aria-readonly',\n 'aria-relevant',\n 'aria-required',\n 'aria-roledescription',\n 'aria-rowcount',\n 'aria-rowindex',\n 'aria-rowindextext',\n 'aria-rowspan',\n 'aria-selected',\n 'aria-setsize',\n 'aria-sort',\n 'aria-valuemax',\n 'aria-valuemin',\n 'aria-valuenow',\n 'aria-valuetext',\n];\n/**\n * Returns an array of aria attributes that should be copied from\n * the shadow host element to a target within the light DOM.\n * @param el The element that the attributes should be copied from.\n */\nconst inheritAriaAttributes = (el) => {\n return inheritAttributes(el, ariaAttributes);\n};\nconst addEventListener = (el, eventName, callback, opts) => {\n var _a;\n if (typeof window !== 'undefined') {\n const win = window;\n const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;\n if (config) {\n const ael = config.get('_ael');\n if (ael) {\n return ael(el, eventName, callback, opts);\n }\n else if (config._ael) {\n return config._ael(el, eventName, callback, opts);\n }\n }\n }\n return el.addEventListener(eventName, callback, opts);\n};\nconst removeEventListener = (el, eventName, callback, opts) => {\n var _a;\n if (typeof window !== 'undefined') {\n const win = window;\n const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;\n if (config) {\n const rel = config.get('_rel');\n if (rel) {\n return rel(el, eventName, callback, opts);\n }\n else if (config._rel) {\n return config._rel(el, eventName, callback, opts);\n }\n }\n }\n return el.removeEventListener(eventName, callback, opts);\n};\n/**\n * Gets the root context of a shadow dom element\n * On newer browsers this will be the shadowRoot,\n * but for older browser this may just be the\n * element itself.\n *\n * Useful for whenever you need to explicitly\n * do \"myElement.shadowRoot!.querySelector(...)\".\n */\nconst getElementRoot = (el, fallback = el) => {\n return el.shadowRoot || fallback;\n};\n/**\n * Patched version of requestAnimationFrame that avoids ngzone\n * Use only when you know ngzone should not run\n */\nconst raf = (h) => {\n if (typeof __zone_symbol__requestAnimationFrame === 'function') {\n return __zone_symbol__requestAnimationFrame(h);\n }\n if (typeof requestAnimationFrame === 'function') {\n return requestAnimationFrame(h);\n }\n return setTimeout(h);\n};\nconst hasShadowDom = (el) => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\nconst findItemLabel = (componentEl) => {\n const itemEl = componentEl.closest('ion-item');\n if (itemEl) {\n return itemEl.querySelector('ion-label');\n }\n return null;\n};\nconst focusElement = (el) => {\n el.focus();\n /**\n * When programmatically focusing an element,\n * the focus-visible utility will not run because\n * it is expecting a keyboard event to have triggered this;\n * however, there are times when we need to manually control\n * this behavior so we call the `setFocus` method on ion-app\n * which will let us explicitly set the elements to focus.\n */\n if (el.classList.contains('ion-focusable')) {\n const app = el.closest('ion-app');\n if (app) {\n app.setFocus([el]);\n }\n }\n};\n/**\n * This method is used for Ionic's input components that use Shadow DOM. In\n * order to properly label the inputs to work with screen readers, we need\n * to get the text content of the label outside of the shadow root and pass\n * it to the input inside of the shadow root.\n *\n * Referencing label elements by id from outside of the component is\n * impossible due to the shadow boundary, read more here:\n * https://developer.salesforce.com/blogs/2020/01/accessibility-for-web-components.html\n *\n * @param componentEl The shadow element that needs the aria label\n * @param inputId The unique identifier for the input\n */\nconst getAriaLabel = (componentEl, inputId) => {\n let labelText;\n // If the user provides their own label via the aria-labelledby attr\n // we should use that instead of looking for an ion-label\n const labelledBy = componentEl.getAttribute('aria-labelledby');\n // Grab the id off of the component in case they are using\n // a custom label using the label element\n const componentId = componentEl.id;\n let labelId = labelledBy !== null && labelledBy.trim() !== '' ? labelledBy : inputId + '-lbl';\n let label = labelledBy !== null && labelledBy.trim() !== '' ? document.getElementById(labelledBy) : findItemLabel(componentEl);\n if (label) {\n if (labelledBy === null) {\n label.id = labelId;\n }\n labelText = label.textContent;\n label.setAttribute('aria-hidden', 'true');\n // if there is no label, check to see if the user has provided\n // one by setting an id on the component and using the label element\n }\n else if (componentId.trim() !== '') {\n label = document.querySelector(`label[for=\"${componentId}\"]`);\n if (label) {\n if (label.id !== '') {\n labelId = label.id;\n }\n else {\n label.id = labelId = `${componentId}-lbl`;\n }\n labelText = label.textContent;\n }\n }\n return { label, labelId, labelText };\n};\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nconst renderHiddenInput = (always, container, name, value, disabled) => {\n if (always || hasShadowDom(container)) {\n let input = container.querySelector('input.aux-input');\n if (!input) {\n input = container.ownerDocument.createElement('input');\n input.type = 'hidden';\n input.classList.add('aux-input');\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || '';\n }\n};\nconst clamp = (min, n, max) => {\n return Math.max(min, Math.min(n, max));\n};\nconst assert = (actual, reason) => {\n if (!actual) {\n const message = 'ASSERT: ' + reason;\n console.error(message);\n debugger; // eslint-disable-line\n throw new Error(message);\n }\n};\nconst now = (ev) => {\n return ev.timeStamp || Date.now();\n};\nconst pointerCoord = (ev) => {\n // get X coordinates for either a mouse click\n // or a touch depending on the given event\n if (ev) {\n const changedTouches = ev.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n return { x: touch.clientX, y: touch.clientY };\n }\n if (ev.pageX !== undefined) {\n return { x: ev.pageX, y: ev.pageY };\n }\n }\n return { x: 0, y: 0 };\n};\n/**\n * @hidden\n * Given a side, return if it should be on the end\n * based on the value of dir\n * @param side the side\n * @param isRTL whether the application dir is rtl\n */\nconst isEndSide = (side) => {\n const isRTL = document.dir === 'rtl';\n switch (side) {\n case 'start':\n return isRTL;\n case 'end':\n return !isRTL;\n default:\n throw new Error(`\"${side}\" is not a valid value for [side]. Use \"start\" or \"end\" instead.`);\n }\n};\nconst debounceEvent = (event, wait) => {\n const original = event._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n };\n};\nconst debounce = (func, wait = 0) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n/**\n * Check whether the two string maps are shallow equal.\n *\n * undefined is treated as an empty map.\n *\n * @returns whether the keys are the same and the values are shallow equal.\n */\nconst shallowEqualStringMap = (map1, map2) => {\n map1 !== null && map1 !== void 0 ? map1 : (map1 = {});\n map2 !== null && map2 !== void 0 ? map2 : (map2 = {});\n if (map1 === map2) {\n return true;\n }\n const keys1 = Object.keys(map1);\n if (keys1.length !== Object.keys(map2).length) {\n return false;\n }\n for (const k1 of keys1) {\n if (!(k1 in map2)) {\n return false;\n }\n if (map1[k1] !== map2[k1]) {\n return false;\n }\n }\n return true;\n};\n\nexport { addEventListener as a, removeEventListener as b, componentOnReady as c, getAriaLabel as d, renderHiddenInput as e, focusElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, clamp as j, inheritAttributes as k, debounceEvent as l, findItemLabel as m, isEndSide as n, assert as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, now as u };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { G as GESTURE_CONTROLLER } from './gesture-controller.js';\nexport { G as GESTURE_CONTROLLER } from './gesture-controller.js';\n\nconst addEventListener = (el, eventName, callback, opts) => {\n // use event listener options when supported\n // otherwise it's just a boolean for the \"capture\" arg\n const listenerOpts = supportsPassive(el)\n ? {\n capture: !!opts.capture,\n passive: !!opts.passive,\n }\n : !!opts.capture;\n let add;\n let remove;\n if (el['__zone_symbol__addEventListener']) {\n add = '__zone_symbol__addEventListener';\n remove = '__zone_symbol__removeEventListener';\n }\n else {\n add = 'addEventListener';\n remove = 'removeEventListener';\n }\n el[add](eventName, callback, listenerOpts);\n return () => {\n el[remove](eventName, callback, listenerOpts);\n };\n};\nconst supportsPassive = (node) => {\n if (_sPassive === undefined) {\n try {\n const opts = Object.defineProperty({}, 'passive', {\n get: () => {\n _sPassive = true;\n },\n });\n node.addEventListener('optsTest', () => {\n return;\n }, opts);\n }\n catch (e) {\n _sPassive = false;\n }\n }\n return !!_sPassive;\n};\nlet _sPassive;\n\nconst MOUSE_WAIT = 2000;\nconst createPointerEvents = (el, pointerDown, pointerMove, pointerUp, options) => {\n let rmTouchStart;\n let rmTouchMove;\n let rmTouchEnd;\n let rmTouchCancel;\n let rmMouseStart;\n let rmMouseMove;\n let rmMouseUp;\n let lastTouchEvent = 0;\n const handleTouchStart = (ev) => {\n lastTouchEvent = Date.now() + MOUSE_WAIT;\n if (!pointerDown(ev)) {\n return;\n }\n if (!rmTouchMove && pointerMove) {\n rmTouchMove = addEventListener(el, 'touchmove', pointerMove, options);\n }\n /**\n * Events are dispatched on the element that is tapped and bubble up to\n * the reference element in the gesture. In the event that the element this\n * event was first dispatched on is removed from the DOM, the event will no\n * longer bubble up to our reference element. This leaves the gesture in an\n * unusable state. To account for this, the touchend and touchcancel listeners\n * should be added to the event target so that they still fire even if the target\n * is removed from the DOM.\n */\n if (!rmTouchEnd) {\n rmTouchEnd = addEventListener(ev.target, 'touchend', handleTouchEnd, options);\n }\n if (!rmTouchCancel) {\n rmTouchCancel = addEventListener(ev.target, 'touchcancel', handleTouchEnd, options);\n }\n };\n const handleMouseDown = (ev) => {\n if (lastTouchEvent > Date.now()) {\n return;\n }\n if (!pointerDown(ev)) {\n return;\n }\n if (!rmMouseMove && pointerMove) {\n rmMouseMove = addEventListener(getDocument(el), 'mousemove', pointerMove, options);\n }\n if (!rmMouseUp) {\n rmMouseUp = addEventListener(getDocument(el), 'mouseup', handleMouseUp, options);\n }\n };\n const handleTouchEnd = (ev) => {\n stopTouch();\n if (pointerUp) {\n pointerUp(ev);\n }\n };\n const handleMouseUp = (ev) => {\n stopMouse();\n if (pointerUp) {\n pointerUp(ev);\n }\n };\n const stopTouch = () => {\n if (rmTouchMove) {\n rmTouchMove();\n }\n if (rmTouchEnd) {\n rmTouchEnd();\n }\n if (rmTouchCancel) {\n rmTouchCancel();\n }\n rmTouchMove = rmTouchEnd = rmTouchCancel = undefined;\n };\n const stopMouse = () => {\n if (rmMouseMove) {\n rmMouseMove();\n }\n if (rmMouseUp) {\n rmMouseUp();\n }\n rmMouseMove = rmMouseUp = undefined;\n };\n const stop = () => {\n stopTouch();\n stopMouse();\n };\n const enable = (isEnabled = true) => {\n if (!isEnabled) {\n if (rmTouchStart) {\n rmTouchStart();\n }\n if (rmMouseStart) {\n rmMouseStart();\n }\n rmTouchStart = rmMouseStart = undefined;\n stop();\n }\n else {\n if (!rmTouchStart) {\n rmTouchStart = addEventListener(el, 'touchstart', handleTouchStart, options);\n }\n if (!rmMouseStart) {\n rmMouseStart = addEventListener(el, 'mousedown', handleMouseDown, options);\n }\n }\n };\n const destroy = () => {\n enable(false);\n pointerUp = pointerMove = pointerDown = undefined;\n };\n return {\n enable,\n stop,\n destroy,\n };\n};\nconst getDocument = (node) => {\n return node instanceof Document ? node : node.ownerDocument;\n};\n\nconst createPanRecognizer = (direction, thresh, maxAngle) => {\n const radians = maxAngle * (Math.PI / 180);\n const isDirX = direction === 'x';\n const maxCosine = Math.cos(radians);\n const threshold = thresh * thresh;\n let startX = 0;\n let startY = 0;\n let dirty = false;\n let isPan = 0;\n return {\n start(x, y) {\n startX = x;\n startY = y;\n isPan = 0;\n dirty = true;\n },\n detect(x, y) {\n if (!dirty) {\n return false;\n }\n const deltaX = x - startX;\n const deltaY = y - startY;\n const distance = deltaX * deltaX + deltaY * deltaY;\n if (distance < threshold) {\n return false;\n }\n const hypotenuse = Math.sqrt(distance);\n const cosine = (isDirX ? deltaX : deltaY) / hypotenuse;\n if (cosine > maxCosine) {\n isPan = 1;\n }\n else if (cosine < -maxCosine) {\n isPan = -1;\n }\n else {\n isPan = 0;\n }\n dirty = false;\n return true;\n },\n isGesture() {\n return isPan !== 0;\n },\n getDirection() {\n return isPan;\n },\n };\n};\n\nconst createGesture = (config) => {\n let hasCapturedPan = false;\n let hasStartedPan = false;\n let hasFiredStart = true;\n let isMoveQueued = false;\n const finalConfig = Object.assign({ disableScroll: false, direction: 'x', gesturePriority: 0, passive: true, maxAngle: 40, threshold: 10 }, config);\n const canStart = finalConfig.canStart;\n const onWillStart = finalConfig.onWillStart;\n const onStart = finalConfig.onStart;\n const onEnd = finalConfig.onEnd;\n const notCaptured = finalConfig.notCaptured;\n const onMove = finalConfig.onMove;\n const threshold = finalConfig.threshold;\n const passive = finalConfig.passive;\n const blurOnStart = finalConfig.blurOnStart;\n const detail = {\n type: 'pan',\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n event: undefined,\n data: undefined,\n };\n const pan = createPanRecognizer(finalConfig.direction, finalConfig.threshold, finalConfig.maxAngle);\n const gesture = GESTURE_CONTROLLER.createGesture({\n name: config.gestureName,\n priority: config.gesturePriority,\n disableScroll: config.disableScroll,\n });\n const pointerDown = (ev) => {\n const timeStamp = now(ev);\n if (hasStartedPan || !hasFiredStart) {\n return false;\n }\n updateDetail(ev, detail);\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime = timeStamp;\n detail.velocityX = detail.velocityY = detail.deltaX = detail.deltaY = 0;\n detail.event = ev;\n // Check if gesture can start\n if (canStart && canStart(detail) === false) {\n return false;\n }\n // Release fallback\n gesture.release();\n // Start gesture\n if (!gesture.start()) {\n return false;\n }\n hasStartedPan = true;\n if (threshold === 0) {\n return tryToCapturePan();\n }\n pan.start(detail.startX, detail.startY);\n return true;\n };\n const pointerMove = (ev) => {\n // fast path, if gesture is currently captured\n // do minimum job to get user-land even dispatched\n if (hasCapturedPan) {\n if (!isMoveQueued && hasFiredStart) {\n isMoveQueued = true;\n calcGestureData(detail, ev);\n requestAnimationFrame(fireOnMove);\n }\n return;\n }\n // gesture is currently being detected\n calcGestureData(detail, ev);\n if (pan.detect(detail.currentX, detail.currentY)) {\n if (!pan.isGesture() || !tryToCapturePan()) {\n abortGesture();\n }\n }\n };\n const fireOnMove = () => {\n // Since fireOnMove is called inside a RAF, onEnd() might be called,\n // we must double check hasCapturedPan\n if (!hasCapturedPan) {\n return;\n }\n isMoveQueued = false;\n if (onMove) {\n onMove(detail);\n }\n };\n const tryToCapturePan = () => {\n if (gesture && !gesture.capture()) {\n return false;\n }\n hasCapturedPan = true;\n hasFiredStart = false;\n // reset start position since the real user-land event starts here\n // If the pan detector threshold is big, not resetting the start position\n // will cause a jump in the animation equal to the detector threshold.\n // the array of positions used to calculate the gesture velocity does not\n // need to be cleaned, more points in the positions array always results in a\n // more accurate value of the velocity.\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime;\n if (onWillStart) {\n onWillStart(detail).then(fireOnStart);\n }\n else {\n fireOnStart();\n }\n return true;\n };\n const blurActiveElement = () => {\n if (typeof document !== 'undefined') {\n const activeElement = document.activeElement;\n if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) {\n activeElement.blur();\n }\n }\n };\n const fireOnStart = () => {\n if (blurOnStart) {\n blurActiveElement();\n }\n if (onStart) {\n onStart(detail);\n }\n hasFiredStart = true;\n };\n const reset = () => {\n hasCapturedPan = false;\n hasStartedPan = false;\n isMoveQueued = false;\n hasFiredStart = true;\n gesture.release();\n };\n // END *************************\n const pointerUp = (ev) => {\n const tmpHasCaptured = hasCapturedPan;\n const tmpHasFiredStart = hasFiredStart;\n reset();\n if (!tmpHasFiredStart) {\n return;\n }\n calcGestureData(detail, ev);\n // Try to capture press\n if (tmpHasCaptured) {\n if (onEnd) {\n onEnd(detail);\n }\n return;\n }\n // Not captured any event\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n const pointerEvents = createPointerEvents(finalConfig.el, pointerDown, pointerMove, pointerUp, {\n capture: false,\n passive,\n });\n const abortGesture = () => {\n reset();\n pointerEvents.stop();\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n return {\n enable(enable = true) {\n if (!enable) {\n if (hasCapturedPan) {\n pointerUp(undefined);\n }\n reset();\n }\n pointerEvents.enable(enable);\n },\n destroy() {\n gesture.destroy();\n pointerEvents.destroy();\n },\n };\n};\nconst calcGestureData = (detail, ev) => {\n if (!ev) {\n return;\n }\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n updateDetail(ev, detail);\n const currentX = detail.currentX;\n const currentY = detail.currentY;\n const timestamp = (detail.currentTime = now(ev));\n const timeDelta = timestamp - prevT;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n detail.event = ev;\n};\nconst updateDetail = (ev, detail) => {\n // get X coordinates for either a mouse click\n // or a touch depending on the given event\n let x = 0;\n let y = 0;\n if (ev) {\n const changedTouches = ev.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n x = touch.clientX;\n y = touch.clientY;\n }\n else if (ev.pageX !== undefined) {\n x = ev.pageX;\n y = ev.pageY;\n }\n }\n detail.currentX = x;\n detail.currentY = y;\n};\nconst now = (ev) => {\n return ev.timeStamp || Date.now();\n};\n\nexport { createGesture };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { writeTask, Build } from '@stencil/core/internal/client';\nimport { c as componentOnReady, r as raf } from './helpers.js';\n\nconst LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';\nconst LIFECYCLE_DID_ENTER = 'ionViewDidEnter';\nconst LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';\nconst LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';\nconst LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';\n\nconst iosTransitionAnimation = () => import('./ios.transition.js');\nconst mdTransitionAnimation = () => import('./md.transition.js');\nconst transition = (opts) => {\n return new Promise((resolve, reject) => {\n writeTask(() => {\n beforeTransition(opts);\n runTransition(opts).then((result) => {\n if (result.animation) {\n result.animation.destroy();\n }\n afterTransition(opts);\n resolve(result);\n }, (error) => {\n afterTransition(opts);\n reject(error);\n });\n });\n });\n};\nconst beforeTransition = (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n setZIndex(enteringEl, leavingEl, opts.direction);\n if (opts.showGoBack) {\n enteringEl.classList.add('can-go-back');\n }\n else {\n enteringEl.classList.remove('can-go-back');\n }\n setPageHidden(enteringEl, false);\n /**\n * When transitioning, the page should not\n * respond to click events. This resolves small\n * issues like users double tapping the ion-back-button.\n * These pointer events are removed in `afterTransition`.\n */\n enteringEl.style.setProperty('pointer-events', 'none');\n if (leavingEl) {\n setPageHidden(leavingEl, false);\n leavingEl.style.setProperty('pointer-events', 'none');\n }\n};\nconst runTransition = async (opts) => {\n const animationBuilder = await getAnimationBuilder(opts);\n const ani = animationBuilder && Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation\n return ani;\n};\nconst afterTransition = (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n enteringEl.classList.remove('ion-page-invisible');\n enteringEl.style.removeProperty('pointer-events');\n if (leavingEl !== undefined) {\n leavingEl.classList.remove('ion-page-invisible');\n leavingEl.style.removeProperty('pointer-events');\n }\n};\nconst getAnimationBuilder = async (opts) => {\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\n return undefined;\n }\n if (opts.animationBuilder) {\n return opts.animationBuilder;\n }\n const getAnimation = opts.mode === 'ios'\n ? (await iosTransitionAnimation()).iosTransitionAnimation\n : (await mdTransitionAnimation()).mdTransitionAnimation;\n return getAnimation;\n};\nconst animation = async (animationBuilder, opts) => {\n await waitForReady(opts, true);\n const trans = animationBuilder(opts.baseEl, opts);\n fireWillEvents(opts.enteringEl, opts.leavingEl);\n const didComplete = await playTransition(trans, opts);\n if (opts.progressCallback) {\n opts.progressCallback(undefined);\n }\n if (didComplete) {\n fireDidEvents(opts.enteringEl, opts.leavingEl);\n }\n return {\n hasCompleted: didComplete,\n animation: trans,\n };\n};\nconst noAnimation = async (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n await waitForReady(opts, false);\n fireWillEvents(enteringEl, leavingEl);\n fireDidEvents(enteringEl, leavingEl);\n return {\n hasCompleted: true,\n };\n};\nconst waitForReady = async (opts, defaultDeep) => {\n const deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\n const promises = deep\n ? [deepReady(opts.enteringEl), deepReady(opts.leavingEl)]\n : [shallowReady(opts.enteringEl), shallowReady(opts.leavingEl)];\n await Promise.all(promises);\n await notifyViewReady(opts.viewIsReady, opts.enteringEl);\n};\nconst notifyViewReady = async (viewIsReady, enteringEl) => {\n if (viewIsReady) {\n await viewIsReady(enteringEl);\n }\n};\nconst playTransition = (trans, opts) => {\n const progressCallback = opts.progressCallback;\n const promise = new Promise((resolve) => {\n trans.onFinish((currentStep) => resolve(currentStep === 1));\n });\n // cool, let's do this, start the transition\n if (progressCallback) {\n // this is a swipe to go back, just get the transition progress ready\n // kick off the swipe animation start\n trans.progressStart(true);\n progressCallback(trans);\n }\n else {\n // only the top level transition should actually start \"play\"\n // kick it off and let it play through\n // ******** DOM WRITE ****************\n trans.play();\n }\n // create a callback for when the animation is done\n return promise;\n};\nconst fireWillEvents = (enteringEl, leavingEl) => {\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\n};\nconst fireDidEvents = (enteringEl, leavingEl) => {\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\n};\nconst lifecycle = (el, eventName) => {\n if (el) {\n const ev = new CustomEvent(eventName, {\n bubbles: false,\n cancelable: false,\n });\n el.dispatchEvent(ev);\n }\n};\nconst shallowReady = (el) => {\n if (el) {\n return new Promise((resolve) => componentOnReady(el, resolve));\n }\n return Promise.resolve();\n};\nconst deepReady = async (el) => {\n const element = el;\n if (element) {\n if (element.componentOnReady != null) {\n const stencilEl = await element.componentOnReady();\n if (stencilEl != null) {\n return;\n }\n /**\n * Custom elements in Stencil will have __registerHost.\n */\n }\n else if (element.__registerHost != null) {\n /**\n * Non-lazy loaded custom elements need to wait\n * one frame for component to be loaded.\n */\n const waitForCustomElement = new Promise((resolve) => raf(resolve));\n await waitForCustomElement;\n return;\n }\n await Promise.all(Array.from(element.children).map(deepReady));\n }\n};\nconst setPageHidden = (el, hidden) => {\n if (hidden) {\n el.setAttribute('aria-hidden', 'true');\n el.classList.add('ion-page-hidden');\n }\n else {\n el.hidden = false;\n el.removeAttribute('aria-hidden');\n el.classList.remove('ion-page-hidden');\n }\n};\nconst setZIndex = (enteringEl, leavingEl, direction) => {\n if (enteringEl !== undefined) {\n enteringEl.style.zIndex = direction === 'back' ? '99' : '101';\n }\n if (leavingEl !== undefined) {\n leavingEl.style.zIndex = '100';\n }\n};\nconst getIonPageElement = (element) => {\n if (element.classList.contains('ion-page')) {\n return element;\n }\n const ionPage = element.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs');\n if (ionPage) {\n return ionPage;\n }\n // idk, return the original element so at least something animates and we don't have a null pointer\n return element;\n};\n\nexport { LIFECYCLE_WILL_ENTER as L, LIFECYCLE_DID_ENTER as a, LIFECYCLE_WILL_LEAVE as b, LIFECYCLE_DID_LEAVE as c, LIFECYCLE_WILL_UNLOAD as d, deepReady as e, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/**\n * Logs a warning to the console with an Ionic prefix\n * to indicate the library that is warning the developer.\n *\n * @param message - The string message to be logged to the console.\n */\nconst printIonWarning = (message) => {\n return console.warn(`[Ionic Warning]: ${message}`);\n};\n/*\n * Logs an error to the console with an Ionic prefix\n * to indicate the library that is warning the developer.\n *\n * @param message - The string message to be logged to the console.\n * @param params - Additional arguments to supply to the console.error.\n */\nconst printIonError = (message, ...params) => {\n return console.error(`[Ionic Error]: ${message}`, ...params);\n};\n/**\n * Prints an error informing developers that an implementation requires an element to be used\n * within a specific selector.\n *\n * @param el The web component element this is requiring the element.\n * @param targetSelectors The selector or selectors that were not found.\n */\nconst printRequiredElementError = (el, ...targetSelectors) => {\n return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);\n};\n\nexport { printIonError as a, printRequiredElementError as b, printIonWarning as p };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as componentOnReady } from './helpers.js';\nimport { b as printRequiredElementError } from './index7.js';\n\nconst ION_CONTENT_TAG_NAME = 'ION-CONTENT';\nconst ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';\nconst ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';\n/**\n * Selector used for implementations reliant on `` for scroll event changes.\n *\n * Developers should use the `.ion-content-scroll-host` selector to target the element emitting\n * scroll events. With virtual scroll implementations this will be the host element for\n * the scroll viewport.\n */\nconst ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;\nconst isIonContent = (el) => el && el.tagName === ION_CONTENT_TAG_NAME;\n/**\n * Waits for the element host fully initialize before\n * returning the inner scroll element.\n *\n * For `ion-content` the scroll target will be the result\n * of the `getScrollElement` function.\n *\n * For custom implementations it will be the element host\n * or a selector within the host, if supplied through `scrollTarget`.\n */\nconst getScrollElement = async (el) => {\n if (isIonContent(el)) {\n await new Promise((resolve) => componentOnReady(el, resolve));\n return el.getScrollElement();\n }\n return el;\n};\n/**\n * Queries the element matching the selector for IonContent.\n * See ION_CONTENT_SELECTOR for the selector used.\n */\nconst findIonContent = (el) => {\n /**\n * First we try to query the custom scroll host selector in cases where\n * the implementation is using an outer `ion-content` with an inner custom\n * scroll container.\n */\n const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);\n if (customContentHost) {\n return customContentHost;\n }\n return el.querySelector(ION_CONTENT_SELECTOR);\n};\n/**\n * Queries the closest element matching the selector for IonContent.\n */\nconst findClosestIonContent = (el) => {\n return el.closest(ION_CONTENT_SELECTOR);\n};\n/**\n * Scrolls to the top of the element. If an `ion-content` is found, it will scroll\n * using the public API `scrollToTop` with a duration.\n */\nconst scrollToTop = (el, durationMs) => {\n if (isIonContent(el)) {\n const content = el;\n return content.scrollToTop(durationMs);\n }\n return Promise.resolve(el.scrollTo({\n top: 0,\n left: 0,\n behavior: durationMs > 0 ? 'smooth' : 'auto',\n }));\n};\n/**\n * Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll\n * using the public API `scrollByPoint` with a duration.\n */\nconst scrollByPoint = (el, x, y, durationMs) => {\n if (isIonContent(el)) {\n const content = el;\n return content.scrollByPoint(x, y, durationMs);\n }\n return Promise.resolve(el.scrollBy({\n top: y,\n left: x,\n behavior: durationMs > 0 ? 'smooth' : 'auto',\n }));\n};\n/**\n * Prints an error informing developers that an implementation requires an element to be used\n * within either the `ion-content` selector or the `.ion-content-scroll-host` class.\n */\nconst printIonContentErrorMsg = (el) => {\n return printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);\n};\n/**\n * Several components in Ionic need to prevent scrolling\n * during a gesture (card modal, range, item sliding, etc).\n * Use this utility to account for ion-content and custom content hosts.\n */\nconst disableContentScrollY = (contentEl) => {\n if (isIonContent(contentEl)) {\n const ionContent = contentEl;\n const initialScrollY = ionContent.scrollY;\n ionContent.scrollY = false;\n /**\n * This should be passed into resetContentScrollY\n * so that we can revert ion-content's scrollY to the\n * correct state. For example, if scrollY = false\n * initially, we do not want to enable scrolling\n * when we call resetContentScrollY.\n */\n return initialScrollY;\n }\n else {\n contentEl.style.setProperty('overflow', 'hidden');\n return true;\n }\n};\nconst resetContentScrollY = (contentEl, initialScrollY) => {\n if (isIonContent(contentEl)) {\n contentEl.scrollY = initialScrollY;\n }\n else {\n contentEl.style.removeProperty('overflow');\n }\n};\n\nexport { ION_CONTENT_ELEMENT_SELECTOR as I, findClosestIonContent as a, ION_CONTENT_CLASS_SELECTOR as b, scrollByPoint as c, disableContentScrollY as d, findIonContent as f, getScrollElement as g, isIonContent as i, printIonContentErrorMsg as p, resetContentScrollY as r, scrollToTop as s };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';\nconst KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';\nconst KEYBOARD_THRESHOLD = 150;\nlet previousVisualViewport = {};\nlet currentVisualViewport = {};\nlet keyboardOpen = false;\n/**\n * This is only used for tests\n */\nconst resetKeyboardAssist = () => {\n previousVisualViewport = {};\n currentVisualViewport = {};\n keyboardOpen = false;\n};\nconst startKeyboardAssist = (win) => {\n startNativeListeners(win);\n if (!win.visualViewport) {\n return;\n }\n currentVisualViewport = copyVisualViewport(win.visualViewport);\n win.visualViewport.onresize = () => {\n trackViewportChanges(win);\n if (keyboardDidOpen() || keyboardDidResize(win)) {\n setKeyboardOpen(win);\n }\n else if (keyboardDidClose(win)) {\n setKeyboardClose(win);\n }\n };\n};\n/**\n * Listen for events fired by native keyboard plugin\n * in Capacitor/Cordova so devs only need to listen\n * in one place.\n */\nconst startNativeListeners = (win) => {\n win.addEventListener('keyboardDidShow', (ev) => setKeyboardOpen(win, ev));\n win.addEventListener('keyboardDidHide', () => setKeyboardClose(win));\n};\nconst setKeyboardOpen = (win, ev) => {\n fireKeyboardOpenEvent(win, ev);\n keyboardOpen = true;\n};\nconst setKeyboardClose = (win) => {\n fireKeyboardCloseEvent(win);\n keyboardOpen = false;\n};\n/**\n * Returns `true` if the `keyboardOpen` flag is not\n * set, the previous visual viewport width equal the current\n * visual viewport width, and if the scaled difference\n * of the previous visual viewport height minus the current\n * visual viewport height is greater than KEYBOARD_THRESHOLD\n *\n * We need to be able to accommodate users who have zooming\n * enabled in their browser (or have zoomed in manually) which\n * is why we take into account the current visual viewport's\n * scale value.\n */\nconst keyboardDidOpen = () => {\n const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale;\n return (!keyboardOpen &&\n previousVisualViewport.width === currentVisualViewport.width &&\n scaledHeightDifference > KEYBOARD_THRESHOLD);\n};\n/**\n * Returns `true` if the keyboard is open,\n * but the keyboard did not close\n */\nconst keyboardDidResize = (win) => {\n return keyboardOpen && !keyboardDidClose(win);\n};\n/**\n * Determine if the keyboard was closed\n * Returns `true` if the `keyboardOpen` flag is set and\n * the current visual viewport height equals the\n * layout viewport height.\n */\nconst keyboardDidClose = (win) => {\n return keyboardOpen && currentVisualViewport.height === win.innerHeight;\n};\n/**\n * Dispatch a keyboard open event\n */\nconst fireKeyboardOpenEvent = (win, nativeEv) => {\n const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height;\n const ev = new CustomEvent(KEYBOARD_DID_OPEN, {\n detail: { keyboardHeight },\n });\n win.dispatchEvent(ev);\n};\n/**\n * Dispatch a keyboard close event\n */\nconst fireKeyboardCloseEvent = (win) => {\n const ev = new CustomEvent(KEYBOARD_DID_CLOSE);\n win.dispatchEvent(ev);\n};\n/**\n * Given a window object, create a copy of\n * the current visual and layout viewport states\n * while also preserving the previous visual and\n * layout viewport states\n */\nconst trackViewportChanges = (win) => {\n previousVisualViewport = Object.assign({}, currentVisualViewport);\n currentVisualViewport = copyVisualViewport(win.visualViewport);\n};\n/**\n * Creates a deep copy of the visual viewport\n * at a given state\n */\nconst copyVisualViewport = (visualViewport) => {\n return {\n width: Math.round(visualViewport.width),\n height: Math.round(visualViewport.height),\n offsetTop: visualViewport.offsetTop,\n offsetLeft: visualViewport.offsetLeft,\n pageTop: visualViewport.pageTop,\n pageLeft: visualViewport.pageLeft,\n scale: visualViewport.scale,\n };\n};\n\nexport { KEYBOARD_DID_CLOSE, KEYBOARD_DID_OPEN, copyVisualViewport, keyboardDidClose, keyboardDidOpen, keyboardDidResize, resetKeyboardAssist, setKeyboardClose, setKeyboardOpen, startKeyboardAssist, trackViewportChanges };\n","import LocalForage from 'localforage';\n/** @hidden */\nexport const Drivers = {\n SecureStorage: 'ionicSecureStorage',\n IndexedDB: LocalForage.INDEXEDDB,\n LocalStorage: LocalForage.LOCALSTORAGE\n};\nconst defaultConfig = {\n name: '_ionicstorage',\n storeName: '_ionickv',\n dbKey: '_ionickey',\n driverOrder: [\n Drivers.SecureStorage,\n Drivers.IndexedDB,\n Drivers.LocalStorage\n ]\n};\nexport class Storage {\n /**\n * Create a new Storage instance using the order of drivers and any additional config\n * options to pass to LocalForage.\n *\n * Possible default driverOrder options are: ['indexeddb', 'localstorage'] and the\n * default is that exact ordering.\n *\n * When using Ionic Secure Storage (enterprise only), use ['ionicSecureStorage', 'indexeddb', 'localstorage'] to ensure\n * Secure Storage is used when available, or fall back to IndexedDB or LocalStorage on the web.\n */\n constructor(config = defaultConfig) {\n this._db = null;\n this._secureStorageDriver = null;\n const actualConfig = Object.assign({}, defaultConfig, config || {});\n this._config = actualConfig;\n }\n async create() {\n const db = LocalForage.createInstance(this._config);\n this._db = db;\n await db.setDriver(this._config.driverOrder || []);\n return this;\n }\n /**\n * Define a new Driver. Must be called before\n * initializing the database. Example:\n *\n * await storage.defineDriver(myDriver);\n * await storage.create();\n */\n async defineDriver(driver) {\n if (driver._driver === Drivers.SecureStorage) {\n this._secureStorageDriver = driver;\n }\n return LocalForage.defineDriver(driver);\n }\n /**\n * Get the name of the driver being used.\n * @returns Name of the driver\n */\n get driver() {\n var _a;\n return ((_a = this._db) === null || _a === void 0 ? void 0 : _a.driver()) || null;\n }\n assertDb() {\n if (!this._db) {\n throw new Error('Database not created. Must call create() first');\n }\n return this._db;\n }\n /**\n * Get the value associated with the given key.\n * @param key the key to identify this value\n * @returns Returns a promise with the value of the given key\n */\n get(key) {\n const db = this.assertDb();\n return db.getItem(key);\n }\n /**\n * Set the value for the given key.\n * @param key the key to identify this value\n * @param value the value for this key\n * @returns Returns a promise that resolves when the key and value are set\n */\n set(key, value) {\n const db = this.assertDb();\n return db.setItem(key, value);\n }\n /**\n * Remove any value associated with this key.\n * @param key the key to identify this value\n * @returns Returns a promise that resolves when the value is removed\n */\n remove(key) {\n const db = this.assertDb();\n return db.removeItem(key);\n }\n /**\n * Clear the entire key value store. WARNING: HOT!\n * @returns Returns a promise that resolves when the store is cleared\n */\n clear() {\n const db = this.assertDb();\n return db.clear();\n }\n /**\n * @returns Returns a promise that resolves with the number of keys stored.\n */\n length() {\n const db = this.assertDb();\n return db.length();\n }\n /**\n * @returns Returns a promise that resolves with the keys in the store.\n */\n keys() {\n const db = this.assertDb();\n return db.keys();\n }\n /**\n * Iterate through each key,value pair.\n * @param iteratorCallback a callback of the form (value, key, iterationNumber)\n * @returns Returns a promise that resolves when the iteration has finished.\n */\n forEach(iteratorCallback) {\n const db = this.assertDb();\n return db.iterate(iteratorCallback);\n }\n setEncryptionKey(key) {\n var _a;\n if (!this._secureStorageDriver) {\n throw new Error('@ionic-enterprise/secure-storage not installed. Encryption support not available');\n }\n else {\n (_a = this._secureStorageDriver) === null || _a === void 0 ? void 0 : _a.setEncryptionKey(key);\n }\n }\n}\n//# sourceMappingURL=index.js.map","import { parseQuery, createRouter as createRouter$1, createWebHistory as createWebHistory$1, createWebHashHistory as createWebHashHistory$1, createMemoryHistory as createMemoryHistory$1 } from 'vue-router';\nimport { shallowRef } from 'vue';\n\nconst createLocationHistory = () => {\n const locationHistory = [];\n const tabsHistory = {};\n const add = (routeInfo) => {\n switch (routeInfo.routerAction) {\n case \"pop\":\n pop(routeInfo);\n break;\n default:\n addRoute(routeInfo);\n break;\n }\n if (routeInfo.routerDirection === 'root') {\n clearHistory();\n addRoute(routeInfo);\n }\n };\n const update = (routeInfo) => {\n const locationIndex = locationHistory.findIndex(x => x.id === routeInfo.id);\n if (locationIndex > -1) {\n locationHistory.splice(locationIndex, 1, routeInfo);\n }\n const tabArray = tabsHistory[routeInfo.tab || ''];\n if (tabArray) {\n const tabIndex = tabArray.findIndex(x => x.id === routeInfo.id);\n if (tabIndex > -1) {\n tabArray.splice(tabIndex, 1, routeInfo);\n }\n else {\n tabArray.push(routeInfo);\n }\n }\n else if (routeInfo.tab) {\n tabsHistory[routeInfo.tab] = [routeInfo];\n }\n };\n const pop = (routeInfo) => {\n const tabHistory = getTabsHistory(routeInfo.tab);\n let ri;\n if (tabHistory) {\n // Pop all routes until we are back\n ri = tabHistory[tabHistory.length - 1];\n while (ri && ri.id !== routeInfo.id) {\n tabHistory.pop();\n ri = tabHistory[tabHistory.length - 1];\n }\n // Replace with updated route\n tabHistory.pop();\n tabHistory.push(routeInfo);\n }\n ri = locationHistory[locationHistory.length - 1];\n while (ri && ri.id !== routeInfo.id) {\n locationHistory.pop();\n ri = locationHistory[locationHistory.length - 1];\n }\n // Replace with updated route\n locationHistory.pop();\n locationHistory.push(routeInfo);\n };\n const addRoute = (routeInfo) => {\n const tabHistory = getTabsHistory(routeInfo.tab);\n if (tabHistory) {\n // If the latest routeInfo is the same (going back and forth between tabs), replace it\n if (tabHistory[tabHistory.length - 1] && tabHistory[tabHistory.length - 1].id === routeInfo.id) {\n tabHistory.pop();\n }\n tabHistory.push(routeInfo);\n }\n locationHistory.push(routeInfo);\n };\n /**\n * Wipes the location history arrays.\n * You can optionally provide a routeInfo\n * object which will wipe that entry\n * and every entry that appears after it.\n */\n const clearHistory = (routeInfo) => {\n if (routeInfo) {\n const { position, tab } = routeInfo;\n /**\n * If there is no route index in locationHistory\n * then there will not be any route index in\n * tabs either.\n */\n const existingRouteIndex = locationHistory.findIndex(r => r.position === position);\n if (existingRouteIndex === -1)\n return;\n locationHistory.splice(existingRouteIndex);\n const clearTabHistory = (tab) => {\n const existingTabRouteIndex = tabsHistory[tab].findIndex(r => r.position === position);\n if (existingTabRouteIndex === -1)\n return;\n tabsHistory[tab].splice(existingTabRouteIndex);\n };\n /**\n * We also need to search the current tab\n * to correctly reset the individual tab\n * stack. We should not clear the entire\n * tab stack as that means we will lose\n * a reference to the root tab route.\n */\n const tabHistory = tabsHistory[tab];\n if (tab && tabHistory) {\n clearTabHistory(tab);\n /**\n * If we are not clearing items after\n * a tabs page, it is still possible\n * that there are future tabs pages to clear.\n * As a result, we need to search through\n * all the tab stacks and remove views that appear\n * after the given routeInfo.\n *\n * Example: /non-tabs-page --> /tabs/tab1 --> /non-tabs-page\n * (via router.go(-1)) --> /tabs/tab2. The /tabs/tab1 history\n * has been overwritten with /tabs/tab2. As a result,\n * the /tabs/tab1 route info in the Tab 1 stack should be removed.\n */\n }\n else {\n for (const tab in tabsHistory) {\n clearTabHistory(tab);\n }\n }\n }\n else {\n for (const tab in tabsHistory) {\n tabsHistory[tab] = [];\n }\n locationHistory.length = 0;\n }\n };\n const getTabsHistory = (tab) => {\n let history;\n if (tab) {\n history = tabsHistory[tab];\n if (!history) {\n history = tabsHistory[tab] = [];\n }\n }\n return history;\n };\n const size = () => locationHistory.length;\n /**\n * Finds and returns the location history item\n * given the state of browser's history API.\n * This is useful when jumping around in browser\n * history using router.go.\n */\n const current = (initialHistory, currentHistory) => {\n /**\n * initialHistory does not always start at 0 if users navigated\n * to app from another website, so doing this math lets us\n * find the correct index in our locationHistory array.\n */\n const index = currentHistory - initialHistory;\n return locationHistory[index] || last();\n };\n const last = () => locationHistory[locationHistory.length - 1];\n /**\n * With the introduction of router.go support, we no longer remove\n * items from locationHistory as they may be needed again in the future.\n * As a result, we need to look at the current position in location history\n * to see if users can navigate back n pages. Previously we were checking\n * the length of locationHistory, but that only worked since we were pruning\n * the array.\n */\n const canGoBack = (deep = 1, initialHistory, currentHistory) => {\n return currentHistory - deep >= initialHistory;\n };\n const getFirstRouteInfoForTab = (tab) => {\n const tabHistory = getTabsHistory(tab);\n if (tabHistory) {\n return tabHistory[0];\n }\n return undefined;\n };\n const getCurrentRouteInfoForTab = (tab) => {\n const tabHistory = getTabsHistory(tab);\n if (tabHistory) {\n return tabHistory[tabHistory.length - 1];\n }\n return undefined;\n };\n /**\n * Finds and returns the previous view based upon\n * what originally pushed it (pushedByRoute).\n * When `delta` < -1 then we should just index into\n * to array because the previous view that we want is not\n * necessarily the view that pushed our current view.\n * Additionally, when jumping around in history, we\n * do not modify the locationHistory stack so we would\n * not update pushedByRoute anyways.\n */\n const findLastLocation = (routeInfo, delta = -1) => {\n const routeInfos = getTabsHistory(routeInfo.tab);\n if (routeInfos) {\n if (delta < -1) {\n return routeInfos[routeInfos.length - 1 + delta];\n }\n else {\n for (let i = routeInfos.length - 2; i >= 0; i--) {\n const ri = routeInfos[i];\n if (ri) {\n if (ri.pathname === routeInfo.pushedByRoute) {\n return ri;\n }\n }\n }\n }\n }\n if (delta < -1) {\n return locationHistory[locationHistory.length - 1 + delta];\n }\n else {\n for (let i = locationHistory.length - 2; i >= 0; i--) {\n const ri = locationHistory[i];\n if (ri) {\n if (ri.pathname === routeInfo.pushedByRoute) {\n return ri;\n }\n }\n }\n }\n return undefined;\n };\n return {\n current,\n size,\n last,\n add,\n canGoBack,\n update,\n getFirstRouteInfoForTab,\n getCurrentRouteInfoForTab,\n findLastLocation,\n clearHistory\n };\n};\n\nconst ids = { main: 0 };\nconst generateId = (type = 'main') => {\n var _a;\n const id = ((_a = ids[type]) !== null && _a !== void 0 ? _a : 0) + 1;\n ids[type] = id;\n return (id).toString();\n};\n\nconst createIonRouter = (opts, router) => {\n let currentNavigationInfo = { direction: undefined, action: undefined, delta: undefined };\n /**\n * Ionic Vue should only react to navigation\n * changes once they have been confirmed and should\n * never affect the outcome of navigation (with the\n * exception of going back or selecting a tab).\n * As a result, we should do our work in afterEach\n * which is fired once navigation is confirmed\n * and any user guards have run.\n */\n router.afterEach((to, _, failure) => {\n if (failure)\n return;\n const { direction, action, delta } = currentNavigationInfo;\n /**\n * When calling router.replace, we are not informed\n * about the replace action in opts.history.listen\n * but we can check to see if the latest routing action\n * was a replace action by looking at the history state.\n * We need to use opts.history rather than window.history\n * because window.history will be undefined when using SSR.\n */\n currentHistoryPosition = opts.history.state.position;\n const replaceAction = opts.history.state.replaced ? 'replace' : undefined;\n handleHistoryChange(to, action || replaceAction, direction, delta);\n currentNavigationInfo = { direction: undefined, action: undefined, delta: undefined };\n });\n const locationHistory = createLocationHistory();\n /**\n * Keeping track of the history position\n * allows us to determine if a user is pushing\n * new pages or updating history via the forward\n * and back browser buttons.\n */\n let initialHistoryPosition = opts.history.state.position;\n let currentHistoryPosition = opts.history.state.position;\n let currentRouteInfo;\n let incomingRouteParams;\n // TODO types\n let historyChangeListeners = [];\n if (typeof document !== 'undefined') {\n document.addEventListener('ionBackButton', (ev) => {\n ev.detail.register(0, (processNextHandler) => {\n opts.history.go(-1);\n processNextHandler();\n });\n });\n }\n opts.history.listen((_, _x, info) => {\n /**\n * history.listen only fires on certain\n * event such as when the user clicks the\n * browser back button. It also gives us\n * additional information as to the type\n * of navigation (forward, backward, etc).\n *\n * We can use this to better handle the\n * `handleHistoryChange` call in\n * router.beforeEach\n */\n currentNavigationInfo = {\n delta: info.delta,\n /**\n * Both the browser forward and backward actions\n * are considered \"pop\" actions, but when going forward\n * we want to make sure the forward animation is used.\n */\n action: (info.type === 'pop' && info.delta >= 1) ? 'push' : info.type,\n direction: info.direction === '' ? 'forward' : info.direction\n };\n });\n const handleNavigateBack = (defaultHref, routerAnimation) => {\n // todo grab default back button href from config\n const routeInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition);\n if (routeInfo && routeInfo.pushedByRoute) {\n const prevInfo = locationHistory.findLastLocation(routeInfo);\n if (prevInfo) {\n incomingRouteParams = Object.assign(Object.assign({}, prevInfo), { routerAction: 'pop', routerDirection: 'back', routerAnimation: routerAnimation || routeInfo.routerAnimation });\n if (routeInfo.lastPathname === routeInfo.pushedByRoute ||\n (\n /**\n * We need to exclude tab switches/tab\n * context changes here because tabbed\n * navigation is not linear, but router.back()\n * will go back in a linear fashion.\n */\n prevInfo.pathname === routeInfo.pushedByRoute &&\n routeInfo.tab === '' && prevInfo.tab === '')) {\n router.back();\n }\n else {\n /**\n * When going back to a child page of a tab\n * after being on another tab, we need to use\n * router.go() here instead of pushing or replacing.\n * Consider the following example:\n * /tabs/tab1 --> /tabs/tab1/child1 --> /tabs/tab1/child2\n * --> /tabs/tab2 (via Tab 2 button) --> /tabs/tab1/child2 (via Tab 1 button)\n *\n * Pressing the ion-back-button on /tabs/tab1/child2 should take\n * us back to /tabs/tab1/child1 not /tabs/tab2 because each tab\n * is its own stack.\n *\n * If we called pressed the ion-back-button and this code called\n * router.replace, then the state of /tabs/tab1/child2 would\n * be replaced with /tabs/tab1/child1. However, this means that\n * there would be two /tabs/tab1/child1 entries in the location\n * history as the original /tabs/tab1/child1 entry is still there.\n * As a result, clicking the ion-back-button on /tabs/tab1/child1 does\n * nothing because this code would try to route to the same page\n * we are currently on.\n *\n * If we called router.push instead then we would push a\n * new /tabs/tab1/child1 entry to the location history. This\n * is not good because we would have two /tabs/tab1/child1 entries\n * separated by a /tabs/tab1/child2 entry.\n */\n router.go(prevInfo.position - routeInfo.position);\n }\n }\n else {\n handleNavigate(defaultHref, 'pop', 'back');\n }\n }\n else {\n handleNavigate(defaultHref, 'pop', 'back');\n }\n };\n const handleNavigate = (path, routerAction, routerDirection, routerAnimation, tab) => {\n setIncomingRouteParams(routerAction, routerDirection, routerAnimation, tab);\n if (routerAction === 'push') {\n router.push(path);\n }\n else {\n router.replace(path);\n }\n };\n // TODO RouteLocationNormalized\n const handleHistoryChange = (location, action, direction, delta) => {\n let leavingLocationInfo;\n if (incomingRouteParams) {\n /**\n * If we are replacing the state of a route\n * with another route, the \"leaving\" route\n * is at the same position in location history\n * as where the replaced route will exist.\n */\n if (incomingRouteParams.routerAction === 'replace') {\n leavingLocationInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition);\n }\n else if (incomingRouteParams.routerAction === 'pop') {\n leavingLocationInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition + 1);\n /**\n * If the Ionic Router action was \"pop\"\n * and the browser history action was \"replace\", then\n * it is the case that the user clicked an IonBackButton\n * that is trying to go back to the route specified\n * by the defaultHref property.\n *\n * The problem is that this route currently does\n * not exist in the browser history, and we cannot\n * prepend an item in the browser's history stack.\n * To work around this, we replace the state of\n * the current item instead.\n * Given this scenario:\n * /page2 --> /page3 --> (back) /page2 --> (defaultHref) /page1\n * We would replace the state of /page2 with the state of /page1.\n *\n * When doing this, we are essentially re-writing past\n * history which makes the future history no longer relevant.\n * As a result, we clear out the location history so that users\n * can begin pushing new routes to the stack.\n *\n * This pattern is aligned with how the browser handles\n * pushing new routes after going back as well as how\n * other stack based operations such as undo/redo work.\n * For example, if you do tasks A, B, C, undo B and C, and\n * then do task D, you cannot \"redo\" B and C because you\n * rewrote the stack's past history.\n *\n * With browser history, it is a similar concept.\n * Going /page1 --> /page2 --> /page3 and then doing\n * router.go(-2) will bring you back to /page1.\n * If you then push /page4, you have rewritten\n * the past history and you can no longer go\n * forward to /page2 or /page3.\n */\n if (action === 'replace') {\n locationHistory.clearHistory();\n }\n }\n else {\n /**\n * If the routerDirection was specified as \"root\", then\n * we are replacing the initial state of location history\n * with this incoming route. As a result, the leaving\n * history info is stored at the same location as\n * where the incoming history location will be stored.\n *\n * Otherwise, we can assume this is just another route\n * that will be pushed onto the end of location history,\n * so we can grab the previous item in history relative\n * to where the history state currently is.\n */\n const position = (incomingRouteParams.routerDirection === 'root') ? currentHistoryPosition : currentHistoryPosition - 1;\n leavingLocationInfo = locationHistory.current(initialHistoryPosition, position);\n }\n }\n else {\n leavingLocationInfo = currentRouteInfo;\n }\n if (!leavingLocationInfo) {\n leavingLocationInfo = {\n pathname: '',\n search: ''\n };\n }\n const leavingUrl = leavingLocationInfo.pathname + leavingLocationInfo.search;\n if (leavingUrl !== location.fullPath) {\n if (!incomingRouteParams) {\n if (action === 'replace') {\n incomingRouteParams = {\n routerAction: 'replace',\n routerDirection: 'none'\n };\n }\n else if (action === 'pop') {\n const routeInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition - delta);\n if (routeInfo && routeInfo.pushedByRoute) {\n const prevRouteInfo = locationHistory.findLastLocation(routeInfo, delta);\n incomingRouteParams = Object.assign(Object.assign({}, prevRouteInfo), { routerAction: 'pop', routerDirection: 'back' });\n }\n else {\n incomingRouteParams = {\n routerAction: 'pop',\n routerDirection: 'none'\n };\n }\n }\n if (!incomingRouteParams) {\n incomingRouteParams = {\n routerAction: 'push',\n routerDirection: direction || 'forward'\n };\n }\n }\n let routeInfo;\n if (incomingRouteParams === null || incomingRouteParams === void 0 ? void 0 : incomingRouteParams.id) {\n routeInfo = Object.assign(Object.assign({}, incomingRouteParams), { lastPathname: leavingLocationInfo.pathname });\n }\n else {\n const isPushed = incomingRouteParams.routerAction === 'push' && incomingRouteParams.routerDirection === 'forward';\n routeInfo = Object.assign(Object.assign({ id: generateId('routeInfo') }, incomingRouteParams), { lastPathname: leavingLocationInfo.pathname, pathname: location.path, search: location.fullPath && location.fullPath.split('?')[1] || '', params: location.params && location.params, prevRouteLastPathname: leavingLocationInfo.lastPathname });\n if (isPushed) {\n routeInfo.pushedByRoute = (leavingLocationInfo.pathname !== '') ? leavingLocationInfo.pathname : undefined;\n }\n else if (routeInfo.routerAction === 'pop') {\n const route = locationHistory.findLastLocation(routeInfo);\n routeInfo.pushedByRoute = route === null || route === void 0 ? void 0 : route.pushedByRoute;\n }\n else if (routeInfo.routerAction === 'push' && routeInfo.tab !== leavingLocationInfo.tab) {\n const lastRoute = locationHistory.getCurrentRouteInfoForTab(routeInfo.tab);\n routeInfo.pushedByRoute = lastRoute === null || lastRoute === void 0 ? void 0 : lastRoute.pushedByRoute;\n }\n else if (routeInfo.routerAction === 'replace') {\n /**\n * When replacing a route, we want to make sure we select the current route\n * that we are on, not the last route in the stack. The last route in the stack\n * is not always the current route.\n * Example:\n * Given the following history: /page1 --> /page2\n * Doing router.go(-1) would bring you to /page1.\n * If you then did router.replace('/page3'), /page1 should\n * be replaced with /page3 even though /page2 is the last\n * item in the stack/\n */\n const currentRouteInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition);\n /**\n * If going from /home to /child, then replacing from\n * /child to /home, we don't want the route info to\n * say that /home was pushed by /home which is not correct.\n */\n const currentPushedBy = currentRouteInfo === null || currentRouteInfo === void 0 ? void 0 : currentRouteInfo.pushedByRoute;\n const pushedByRoute = (currentPushedBy !== undefined && currentPushedBy !== routeInfo.pathname) ? currentPushedBy : routeInfo.pushedByRoute;\n routeInfo.lastPathname = (currentRouteInfo === null || currentRouteInfo === void 0 ? void 0 : currentRouteInfo.pathname) || routeInfo.lastPathname;\n routeInfo.pushedByRoute = pushedByRoute;\n routeInfo.routerDirection = (currentRouteInfo === null || currentRouteInfo === void 0 ? void 0 : currentRouteInfo.routerDirection) || routeInfo.routerDirection;\n routeInfo.routerAnimation = (currentRouteInfo === null || currentRouteInfo === void 0 ? void 0 : currentRouteInfo.routerAnimation) || routeInfo.routerAnimation;\n routeInfo.prevRouteLastPathname = currentRouteInfo === null || currentRouteInfo === void 0 ? void 0 : currentRouteInfo.lastPathname;\n }\n }\n routeInfo.position = currentHistoryPosition;\n routeInfo.delta = delta;\n const historySize = locationHistory.size();\n const historyDiff = currentHistoryPosition - initialHistoryPosition;\n /**\n * If the size of location history is greater\n * than the difference between the current history\n * position and the initial history position\n * then we are guaranteed to already have a history\n * item for this route. In other words, a user\n * is navigating within the history without pushing\n * new items within the stack.\n *\n * If the historySize === historyDiff,\n * then we are still re-writing history\n * by replacing the current route state\n * with a new route state. The initial\n * action when loading an app is\n * going to be replace operation, so\n * we want to make sure we exclude that\n * action by ensuring historySize > 0.\n */\n const isReplacing = historySize === historyDiff && historySize > 0 && action === 'replace';\n if (historySize > historyDiff || isReplacing) {\n /**\n * When navigating back through the history,\n * if users then push a new route the future\n * history stack is no longer relevant. As\n * a result, we need to clear out all entries\n * that appear after the current routeInfo\n * so that we can then append the new history.\n *\n * This does not apply when using router.go\n * as that is traversing through the history,\n * not altering it.\n *\n * Previously we had only updated the existing route\n * and then left the future history alone. That\n * worked for some use cases but was not sufficient\n * in other scenarios.\n */\n if ((routeInfo.routerAction === 'push' || routeInfo.routerAction === 'replace') &&\n delta === undefined) {\n locationHistory.clearHistory(routeInfo);\n locationHistory.add(routeInfo);\n }\n }\n else {\n locationHistory.add(routeInfo);\n }\n /**\n * If we recently reset the location history\n * then we also need to update the initial\n * history position.\n */\n if (locationHistory.size() === 1) {\n initialHistoryPosition = routeInfo.position;\n }\n currentRouteInfo = routeInfo;\n }\n incomingRouteParams = undefined;\n historyChangeListeners.forEach(cb => cb(currentRouteInfo));\n };\n const getCurrentRouteInfo = () => currentRouteInfo;\n const canGoBack = (deep = 1) => locationHistory.canGoBack(deep, initialHistoryPosition, currentHistoryPosition);\n const navigate = (navigationOptions) => {\n const { routerAnimation, routerDirection, routerLink } = navigationOptions;\n setIncomingRouteParams('push', routerDirection, routerAnimation);\n router.push(routerLink);\n };\n const resetTab = (tab) => {\n /**\n * Resetting the tab should go back\n * to the initial view in the tab stack.\n * It should not push a new instance of the\n * root tab page onto the stack.\n *\n * To do this, we get the initial view in the\n * tab stack and subtract the position of that\n * entry from our current position. From there\n * we call router.go() to move us back the\n * appropriate number of positions.\n */\n const routeInfo = locationHistory.getFirstRouteInfoForTab(tab);\n if (routeInfo) {\n router.go(routeInfo.position - currentHistoryPosition);\n }\n };\n const changeTab = (tab, path) => {\n if (!path)\n return;\n const routeInfo = locationHistory.getCurrentRouteInfoForTab(tab);\n const [pathname] = path.split('?');\n if (routeInfo) {\n incomingRouteParams = Object.assign(Object.assign({}, incomingRouteParams), { routerAction: 'push', routerDirection: 'none', tab });\n /**\n * When going back to a tab\n * you just left, it's possible\n * for the route info to be incorrect\n * as the tab you want is not the\n * tab you are on.\n */\n if (routeInfo.pathname === pathname) {\n router.push({ path: routeInfo.pathname, query: parseQuery(routeInfo.search) });\n }\n else {\n router.push({ path: pathname, query: parseQuery(routeInfo.search) });\n }\n }\n else {\n handleNavigate(pathname, 'push', 'none', undefined, tab);\n }\n };\n /**\n * This method is invoked by the IonTabs component\n * during a history change callback. It is responsible\n * for ensuring that tabbed routes have the correct\n * \"tab\" field in its routeInfo object.\n *\n * IonTabs will determine if the current route\n * is in tabs and assign it the correct tab.\n * If the current route is not in tabs,\n * then IonTabs will not invoke this.\n */\n const handleSetCurrentTab = (tab) => {\n /**\n * Note that the current page that we\n * are on is not necessarily the last item\n * in the locationHistory stack. As a result,\n * we cannot use locationHistory.last() here.\n */\n const ri = Object.assign({}, locationHistory.current(initialHistoryPosition, currentHistoryPosition));\n /**\n * handleHistoryChange is tabs-agnostic by design.\n * One side effect of this is that certain tabs\n * routes have extraneous/incorrect information\n * that we need to remove. To not tightly couple\n * handleHistoryChange with tabs, we let the\n * handleSetCurrentTab function. This function is\n * only called by IonTabs.\n */\n if (ri.tab !== tab) {\n ri.tab = tab;\n locationHistory.update(ri);\n }\n /**\n * lastPathname typically equals pushedByRoute\n * when navigating in a linear manner. When switching between\n * tabs, this is almost never the case.\n *\n * Example: /tabs/tabs1 --> /tabs/tab2 --> /tabs/tab1\n * The latest Tab 1 route would have the following information\n * lastPathname: '/tabs/tab2'\n * pushedByRoute: '/tabs/tab2'\n *\n * A tab cannot push another tab, so we need to set\n * pushedByRoute to `undefined`. Alternative way of thinking\n * about this: You cannot swipe to go back from Tab 1 to Tab 2.\n *\n * However, there are some instances where we do want to keep\n * the pushedByRoute. As a result, we need to ensure that\n * we only wipe the pushedByRoute state when the both of the\n * following conditions are met:\n * 1. pushedByRoute is different from lastPathname\n * 2. The tab for the pushedByRoute info is different\n * from the current route tab.\n *\n * Example of when we would not want to clear pushedByRoute:\n * /tabs/tab1 --> /tabs/tab1/child --> /tabs/tab2 --> /tabs/tab1/child\n * The latest Tab 1 Child route would have the following information:\n * lastPathname: '/tabs/tab2'\n * pushedByRoute: '/tabs/tab1\n *\n * In this case, /tabs/tab1/child should be able to swipe to go back\n * to /tabs/tab1 so we want to keep the pushedByRoute.\n */\n const pushedByRoute = locationHistory.findLastLocation(ri);\n if (ri.pushedByRoute !== ri.lastPathname && (pushedByRoute === null || pushedByRoute === void 0 ? void 0 : pushedByRoute.tab) !== tab) {\n ri.pushedByRoute = undefined;\n locationHistory.update(ri);\n }\n };\n // TODO types\n const registerHistoryChangeListener = (cb) => {\n historyChangeListeners.push(cb);\n };\n const setIncomingRouteParams = (routerAction = 'push', routerDirection = 'forward', routerAnimation, tab) => {\n incomingRouteParams = {\n routerAction,\n routerDirection,\n routerAnimation,\n tab\n };\n };\n const goBack = (routerAnimation) => {\n setIncomingRouteParams('pop', 'back', routerAnimation);\n router.back();\n };\n const goForward = (routerAnimation) => {\n setIncomingRouteParams('push', 'forward', routerAnimation);\n router.forward();\n };\n const getLeavingRouteInfo = () => {\n return locationHistory.current(initialHistoryPosition, currentHistoryPosition);\n };\n return {\n handleNavigate,\n getLeavingRouteInfo,\n handleNavigateBack,\n handleSetCurrentTab,\n getCurrentRouteInfo,\n canGoBack,\n navigate,\n resetTab,\n changeTab,\n registerHistoryChangeListener,\n goBack,\n goForward\n };\n};\n\nconst createViewStacks = (router) => {\n let viewStacks = {};\n /**\n * Returns the number of active stacks.\n * This is useful for determining if an app\n * is using linear navigation only or non-linear\n * navigation. Multiple stacks indiciate an app\n * is using non-linear navigation.\n */\n const size = () => Object.keys(viewStacks).length;\n const clear = (outletId) => {\n delete viewStacks[outletId];\n };\n const getViewStack = (outletId) => {\n return viewStacks[outletId];\n };\n const registerIonPage = (viewItem, ionPage) => {\n viewItem.ionPageElement = ionPage;\n viewItem.ionRoute = true;\n /**\n * This is needed otherwise Vue Router\n * will not consider this component mounted\n * and will not run route guards that\n * are written in the component.\n */\n viewItem.matchedRoute.instances = { default: viewItem.vueComponentRef.value };\n };\n const findViewItemByRouteInfo = (routeInfo, outletId) => {\n return findViewItemByPath(routeInfo.pathname, outletId, false);\n };\n const findLeavingViewItemByRouteInfo = (routeInfo, outletId, mustBeIonRoute = true) => {\n return findViewItemByPath(routeInfo.lastPathname, outletId, mustBeIonRoute);\n };\n const findViewItemByPathname = (pathname, outletId) => {\n return findViewItemByPath(pathname, outletId, false);\n };\n const findViewItemInStack = (path, stack) => {\n return stack.find((viewItem) => {\n if (viewItem.pathname === path) {\n return viewItem;\n }\n return undefined;\n });\n };\n const findViewItemByPath = (path, outletId, mustBeIonRoute = false) => {\n const matchView = (viewItem) => {\n if ((mustBeIonRoute && !viewItem.ionRoute) ||\n path === '') {\n return false;\n }\n const resolvedPath = router.resolve(path);\n const findMatchedRoute = resolvedPath.matched.find((matchedRoute) => matchedRoute === viewItem.matchedRoute);\n if (findMatchedRoute) {\n /**\n * /page/1 and /page/2 should not match\n * to the same view item otherwise there will\n * be not page transition and we will need to\n * explicitly clear out parameters from page 1\n * so the page 2 params are properly passed\n * to the developer's app.\n */\n const hasParameter = findMatchedRoute.path.includes(':');\n if (hasParameter && path !== viewItem.pathname) {\n return false;\n }\n return viewItem;\n }\n return undefined;\n };\n if (outletId) {\n const stack = viewStacks[outletId];\n if (!stack)\n return undefined;\n const match = (router) ? stack.find(matchView) : findViewItemInStack(path, stack);\n if (match)\n return match;\n }\n else {\n for (let outletId in viewStacks) {\n const stack = viewStacks[outletId];\n const viewItem = findViewItemInStack(path, stack);\n if (viewItem) {\n return viewItem;\n }\n }\n }\n return undefined;\n };\n const createViewItem = (outletId, vueComponent, matchedRoute, routeInfo, ionPage) => {\n return {\n id: generateId('viewItem'),\n pathname: routeInfo.pathname,\n outletId,\n matchedRoute,\n ionPageElement: ionPage,\n vueComponent,\n vueComponentRef: shallowRef(),\n ionRoute: false,\n mount: false,\n exact: routeInfo.pathname === matchedRoute.path,\n params: routeInfo.params,\n vueComponentData: {}\n };\n };\n const add = (viewItem) => {\n const { outletId } = viewItem;\n if (!viewStacks[outletId]) {\n viewStacks[outletId] = [viewItem];\n }\n else {\n viewStacks[outletId].push(viewItem);\n }\n };\n const remove = (viewItem, outletId) => {\n if (!outletId) {\n throw Error('outletId required');\n }\n const viewStack = viewStacks[outletId];\n if (viewStack) {\n viewStacks[outletId] = viewStack.filter(item => item.id !== viewItem.id);\n }\n };\n const getChildrenToRender = (outletId) => {\n const viewStack = viewStacks[outletId];\n if (viewStack) {\n const components = viewStacks[outletId].filter(v => v.mount);\n return components;\n }\n return [];\n };\n /**\n * When navigating backwards, we need to clean up and\n * leaving pages so that they are re-created if\n * we ever navigate back to them. This is especially\n * important when using router.go and stepping back\n * multiple pages at a time.\n */\n const unmountLeavingViews = (outletId, viewItem, delta = 1) => {\n const viewStack = viewStacks[outletId];\n if (!viewStack)\n return;\n const startIndex = viewStack.findIndex(v => v === viewItem);\n for (let i = startIndex + 1; i < startIndex - delta; i++) {\n const viewItem = viewStack[i];\n viewItem.mount = false;\n viewItem.ionPageElement = undefined;\n viewItem.ionRoute = false;\n viewItem.matchedRoute.instances = {};\n }\n };\n /**\n * When navigating forward it is possible for\n * developers to step forward over multiple views.\n * The intermediary views need to be remounted so that\n * swipe to go back works properly.\n * We need to account for the delta value here too because\n * we do not want to remount an unrelated view.\n * Example:\n * /home --> /page2 --> router.back() --> /page3\n * Going to /page3 would remount /page2 since we do\n * not prune /page2 from the stack. However, /page2\n * needs to remain in the stack.\n * Example:\n * /home --> /page2 --> /page3 --> router.go(-2) --> router.go(2)\n * We would end up on /page3, but users need to be able to swipe\n * to go back to /page2 and /home, so we need both pages mounted\n * in the DOM.\n */\n const mountIntermediaryViews = (outletId, viewItem, delta = 1) => {\n const viewStack = viewStacks[outletId];\n if (!viewStack)\n return;\n const startIndex = viewStack.findIndex(v => v === viewItem);\n for (let i = startIndex + 1; i < startIndex + delta; i++) {\n viewStack[i].mount = true;\n }\n };\n return {\n unmountLeavingViews,\n mountIntermediaryViews,\n clear,\n findViewItemByRouteInfo,\n findLeavingViewItemByRouteInfo,\n findViewItemByPathname,\n createViewItem,\n getChildrenToRender,\n add,\n remove,\n registerIonPage,\n getViewStack,\n size\n };\n};\n\nconst createRouter = (opts) => {\n const routerOptions = Object.assign({}, opts);\n delete routerOptions.tabsPrefix;\n const router = createRouter$1(routerOptions);\n const ionRouter = createIonRouter(opts, router);\n const viewStacks = createViewStacks(router);\n const oldInstall = router.install.bind(router);\n router.install = (app) => {\n app.provide('navManager', ionRouter);\n app.provide('viewStacks', viewStacks);\n oldInstall(app);\n };\n const oldIsReady = router.isReady.bind(router);\n router.isReady = () => oldIsReady();\n return router;\n};\nconst createWebHistory = (base) => createWebHistory$1(base);\nconst createWebHashHistory = (base) => createWebHashHistory$1(base);\nconst createMemoryHistory = (base) => createMemoryHistory$1(base);\n\nexport { createMemoryHistory, createRouter, createWebHashHistory, createWebHistory };\n//# sourceMappingURL=index.esm.js.map\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Context, setPlatformHelpers, setMode, getMode } from '@stencil/core/internal/client';\n\nclass Config {\n constructor() {\n this.m = new Map();\n }\n reset(configObj) {\n this.m = new Map(Object.entries(configObj));\n }\n get(key, fallback) {\n const value = this.m.get(key);\n return value !== undefined ? value : fallback;\n }\n getBoolean(key, fallback = false) {\n const val = this.m.get(key);\n if (val === undefined) {\n return fallback;\n }\n if (typeof val === 'string') {\n return val === 'true';\n }\n return !!val;\n }\n getNumber(key, fallback) {\n const val = parseFloat(this.m.get(key));\n return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;\n }\n set(key, value) {\n this.m.set(key, value);\n }\n}\nconst config = /*@__PURE__*/ new Config();\nconst configFromSession = (win) => {\n try {\n const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);\n return configStr !== null ? JSON.parse(configStr) : {};\n }\n catch (e) {\n return {};\n }\n};\nconst saveConfig = (win, c) => {\n try {\n win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));\n }\n catch (e) {\n return;\n }\n};\nconst configFromURL = (win) => {\n const configObj = {};\n win.location.search\n .slice(1)\n .split('&')\n .map((entry) => entry.split('='))\n .map(([key, value]) => [decodeURIComponent(key), decodeURIComponent(value)])\n .filter(([key]) => startsWith(key, IONIC_PREFIX))\n .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])\n .forEach(([key, value]) => {\n configObj[key] = value;\n });\n return configObj;\n};\nconst startsWith = (input, search) => {\n return input.substr(0, search.length) === search;\n};\nconst IONIC_PREFIX = 'ionic:';\nconst IONIC_SESSION_KEY = 'ionic-persist-config';\n\nconst getPlatforms = (win) => setupPlatforms(win);\nconst isPlatform = (winOrPlatform, platform) => {\n if (typeof winOrPlatform === 'string') {\n platform = winOrPlatform;\n winOrPlatform = undefined;\n }\n return getPlatforms(winOrPlatform).includes(platform);\n};\nconst setupPlatforms = (win = window) => {\n if (typeof win === 'undefined') {\n return [];\n }\n win.Ionic = win.Ionic || {};\n let platforms = win.Ionic.platforms;\n if (platforms == null) {\n platforms = win.Ionic.platforms = detectPlatforms(win);\n platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));\n }\n return platforms;\n};\nconst detectPlatforms = (win) => {\n const customPlatformMethods = config.get('platform');\n return Object.keys(PLATFORMS_MAP).filter((p) => {\n const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];\n return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);\n });\n};\nconst isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nconst isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nconst isIphone = (win) => testUserAgent(win, /iPhone/i);\nconst isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nconst isAndroid = (win) => testUserAgent(win, /android|sink/i);\nconst isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nconst isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\nconst isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\nconst isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isDesktop = (win) => !isMobile(win);\nconst isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nconst isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nconst isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative);\n};\nconst isElectron = (win) => testUserAgent(win, /electron/i);\nconst isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };\nconst testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nconst matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };\nconst PLATFORMS_MAP = {\n ipad: isIpad,\n iphone: isIphone,\n ios: isIOS,\n android: isAndroid,\n phablet: isPhablet,\n tablet: isTablet,\n cordova: isCordova,\n capacitor: isCapacitorNative,\n electron: isElectron,\n pwa: isPWA,\n mobile: isMobile,\n mobileweb: isMobileWeb,\n desktop: isDesktop,\n hybrid: isHybrid,\n};\n\nlet defaultMode;\nconst getIonMode = (ref) => {\n return (ref && getMode(ref)) || defaultMode;\n};\nconst initialize = (userConfig = {}) => {\n if (typeof window === 'undefined') {\n return;\n }\n const doc = window.document;\n const win = window;\n Context.config = config;\n const Ionic = (win.Ionic = win.Ionic || {});\n const platformHelpers = {};\n if (userConfig._ael) {\n platformHelpers.ael = userConfig._ael;\n }\n if (userConfig._rel) {\n platformHelpers.rel = userConfig._rel;\n }\n if (userConfig._ce) {\n platformHelpers.ce = userConfig._ce;\n }\n setPlatformHelpers(platformHelpers);\n // create the Ionic.config from raw config object (if it exists)\n // and convert Ionic.config into a ConfigApi that has a get() fn\n const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);\n config.reset(configObj);\n if (config.getBoolean('persistConfig')) {\n saveConfig(win, configObj);\n }\n // Setup platforms\n setupPlatforms(win);\n // first see if the mode was set as an attribute on \n // which could have been set by the user, or by pre-rendering\n // otherwise get the mode via config settings, and fallback to md\n Ionic.config = config;\n Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));\n config.set('mode', defaultMode);\n doc.documentElement.setAttribute('mode', defaultMode);\n doc.documentElement.classList.add(defaultMode);\n if (config.getBoolean('_testing')) {\n config.set('animated', false);\n }\n const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };\n const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);\n setMode((elm) => {\n while (elm) {\n const elmMode = elm.mode || elm.getAttribute('mode');\n if (elmMode) {\n if (isAllowedIonicModeValue(elmMode)) {\n return elmMode;\n }\n else if (isIonicElement(elm)) {\n console.warn('Invalid ionic mode: \"' + elmMode + '\", expected: \"ios\" or \"md\"');\n }\n }\n elm = elm.parentElement;\n }\n return defaultMode;\n });\n};\n\nexport { isPlatform as a, getIonMode as b, config as c, getPlatforms as g, initialize as i };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst hostContext = (selector, el) => {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nconst createColorClasses = (color, cssClassMap) => {\n return typeof color === 'string' && color.length > 0\n ? Object.assign({ 'ion-color': true, [`ion-color-${color}`]: true }, cssClassMap) : cssClassMap;\n};\nconst getClassList = (classes) => {\n if (classes !== undefined) {\n const array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter((c) => c != null)\n .map((c) => c.trim())\n .filter((c) => c !== '');\n }\n return [];\n};\nconst getClassMap = (classes) => {\n const map = {};\n getClassList(classes).forEach((c) => (map[c] = true));\n return map;\n};\nconst SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nconst openURL = async (url, ev, direction, animation) => {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n const router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return router.push(url, direction, animation);\n }\n }\n return false;\n};\n\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, readTask, writeTask, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\n\nconst rippleEffectCss = \":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}}\";\n\nconst RippleEffect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n /**\n * Sets the type of ripple-effect:\n *\n * - `bounded`: the ripple effect expands from the user's click position\n * - `unbounded`: the ripple effect expands from the center of the button and overflows the container.\n *\n * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden,\n * while surfaces for unbounded ripples should have it set to visible.\n */\n this.type = 'bounded';\n }\n /**\n * Adds the ripple effect to the parent element.\n *\n * @param x The horizontal coordinate of where the ripple should start.\n * @param y The vertical coordinate of where the ripple should start.\n */\n async addRipple(x, y) {\n return new Promise((resolve) => {\n readTask(() => {\n const rect = this.el.getBoundingClientRect();\n const width = rect.width;\n const height = rect.height;\n const hypotenuse = Math.sqrt(width * width + height * height);\n const maxDim = Math.max(height, width);\n const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING;\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const finalScale = maxRadius / initialSize;\n let posX = x - rect.left;\n let posY = y - rect.top;\n if (this.unbounded) {\n posX = width * 0.5;\n posY = height * 0.5;\n }\n const styleX = posX - initialSize * 0.5;\n const styleY = posY - initialSize * 0.5;\n const moveX = width * 0.5 - posX;\n const moveY = height * 0.5 - posY;\n writeTask(() => {\n const div = document.createElement('div');\n div.classList.add('ripple-effect');\n const style = div.style;\n style.top = styleY + 'px';\n style.left = styleX + 'px';\n style.width = style.height = initialSize + 'px';\n style.setProperty('--final-scale', `${finalScale}`);\n style.setProperty('--translate-end', `${moveX}px, ${moveY}px`);\n const container = this.el.shadowRoot || this.el;\n container.appendChild(div);\n setTimeout(() => {\n resolve(() => {\n removeRipple(div);\n });\n }, 225 + 100);\n });\n });\n });\n }\n get unbounded() {\n return this.type === 'unbounded';\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"presentation\", class: {\n [mode]: true,\n unbounded: this.unbounded,\n } }));\n }\n get el() { return this; }\n static get style() { return rippleEffectCss; }\n}, [1, \"ion-ripple-effect\", {\n \"type\": [1],\n \"addRipple\": [64]\n }]);\nconst removeRipple = (ripple) => {\n ripple.classList.add('fade-out');\n setTimeout(() => {\n ripple.remove();\n }, 200);\n};\nconst PADDING = 10;\nconst INITIAL_ORIGIN_SCALE = 0.5;\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-ripple-effect\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-ripple-effect\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, RippleEffect);\n }\n break;\n } });\n}\n\nexport { RippleEffect as R, defineCustomElement as d };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { h as hasShadowDom, i as inheritAriaAttributes } from './helpers.js';\nimport { o as openURL, c as createColorClasses, h as hostContext } from './theme.js';\nimport { d as defineCustomElement$1 } from './ripple-effect.js';\n\nconst buttonIosCss = \":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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%;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.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}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:10px;--padding-top:0;--padding-bottom:0;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:2.8em;font-size:16px;font-weight:500;letter-spacing:-0.03em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:10px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:17px;font-weight:normal;letter-spacing:0}:host(.button-large){--border-radius:12px;--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--border-radius:6px;--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:hover),:host(.button-outline:hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native::after{background:#fff;opacity:0.1}}\";\n\nconst buttonMdCss = \":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right: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%;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.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}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:0;--padding-bottom:0;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\\n background-color 15ms linear,\\n color 15ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:36px;font-size:14px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--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)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-strong){font-weight:bold}::slotted(ion-icon[slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}\";\n\nconst Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.inItem = false;\n this.inListHeader = false;\n this.inToolbar = false;\n this.inheritedAttributes = {};\n /**\n * The type of button.\n */\n this.buttonType = 'button';\n /**\n * If `true`, the user cannot interact with the button.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n /**\n * If `true`, activates a button with a heavier font weight.\n */\n this.strong = false;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.handleClick = (ev) => {\n if (this.type === 'button') {\n openURL(this.href, ev, this.routerDirection, this.routerAnimation);\n }\n else if (hasShadowDom(this.el)) {\n // this button wants to specifically submit a form\n // climb up the dom to see if we're in a
\n // and if so, then use JS to submit it\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n const fakeButton = document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n };\n this.onFocus = () => {\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.ionBlur.emit();\n };\n }\n componentWillLoad() {\n this.inToolbar = !!this.el.closest('ion-buttons');\n this.inListHeader = !!this.el.closest('ion-list-header');\n this.inItem = !!this.el.closest('ion-item') || !!this.el.closest('ion-item-divider');\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n get hasIconOnly() {\n return !!this.el.querySelector('[slot=\"icon-only\"]');\n }\n get rippleType() {\n const hasClearFill = this.fill === undefined || this.fill === 'clear';\n // If the button is in a toolbar, has a clear fill (which is the default)\n // and only has an icon we use the unbounded \"circular\" ripple effect\n if (hasClearFill && this.hasIconOnly && this.inToolbar) {\n return 'unbounded';\n }\n return 'bounded';\n }\n render() {\n const mode = getIonMode(this);\n const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes, } = this;\n const finalSize = size === undefined && this.inItem ? 'small' : size;\n const TagType = href === undefined ? 'button' : 'a';\n const attrs = TagType === 'button'\n ? { type }\n : {\n download: this.download,\n href,\n rel,\n target,\n };\n let fill = this.fill;\n if (fill === undefined) {\n fill = this.inToolbar || this.inListHeader ? 'clear' : 'solid';\n }\n return (h(Host, { onClick: this.handleClick, \"aria-disabled\": disabled ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n [buttonType]: true,\n [`${buttonType}-${expand}`]: expand !== undefined,\n [`${buttonType}-${finalSize}`]: finalSize !== undefined,\n [`${buttonType}-${shape}`]: shape !== undefined,\n [`${buttonType}-${fill}`]: true,\n [`${buttonType}-strong`]: strong,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'button-has-icon-only': hasIconOnly,\n 'button-disabled': disabled,\n 'ion-activatable': true,\n 'ion-focusable': true,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h(\"span\", { class: \"button-inner\" }, h(\"slot\", { name: \"icon-only\" }), h(\"slot\", { name: \"start\" }), h(\"slot\", null), h(\"slot\", { name: \"end\" })), mode === 'md' && h(\"ion-ripple-effect\", { type: this.rippleType }))));\n }\n get el() { return this; }\n static get style() { return {\n ios: buttonIosCss,\n md: buttonMdCss\n }; }\n}, [33, \"ion-button\", {\n \"color\": [513],\n \"buttonType\": [1025, \"button-type\"],\n \"disabled\": [516],\n \"expand\": [513],\n \"fill\": [1537],\n \"routerDirection\": [1, \"router-direction\"],\n \"routerAnimation\": [16],\n \"download\": [1],\n \"href\": [1],\n \"rel\": [1],\n \"shape\": [513],\n \"size\": [513],\n \"strong\": [4],\n \"target\": [1],\n \"type\": [1]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-button\", \"ion-ripple-effect\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Button);\n }\n break;\n case \"ion-ripple-effect\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\n\nexport { Button as B, defineCustomElement as d };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { B as Button, d as defineCustomElement$1 } from './button.js';\n\nconst IonButton = Button;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonButton, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\n\nconst buttonsIosCss = \".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}\";\n\nconst buttonsMdCss = \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\";\n\nconst Buttons = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n /**\n * If true, buttons will disappear when its\n * parent toolbar has fully collapsed if the toolbar\n * is not the first toolbar. If the toolbar is the\n * first toolbar, the buttons will be hidden and will\n * only be shown once all toolbars have fully collapsed.\n *\n * Only applies in `ios` mode with `collapse` set to\n * `true` on `ion-header`.\n *\n * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n */\n this.collapse = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n ['buttons-collapse']: this.collapse,\n } }));\n }\n static get style() { return {\n ios: buttonsIosCss,\n md: buttonsMdCss\n }; }\n}, [34, \"ion-buttons\", {\n \"collapse\": [4]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-buttons\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-buttons\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Buttons);\n }\n break;\n } });\n}\n\nexport { Buttons as B, defineCustomElement as d };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { B as Buttons, d as defineCustomElement$1 } from './buttons.js';\n\nconst IonButtons = Buttons;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonButtons, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { o as openURL, c as createColorClasses } from './theme.js';\nimport { d as defineCustomElement$2 } from './ripple-effect.js';\n\nconst cardIosCss = \":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-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:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, #666666)));margin-left:16px;margin-right:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1), -webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:14px;-webkit-box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}:host(.ion-activated){-webkit-transform:scale3d(0.97, 0.97, 1);transform:scale3d(0.97, 0.97, 1)}\";\n\nconst cardMdCss = \":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-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:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-550, #737373)));margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;border-radius:4px;font-size:14px;-webkit-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}\";\n\nconst Card = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n /**\n * If `true`, a button tag will be rendered and the card will be tappable.\n */\n this.button = false;\n /**\n * The type of the button. Only used when an `onclick` or `button` property is present.\n */\n this.type = 'button';\n /**\n * If `true`, the user cannot interact with the card.\n */\n this.disabled = false;\n /**\n * When using a router, it specifies the transition direction when navigating to\n * another page using `href`.\n */\n this.routerDirection = 'forward';\n }\n isClickable() {\n return this.href !== undefined || this.button;\n }\n renderCard(mode) {\n const clickable = this.isClickable();\n if (!clickable) {\n return [h(\"slot\", null)];\n }\n const { href, routerAnimation, routerDirection } = this;\n const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';\n const attrs = TagType === 'button'\n ? { type: this.type }\n : {\n download: this.download,\n href: this.href,\n rel: this.rel,\n target: this.target,\n };\n return (h(TagType, Object.assign({}, attrs, { class: \"card-native\", part: \"native\", disabled: this.disabled, onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation) }), h(\"slot\", null), clickable && mode === 'md' && h(\"ion-ripple-effect\", null)));\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'card-disabled': this.disabled,\n 'ion-activatable': this.isClickable(),\n }) }, this.renderCard(mode)));\n }\n static get style() { return {\n ios: cardIosCss,\n md: cardMdCss\n }; }\n}, [33, \"ion-card\", {\n \"color\": [513],\n \"button\": [4],\n \"type\": [1],\n \"disabled\": [4],\n \"download\": [1],\n \"href\": [1],\n \"rel\": [1],\n \"routerDirection\": [1, \"router-direction\"],\n \"routerAnimation\": [16],\n \"target\": [1]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-card\", \"ion-ripple-effect\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-card\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Card);\n }\n break;\n case \"ion-ripple-effect\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst IonCard = Card;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonCard, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { c as createColorClasses } from './theme.js';\n\nconst cardHeaderIosCss = \":host{--background:transparent;--color:inherit;display:block;position:relative;background:var(--background);color:var(--color)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.card-header-translucent){background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px)}}\";\n\nconst cardHeaderMdCss = \":host{--background:transparent;--color:inherit;display:block;position:relative;background:var(--background);color:var(--color)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-card-title:not(:first-child)),::slotted(ion-card-subtitle:not(:first-child)){margin-top:8px}\";\n\nconst CardHeader = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n /**\n * If `true`, the card header will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n */\n this.translucent = false;\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: createColorClasses(this.color, {\n 'card-header-translucent': this.translucent,\n 'ion-inherit-color': true,\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n static get style() { return {\n ios: cardHeaderIosCss,\n md: cardHeaderMdCss\n }; }\n}, [33, \"ion-card-header\", {\n \"color\": [513],\n \"translucent\": [4]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-card-header\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-card-header\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, CardHeader);\n }\n break;\n } });\n}\n\nconst IonCardHeader = CardHeader;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonCardHeader, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { c as createColorClasses } from './theme.js';\n\nconst cardTitleIosCss = \":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-text-color, #000);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:28px;font-weight:700;line-height:1.2}\";\n\nconst cardTitleMdCss = \":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-850, #262626);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;line-height:1.2}\";\n\nconst CardTitle = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { role: \"heading\", \"aria-level\": \"2\", class: createColorClasses(this.color, {\n 'ion-inherit-color': true,\n [mode]: true,\n }) }, h(\"slot\", null)));\n }\n static get style() { return {\n ios: cardTitleIosCss,\n md: cardTitleMdCss\n }; }\n}, [33, \"ion-card-title\", {\n \"color\": [513]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-card-title\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-card-title\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, CardTitle);\n }\n break;\n } });\n}\n\nconst IonCardTitle = CardTitle;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonCardTitle, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\n\nconst SIZE_TO_MEDIA = {\n xs: '(min-width: 0px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n};\n// Check if the window matches the media query\n// at the breakpoint passed\n// e.g. matchBreakpoint('sm') => true if screen width exceeds 576px\nconst matchBreakpoint = (breakpoint) => {\n if (breakpoint === undefined || breakpoint === '') {\n return true;\n }\n if (window.matchMedia) {\n const mediaQuery = SIZE_TO_MEDIA[breakpoint];\n return window.matchMedia(mediaQuery).matches;\n }\n return false;\n};\n\nconst colCss = \":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-right:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}}\";\n\nconst win = typeof window !== 'undefined' ? window : undefined;\n// eslint-disable-next-line @typescript-eslint/prefer-optional-chain\nconst SUPPORTS_VARS = win && !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));\nconst BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];\nconst Col = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n }\n onResize() {\n forceUpdate(this);\n }\n // Loop through all of the breakpoints to see if the media query\n // matches and grab the column value from the relevant prop if so\n getColumns(property) {\n let matched;\n for (const breakpoint of BREAKPOINTS) {\n const matches = matchBreakpoint(breakpoint);\n // Grab the value of the property, if it exists and our\n // media query matches we return the value\n const columns = this[property + breakpoint.charAt(0).toUpperCase() + breakpoint.slice(1)];\n if (matches && columns !== undefined) {\n matched = columns;\n }\n }\n // Return the last matched columns since the breakpoints\n // increase in size and we want to return the largest match\n return matched;\n }\n calculateSize() {\n const columns = this.getColumns('size');\n // If size wasn't set for any breakpoint\n // or if the user set the size without a value\n // it means we need to stick with the default and return\n // e.g. \n if (!columns || columns === '') {\n return;\n }\n // If the size is set to auto then don't calculate a size\n const colSize = columns === 'auto'\n ? 'auto'\n : // If CSS supports variables we should use the grid columns var\n SUPPORTS_VARS\n ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n : // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n (columns / 12) * 100 + '%';\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n // Called by push, pull, and offset since they use the same calculations\n calculatePosition(property, modifier) {\n const columns = this.getColumns(property);\n if (!columns) {\n return;\n }\n // If the number of columns passed are greater than 0 and less than\n // 12 we can position the column, else default to auto\n const amount = SUPPORTS_VARS\n ? // If CSS supports variables we should use the grid columns var\n `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`\n : // Convert the columns to a percentage by dividing by the total number\n // of columns (12) and then multiplying by 100\n columns > 0 && columns < 12\n ? (columns / 12) * 100 + '%'\n : 'auto';\n return {\n [modifier]: amount,\n };\n }\n calculateOffset(isRTL) {\n return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');\n }\n calculatePull(isRTL) {\n return this.calculatePosition('pull', isRTL ? 'left' : 'right');\n }\n calculatePush(isRTL) {\n return this.calculatePosition('push', isRTL ? 'right' : 'left');\n }\n render() {\n const isRTL = document.dir === 'rtl';\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h(\"slot\", null)));\n }\n static get style() { return colCss; }\n}, [1, \"ion-col\", {\n \"offset\": [1],\n \"offsetXs\": [1, \"offset-xs\"],\n \"offsetSm\": [1, \"offset-sm\"],\n \"offsetMd\": [1, \"offset-md\"],\n \"offsetLg\": [1, \"offset-lg\"],\n \"offsetXl\": [1, \"offset-xl\"],\n \"pull\": [1],\n \"pullXs\": [1, \"pull-xs\"],\n \"pullSm\": [1, \"pull-sm\"],\n \"pullMd\": [1, \"pull-md\"],\n \"pullLg\": [1, \"pull-lg\"],\n \"pullXl\": [1, \"pull-xl\"],\n \"push\": [1],\n \"pushXs\": [1, \"push-xs\"],\n \"pushSm\": [1, \"push-sm\"],\n \"pushMd\": [1, \"push-md\"],\n \"pushLg\": [1, \"push-lg\"],\n \"pushXl\": [1, \"push-xl\"],\n \"size\": [1],\n \"sizeXs\": [1, \"size-xs\"],\n \"sizeSm\": [1, \"size-sm\"],\n \"sizeMd\": [1, \"size-md\"],\n \"sizeLg\": [1, \"size-lg\"],\n \"sizeXl\": [1, \"size-xl\"]\n }, [[9, \"resize\", \"onResize\"]]]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-col\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-col\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Col);\n }\n break;\n } });\n}\n\nconst IonCol = Col;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonCol, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, readTask, forceUpdate, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode, a as isPlatform } from './ionic-global.js';\nimport { c as componentOnReady } from './helpers.js';\nimport { i as isRTL } from './dir.js';\nimport { c as createColorClasses, h as hostContext } from './theme.js';\n\nconst contentCss = \":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}\";\n\nconst Content = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n this.ionScroll = createEvent(this, \"ionScroll\", 7);\n this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n this.isScrolling = false;\n this.lastScroll = 0;\n this.queued = false;\n this.cTop = -1;\n this.cBottom = -1;\n this.isMainContent = true;\n // Detail is used in a hot loop in the scroll event, by allocating it here\n // V8 will be able to inline any read/write to it since it's a monomorphic class.\n // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n this.detail = {\n scrollTop: 0,\n scrollLeft: 0,\n type: 'scroll',\n event: undefined,\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n data: undefined,\n isScrolling: true,\n };\n /**\n * If `true`, the content will scroll behind the headers\n * and footers. This effect can easily be seen by setting the toolbar\n * to transparent.\n */\n this.fullscreen = false;\n /**\n * If you want to enable the content scrolling in the X axis, set this property to `true`.\n */\n this.scrollX = false;\n /**\n * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n */\n this.scrollY = true;\n /**\n * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n * and start listening from (ionScroll), set this property to `true`.\n */\n this.scrollEvents = false;\n }\n connectedCallback() {\n this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;\n }\n disconnectedCallback() {\n this.onScrollEnd();\n }\n onAppLoad() {\n this.resize();\n }\n shouldForceOverscroll() {\n const { forceOverscroll } = this;\n const mode = getIonMode(this);\n return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;\n }\n resize() {\n if (this.fullscreen) {\n readTask(() => this.readDimensions());\n }\n else if (this.cTop !== 0 || this.cBottom !== 0) {\n this.cTop = this.cBottom = 0;\n forceUpdate(this);\n }\n }\n readDimensions() {\n const page = getPageElement(this.el);\n const top = Math.max(this.el.offsetTop, 0);\n const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n const dirty = top !== this.cTop || bottom !== this.cBottom;\n if (dirty) {\n this.cTop = top;\n this.cBottom = bottom;\n forceUpdate(this);\n }\n }\n onScroll(ev) {\n const timeStamp = Date.now();\n const shouldStart = !this.isScrolling;\n this.lastScroll = timeStamp;\n if (shouldStart) {\n this.onScrollStart();\n }\n if (!this.queued && this.scrollEvents) {\n this.queued = true;\n readTask((ts) => {\n this.queued = false;\n this.detail.event = ev;\n updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);\n this.ionScroll.emit(this.detail);\n });\n }\n }\n /**\n * Get the element where the actual scrolling takes place.\n * This element can be used to subscribe to `scroll` events or manually modify\n * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n *\n * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n * and `scrollToPoint()` to scroll the content into a certain point.\n */\n async getScrollElement() {\n /**\n * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),\n * scrollEl won't be defined yet with the custom elements build, so wait for it to load in.\n */\n if (!this.scrollEl) {\n await new Promise((resolve) => componentOnReady(this.el, resolve));\n }\n return Promise.resolve(this.scrollEl);\n }\n /**\n * Scroll to the top of the component.\n *\n * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n */\n scrollToTop(duration = 0) {\n return this.scrollToPoint(undefined, 0, duration);\n }\n /**\n * Scroll to the bottom of the component.\n *\n * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n */\n async scrollToBottom(duration = 0) {\n const scrollEl = await this.getScrollElement();\n const y = scrollEl.scrollHeight - scrollEl.clientHeight;\n return this.scrollToPoint(undefined, y, duration);\n }\n /**\n * Scroll by a specified X/Y distance in the component.\n *\n * @param x The amount to scroll by on the horizontal axis.\n * @param y The amount to scroll by on the vertical axis.\n * @param duration The amount of time to take scrolling by that amount.\n */\n async scrollByPoint(x, y, duration) {\n const scrollEl = await this.getScrollElement();\n return this.scrollToPoint(x + scrollEl.scrollLeft, y + scrollEl.scrollTop, duration);\n }\n /**\n * Scroll to a specified X/Y location in the component.\n *\n * @param x The point to scroll to on the horizontal axis.\n * @param y The point to scroll to on the vertical axis.\n * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n */\n async scrollToPoint(x, y, duration = 0) {\n const el = await this.getScrollElement();\n if (duration < 32) {\n if (y != null) {\n el.scrollTop = y;\n }\n if (x != null) {\n el.scrollLeft = x;\n }\n return;\n }\n let resolve;\n let startTime = 0;\n const promise = new Promise((r) => (resolve = r));\n const fromY = el.scrollTop;\n const fromX = el.scrollLeft;\n const deltaY = y != null ? y - fromY : 0;\n const deltaX = x != null ? x - fromX : 0;\n // scroll loop\n const step = (timeStamp) => {\n const linearTime = Math.min(1, (timeStamp - startTime) / duration) - 1;\n const easedT = Math.pow(linearTime, 3) + 1;\n if (deltaY !== 0) {\n el.scrollTop = Math.floor(easedT * deltaY + fromY);\n }\n if (deltaX !== 0) {\n el.scrollLeft = Math.floor(easedT * deltaX + fromX);\n }\n if (easedT < 1) {\n // do not use DomController here\n // must use nativeRaf in order to fire in the next frame\n // TODO: remove as any\n requestAnimationFrame(step);\n }\n else {\n resolve();\n }\n };\n // chill out for a frame first\n requestAnimationFrame((ts) => {\n startTime = ts;\n step(ts);\n });\n return promise;\n }\n onScrollStart() {\n this.isScrolling = true;\n this.ionScrollStart.emit({\n isScrolling: true,\n });\n if (this.watchDog) {\n clearInterval(this.watchDog);\n }\n // watchdog\n this.watchDog = setInterval(() => {\n if (this.lastScroll < Date.now() - 120) {\n this.onScrollEnd();\n }\n }, 100);\n }\n onScrollEnd() {\n clearInterval(this.watchDog);\n this.watchDog = null;\n if (this.isScrolling) {\n this.isScrolling = false;\n this.ionScrollEnd.emit({\n isScrolling: false,\n });\n }\n }\n render() {\n const { isMainContent, scrollX, scrollY, el } = this;\n const rtl = isRTL(el) ? 'rtl' : 'ltr';\n const mode = getIonMode(this);\n const forceOverscroll = this.shouldForceOverscroll();\n const transitionShadow = mode === 'ios';\n const TagType = isMainContent ? 'main' : 'div';\n this.resize();\n return (h(Host, { class: createColorClasses(this.color, {\n [mode]: true,\n 'content-sizing': hostContext('ion-popover', this.el),\n overscroll: forceOverscroll,\n [`content-${rtl}`]: true,\n }), style: {\n '--offset-top': `${this.cTop}px`,\n '--offset-bottom': `${this.cBottom}px`,\n } }, h(\"div\", { id: \"background-content\", part: \"background\" }), h(TagType, { class: {\n 'inner-scroll': true,\n 'scroll-x': scrollX,\n 'scroll-y': scrollY,\n overscroll: (scrollX || scrollY) && forceOverscroll,\n }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: \"scroll\" }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n }\n get el() { return this; }\n static get style() { return contentCss; }\n}, [1, \"ion-content\", {\n \"color\": [513],\n \"fullscreen\": [4],\n \"forceOverscroll\": [1028, \"force-overscroll\"],\n \"scrollX\": [4, \"scroll-x\"],\n \"scrollY\": [4, \"scroll-y\"],\n \"scrollEvents\": [4, \"scroll-events\"],\n \"getScrollElement\": [64],\n \"scrollToTop\": [64],\n \"scrollToBottom\": [64],\n \"scrollByPoint\": [64],\n \"scrollToPoint\": [64]\n }, [[8, \"appload\", \"onAppLoad\"]]]);\nconst getParentElement = (el) => {\n var _a;\n if (el.parentElement) {\n // normal element with a parent element\n return el.parentElement;\n }\n if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {\n // shadow dom's document fragment\n return el.parentNode.host;\n }\n return null;\n};\nconst getPageElement = (el) => {\n const tabs = el.closest('ion-tabs');\n if (tabs) {\n return tabs;\n }\n /**\n * If we're in a popover, we need to use its wrapper so we can account for space\n * between the popover and the edges of the screen. But if the popover contains\n * its own page element, we should use that instead.\n */\n const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');\n if (page) {\n return page;\n }\n return getParentElement(el);\n};\n// ******** DOM READ ****************\nconst updateScrollDetail = (detail, el, timestamp, shouldStart) => {\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n const currentX = el.scrollLeft;\n const currentY = el.scrollTop;\n const timeDelta = timestamp - prevT;\n if (shouldStart) {\n // remember the start positions\n detail.startTime = timestamp;\n detail.startX = currentX;\n detail.startY = currentY;\n detail.velocityX = detail.velocityY = 0;\n }\n detail.currentTime = timestamp;\n detail.currentX = detail.scrollLeft = currentX;\n detail.currentY = detail.scrollTop = currentY;\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n};\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-content\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-content\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Content);\n }\n break;\n } });\n}\n\nconst IonContent = Content;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonContent, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { readTask, writeTask, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { g as getScrollElement, f as findIonContent, p as printIonContentErrorMsg } from './index8.js';\nimport { j as clamp, i as inheritAriaAttributes } from './helpers.js';\nimport { h as hostContext } from './theme.js';\n\nconst TRANSITION = 'all 0.2s ease-in-out';\nconst cloneElement = (tagName) => {\n const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n const clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nconst createHeaderIndex = (headerEl) => {\n if (!headerEl) {\n return;\n }\n const toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map((toolbar) => {\n const ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl,\n innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || [],\n };\n }) || [],\n };\n};\nconst handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const scale = clamp(1, 1 + -scrollTop / 500, 1.1);\n // Native refresher should not cause titles to scale\n const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n if (nativeRefresher === null) {\n writeTask(() => {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n }\n });\n};\nconst setToolbarBackgroundOpacity = (headerEl, opacity) => {\n /**\n * Fading in the backdrop opacity\n * should happen after the large title\n * has collapsed, so it is handled\n * by handleHeaderFade()\n */\n if (headerEl.collapse === 'fade') {\n return;\n }\n if (opacity === undefined) {\n headerEl.style.removeProperty('--opacity-scale');\n }\n else {\n headerEl.style.setProperty('--opacity-scale', opacity.toString());\n }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {\n if (!ev[0].isIntersecting) {\n return;\n }\n /**\n * There is a bug in Safari where overflow scrolling on a non-body element\n * does not always reset the scrollTop position to 0 when letting go. It will\n * set to 1 once the rubber band effect has ended. This causes the background to\n * appear slightly on certain app setups.\n *\n * Additionally, we check if user is rubber banding (scrolling is negative)\n * as this can mean they are using pull to refresh. Once the refresher starts,\n * the content is transformed which can cause the intersection observer to erroneously\n * fire here as well.\n */\n const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nconst handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex, scrollEl) => {\n writeTask(() => {\n const scrollTop = scrollEl.scrollTop;\n handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);\n const event = ev[0];\n const intersection = event.intersectionRect;\n const intersectionArea = intersection.width * intersection.height;\n const rootArea = event.rootBounds.width * event.rootBounds.height;\n const isPageHidden = intersectionArea === 0 && rootArea === 0;\n const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection && scrollTop > 0) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el);\n }\n }\n });\n};\nconst setHeaderActive = (headerIndex, active = true) => {\n if (active) {\n headerIndex.el.classList.remove('header-collapse-condense-inactive');\n }\n else {\n headerIndex.el.classList.add('header-collapse-condense-inactive');\n }\n};\nconst scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n toolbars.forEach((toolbar) => {\n const ionTitle = toolbar.ionTitleEl;\n const titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transition = transition ? TRANSITION : '';\n titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n });\n};\nconst handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const baseElHeight = baseEl.clientHeight;\n const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;\n /**\n * If we are using fade header with a condense\n * header, then the toolbar backgrounds should\n * not begin to fade in until the condense\n * header has fully collapsed.\n *\n * Additionally, the main content should not\n * overflow out of the container until the\n * condense header has fully collapsed. When\n * using just the condense header the content\n * should overflow out of the container.\n */\n if (condenseHeader !== null && scrollTop < fadeStart) {\n baseEl.style.setProperty('--opacity-scale', '0');\n scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);\n return;\n }\n const distanceToStart = scrollTop - fadeStart;\n const fadeDuration = 10;\n const scale = clamp(0, distanceToStart / fadeDuration, 1);\n writeTask(() => {\n scrollEl.style.removeProperty('clip-path');\n baseEl.style.setProperty('--opacity-scale', scale.toString());\n });\n });\n};\n\nconst headerIosCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}\";\n\nconst headerMdCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}\";\n\nconst Header = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.inheritedAttributes = {};\n /**\n * If `true`, the header will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n *\n * Note: In order to scroll content behind the header, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n this.setupFadeHeader = async (contentEl, condenseHeader) => {\n const scrollEl = (this.scrollEl = await getScrollElement(contentEl));\n /**\n * Handle fading of toolbars on scroll\n */\n this.contentScrollCallback = () => {\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n scrollEl.addEventListener('scroll', this.contentScrollCallback);\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n componentDidLoad() {\n this.checkCollapsibleHeader();\n }\n componentDidUpdate() {\n this.checkCollapsibleHeader();\n }\n disconnectedCallback() {\n this.destroyCollapsibleHeader();\n }\n async checkCollapsibleHeader() {\n const mode = getIonMode(this);\n if (mode !== 'ios') {\n return;\n }\n const { collapse } = this;\n const hasCondense = collapse === 'condense';\n const hasFade = collapse === 'fade';\n this.destroyCollapsibleHeader();\n if (hasCondense) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n // Cloned elements are always needed in iOS transition\n writeTask(() => {\n const title = cloneElement('ion-title');\n title.size = 'large';\n cloneElement('ion-back-button');\n });\n await this.setupCondenseHeader(contentEl, pageEl);\n }\n else if (hasFade) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n if (!contentEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n const condenseHeader = contentEl.querySelector('ion-header[collapse=\"condense\"]');\n await this.setupFadeHeader(contentEl, condenseHeader);\n }\n }\n destroyCollapsibleHeader() {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n if (this.collapsibleMainHeader) {\n this.collapsibleMainHeader.classList.remove('header-collapse-main');\n this.collapsibleMainHeader = undefined;\n }\n }\n async setupCondenseHeader(contentEl, pageEl) {\n if (!contentEl || !pageEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n if (typeof IntersectionObserver === 'undefined') {\n return;\n }\n this.scrollEl = await getScrollElement(contentEl);\n const headers = pageEl.querySelectorAll('ion-header');\n this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n if (!this.collapsibleMainHeader) {\n return;\n }\n const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n const scrollHeaderIndex = createHeaderIndex(this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n const toolbarIntersection = (ev) => {\n handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);\n };\n this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {\n root: contentEl,\n threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n });\n this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n this.contentScrollCallback = () => {\n handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);\n };\n this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n writeTask(() => {\n if (this.collapsibleMainHeader !== undefined) {\n this.collapsibleMainHeader.classList.add('header-collapse-main');\n }\n });\n }\n render() {\n const { translucent, inheritedAttributes } = this;\n const mode = getIonMode(this);\n const collapse = this.collapse || 'none';\n // banner role must be at top level, so remove role if inside a menu\n const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';\n return (h(Host, Object.assign({ role: roleType, class: {\n [mode]: true,\n // Used internally for styling\n [`header-${mode}`]: true,\n [`header-translucent`]: this.translucent,\n [`header-collapse-${collapse}`]: true,\n [`header-translucent-${mode}`]: this.translucent,\n } }, inheritedAttributes), mode === 'ios' && translucent && h(\"div\", { class: \"header-background\" }), h(\"slot\", null)));\n }\n get el() { return this; }\n static get style() { return {\n ios: headerIosCss,\n md: headerMdCss\n }; }\n}, [36, \"ion-header\", {\n \"collapse\": [1],\n \"translucent\": [4]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-header\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-header\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Header);\n }\n break;\n } });\n}\n\nconst IonHeader = Header;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonHeader, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { k as inheritAttributes } from './helpers.js';\n\nconst imgCss = \":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}\";\n\nconst Img = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.ionImgWillLoad = createEvent(this, \"ionImgWillLoad\", 7);\n this.ionImgDidLoad = createEvent(this, \"ionImgDidLoad\", 7);\n this.ionError = createEvent(this, \"ionError\", 7);\n this.inheritedAttributes = {};\n this.onLoad = () => {\n this.ionImgDidLoad.emit();\n };\n this.onError = () => {\n this.ionError.emit();\n };\n }\n srcChanged() {\n this.addIO();\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['draggable']);\n }\n componentDidLoad() {\n this.addIO();\n }\n addIO() {\n if (this.src === undefined) {\n return;\n }\n if (typeof window !== 'undefined' &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'isIntersecting' in window.IntersectionObserverEntry.prototype) {\n this.removeIO();\n this.io = new IntersectionObserver((data) => {\n /**\n * On slower devices, it is possible for an intersection observer entry to contain multiple\n * objects in the array. This happens when quickly scrolling an image into view and then out of\n * view. In this case, the last object represents the current state of the component.\n */\n if (data[data.length - 1].isIntersecting) {\n this.load();\n this.removeIO();\n }\n });\n this.io.observe(this.el);\n }\n else {\n // fall back to setTimeout for Safari and IE\n setTimeout(() => this.load(), 200);\n }\n }\n load() {\n this.loadError = this.onError;\n this.loadSrc = this.src;\n this.ionImgWillLoad.emit();\n }\n removeIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n render() {\n const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;\n const { draggable } = inheritedAttributes;\n return (h(Host, { class: getIonMode(this) }, h(\"img\", { decoding: \"async\", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: \"image\", draggable: isDraggable(draggable) })));\n }\n get el() { return this; }\n static get watchers() { return {\n \"src\": [\"srcChanged\"]\n }; }\n static get style() { return imgCss; }\n}, [1, \"ion-img\", {\n \"alt\": [1],\n \"src\": [1],\n \"loadSrc\": [32],\n \"loadError\": [32]\n }]);\n/**\n * Enumerated strings must be set as booleans\n * as Stencil will not render 'false' in the DOM.\n * The need to explicitly render draggable=\"true\"\n * as only certain elements are draggable by default.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/draggable.\n */\nconst isDraggable = (draggable) => {\n switch (draggable) {\n case 'true':\n return true;\n case 'false':\n return false;\n default:\n return undefined;\n }\n};\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-img\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-img\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Img);\n }\n break;\n } });\n}\n\nconst IonImg = Img;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonImg, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, writeTask, readTask, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index8.js';\n\nconst infiniteScrollCss = \"ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}\";\n\nconst InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionInfinite = createEvent(this, \"ionInfinite\", 7);\n this.thrPx = 0;\n this.thrPc = 0;\n this.didFire = false;\n this.isBusy = false;\n this.isLoading = false;\n /**\n * The threshold distance from the bottom\n * of the content to call the `infinite` output event when scrolled.\n * The threshold value can be either a percent, or\n * in pixels. For example, use the value of `10%` for the `infinite`\n * output event to get called when the user has scrolled 10%\n * from the bottom of the page. Use the value `100px` when the\n * scroll is within 100 pixels from the bottom of the page.\n */\n this.threshold = '15%';\n /**\n * If `true`, the infinite scroll will be hidden and scroll event listeners\n * will be removed.\n *\n * Set this to true to disable the infinite scroll from actively\n * trying to receive new data while scrolling. This is useful\n * when it is known that there is no more data that can be added, and\n * the infinite scroll is no longer needed.\n */\n this.disabled = false;\n /**\n * The position of the infinite scroll element.\n * The value can be either `top` or `bottom`.\n */\n this.position = 'bottom';\n this.onScroll = () => {\n const scrollEl = this.scrollEl;\n if (!scrollEl || !this.canStart()) {\n return 1;\n }\n const infiniteHeight = this.el.offsetHeight;\n if (infiniteHeight === 0) {\n // if there is no height of this element then do nothing\n return 2;\n }\n const scrollTop = scrollEl.scrollTop;\n const scrollHeight = scrollEl.scrollHeight;\n const height = scrollEl.offsetHeight;\n const threshold = this.thrPc !== 0 ? height * this.thrPc : this.thrPx;\n const distanceFromInfinite = this.position === 'bottom'\n ? scrollHeight - infiniteHeight - scrollTop - threshold - height\n : scrollTop - infiniteHeight - threshold;\n if (distanceFromInfinite < 0) {\n if (!this.didFire) {\n this.isLoading = true;\n this.didFire = true;\n this.ionInfinite.emit();\n return 3;\n }\n }\n else {\n this.didFire = false;\n }\n return 4;\n };\n }\n thresholdChanged() {\n const val = this.threshold;\n if (val.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = parseFloat(val) / 100;\n }\n else {\n this.thrPx = parseFloat(val);\n this.thrPc = 0;\n }\n }\n disabledChanged() {\n const disabled = this.disabled;\n if (disabled) {\n this.isLoading = false;\n this.isBusy = false;\n }\n this.enableScrollEvents(!disabled);\n }\n async connectedCallback() {\n const contentEl = findClosestIonContent(this.el);\n if (!contentEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n this.scrollEl = await getScrollElement(contentEl);\n this.thresholdChanged();\n this.disabledChanged();\n if (this.position === 'top') {\n writeTask(() => {\n if (this.scrollEl) {\n this.scrollEl.scrollTop = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n }\n });\n }\n }\n disconnectedCallback() {\n this.enableScrollEvents(false);\n this.scrollEl = undefined;\n }\n /**\n * Call `complete()` within the `ionInfinite` output event handler when\n * your async operation has completed. For example, the `loading`\n * state is while the app is performing an asynchronous operation,\n * such as receiving more data from an AJAX request to add more items\n * to a data list. Once the data has been received and UI updated, you\n * then call this method to signify that the loading has completed.\n * This method will change the infinite scroll's state from `loading`\n * to `enabled`.\n */\n async complete() {\n const scrollEl = this.scrollEl;\n if (!this.isLoading || !scrollEl) {\n return;\n }\n this.isLoading = false;\n if (this.position === 'top') {\n /**\n * New content is being added at the top, but the scrollTop position stays the same,\n * which causes a scroll jump visually. This algorithm makes sure to prevent this.\n * (Frame 1)\n * - complete() is called, but the UI hasn't had time to update yet.\n * - Save the current content dimensions.\n * - Wait for the next frame using _dom.read, so the UI will be updated.\n * (Frame 2)\n * - Read the new content dimensions.\n * - Calculate the height difference and the new scroll position.\n * - Delay the scroll position change until other possible dom reads are done using _dom.write to be performant.\n * (Still frame 2, if I'm correct)\n * - Change the scroll position (= visually maintain the scroll position).\n * - Change the state to re-enable the InfiniteScroll.\n * - This should be after changing the scroll position, or it could\n * cause the InfiniteScroll to be triggered again immediately.\n * (Frame 3)\n * Done.\n */\n this.isBusy = true;\n // ******** DOM READ ****************\n // Save the current content dimensions before the UI updates\n const prev = scrollEl.scrollHeight - scrollEl.scrollTop;\n // ******** DOM READ ****************\n requestAnimationFrame(() => {\n readTask(() => {\n // UI has updated, save the new content dimensions\n const scrollHeight = scrollEl.scrollHeight;\n // New content was added on top, so the scroll position should be changed immediately to prevent it from jumping around\n const newScrollTop = scrollHeight - prev;\n // ******** DOM WRITE ****************\n requestAnimationFrame(() => {\n writeTask(() => {\n scrollEl.scrollTop = newScrollTop;\n this.isBusy = false;\n });\n });\n });\n });\n }\n }\n canStart() {\n return !this.disabled && !this.isBusy && !!this.scrollEl && !this.isLoading;\n }\n enableScrollEvents(shouldListen) {\n if (this.scrollEl) {\n if (shouldListen) {\n this.scrollEl.addEventListener('scroll', this.onScroll);\n }\n else {\n this.scrollEl.removeEventListener('scroll', this.onScroll);\n }\n }\n }\n render() {\n const mode = getIonMode(this);\n const disabled = this.disabled;\n return (h(Host, { class: {\n [mode]: true,\n 'infinite-scroll-loading': this.isLoading,\n 'infinite-scroll-enabled': !disabled,\n } }));\n }\n get el() { return this; }\n static get watchers() { return {\n \"threshold\": [\"thresholdChanged\"],\n \"disabled\": [\"disabledChanged\"]\n }; }\n static get style() { return infiniteScrollCss; }\n}, [0, \"ion-infinite-scroll\", {\n \"threshold\": [1],\n \"disabled\": [4],\n \"position\": [1],\n \"isLoading\": [32],\n \"complete\": [64]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-infinite-scroll\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-infinite-scroll\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, InfiniteScroll);\n }\n break;\n } });\n}\n\nconst IonInfiniteScroll = InfiniteScroll;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonInfiniteScroll, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/**\n * Does a simple sanitization of all elements\n * in an untrusted string\n */\nconst sanitizeDOMString = (untrustedString) => {\n try {\n if (untrustedString instanceof IonicSafeString) {\n return untrustedString.value;\n }\n if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {\n return untrustedString;\n }\n /**\n * Create a document fragment\n * separate from the main DOM,\n * create a div to do our work in\n */\n const documentFragment = document.createDocumentFragment();\n const workingDiv = document.createElement('div');\n documentFragment.appendChild(workingDiv);\n workingDiv.innerHTML = untrustedString;\n /**\n * Remove any elements\n * that are blocked\n */\n blockedTags.forEach((blockedTag) => {\n const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);\n for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {\n const element = getElementsToRemove[elementIndex];\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n else {\n documentFragment.removeChild(element);\n }\n /**\n * We still need to sanitize\n * the children of this element\n * as they are left behind\n */\n const childElements = getElementChildren(element);\n /* eslint-disable-next-line */\n for (let childIndex = 0; childIndex < childElements.length; childIndex++) {\n sanitizeElement(childElements[childIndex]);\n }\n }\n });\n /**\n * Go through remaining elements and remove\n * non-allowed attribs\n */\n // IE does not support .children on document fragments, only .childNodes\n const dfChildren = getElementChildren(documentFragment);\n /* eslint-disable-next-line */\n for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {\n sanitizeElement(dfChildren[childIndex]);\n }\n // Append document fragment to div\n const fragmentDiv = document.createElement('div');\n fragmentDiv.appendChild(documentFragment);\n // First child is always the div we did our work in\n const getInnerDiv = fragmentDiv.querySelector('div');\n return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;\n }\n catch (err) {\n console.error(err);\n return '';\n }\n};\n/**\n * Clean up current element based on allowed attributes\n * and then recursively dig down into any child elements to\n * clean those up as well\n */\nconst sanitizeElement = (element) => {\n // IE uses childNodes, so ignore nodes that are not elements\n if (element.nodeType && element.nodeType !== 1) {\n return;\n }\n for (let i = element.attributes.length - 1; i >= 0; i--) {\n const attribute = element.attributes.item(i);\n const attributeName = attribute.name;\n // remove non-allowed attribs\n if (!allowedAttributes.includes(attributeName.toLowerCase())) {\n element.removeAttribute(attributeName);\n continue;\n }\n // clean up any allowed attribs\n // that attempt to do any JS funny-business\n const attributeValue = attribute.value;\n /* eslint-disable-next-line */\n if (attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) {\n element.removeAttribute(attributeName);\n }\n }\n /**\n * Sanitize any nested children\n */\n const childElements = getElementChildren(element);\n /* eslint-disable-next-line */\n for (let i = 0; i < childElements.length; i++) {\n sanitizeElement(childElements[i]);\n }\n};\n/**\n * IE doesn't always support .children\n * so we revert to .childNodes instead\n */\nconst getElementChildren = (el) => {\n return el.children != null ? el.children : el.childNodes;\n};\nconst isSanitizerEnabled = () => {\n var _a;\n const win = window;\n const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;\n if (config) {\n if (config.get) {\n return config.get('sanitizerEnabled', true);\n }\n else {\n return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;\n }\n }\n return true;\n};\nconst allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];\nconst blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];\nclass IonicSafeString {\n constructor(value) {\n this.value = value;\n }\n}\n\nexport { IonicSafeString as I, sanitizeDOMString as s };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { c as config, b as getIonMode } from './ionic-global.js';\nimport { c as createColorClasses } from './theme.js';\n\nconst spinners = {\n bubbles: {\n dur: 1000,\n circles: 9,\n fn: (dur, index, total) => {\n const animationDelay = `${(dur * index) / total - dur}ms`;\n const angle = (2 * Math.PI * index) / total;\n return {\n r: 5,\n style: {\n top: `${9 * Math.sin(angle)}px`,\n left: `${9 * Math.cos(angle)}px`,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n circles: {\n dur: 1000,\n circles: 8,\n fn: (dur, index, total) => {\n const step = index / total;\n const animationDelay = `${dur * step - dur}ms`;\n const angle = 2 * Math.PI * step;\n return {\n r: 5,\n style: {\n top: `${9 * Math.sin(angle)}px`,\n left: `${9 * Math.cos(angle)}px`,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n circular: {\n dur: 1400,\n elmDuration: true,\n circles: 1,\n fn: () => {\n return {\n r: 20,\n cx: 48,\n cy: 48,\n fill: 'none',\n viewBox: '24 24 48 48',\n transform: 'translate(0,0)',\n style: {},\n };\n },\n },\n crescent: {\n dur: 750,\n circles: 1,\n fn: () => {\n return {\n r: 26,\n style: {},\n };\n },\n },\n dots: {\n dur: 750,\n circles: 3,\n fn: (_, index) => {\n const animationDelay = -(110 * index) + 'ms';\n return {\n r: 6,\n style: {\n left: `${9 - 9 * index}px`,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n lines: {\n dur: 1000,\n lines: 8,\n fn: (dur, index, total) => {\n const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;\n const animationDelay = `${(dur * index) / total - dur}ms`;\n return {\n y1: 14,\n y2: 26,\n style: {\n transform: transform,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n 'lines-small': {\n dur: 1000,\n lines: 8,\n fn: (dur, index, total) => {\n const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;\n const animationDelay = `${(dur * index) / total - dur}ms`;\n return {\n y1: 12,\n y2: 20,\n style: {\n transform: transform,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n 'lines-sharp': {\n dur: 1000,\n lines: 12,\n fn: (dur, index, total) => {\n const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;\n const animationDelay = `${(dur * index) / total - dur}ms`;\n return {\n y1: 17,\n y2: 29,\n style: {\n transform: transform,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n 'lines-sharp-small': {\n dur: 1000,\n lines: 12,\n fn: (dur, index, total) => {\n const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;\n const animationDelay = `${(dur * index) / total - dur}ms`;\n return {\n y1: 12,\n y2: 20,\n style: {\n transform: transform,\n 'animation-delay': animationDelay,\n },\n };\n },\n },\n};\nconst SPINNERS = spinners;\n\nconst spinnerCss = \":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}[dir=rtl] svg,:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}\";\n\nconst Spinner = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n /**\n * If `true`, the spinner's animation will be paused.\n */\n this.paused = false;\n }\n getName() {\n const spinnerName = this.name || config.get('spinner');\n const mode = getIonMode(this);\n if (spinnerName) {\n return spinnerName;\n }\n return mode === 'ios' ? 'lines' : 'circular';\n }\n render() {\n const self = this;\n const mode = getIonMode(self);\n const spinnerName = self.getName();\n const spinner = SPINNERS[spinnerName] || SPINNERS['lines'];\n const duration = typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur;\n const svgs = [];\n if (spinner.circles !== undefined) {\n for (let i = 0; i < spinner.circles; i++) {\n svgs.push(buildCircle(spinner, duration, i, spinner.circles));\n }\n }\n else if (spinner.lines !== undefined) {\n for (let i = 0; i < spinner.lines; i++) {\n svgs.push(buildLine(spinner, duration, i, spinner.lines));\n }\n }\n return (h(Host, { class: createColorClasses(self.color, {\n [mode]: true,\n [`spinner-${spinnerName}`]: true,\n 'spinner-paused': self.paused || config.getBoolean('_testing'),\n }), role: \"progressbar\", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));\n }\n static get style() { return spinnerCss; }\n}, [1, \"ion-spinner\", {\n \"color\": [513],\n \"duration\": [2],\n \"name\": [1],\n \"paused\": [4]\n }]);\nconst buildCircle = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"circle\", { transform: data.transform || 'translate(32,32)', cx: data.cx, cy: data.cy, r: data.r, style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} })));\n};\nconst buildLine = (spinner, duration, index, total) => {\n const data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + 'ms';\n return (h(\"svg\", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h(\"line\", { transform: \"translate(32,32)\", y1: data.y1, y2: data.y2 })));\n};\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-spinner\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-spinner\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Spinner);\n }\n break;\n } });\n}\n\nexport { SPINNERS as S, Spinner as a, defineCustomElement as d };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode, c as config } from './ionic-global.js';\nimport { s as sanitizeDOMString } from './index3.js';\nimport { d as defineCustomElement$2 } from './spinner.js';\n\nconst infiniteScrollContentIosCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst infiniteScrollContentMdCss = \"ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}\";\n\nconst InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n componentDidLoad() {\n if (this.loadingSpinner === undefined) {\n const mode = getIonMode(this);\n this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'crescent'));\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`infinite-scroll-content-${mode}`]: true,\n } }, h(\"div\", { class: \"infinite-loading\" }, this.loadingSpinner && (h(\"div\", { class: \"infinite-loading-spinner\" }, h(\"ion-spinner\", { name: this.loadingSpinner }))), this.loadingText && h(\"div\", { class: \"infinite-loading-text\", innerHTML: sanitizeDOMString(this.loadingText) }))));\n }\n static get style() { return {\n ios: infiniteScrollContentIosCss,\n md: infiniteScrollContentMdCss\n }; }\n}, [32, \"ion-infinite-scroll-content\", {\n \"loadingSpinner\": [1025, \"loading-spinner\"],\n \"loadingText\": [1, \"loading-text\"]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-infinite-scroll-content\", \"ion-spinner\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-infinite-scroll-content\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, InfiniteScrollContent);\n }\n break;\n case \"ion-spinner\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst IonInfiniteScrollContent = InfiniteScrollContent;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonInfiniteScrollContent, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { proxyCustomElement, HTMLElement, createEvent, Build, h, Host } from '@stencil/core/internal/client';\nimport { b as getIonMode } from './ionic-global.js';\nimport { l as debounceEvent, i as inheritAriaAttributes, k as inheritAttributes, m as findItemLabel } from './helpers.js';\nimport { c as createColorClasses } from './theme.js';\n\nconst inputIosCss = \".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right: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:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-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;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-ios-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:18px}\";\n\nconst inputMdCss = \".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right: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:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-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;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-md-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-md-h{-webkit-transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:22px}\";\n\nconst Input = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = `ion-input-${inputIds++}`;\n this.didBlurAfterEdit = false;\n this.inheritedAttributes = {};\n this.isComposing = false;\n /**\n * This is required for a WebKit bug which requires us to\n * blur and focus an input to properly focus the input in\n * an item with delegatesFocus. It will no longer be needed\n * with iOS 14.\n *\n * @internal\n */\n this.fireFocusEvents = true;\n this.hasFocus = false;\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n * Available options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.\n */\n this.autocapitalize = 'off';\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n this.autocomplete = 'off';\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n this.autocorrect = 'off';\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n this.autofocus = false;\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n this.clearInput = false;\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.\n */\n this.debounce = 0;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot modify the value.\n */\n this.readonly = false;\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n this.required = false;\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n this.spellcheck = false;\n /**\n * The type of control to display. The default type is text.\n */\n this.type = 'text';\n /**\n * The value of the input.\n */\n this.value = '';\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value || '';\n }\n this.ionInput.emit(ev);\n };\n this.onBlur = (ev) => {\n this.hasFocus = false;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionBlur.emit(ev);\n }\n };\n this.onFocus = (ev) => {\n this.hasFocus = true;\n this.focusChanged();\n this.emitStyle();\n if (this.fireFocusEvents) {\n this.ionFocus.emit(ev);\n }\n };\n this.onKeydown = (ev) => {\n if (this.shouldClearOnEdit()) {\n // Did the input value change after it was blurred and edited?\n // Do not clear if user is hitting Enter to submit form\n if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') {\n // Clear the input\n this.clearTextInput();\n }\n // Reset the flag\n this.didBlurAfterEdit = false;\n }\n };\n this.onCompositionStart = () => {\n this.isComposing = true;\n };\n this.onCompositionEnd = () => {\n this.isComposing = false;\n };\n this.clearTextOnEnter = (ev) => {\n if (ev.key === 'Enter') {\n this.clearTextInput(ev);\n }\n };\n this.clearTextInput = (ev) => {\n if (this.clearInput && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n // Attempt to focus input again after pressing clear button\n this.setFocus();\n }\n this.value = '';\n /**\n * This is needed for clearOnEdit\n * Otherwise the value will not be cleared\n * if user is inside the input\n */\n if (this.nativeInput) {\n this.nativeInput.value = '';\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the item classes when the placeholder changes\n */\n placeholderChanged() {\n this.emitStyle();\n }\n /**\n * Update the native input element when the value changes\n */\n valueChanged() {\n const nativeInput = this.nativeInput;\n const value = this.getValue();\n if (nativeInput && nativeInput.value !== value && !this.isComposing) {\n /**\n * Assigning the native input's value on attribute\n * value change, allows `ionInput` implementations\n * to override the control's value.\n *\n * Used for patterns such as input trimming (removing whitespace),\n * or input masking.\n */\n nativeInput.value = value;\n }\n this.emitStyle();\n this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });\n }\n componentWillLoad() {\n this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title']));\n }\n connectedCallback() {\n this.emitStyle();\n this.debounceChanged();\n if (Build.isBrowser) {\n document.dispatchEvent(new CustomEvent('ionInputDidLoad', {\n detail: this.el,\n }));\n }\n }\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput) {\n // TODO: FW-729 Update to JSX bindings when Stencil resolves bug with:\n // https://github.com/ionic-team/stencil/issues/3235\n nativeInput.addEventListener('compositionstart', this.onCompositionStart);\n nativeInput.addEventListener('compositionend', this.onCompositionEnd);\n }\n }\n disconnectedCallback() {\n if (Build.isBrowser) {\n document.dispatchEvent(new CustomEvent('ionInputDidUnload', {\n detail: this.el,\n }));\n }\n const nativeInput = this.nativeInput;\n if (nativeInput) {\n nativeInput.removeEventListener('compositionstart', this.onCompositionStart);\n nativeInput.removeEventListener('compositionEnd', this.onCompositionEnd);\n }\n }\n /**\n * Sets focus on the native `input` in `ion-input`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Sets blur on the native `input` in `ion-input`. Use this method instead of the global\n * `input.blur()`.\n * @internal\n */\n async setBlur() {\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n shouldClearOnEdit() {\n const { type, clearOnEdit } = this;\n return clearOnEdit === undefined ? type === 'password' : clearOnEdit;\n }\n getValue() {\n return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();\n }\n emitStyle() {\n this.ionStyle.emit({\n interactive: true,\n input: true,\n 'has-placeholder': this.placeholder !== undefined,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n 'interactive-disabled': this.disabled,\n });\n }\n focusChanged() {\n // If clearOnEdit is enabled and the input blurred but has a value, set a flag\n if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {\n this.didBlurAfterEdit = true;\n }\n }\n hasValue() {\n return this.getValue().length > 0;\n }\n render() {\n const mode = getIonMode(this);\n const value = this.getValue();\n const labelId = this.inputId + '-lbl';\n const label = findItemLabel(this.el);\n if (label) {\n label.id = labelId;\n }\n return (h(Host, { \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n }) }, h(\"input\", Object.assign({ class: \"native-input\", ref: (input) => (this.nativeInput = input), \"aria-labelledby\": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), this.clearInput && !this.readonly && !this.disabled && (h(\"button\", { \"aria-label\": \"reset\", type: \"button\", class: \"input-clear-icon\", onTouchStart: this.clearTextInput, onMouseDown: this.clearTextInput, onKeyDown: this.clearTextOnEnter }))));\n }\n get el() { return this; }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"placeholder\": [\"placeholderChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n static get style() { return {\n ios: inputIosCss,\n md: inputMdCss\n }; }\n}, [34, \"ion-input\", {\n \"fireFocusEvents\": [4, \"fire-focus-events\"],\n \"color\": [513],\n \"accept\": [1],\n \"autocapitalize\": [1],\n \"autocomplete\": [1],\n \"autocorrect\": [1],\n \"autofocus\": [4],\n \"clearInput\": [4, \"clear-input\"],\n \"clearOnEdit\": [4, \"clear-on-edit\"],\n \"debounce\": [2],\n \"disabled\": [4],\n \"enterkeyhint\": [1],\n \"inputmode\": [1],\n \"max\": [8],\n \"maxlength\": [2],\n \"min\": [8],\n \"minlength\": [2],\n \"multiple\": [4],\n \"name\": [1],\n \"pattern\": [1],\n \"placeholder\": [1],\n \"readonly\": [4],\n \"required\": [4],\n \"spellcheck\": [4],\n \"step\": [1],\n \"size\": [2],\n \"type\": [1],\n \"value\": [1032],\n \"hasFocus\": [32],\n \"setFocus\": [64],\n \"setBlur\": [64],\n \"getInputElement\": [64]\n }]);\nlet inputIds = 0;\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"ion-input\"];\n components.forEach(tagName => { switch (tagName) {\n case \"ion-input\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, Input);\n }\n break;\n } });\n}\n\nconst IonInput = Input;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { IonInput, defineCustomElement };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n/* Ionicons v6.0.2, ES Modules */\nconst arrowBackSharp = \"data:image/svg+xml;utf8,Arrow Back\";\nconst arrowDown = \"data:image/svg+xml;utf8,Arrow Down\";\nconst caretBackSharp = \"data:image/svg+xml;utf8,Caret Back\";\nconst caretDownSharp = \"data:image/svg+xml;utf8,Caret Down\";\nconst caretUpSharp = \"data:image/svg+xml;utf8,Caret Up\";\nconst chevronBack = \"data:image/svg+xml;utf8,Chevron Back\";\nconst chevronDown = \"data:image/svg+xml;utf8,Chevron Down\";\nconst chevronForward = \"data:image/svg+xml;utf8,Chevron Forward\";\nconst chevronForwardOutline = \"data:image/svg+xml;utf8,Chevron Forward\";\nconst close = \"data:image/svg+xml;utf8,Close\";\nconst closeCircle = \"data:image/svg+xml;utf8,Close Circle\";\nconst closeSharp = \"data:image/svg+xml;utf8,Close\";\nconst ellipsisHorizontal = \"data:image/svg+xml;utf8,Ellipsis Horizontal\";\nconst menuOutline = \"data:image/svg+xml;utf8,Menu\";\nconst menuSharp = \"data:image/svg+xml;utf8,Menu\";\nconst reorderThreeOutline = \"data:image/svg+xml;utf8,Reorder Three\";\nconst reorderTwoSharp = \"data:image/svg+xml;utf8,Reorder Two\";\nconst searchOutline = \"data:image/svg+xml;utf8,Search\";\nconst searchSharp = \"data:image/svg+xml;utf8,Search\";\n\nexport { chevronBack as a, arrowBackSharp as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, chevronForward as f, caretUpSharp as g, caretDownSharp as h, close as i, menuSharp as j, caretBackSharp as k, arrowDown as l, menuOutline as m, reorderTwoSharp as n, closeCircle as o, closeSharp as p, searchSharp as q, reorderThreeOutline as r, searchOutline as s };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { getAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';\n\nlet CACHED_MAP;\nconst getIconMap = () => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n else {\n if (!CACHED_MAP) {\n const win = window;\n win.Ionicons = win.Ionicons || {};\n CACHED_MAP = win.Ionicons.map = win.Ionicons.map || new Map();\n }\n return CACHED_MAP;\n }\n};\nconst getUrl = (i) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n url = getName(i.name, i.icon, i.mode, i.ios, i.md);\n if (url) {\n return getNamedUrl(url);\n }\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n url = getSrc(i.icon[i.mode]);\n if (url) {\n return url;\n }\n }\n return null;\n};\nconst getNamedUrl = (iconName) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(`svg/${iconName}.svg`);\n};\nconst getName = (iconName, icon, mode, ios, md) => {\n // default to \"md\" if somehow the mode wasn't set\n mode = (mode && toLower(mode)) === 'ios' ? 'ios' : 'md';\n // if an icon was passed in using the ios or md attributes\n // set the iconName to whatever was passed in\n if (ios && mode === 'ios') {\n iconName = toLower(ios);\n }\n else if (md && mode === 'md') {\n iconName = toLower(md);\n }\n else {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n }\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi, '');\n if (invalidChars !== '') {\n return null;\n }\n return iconName;\n};\nconst getSrc = (src) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\nconst isSrc = (str) => str.length > 0 && /(\\/|\\.)/.test(str);\nconst isStr = (val) => typeof val === 'string';\nconst toLower = (val) => val.toLowerCase();\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nconst inheritAttributes = (el, attributes = []) => {\n const attributeObject = {};\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n return attributeObject;\n};\n\nconst validateContent = (svgContent) => {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n return '';\n};\nconst isValid = (elm) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n for (let i = 0; i < elm.attributes.length; i++) {\n const val = elm.attributes[i].value;\n if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i])) {\n return false;\n }\n }\n }\n return true;\n};\n\nconst ioniconContent = new Map();\nconst requests = new Map();\nconst getSvgContent = (url, sanitize) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n if (svgContent && sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n ioniconContent.set(url, svgContent || '');\n });\n }\n ioniconContent.set(url, '');\n });\n // cache for the same requests\n requests.set(url, req);\n }\n else {\n // set to empty for ssr scenarios and resolve promise\n ioniconContent.set(url, '');\n return Promise.resolve();\n }\n }\n return req;\n};\n\nconst iconCss = \":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:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !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)}\";\n\nconst Icon = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.iconName = null;\n this.inheritedAttributes = {};\n this.isVisible = false;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode();\n /**\n * If enabled, ion-icon will be loaded lazily when it's visible in the viewport.\n * Default, `false`.\n */\n this.lazy = false;\n /**\n * When set to `false`, SVG content that is HTTP fetched will not be checked\n * if the response SVG content has any `\n // ```\n // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback\n // will be called with `newValue = \"some-value\"` and will set the shadowed property (this.someAttribute = \"another-value\")\n // to the value that was set inline i.e. \"some-value\" from above example. When\n // the connectedCallback attempts to unshadow it will use \"some-value\" as the initial value rather than \"another-value\"\n //\n // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed\n // by connectedCallback as this attributeChangedCallback will not fire.\n //\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n //\n // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to\n // properties here given that this goes against best practices outlined here\n // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n }\n else if (prototype.hasOwnProperty(propName) &&\n typeof this[propName] === 'number' &&\n this[propName] == newValue) {\n // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native\n // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in\n // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes\n .map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {\n // initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) &&\n (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n // Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n // we've never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n // sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,\n // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_\n // Stencil has completed instantiating the component.\n customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* isWatchReady */));\n }\n if (BUILD.style && Cstr.style) {\n // this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide &&\n BUILD.shadowDom &&\n BUILD.shadowDomShim &&\n cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import('./shadow-css.js').then((m) => m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n // we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n // this is the initial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) => {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n // only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId = BUILD.mode\n ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))\n : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if (BUILD.hydrateServerSide ||\n ((BUILD.slot || BUILD.shadowDom) &&\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide &&\n ancestorComponent.nodeType === 1 /* ElementNode */ &&\n ancestorComponent.hasAttribute('s-id') &&\n ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (BUILD.prop && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n // connectedCallback, taskQueue, initialLoad\n // angular sets attribute AFTER connectCallback\n // https://github.com/angular/angular/issues/18909\n // https://github.com/angular/angular/issues/19940\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n // fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) => {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n this.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n this.attachShadow({ mode: 'open' });\n }\n }\n else {\n this.shadowRoot = this;\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nconst forceModeUpdate = (elm) => {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) => {\n // ¯\\_(ツ)_/¯\n const hostRef = getHostRef(elm);\n // reset state flags to only have been connected\n hostRef.$flags$ = 1 /* hasConnected */;\n // TODO\n // detatch any event listeners that may have been added\n // because we're not passing an exact event name it'll\n // remove all of this element's event, which is good\n // create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () => {\n // finished hmr for this element\n delete elm['s-hmr-load'];\n };\n // re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n const stencilPrivates = [\n 's-id',\n 's-cr',\n 's-lr',\n 's-rc',\n 's-sc',\n 's-p',\n 's-cn',\n 's-sr',\n 's-sn',\n 's-hn',\n 's-ol',\n 's-nr',\n 's-si',\n ];\n for (; i < srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\n/**\n * Patches the text content of an unnamed slotted node inside a scoped component\n * @param hostElementPrototype the `Element` to be patched\n * @param cmpMeta component runtime metadata used to determine if the component should be patched or not\n */\nconst patchTextContent = (hostElementPrototype, cmpMeta) => {\n if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent');\n Object.defineProperty(hostElementPrototype, '__textContent', descriptor);\n Object.defineProperty(hostElementPrototype, 'textContent', {\n get() {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ be found in the next sibling (text) node, depending on how\n // nodes were reordered during the vdom render. first try to get the text content from the sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n }\n else if (slotNode) {\n return slotNode.textContent;\n }\n else {\n // fallback to the original implementation\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ need to be placed in the next sibling (text) node,\n // depending on how nodes were reordered during the vdom render. first try to set the text content on the\n // sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n }\n else if (slotNode) {\n slotNode.textContent = value;\n }\n else {\n // we couldn't find a slot, but that doesn't mean that there isn't one. if this check ran before the DOM\n // loaded, we could have missed it. check for a content reference element on the scoped component and insert\n // it there\n this.__textContent = value;\n const contentRefElm = this['s-cr'];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n },\n });\n }\n};\nconst patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 &&\n getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\n/**\n * Recursively searches a series of child nodes for a slot with the provided name.\n * @param childNodes the nodes to search for a slot with a specific name.\n * @param slotName the name of the slot to match on.\n * @returns a reference to the slot node that matches the provided name, `null` otherwise\n */\nconst getHostSlotNode = (childNodes, slotName) => {\n let i = 0;\n let childNode;\n for (; i < childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) => {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n const visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD.hydrateClientSide) {\n // If the app is already hydrated there is not point to disable the\n // async queue. This will improve the first input delay\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i < styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD.transformTagName && options.transformTagName\n ? options.transformTagName(cmpMeta.$tagName$)\n : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n // @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n if (BUILD.scopedSlotTextContentFix) {\n patchTextContent(HostElement.prototype, cmpMeta);\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n });\n });\n if (BUILD.invisiblePrehydration && (BUILD.hydratedClass || BUILD.hydratedAttribute)) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) => (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) => {\n const componentOnReady = () => {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) => {\n return componentOnReady().then((el) => el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) => {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) => {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n // useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n // ending with a \".\" means that the parent element\n // of this node's original location is a SHADOW dom element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n // ending with a \".c\" means that the parent element\n // of this node's original location is a SCOPED element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find((node) => node.nodeType === 8 /* CommentNode */ && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode.nodeName;\n if (nodeName !== 'STYLE' && nodeName !== 'SCRIPT') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) => {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst setPlatformOptions = (opts) => Object.assign(plt, opts);\nconst Fragment = (_, children) => children;\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) => hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) => memberName in elm;\nconst consoleError = (e, el) => (customError || console.error)(e, el);\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] // E2E testing\n : [\n '%cstencil',\n 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px',\n ];\nconst consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nconst setErrorHandler = (handler) => (customError = handler);\nconst cmpModules = /*@__PURE__*/ new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n // loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n /*!__STENCIL_STATIC_IMPORT_SWITCH__*/\n return import(\n /* @vite-ignore */\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then((importedModule) => {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) => {\n for (let i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) => {\n let i = 0;\n let ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () => {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */\n ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0))\n : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);\nconst readTask = /*@__PURE__*/ queueTask(queueDomReads, false);\nconst writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\nexport { BUILD, Env, NAMESPACE } from '@stencil/core/internal/app-data';\nexport { Build, CSS, Context, Fragment, H, H as HTMLElement, Host, STENCIL_DEV_MODE, addHostEventListeners, bootstrapLazy, cmpModules, connectedCallback, consoleDevError, consoleDevInfo, consoleDevWarn, consoleError, createEvent, defineCustomElement, disconnectedCallback, doc, forceModeUpdate, forceUpdate, getAssetPath, getConnect, getContext, getElement, getHostRef, getMode, getRenderingRef, getValue, h, insertVdomAnnotations, isMemberInElement, loadModule, modeResolutionChain, nextTick, parsePropertyValue, plt, postUpdateComponent, promiseResolve, proxyComponent, proxyCustomElement, readTask, registerHost, registerInstance, renderVdom, setAssetPath, setErrorHandler, setMode, setPlatformHelpers, setPlatformOptions, setValue, styles, supportsConstructibleStylesheets, supportsListenerOptions, supportsShadow, win, writeTask };\n","import { getAssetPath } from '@stencil/core/internal/client';\n\nlet CACHED_MAP;\nconst getIconMap = () => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n else {\n if (!CACHED_MAP) {\n const win = window;\n win.Ionicons = win.Ionicons || {};\n CACHED_MAP = win.Ionicons.map = win.Ionicons.map || new Map();\n }\n return CACHED_MAP;\n }\n};\nconst addIcons = (icons) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n};\nconst getUrl = (i) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n url = getName(i.name, i.icon, i.mode, i.ios, i.md);\n if (url) {\n return getNamedUrl(url);\n }\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n url = getSrc(i.icon[i.mode]);\n if (url) {\n return url;\n }\n }\n return null;\n};\nconst getNamedUrl = (iconName) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(`svg/${iconName}.svg`);\n};\nconst getName = (iconName, icon, mode, ios, md) => {\n // default to \"md\" if somehow the mode wasn't set\n mode = (mode && toLower(mode)) === 'ios' ? 'ios' : 'md';\n // if an icon was passed in using the ios or md attributes\n // set the iconName to whatever was passed in\n if (ios && mode === 'ios') {\n iconName = toLower(ios);\n }\n else if (md && mode === 'md') {\n iconName = toLower(md);\n }\n else {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n }\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi, '');\n if (invalidChars !== '') {\n return null;\n }\n return iconName;\n};\nconst getSrc = (src) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\nconst isSrc = (str) => str.length > 0 && /(\\/|\\.)/.test(str);\nconst isStr = (val) => typeof val === 'string';\nconst toLower = (val) => val.toLowerCase();\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nconst inheritAttributes = (el, attributes = []) => {\n const attributeObject = {};\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n return attributeObject;\n};\n\nexport { addIcons as a, inheritAttributes as b, getName as c, getUrl as g, isStr as i };\n","import { proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';\nimport { i as isStr, b as inheritAttributes, g as getUrl, c as getName } from './utils.js';\n\nconst validateContent = (svgContent) => {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n return '';\n};\nconst isValid = (elm) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n for (let i = 0; i < elm.attributes.length; i++) {\n const val = elm.attributes[i].value;\n if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i])) {\n return false;\n }\n }\n }\n return true;\n};\n\nconst ioniconContent = new Map();\nconst requests = new Map();\nconst getSvgContent = (url, sanitize) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n if (svgContent && sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n ioniconContent.set(url, svgContent || '');\n });\n }\n ioniconContent.set(url, '');\n });\n // cache for the same requests\n requests.set(url, req);\n }\n else {\n // set to empty for ssr scenarios and resolve promise\n ioniconContent.set(url, '');\n return Promise.resolve();\n }\n }\n return req;\n};\n\nconst iconCss = \":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:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !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)}\";\n\nconst Icon = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.__attachShadow();\n this.iconName = null;\n this.inheritedAttributes = {};\n this.isVisible = false;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode();\n /**\n * If enabled, ion-icon will be loaded lazily when it's visible in the viewport.\n * Default, `false`.\n */\n this.lazy = false;\n /**\n * When set to `false`, SVG content that is HTTP fetched will not be checked\n * if the response SVG content has any `\n // ```\n // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback\n // will be called with `newValue = \"some-value\"` and will set the shadowed property (this.someAttribute = \"another-value\")\n // to the value that was set inline i.e. \"some-value\" from above example. When\n // the connectedCallback attempts to unshadow it will use \"some-value\" as the initial value rather than \"another-value\"\n //\n // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed\n // by connectedCallback as this attributeChangedCallback will not fire.\n //\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n //\n // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to\n // properties here given that this goes against best practices outlined here\n // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n }\n else if (prototype.hasOwnProperty(propName) &&\n typeof this[propName] === 'number' &&\n this[propName] == newValue) {\n // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native\n // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in\n // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes\n .map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {\n // initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) &&\n (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n // Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n // we've never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n // sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,\n // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_\n // Stencil has completed instantiating the component.\n customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* isWatchReady */));\n }\n if (BUILD.style && Cstr.style) {\n // this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide &&\n BUILD.shadowDom &&\n BUILD.shadowDomShim &&\n cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import('./shadow-css.js').then((m) => m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n // we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n // this is the initial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) => {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n // only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId = BUILD.mode\n ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))\n : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if (BUILD.hydrateServerSide ||\n ((BUILD.slot || BUILD.shadowDom) &&\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide &&\n ancestorComponent.nodeType === 1 /* ElementNode */ &&\n ancestorComponent.hasAttribute('s-id') &&\n ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (BUILD.prop && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n // connectedCallback, taskQueue, initialLoad\n // angular sets attribute AFTER connectCallback\n // https://github.com/angular/angular/issues/18909\n // https://github.com/angular/angular/issues/19940\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n // fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) => {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n this.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n this.attachShadow({ mode: 'open' });\n }\n }\n else {\n this.shadowRoot = this;\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nconst forceModeUpdate = (elm) => {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) => {\n // ¯\\_(ツ)_/¯\n const hostRef = getHostRef(elm);\n // reset state flags to only have been connected\n hostRef.$flags$ = 1 /* hasConnected */;\n // TODO\n // detatch any event listeners that may have been added\n // because we're not passing an exact event name it'll\n // remove all of this element's event, which is good\n // create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () => {\n // finished hmr for this element\n delete elm['s-hmr-load'];\n };\n // re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n const stencilPrivates = [\n 's-id',\n 's-cr',\n 's-lr',\n 's-rc',\n 's-sc',\n 's-p',\n 's-cn',\n 's-sr',\n 's-sn',\n 's-hn',\n 's-ol',\n 's-nr',\n 's-si',\n ];\n for (; i < srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\n/**\n * Patches the text content of an unnamed slotted node inside a scoped component\n * @param hostElementPrototype the `Element` to be patched\n * @param cmpMeta component runtime metadata used to determine if the component should be patched or not\n */\nconst patchTextContent = (hostElementPrototype, cmpMeta) => {\n if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent');\n Object.defineProperty(hostElementPrototype, '__textContent', descriptor);\n Object.defineProperty(hostElementPrototype, 'textContent', {\n get() {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ be found in the next sibling (text) node, depending on how\n // nodes were reordered during the vdom render. first try to get the text content from the sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n }\n else if (slotNode) {\n return slotNode.textContent;\n }\n else {\n // fallback to the original implementation\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ need to be placed in the next sibling (text) node,\n // depending on how nodes were reordered during the vdom render. first try to set the text content on the\n // sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n }\n else if (slotNode) {\n slotNode.textContent = value;\n }\n else {\n // we couldn't find a slot, but that doesn't mean that there isn't one. if this check ran before the DOM\n // loaded, we could have missed it. check for a content reference element on the scoped component and insert\n // it there\n this.__textContent = value;\n const contentRefElm = this['s-cr'];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n },\n });\n }\n};\nconst patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 &&\n getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\n/**\n * Recursively searches a series of child nodes for a slot with the provided name.\n * @param childNodes the nodes to search for a slot with a specific name.\n * @param slotName the name of the slot to match on.\n * @returns a reference to the slot node that matches the provided name, `null` otherwise\n */\nconst getHostSlotNode = (childNodes, slotName) => {\n let i = 0;\n let childNode;\n for (; i < childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) => {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n const visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD.hydrateClientSide) {\n // If the app is already hydrated there is not point to disable the\n // async queue. This will improve the first input delay\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i < styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD.transformTagName && options.transformTagName\n ? options.transformTagName(cmpMeta.$tagName$)\n : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n // @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n if (BUILD.scopedSlotTextContentFix) {\n patchTextContent(HostElement.prototype, cmpMeta);\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n });\n });\n if (BUILD.invisiblePrehydration && (BUILD.hydratedClass || BUILD.hydratedAttribute)) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) => (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) => {\n const componentOnReady = () => {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) => {\n return componentOnReady().then((el) => el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) => {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) => {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n // useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n // ending with a \".\" means that the parent element\n // of this node's original location is a SHADOW dom element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n // ending with a \".c\" means that the parent element\n // of this node's original location is a SCOPED element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find((node) => node.nodeType === 8 /* CommentNode */ && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode.nodeName;\n if (nodeName !== 'STYLE' && nodeName !== 'SCRIPT') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) => {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst setPlatformOptions = (opts) => Object.assign(plt, opts);\nconst Fragment = (_, children) => children;\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) => hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) => memberName in elm;\nconst consoleError = (e, el) => (customError || console.error)(e, el);\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] // E2E testing\n : [\n '%cstencil',\n 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px',\n ];\nconst consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nconst setErrorHandler = (handler) => (customError = handler);\nconst cmpModules = /*@__PURE__*/ new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n // loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n /*!__STENCIL_STATIC_IMPORT_SWITCH__*/\n return import(\n /* @vite-ignore */\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then((importedModule) => {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) => {\n for (let i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) => {\n let i = 0;\n let ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () => {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */\n ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0))\n : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);\nconst readTask = /*@__PURE__*/ queueTask(queueDomReads, false);\nconst writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\nexport { BUILD, Env, NAMESPACE } from '@stencil/core/internal/app-data';\nexport { Build, CSS, Context, Fragment, H, H as HTMLElement, Host, STENCIL_DEV_MODE, addHostEventListeners, bootstrapLazy, cmpModules, connectedCallback, consoleDevError, consoleDevInfo, consoleDevWarn, consoleError, createEvent, defineCustomElement, disconnectedCallback, doc, forceModeUpdate, forceUpdate, getAssetPath, getConnect, getContext, getElement, getHostRef, getMode, getRenderingRef, getValue, h, insertVdomAnnotations, isMemberInElement, loadModule, modeResolutionChain, nextTick, parsePropertyValue, plt, postUpdateComponent, promiseResolve, proxyComponent, proxyCustomElement, readTask, registerHost, registerInstance, renderVdom, setAssetPath, setErrorHandler, setMode, setPlatformHelpers, setPlatformOptions, setValue, styles, supportsConstructibleStylesheets, supportsListenerOptions, supportsShadow, win, writeTask };\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of