diff --git a/src/app/pages/load_test/load-test-history/load-test-history.module.ts b/src/app/pages/load_test/load-test-history/load-test-history.module.ts
index af0d919..fafe1ae 100644
--- a/src/app/pages/load_test/load-test-history/load-test-history.module.ts
+++ b/src/app/pages/load_test/load-test-history/load-test-history.module.ts
@@ -9,6 +9,7 @@ import { LoadTestHistoryPageRoutingModule } from './load-test-history-routing.mo
import { LoadTestHistoryPage } from './load-test-history.page';
import {ComponentsModule} from "../../../components/components.module";
import {NgxEchartsDirective} from "ngx-echarts";
+import {MarkdownComponent} from "ngx-markdown";
@NgModule({
imports: [
@@ -17,7 +18,8 @@ import {NgxEchartsDirective} from "ngx-echarts";
IonicModule,
LoadTestHistoryPageRoutingModule,
ComponentsModule,
- NgxEchartsDirective
+ NgxEchartsDirective,
+ MarkdownComponent
],
declarations: [LoadTestHistoryPage]
})
diff --git a/src/app/pages/load_test/load-test-history/load-test-history.page.html b/src/app/pages/load_test/load-test-history/load-test-history.page.html
index 95a8584..db5a0e3 100644
--- a/src/app/pages/load_test/load-test-history/load-test-history.page.html
+++ b/src/app/pages/load_test/load-test-history/load-test-history.page.html
@@ -17,6 +17,12 @@
{{ totalNumberOfRequests | number:'1.0-0' }}
+
+
+
+
+
+
HTTP Status Codes
@@ -25,9 +31,18 @@ {{ totalNumberOfRequests | number:'1.0-0' }}
+
+
+
+
+
+
+
+
+
HTTP Response Time
@@ -36,9 +51,62 @@ {{ totalNumberOfRequests | number:'1.0-0' }}
+
+
+
+ @if(hasBeenOpened){
+
+
+
+
+
+ }
+
+
+
+
+
+
+
+
+
DevProbe AI
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ msg.message }}
+
+
+
+
+ {{ msg.message }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/pages/load_test/load-test-history/load-test-history.page.ts b/src/app/pages/load_test/load-test-history/load-test-history.page.ts
index f5d3233..a759352 100644
--- a/src/app/pages/load_test/load-test-history/load-test-history.page.ts
+++ b/src/app/pages/load_test/load-test-history/load-test-history.page.ts
@@ -1,8 +1,11 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, ElementRef, inject, OnInit, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from "@angular/router";
import {LoadTestService} from "../../../services/load-test.service";
import {ArtilleryData} from "../../../classes/artillery-data";
import {EChartsOption} from "echarts";
+import {getGenerativeModel, VertexAI} from "@angular/fire/vertexai-preview";
+import {AiMessage} from "../../../interfaces/ai-message";
+import {LoadingController} from "@ionic/angular";
@Component({
selector: 'app-load-test-history',
@@ -50,10 +53,48 @@ export class LoadTestHistoryPage implements OnInit {
}
+
+ @ViewChild('messagesContainer') private messagesContainer: ElementRef | undefined;
+ aiModal: boolean = false
+ message: string = '';
+ vertexAI: VertexAI = inject(VertexAI);
+ model = getGenerativeModel(this.vertexAI, { model: "gemini-1.5-flash" });
+ chat = this.model.startChat({
+ history: [
+ {
+ role: "user",
+ parts: [{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}],
+ },
+ {
+ role: "model",
+ parts: [{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anlaítica de datos ¿En qué puedo ayudarte?"}],
+ },
+ {
+ role: "user",
+ parts: [{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de un load test" +
+ ",tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en " +
+ "caso de que creas que puede haber un problema o que se encuentre el recurso no disponible por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}],
+ },
+ {
+ role: "model",
+ parts: [{text:"Claro, envíame el json y yo me encargo de analizarlo"}]
+ },
+ ],
+ });
+ messages:AiMessage[] = []
+ hasBeenOpened = false;
+
+
+
+
+
+
+
constructor(
private activatedRoute: ActivatedRoute,
private router: Router,
- private loadTestService: LoadTestService
+ private loadTestService: LoadTestService,
+ private loadingCtrl:LoadingController
) { }
ngOnInit() {
@@ -99,7 +140,7 @@ export class LoadTestHistoryPage implements OnInit {
// @ts-ignore: Extrae la fecha del resultado
let date = this.loadTestResults[key].date;
// Filtra las claves que empiezan con "http.requests."
- let httpCodesKeys = Object.keys(data).filter(keyCode => keyCode.startsWith('http.requests'));
+ let httpCodesKeys = Object.keys(data).filter(keyCode => keyCode.startsWith('http.responses'));
for (let keyCode of httpCodesKeys) {
if (!requests[date]) {
@@ -111,7 +152,7 @@ export class LoadTestHistoryPage implements OnInit {
}
for (let date of Object.keys(requests)) {
- totalRequests += requests[date]['http.requests'];
+ totalRequests += requests[date]['http.responses'];
}
this.totalNumberOfRequests = totalRequests;
@@ -149,10 +190,11 @@ export class LoadTestHistoryPage implements OnInit {
return codes;
}
normalizarFecha(fecha: string): string {
- const [year, month, day] = fecha.split('-').map(num => parseInt(num, 10)); // Convertimos a números para evitar ceros iniciales incorrectos
+ console.log('fecha',fecha);
+ const [year, month, day, hour, minute, second] = fecha.split('-').map(num => parseInt(num, 10)); // Convertimos a números para evitar ceros iniciales incorrectos
const mesNormalizado = month < 10 ? `0${month}` : month.toString(); // Agregar 0 si es necesario
const diaNormalizado = day < 10 ? `0${day}` : day.toString(); // Agregar 0 si es necesario
- return `${year}-${mesNormalizado}-${diaNormalizado}`;
+ return `${year}-${mesNormalizado}-${diaNormalizado} ${hour}:${minute}:${second}`;
}
ordenarDiccionarioPorFechas(diccionario: { [key: string]: any }): { [key: string]: any } {
// Obtener las claves del diccionario (fechas)
@@ -160,6 +202,8 @@ export class LoadTestHistoryPage implements OnInit {
// Ordenar las fechas normalizadas
const fechasOrdenadas = fechas.sort((a, b) => {
+ console.log('a', this.normalizarFecha(a));
+ console.log('b', this.normalizarFecha(b));
const fechaA = new Date(this.normalizarFecha(a));
const fechaB = new Date(this.normalizarFecha(b));
return fechaA.getTime() - fechaB.getTime();
@@ -176,9 +220,12 @@ export class LoadTestHistoryPage implements OnInit {
}
async plotCodes() {
let codes = this.byCodes();
- console.log(codes);
+ console.log('codess',codes);
let keys = Object.keys(codes);
+
+ console.log('llaves',keys);
+
let typesOfCodes = new Set() as Set;
for (let key of keys) {
@@ -200,6 +247,7 @@ export class LoadTestHistoryPage implements OnInit {
}
}
+
let colors = [
'#36b311',
'#306fc6',
@@ -373,9 +421,74 @@ export class LoadTestHistoryPage implements OnInit {
responseTimeChart!.style.width = '100%';
responseTimeChart!.style.height = '25em';
+
+ return responseTimes;
+
+ }
+
+
+
+ async toggleAiModal(context?: string) {
+ await this.showLoading()
+
+ this.aiModal = !this.aiModal;
+ this.hasBeenOpened = true;
+
+ if (context === 'httpCodesOptions') {
+ this.message = 'En este caso el json tiene codigos de respuesta HTTP, por ejemplo, 404, 500, etc y cuantos requests devolvieron esos codigos:' + JSON.stringify(this.byCodes())
+ }
+ if (context === 'httpResponseTimeOptions') {
+ this.message = 'En este caso el json tiene tiempos de respuesta de los requests, por ejemplo, 500ms, 1000ms, etc: ' + JSON.stringify(this.responseTime())
+ }
+
+ if (this.message === '') {
+ console.log('Message is empty');
+ await this.hideLoading();
+ return;
+ }
+
+ let length = this.messages.length;
+ if (length > 0) {
+ this.messages.push({message: this.message, from: 'User', id: length.toString()});
+ }
+ const result = await this.chat.sendMessage(this.message);
+ length = this.messages.length;
+ this.messages.push({message: result.response.text(), from: 'AI', id: length.toString()});
+ this.message = '';
+ await this.hideLoading();
+ return;
+
+
}
+ sendMessage() {
+ let length = this.messages.length;
+ this.messages.push({message: this.message, from: 'User', id: length.toString()});
+ this.chat.sendMessage(this.message).then(async (result) => {
+ await this.showLoading()
+ length = this.messages.length;
+ this.messages.push({message: result.response.text(), from: 'AI', id: length.toString()});
+ await this.hideLoading();
+ });
+ this.message = '';
+ return;
+ }
+ /**
+ * Show a loading spinner.
+ */
+ async showLoading() {
+ const loading = await this.loadingCtrl.create({
+ });
+ await loading.present();
+ }
+
+ /**
+ * Hide the loading spinner.
+ */
+ async hideLoading() {
+ await this.loadingCtrl.dismiss();
+ }
}
diff --git a/src/app/pages/load_test/load-test/load-test.page.html b/src/app/pages/load_test/load-test/load-test.page.html
index 5aeca78..b688921 100644
--- a/src/app/pages/load_test/load-test/load-test.page.html
+++ b/src/app/pages/load_test/load-test/load-test.page.html
@@ -36,10 +36,10 @@ {{ totalNumberOfRequests | number:'1.0-0' }}
-
-
-
-
+
+
+
+
@@ -54,10 +54,10 @@ {{ totalNumberOfRequests | number:'1.0-0' }}
-
-
-
-
+
+
+
+
@@ -86,12 +86,13 @@ {{ totalNumberOfRequests | number:'1.0-0' }}
-
+ @if(hasBeenOpened){
-
+
+ }
diff --git a/src/app/pages/load_test/load-test/load-test.page.ts b/src/app/pages/load_test/load-test/load-test.page.ts
index 56ee2fb..b435913 100644
--- a/src/app/pages/load_test/load-test/load-test.page.ts
+++ b/src/app/pages/load_test/load-test/load-test.page.ts
@@ -91,6 +91,7 @@ responseTimeOptions: EChartsOption = {
],
});
messages:AiMessage[] = []
+ hasBeenOpened = false;
@@ -175,7 +176,7 @@ responseTimeOptions: EChartsOption = {
// @ts-ignore: Extrae la fecha del resultado
let date = this.loadTestResults[key].date;
// Filtra las claves que empiezan con "http.requests."
- let httpCodesKeys = Object.keys(data).filter(keyCode => keyCode.startsWith('http.requests'));
+ let httpCodesKeys = Object.keys(data).filter(keyCode => keyCode.startsWith('http.responses'));
for (let keyCode of httpCodesKeys) {
if (!requests[date]) {
@@ -187,7 +188,7 @@ responseTimeOptions: EChartsOption = {
}
for (let date of Object.keys(requests)) {
- totalRequests += requests[date]['http.requests'];
+ totalRequests += requests[date]['http.responses'];
}
this.totalNumberOfRequests = totalRequests;
@@ -522,7 +523,10 @@ for (let metric in total) {
async toggleAiModal(context?: string) {
+ await this.showLoading()
+
this.aiModal = !this.aiModal;
+ this.hasBeenOpened = true;
if (context === 'httpCodesOptions') {
this.message = 'En este caso el json tiene codigos de respuesta HTTP, por ejemplo, 404, 500, etc y cuantos requests devolvieron esos codigos:' + JSON.stringify(this.byCodes())
@@ -533,6 +537,7 @@ for (let metric in total) {
if (this.message === '') {
console.log('Message is empty');
+ await this.hideLoading();
return;
}
@@ -544,6 +549,7 @@ for (let metric in total) {
length = this.messages.length;
this.messages.push({message: result.response.text(), from: 'AI', id: length.toString()});
this.message = '';
+ await this.hideLoading();
return;
@@ -552,9 +558,11 @@ for (let metric in total) {
sendMessage() {
let length = this.messages.length;
this.messages.push({message: this.message, from: 'User', id: length.toString()});
- this.chat.sendMessage(this.message).then((result) => {
+ this.chat.sendMessage(this.message).then(async (result) => {
+ await this.showLoading()
length = this.messages.length;
this.messages.push({message: result.response.text(), from: 'AI', id: length.toString()});
+ await this.hideLoading();
});
this.message = '';
return;
diff --git a/www/1577.f6f558490ff910b3.js b/www/1577.0604cac29dd79422.js
similarity index 59%
rename from www/1577.f6f558490ff910b3.js
rename to www/1577.0604cac29dd79422.js
index 8da358f..a64e167 100644
--- a/www/1577.f6f558490ff910b3.js
+++ b/www/1577.0604cac29dd79422.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[1577],{1577:(E,c,o)=>{o.r(c),o.d(c,{ion_text:()=>u});var r=o(9672),a=o(333),l=o(3664);const u=class{constructor(s){(0,r.r)(this,s),this.color=void 0}render(){const s=(0,l.b)(this);return(0,r.h)(r.f,{key:"4b76333b1ea5cab134b9dc1f5670c0d5a253fc32",class:(0,a.c)(this.color,{[s]:!0})},(0,r.h)("slot",{key:"3dee5f16bc58b3d92547d910bd4f441a00ce2039"}))}};u.style=":host(.ion-color){color:var(--ion-color-base)}"},333:(E,c,o)=>{o.d(c,{c:()=>l,g:()=>_,h:()=>a,o:()=>s});var r=o(467);const a=(t,e)=>null!==e.closest(t),l=(t,e)=>"string"==typeof t&&t.length>0?Object.assign({"ion-color":!0,[`ion-color-${t}`]:!0},e):e,_=t=>{const e={};return(t=>void 0!==t?(Array.isArray(t)?t:t.split(" ")).filter(n=>null!=n).map(n=>n.trim()).filter(n=>""!==n):[])(t).forEach(n=>e[n]=!0),e},u=/^[a-z][a-z0-9+\-.]*:/,s=function(){var t=(0,r.A)(function*(e,n,d,h){if(null!=e&&"#"!==e[0]&&!u.test(e)){const i=document.querySelector("ion-router");if(i)return null!=n&&n.preventDefault(),i.push(e,d,h)}return!1});return function(n,d,h,i){return t.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[1577],{1577:(E,c,o)=>{o.r(c),o.d(c,{ion_text:()=>u});var r=o(9672),l=o(333),_=o(3664);const u=class{constructor(s){(0,r.r)(this,s),this.color=void 0}render(){const s=(0,_.b)(this);return(0,r.h)(r.f,{key:"4b76333b1ea5cab134b9dc1f5670c0d5a253fc32",class:(0,l.c)(this.color,{[s]:!0})},(0,r.h)("slot",{key:"3dee5f16bc58b3d92547d910bd4f441a00ce2039"}))}};u.style=":host(.ion-color){color:var(--ion-color-base)}"},333:(E,c,o)=>{o.d(c,{c:()=>_,g:()=>a,h:()=>l,o:()=>s});var r=o(467);const l=(t,e)=>null!==e.closest(t),_=(t,e)=>"string"==typeof t&&t.length>0?Object.assign({"ion-color":!0,[`ion-color-${t}`]:!0},e):e,a=t=>{const e={};return(t=>void 0!==t?(Array.isArray(t)?t:t.split(" ")).filter(n=>null!=n).map(n=>n.trim()).filter(n=>""!==n):[])(t).forEach(n=>e[n]=!0),e},u=/^[a-z][a-z0-9+\-.]*:/,s=function(){var t=(0,r.A)(function*(e,n,d,h){if(null!=e&&"#"!==e[0]&&!u.test(e)){const i=document.querySelector("ion-router");if(i)return null!=n&&n.preventDefault(),i.push(e,d,h)}return!1});return function(n,d,h,i){return t.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/3814.4f667f072e44b4e7.js b/www/3814.aed692045b27c466.js
similarity index 98%
rename from www/3814.4f667f072e44b4e7.js
rename to www/3814.aed692045b27c466.js
index e312b62..69ce3b3 100644
--- a/www/3814.4f667f072e44b4e7.js
+++ b/www/3814.aed692045b27c466.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3814],{3814:(v,c,n)=>{n.r(c),n.d(c,{ion_toggle:()=>k});var d=n(467),a=n(9672),h=n(4920),x=n(1086),p=n(5083),b=n(333),g=n(3992),o=n(3664);n(8438),n(8476);const k=class{constructor(e){var r=this;(0,a.r)(this,e),this.ionChange=(0,a.d)(this,"ionChange",7),this.ionFocus=(0,a.d)(this,"ionFocus",7),this.ionBlur=(0,a.d)(this,"ionBlur",7),this.inputId="ion-tg-"+E++,this.lastDrag=0,this.inheritedAttributes={},this.didLoad=!1,this.setupGesture=(0,d.A)(function*(){const{toggleTrack:t}=r;t&&(r.gesture=(yield Promise.resolve().then(n.bind(n,8607))).createGesture({el:t,gestureName:"toggle",gesturePriority:100,threshold:5,passive:!1,onStart:()=>r.onStart(),onMove:i=>r.onMove(i),onEnd:i=>r.onEnd(i)}),r.disabledChanged())}),this.onClick=t=>{this.disabled||(t.preventDefault(),this.lastDrag+300{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()},this.getSwitchLabelIcon=(t,i)=>"md"===t?i?g.f:g.r:i?g.r:g.g,this.activated=!1,this.color=void 0,this.name=this.inputId,this.checked=!1,this.disabled=!1,this.value="on",this.enableOnOffLabels=o.c.get("toggleOnOffLabels"),this.labelPlacement="start",this.justify="space-between",this.alignment="center"}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}toggleChecked(){const{checked:e,value:r}=this,t=!e;this.checked=t,this.ionChange.emit({checked:t,value:r})}connectedCallback(){var e=this;return(0,d.A)(function*(){e.didLoad&&e.setupGesture()})()}componentDidLoad(){this.setupGesture(),this.didLoad=!0}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}componentWillLoad(){this.inheritedAttributes=Object.assign({},(0,h.i)(this.el))}onStart(){this.activated=!0,this.setFocus()}onMove(e){_((0,p.i)(this.el),this.checked,e.deltaX,-10)&&(this.toggleChecked(),(0,x.c)())}onEnd(e){this.activated=!1,this.lastDrag=Date.now(),e.event.preventDefault(),e.event.stopImmediatePropagation()}getValue(){return this.value||""}setFocus(){this.focusEl&&this.focusEl.focus()}renderOnOffSwitchLabels(e,r){const t=this.getSwitchLabelIcon(e,r);return(0,a.h)("ion-icon",{class:{"toggle-switch-icon":!0,"toggle-switch-icon-checked":r},icon:t,"aria-hidden":"true"})}renderToggleControl(){const e=(0,o.b)(this),{enableOnOffLabels:r,checked:t}=this;return(0,a.h)("div",{class:"toggle-icon",part:"track",ref:i=>this.toggleTrack=i},r&&"ios"===e&&[this.renderOnOffSwitchLabels(e,!0),this.renderOnOffSwitchLabels(e,!1)],(0,a.h)("div",{class:"toggle-icon-wrapper"},(0,a.h)("div",{class:"toggle-inner",part:"handle"},r&&"md"===e&&this.renderOnOffSwitchLabels(e,t))))}get hasLabel(){return""!==this.el.textContent}render(){const{activated:e,color:r,checked:t,disabled:i,el:u,justify:C,labelPlacement:O,inputId:D,name:j,alignment:L}=this,M=(0,o.b)(this),P=this.getValue(),I=(0,p.i)(u)?"rtl":"ltr";return(0,h.d)(!0,u,j,t?P:"",i),(0,a.h)(a.f,{key:"b0d648e071bc8095998b519ce4dcdd0ea91575c0",onClick:this.onClick,class:(0,b.c)(r,{[M]:!0,"in-item":(0,b.h)("ion-item",u),"toggle-activated":e,"toggle-checked":t,"toggle-disabled":i,[`toggle-justify-${C}`]:!0,[`toggle-alignment-${L}`]:!0,[`toggle-label-placement-${O}`]:!0,[`toggle-${I}`]:!0})},(0,a.h)("label",{key:"9a2fe1d16dba66a9dfef450efebf2e5cbe3dcd00",class:"toggle-wrapper"},(0,a.h)("input",Object.assign({key:"4358d18cb86da768155c17f9da3aac641296c256",type:"checkbox",role:"switch","aria-checked":`${t}`,checked:t,disabled:i,id:D,onFocus:()=>this.onFocus(),onBlur:()=>this.onBlur(),ref:T=>this.focusEl=T},this.inheritedAttributes)),(0,a.h)("div",{key:"0ec99e452164d7059cc4f93d09e5b918f82c022a",class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!this.hasLabel},part:"label"},(0,a.h)("slot",{key:"1c5cbc99905a79e842e9487eb3ca654e1bab3c66"})),(0,a.h)("div",{key:"ca8196423b429899febd11c7337d768ff05df6f4",class:"native-wrapper"},this.renderToggleControl())))}get el(){return(0,a.i)(this)}static get watchers(){return{disabled:["disabledChanged"]}}},_=(e,r,t,i)=>r?!e&&i>t||e&&-it;let E=0;k.style={ios:":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #0054e9);--border-radius:15.5px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 4px rgba(0, 0, 0, 0.06), 0 3px 8px rgba(0, 0, 0, 0.06);--handle-height:calc(31px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(31px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}.native-wrapper .toggle-icon{width:51px;height:31px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color 300ms;transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity 300ms, color 300ms;transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark, #222428)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px;-webkit-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0);transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0);transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}",md:":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--track-background-checked:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #0054e9);--handle-border-radius:50%;--handle-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);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1)}.native-wrapper .toggle-icon{width:36px;height:14px}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}:host(.toggle-checked) .toggle-inner{color:var(--ion-color-contrast, #fff)}.toggle-icon{-webkit-transition:background-color 160ms;transition:background-color 160ms}.toggle-inner{will-change:background-color, transform;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#000}.toggle-inner .toggle-switch-icon{-webkit-padding-start:1px;padding-inline-start:1px;-webkit-padding-end:1px;padding-inline-end:1px;padding-top:1px;padding-bottom:1px;width:100%;height:100%}:host(.toggle-disabled){opacity:0.38}"}},333:(v,c,n)=>{n.d(c,{c:()=>h,g:()=>p,h:()=>a,o:()=>g});var d=n(467);const a=(o,l)=>null!==l.closest(o),h=(o,l)=>"string"==typeof o&&o.length>0?Object.assign({"ion-color":!0,[`ion-color-${o}`]:!0},l):l,p=o=>{const l={};return(o=>void 0!==o?(Array.isArray(o)?o:o.split(" ")).filter(s=>null!=s).map(s=>s.trim()).filter(s=>""!==s):[])(o).forEach(s=>l[s]=!0),l},b=/^[a-z][a-z0-9+\-.]*:/,g=function(){var o=(0,d.A)(function*(l,s,w,m){if(null!=l&&"#"!==l[0]&&!b.test(l)){const f=document.querySelector("ion-router");if(f)return null!=s&&s.preventDefault(),f.push(l,w,m)}return!1});return function(s,w,m,f){return o.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3814],{3814:(v,c,n)=>{n.r(c),n.d(c,{ion_toggle:()=>k});var d=n(467),a=n(9672),h=n(4920),x=n(1086),p=n(5083),b=n(333),g=n(3992),o=n(3664);n(8438),n(8476);const k=class{constructor(e){var r=this;(0,a.r)(this,e),this.ionChange=(0,a.d)(this,"ionChange",7),this.ionFocus=(0,a.d)(this,"ionFocus",7),this.ionBlur=(0,a.d)(this,"ionBlur",7),this.inputId="ion-tg-"+C++,this.lastDrag=0,this.inheritedAttributes={},this.didLoad=!1,this.setupGesture=(0,d.A)(function*(){const{toggleTrack:t}=r;t&&(r.gesture=(yield Promise.resolve().then(n.bind(n,8607))).createGesture({el:t,gestureName:"toggle",gesturePriority:100,threshold:5,passive:!1,onStart:()=>r.onStart(),onMove:i=>r.onMove(i),onEnd:i=>r.onEnd(i)}),r.disabledChanged())}),this.onClick=t=>{this.disabled||(t.preventDefault(),this.lastDrag+300{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()},this.getSwitchLabelIcon=(t,i)=>"md"===t?i?g.f:g.r:i?g.r:g.g,this.activated=!1,this.color=void 0,this.name=this.inputId,this.checked=!1,this.disabled=!1,this.value="on",this.enableOnOffLabels=o.c.get("toggleOnOffLabels"),this.labelPlacement="start",this.justify="space-between",this.alignment="center"}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}toggleChecked(){const{checked:e,value:r}=this,t=!e;this.checked=t,this.ionChange.emit({checked:t,value:r})}connectedCallback(){var e=this;return(0,d.A)(function*(){e.didLoad&&e.setupGesture()})()}componentDidLoad(){this.setupGesture(),this.didLoad=!0}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}componentWillLoad(){this.inheritedAttributes=Object.assign({},(0,h.i)(this.el))}onStart(){this.activated=!0,this.setFocus()}onMove(e){_((0,p.i)(this.el),this.checked,e.deltaX,-10)&&(this.toggleChecked(),(0,x.c)())}onEnd(e){this.activated=!1,this.lastDrag=Date.now(),e.event.preventDefault(),e.event.stopImmediatePropagation()}getValue(){return this.value||""}setFocus(){this.focusEl&&this.focusEl.focus()}renderOnOffSwitchLabels(e,r){const t=this.getSwitchLabelIcon(e,r);return(0,a.h)("ion-icon",{class:{"toggle-switch-icon":!0,"toggle-switch-icon-checked":r},icon:t,"aria-hidden":"true"})}renderToggleControl(){const e=(0,o.b)(this),{enableOnOffLabels:r,checked:t}=this;return(0,a.h)("div",{class:"toggle-icon",part:"track",ref:i=>this.toggleTrack=i},r&&"ios"===e&&[this.renderOnOffSwitchLabels(e,!0),this.renderOnOffSwitchLabels(e,!1)],(0,a.h)("div",{class:"toggle-icon-wrapper"},(0,a.h)("div",{class:"toggle-inner",part:"handle"},r&&"md"===e&&this.renderOnOffSwitchLabels(e,t))))}get hasLabel(){return""!==this.el.textContent}render(){const{activated:e,color:r,checked:t,disabled:i,el:u,justify:E,labelPlacement:O,inputId:D,name:j,alignment:L}=this,M=(0,o.b)(this),P=this.getValue(),I=(0,p.i)(u)?"rtl":"ltr";return(0,h.d)(!0,u,j,t?P:"",i),(0,a.h)(a.f,{key:"b0d648e071bc8095998b519ce4dcdd0ea91575c0",onClick:this.onClick,class:(0,b.c)(r,{[M]:!0,"in-item":(0,b.h)("ion-item",u),"toggle-activated":e,"toggle-checked":t,"toggle-disabled":i,[`toggle-justify-${E}`]:!0,[`toggle-alignment-${L}`]:!0,[`toggle-label-placement-${O}`]:!0,[`toggle-${I}`]:!0})},(0,a.h)("label",{key:"9a2fe1d16dba66a9dfef450efebf2e5cbe3dcd00",class:"toggle-wrapper"},(0,a.h)("input",Object.assign({key:"4358d18cb86da768155c17f9da3aac641296c256",type:"checkbox",role:"switch","aria-checked":`${t}`,checked:t,disabled:i,id:D,onFocus:()=>this.onFocus(),onBlur:()=>this.onBlur(),ref:T=>this.focusEl=T},this.inheritedAttributes)),(0,a.h)("div",{key:"0ec99e452164d7059cc4f93d09e5b918f82c022a",class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!this.hasLabel},part:"label"},(0,a.h)("slot",{key:"1c5cbc99905a79e842e9487eb3ca654e1bab3c66"})),(0,a.h)("div",{key:"ca8196423b429899febd11c7337d768ff05df6f4",class:"native-wrapper"},this.renderToggleControl())))}get el(){return(0,a.i)(this)}static get watchers(){return{disabled:["disabledChanged"]}}},_=(e,r,t,i)=>r?!e&&i>t||e&&-it;let C=0;k.style={ios:":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #0054e9);--border-radius:15.5px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 4px rgba(0, 0, 0, 0.06), 0 3px 8px rgba(0, 0, 0, 0.06);--handle-height:calc(31px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(31px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}.native-wrapper .toggle-icon{width:51px;height:31px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color 300ms;transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity 300ms, color 300ms;transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark, #222428)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px;-webkit-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0);transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0);transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}",md:":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--track-background-checked:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #0054e9);--handle-border-radius:50%;--handle-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);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1)}.native-wrapper .toggle-icon{width:36px;height:14px}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}:host(.toggle-checked) .toggle-inner{color:var(--ion-color-contrast, #fff)}.toggle-icon{-webkit-transition:background-color 160ms;transition:background-color 160ms}.toggle-inner{will-change:background-color, transform;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#000}.toggle-inner .toggle-switch-icon{-webkit-padding-start:1px;padding-inline-start:1px;-webkit-padding-end:1px;padding-inline-end:1px;padding-top:1px;padding-bottom:1px;width:100%;height:100%}:host(.toggle-disabled){opacity:0.38}"}},333:(v,c,n)=>{n.d(c,{c:()=>h,g:()=>p,h:()=>a,o:()=>g});var d=n(467);const a=(o,l)=>null!==l.closest(o),h=(o,l)=>"string"==typeof o&&o.length>0?Object.assign({"ion-color":!0,[`ion-color-${o}`]:!0},l):l,p=o=>{const l={};return(o=>void 0!==o?(Array.isArray(o)?o:o.split(" ")).filter(s=>null!=s).map(s=>s.trim()).filter(s=>""!==s):[])(o).forEach(s=>l[s]=!0),l},b=/^[a-z][a-z0-9+\-.]*:/,g=function(){var o=(0,d.A)(function*(l,s,w,m){if(null!=l&&"#"!==l[0]&&!b.test(l)){const f=document.querySelector("ion-router");if(f)return null!=s&&s.preventDefault(),f.push(l,w,m)}return!1});return function(s,w,m,f){return o.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/4304.1ee0ef2bdf588c3d.js b/www/4304.1ee0ef2bdf588c3d.js
deleted file mode 100644
index c1fe58c..0000000
--- a/www/4304.1ee0ef2bdf588c3d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4304],{5553:(L,v,a)=>{a.d(v,{h:()=>O});var d=a(177),j=a(7863),c=a(4438);let O=(()=>{var f;class t{}return(f=t).\u0275fac=function(T){return new(T||f)},f.\u0275mod=c.$C({type:f}),f.\u0275inj=c.G2t({imports:[d.MD,j.bv]}),t})()},3241:(L,v,a)=>{a.d(v,{p:()=>O});var d=a(4438),j=a(177),c=a(7863);let O=(()=>{var f;class t{constructor(T){this.location=T,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(f=t).\u0275fac=function(T){return new(T||f)(d.rXU(j.aZ))},f.\u0275cmp=d.VBU({type:f,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(T,b){1&T&&(d.j41(0,"ion-header",0)(1,"ion-toolbar"),d.nrm(2,"ion-menu-button",1),d.j41(3,"ion-icon",2),d.bIt("click",function(){return b.goBack()}),d.k0s(),d.j41(4,"ion-title"),d.EFF(5),d.k0s()()()),2&T&&(d.Y8G("translucent",!0),d.R7$(5),d.JRh(b.title))},dependencies:[c.eU,c.iq,c.MC,c.BC,c.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),t})()},4304:(L,v,a)=>{a.r(v),a.d(v,{LoadTestHistoryPageModule:()=>A});var d=a(177),j=a(4341),c=a(7863),O=a(7650),f=a(467),t=a(4438),R=a(4970),T=a(8453),b=a(3241),F=a(2820);const x=[{path:"",component:(()=>{var i;class C{constructor(o,e,s){this.activatedRoute=o,this.router=e,this.loadTestService=s,this.productObjective="",this.productStep="",this.orgName="",this.date="",this.loadTestResults={},this.totalNumberOfRequests=0,this.statusCodesOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.responseTimeOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]}}ngOnInit(){var o=this;this.getParams(),this.getLoadTestHistoryByDate().then(function(){var e=(0,f.A)(function*(s){o.totalRequests(),yield o.plotCodes(),yield o.responseTime()});return function(s){return e.apply(this,arguments)}}())}getParams(){this.activatedRoute.params.subscribe(e=>{this.productObjective=e.productObjective,this.productStep=e.productStep,this.date=e.day});const o=JSON.parse(localStorage.getItem("user"));this.orgName=o.orgName,console.log(this.orgName),console.log(this.productObjective),console.log(this.productStep),console.log(this.date)}getLoadTestHistoryByDate(){var o=this;return(0,f.A)(function*(){o.loadTestResults=yield o.loadTestService.getLoadTestHistoryByDate(o.orgName,o.productObjective,o.productStep,o.date)})()}totalRequests(){let o=Object.keys(this.loadTestResults),e={},s=0;for(let r of o){let n=this.loadTestResults[r].aggregate.counters,u=this.loadTestResults[r].date,y=Object.keys(n).filter(p=>p.startsWith("http.requests"));for(let p of y)e[u]||(e[u]={}),e[u][p]=(e[u][p]||0)+n[p]}for(let r of Object.keys(e))s+=e[r]["http.requests"];this.totalNumberOfRequests=s}byCodes(){let o=Object.keys(this.loadTestResults),e={};for(let s of o){let r=this.loadTestResults[s].aggregate.counters,n=this.loadTestResults[s].date,u=Object.keys(r).filter(y=>y.startsWith("http.codes."));for(let y of u)e[n]||(e[n]={}),e[n][y]=r[y]}return console.log(e),e=this.ordenarDiccionarioPorFechas(e),e}normalizarFecha(o){const[e,s,r]=o.split("-").map(y=>parseInt(y,10));return`${e}-${s<10?`0${s}`:s.toString()}-${r<10?`0${r}`:r.toString()}`}ordenarDiccionarioPorFechas(o){const s=Object.keys(o).sort((n,u)=>{const y=new Date(this.normalizarFecha(n)),p=new Date(this.normalizarFecha(u));return y.getTime()-p.getTime()}),r={};return s.forEach(n=>{r[n]=o[n]}),r}plotCodes(){var o=this;return(0,f.A)(function*(){let e=o.byCodes();console.log(e);let s=Object.keys(e),r=new Set;for(let p of s){let h=Object.keys(e[p]);for(let M of h)r.add(M)}let n={};for(let p in e){let l=e[p];for(let h of r)n[h]||(n[h]=[]),n[h].push(l[h]||0)}let u=["#36b311","#306fc6","#ed3b3b","#f4ba20"];for(let p in n){let h,l=p.split(".").pop();null!=l&&l.startsWith("2")&&(h=u[0]),null!=l&&l.startsWith("3")&&(h=u[1]),null!=l&&l.startsWith("4")&&(h=u[2]),null!=l&&l.startsWith("5")&&(h=u[3]),h||(h="#000000"),o.statusCodesOptions.series.push({name:p,type:"line",data:n[p],lineStyle:{color:h},itemStyle:{color:h}})}o.statusCodesOptions.xAxis={type:"category",boundaryGap:!1,data:s},o.statusCodesOptions={...o.statusCodesOptions};let y=document.getElementById("httpCodesChartHistory");console.log(y),y.style.width="100%",y.style.height="25em"})()}responseTime(){let o=Object.keys(this.loadTestResults),e={};for(let g of o){let m=this.loadTestResults[g].aggregate.histograms,k=this.loadTestResults[g].date,D=Object.keys(m).filter(H=>H.startsWith("http.response_time"));for(let H of D)e[k]=m[H]}let s=Object.keys(e);s=function r(g){return g.sort((m,k)=>{let D=m.split("-").slice(0,3).join("/"),H=k.split("-").slice(0,3).join("/"),S=m.split("-").slice(3,6).join(":"),$=H+" "+k.split("-").slice(3,6).join(":");return new Date(D+" "+S).getTime()-new Date($).getTime()})}(s),console.log("date",s),console.log("responseTimes",e);let n=[],u=[],y=[],p=[],l=[],h=[];for(let g in s){console.log("date",s[g]);for(let m in e[s[g]])"min"===m&&n.push(e[s[g]][m]),"max"===m&&u.push(e[s[g]][m]),"p95"===m&&y.push(e[s[g]][m]),"p99"===m&&p.push(e[s[g]][m]),"mean"===m&&l.push(e[s[g]][m]),"median"===m&&h.push(e[s[g]][m])}console.log("min",n);let M={min:n,max:u,p95:y,p99:p,mean:l,median:h};this.responseTimeOptions.series=[];for(let g in M)this.responseTimeOptions.series.push({name:g,type:"bar",data:M[g]});this.responseTimeOptions.xAxis={type:"category",boundaryGap:!1,data:s},this.responseTimeOptions={...this.responseTimeOptions};let E=document.getElementById("httpResponseTimeChartHistory");console.log(E),E.style.width="100%",E.style.height="25em"}}return(i=C).\u0275fac=function(o){return new(o||i)(t.rXU(O.nX),t.rXU(O.Ix),t.rXU(R.s))},i.\u0275cmp=t.VBU({type:i,selectors:[["app-load-test-history"]],decls:28,vars:9,consts:[[3,"title"],[3,"fullscreen"],[1,"lg:m-10","md:m-10"],["size","12",1,"w-full"],[1,"w-full","p-6","flex","flex-col","justify-center","items-center"],[1,"text-3xl"],[1,"text-2xl","text-white"],[1,"h-[25em]","w-full"],["id","httpCodesChartHistory","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["id","httpResponseTimeChartHistory","echarts","",1,"demo-chart","h-full","w-full",3,"options"]],template:function(o,e){1&o&&(t.nrm(0,"app-header-return",0),t.j41(1,"ion-content",1)(2,"ion-grid"),t.nrm(3,"app-title",0),t.j41(4,"ion-row",2)(5,"ion-col",3)(6,"ion-card",4)(7,"ion-card-header")(8,"ion-card-title",5),t.EFF(9,"Total Number of Requests"),t.k0s()(),t.j41(10,"ion-card-content")(11,"h1",6),t.EFF(12),t.nI1(13,"number"),t.k0s()()()()(),t.j41(14,"ion-row",2)(15,"ion-card",4)(16,"ion-card-header")(17,"ion-card-title",5),t.EFF(18,"HTTP Status Codes"),t.k0s()(),t.j41(19,"ion-card-content",7),t.nrm(20,"div",8),t.k0s()()(),t.j41(21,"ion-row",2)(22,"ion-card",4)(23,"ion-card-header")(24,"ion-card-title",5),t.EFF(25,"HTTP Response Time"),t.k0s()(),t.j41(26,"ion-card-content",7),t.nrm(27,"div",9),t.k0s()()()()()),2&o&&(t.Y8G("title","History For: "+e.date),t.R7$(),t.Y8G("fullscreen",!0),t.R7$(2),t.Y8G("title","Load Test History"),t.R7$(9),t.JRh(t.i5U(13,6,e.totalNumberOfRequests,"1.0-0")),t.R7$(8),t.Y8G("options",e.statusCodesOptions),t.R7$(7),t.Y8G("options",e.responseTimeOptions))},dependencies:[c.b_,c.I9,c.ME,c.tN,c.hU,c.W9,c.lO,c.ln,T.W,b.p,F.$P,d.QX]}),C})()}];let I=(()=>{var i;class C{}return(i=C).\u0275fac=function(o){return new(o||i)},i.\u0275mod=t.$C({type:i}),i.\u0275inj=t.G2t({imports:[O.iI.forChild(x),O.iI]}),C})();var B=a(5553);let A=(()=>{var i;class C{}return(i=C).\u0275fac=function(o){return new(o||i)},i.\u0275mod=t.$C({type:i}),i.\u0275inj=t.G2t({imports:[d.MD,j.YN,c.bv,I,B.h]}),C})()}}]);
\ No newline at end of file
diff --git a/www/4304.5e919bf908d2ac02.js b/www/4304.5e919bf908d2ac02.js
new file mode 100644
index 0000000..e5d87ac
--- /dev/null
+++ b/www/4304.5e919bf908d2ac02.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4304],{5553:(w,_,r)=>{r.d(_,{h:()=>j});var c=r(177),x=r(7863),l=r(4438);let j=(()=>{var u;class e{}return(u=e).\u0275fac=function(b){return new(b||u)},u.\u0275mod=l.$C({type:u}),u.\u0275inj=l.G2t({imports:[c.MD,x.bv]}),e})()},3241:(w,_,r)=>{r.d(_,{p:()=>j});var c=r(4438),x=r(177),l=r(7863);let j=(()=>{var u;class e{constructor(b){this.location=b,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(u=e).\u0275fac=function(b){return new(b||u)(c.rXU(x.aZ))},u.\u0275cmp=c.VBU({type:u,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(b,O){1&b&&(c.j41(0,"ion-header",0)(1,"ion-toolbar"),c.nrm(2,"ion-menu-button",1),c.j41(3,"ion-icon",2),c.bIt("click",function(){return O.goBack()}),c.k0s(),c.j41(4,"ion-title"),c.EFF(5),c.k0s()()()),2&b&&(c.Y8G("translucent",!0),c.R7$(5),c.JRh(O.title))},dependencies:[l.eU,l.iq,l.MC,l.BC,l.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),e})()},4304:(w,_,r)=>{r.r(_),r.d(_,{LoadTestHistoryPageModule:()=>z});var c=r(177),x=r(4341),l=r(7863),j=r(7650),u=r(467),e=r(4438),C=r(9032),b=r(4970),O=r(8453),L=r(3241),A=r(2820),E=r(9549);const F=["messagesContainer"];function I(i,T){if(1&i){const f=e.RV6();e.j41(0,"ion-fab",30),e.bIt("click",function(){e.eBV(f);const t=e.XpG();return e.Njj(t.toggleAiModal())}),e.j41(1,"ion-avatar",31),e.nrm(2,"ion-icon",32),e.k0s()()}}function D(i,T){if(1&i&&(e.j41(0,"div",36)(1,"markdown",37),e.EFF(2),e.k0s()()),2&i){const f=e.XpG().$implicit;e.R7$(2),e.JRh(f.message)}}function N(i,T){if(1&i&&(e.j41(0,"div",38)(1,"markdown",39),e.EFF(2),e.k0s()()),2&i){const f=e.XpG().$implicit;e.R7$(),e.Mz_("id","mk-",f.id,""),e.R7$(),e.JRh(f.message)}}function B(i,T){if(1&i&&(e.j41(0,"div",33),e.DNE(1,D,3,1,"div",34)(2,N,3,3,"div",35),e.k0s()),2&i){const f=T.$implicit;e.R7$(),e.Y8G("ngIf","User"===f.from),e.R7$(),e.Y8G("ngIf","AI"===f.from)}}const $=[{path:"",component:(()=>{var i;class T{constructor(s,t,o,n){this.activatedRoute=s,this.router=t,this.loadTestService=o,this.loadingCtrl=n,this.productObjective="",this.productStep="",this.orgName="",this.date="",this.loadTestResults={},this.totalNumberOfRequests=0,this.statusCodesOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.responseTimeOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.aiModal=!1,this.message="",this.vertexAI=(0,e.WQX)(C.L9),this.model=(0,C.oc)(this.vertexAI,{model:"gemini-1.5-flash"}),this.chat=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de un load test,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un problema o que se encuentre el recurso no disponible por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.messages=[],this.hasBeenOpened=!1}ngOnInit(){var s=this;this.getParams(),this.getLoadTestHistoryByDate().then(function(){var t=(0,u.A)(function*(o){s.totalRequests(),yield s.plotCodes(),yield s.responseTime()});return function(o){return t.apply(this,arguments)}}())}getParams(){this.activatedRoute.params.subscribe(t=>{this.productObjective=t.productObjective,this.productStep=t.productStep,this.date=t.day});const s=JSON.parse(localStorage.getItem("user"));this.orgName=s.orgName,console.log(this.orgName),console.log(this.productObjective),console.log(this.productStep),console.log(this.date)}getLoadTestHistoryByDate(){var s=this;return(0,u.A)(function*(){s.loadTestResults=yield s.loadTestService.getLoadTestHistoryByDate(s.orgName,s.productObjective,s.productStep,s.date)})()}totalRequests(){let s=Object.keys(this.loadTestResults),t={},o=0;for(let n of s){let a=this.loadTestResults[n].aggregate.counters,p=this.loadTestResults[n].date,y=Object.keys(a).filter(m=>m.startsWith("http.responses"));for(let m of y)t[p]||(t[p]={}),t[p][m]=(t[p][m]||0)+a[m]}for(let n of Object.keys(t))o+=t[n]["http.responses"];this.totalNumberOfRequests=o}byCodes(){let s=Object.keys(this.loadTestResults),t={};for(let o of s){let n=this.loadTestResults[o].aggregate.counters,a=this.loadTestResults[o].date,p=Object.keys(n).filter(y=>y.startsWith("http.codes."));for(let y of p)t[a]||(t[a]={}),t[a][y]=n[y]}return console.log(t),t=this.ordenarDiccionarioPorFechas(t),t}normalizarFecha(s){console.log("fecha",s);const[t,o,n,a,p,y]=s.split("-").map(g=>parseInt(g,10));return`${t}-${o<10?`0${o}`:o.toString()}-${n<10?`0${n}`:n.toString()} ${a}:${p}:${y}`}ordenarDiccionarioPorFechas(s){const o=Object.keys(s).sort((a,p)=>{console.log("a",this.normalizarFecha(a)),console.log("b",this.normalizarFecha(p));const y=new Date(this.normalizarFecha(a)),m=new Date(this.normalizarFecha(p));return y.getTime()-m.getTime()}),n={};return o.forEach(a=>{n[a]=s[a]}),n}plotCodes(){var s=this;return(0,u.A)(function*(){let t=s.byCodes();console.log("codess",t);let o=Object.keys(t);console.log("llaves",o);let n=new Set;for(let m of o){let g=Object.keys(t[m]);for(let k of g)n.add(k)}let a={};for(let m in t){let d=t[m];for(let g of n)a[g]||(a[g]=[]),a[g].push(d[g]||0)}let p=["#36b311","#306fc6","#ed3b3b","#f4ba20"];for(let m in a){let g,d=m.split(".").pop();null!=d&&d.startsWith("2")&&(g=p[0]),null!=d&&d.startsWith("3")&&(g=p[1]),null!=d&&d.startsWith("4")&&(g=p[2]),null!=d&&d.startsWith("5")&&(g=p[3]),g||(g="#000000"),s.statusCodesOptions.series.push({name:m,type:"line",data:a[m],lineStyle:{color:g},itemStyle:{color:g}})}s.statusCodesOptions.xAxis={type:"category",boundaryGap:!1,data:o},s.statusCodesOptions={...s.statusCodesOptions};let y=document.getElementById("httpCodesChartHistory");console.log(y),y.style.width="100%",y.style.height="25em"})()}responseTime(){let s=Object.keys(this.loadTestResults),t={};for(let v of s){let h=this.loadTestResults[v].aggregate.histograms,M=this.loadTestResults[v].date,H=Object.keys(h).filter(R=>R.startsWith("http.response_time"));for(let R of H)t[M]=h[R]}let o=Object.keys(t);o=function n(v){return v.sort((h,M)=>{let H=h.split("-").slice(0,3).join("/"),R=M.split("-").slice(0,3).join("/"),U=h.split("-").slice(3,6).join(":"),V=R+" "+M.split("-").slice(3,6).join(":");return new Date(H+" "+U).getTime()-new Date(V).getTime()})}(o),console.log("date",o),console.log("responseTimes",t);let a=[],p=[],y=[],m=[],d=[],g=[];for(let v in o){console.log("date",o[v]);for(let h in t[o[v]])"min"===h&&a.push(t[o[v]][h]),"max"===h&&p.push(t[o[v]][h]),"p95"===h&&y.push(t[o[v]][h]),"p99"===h&&m.push(t[o[v]][h]),"mean"===h&&d.push(t[o[v]][h]),"median"===h&&g.push(t[o[v]][h])}console.log("min",a);let k={min:a,max:p,p95:y,p99:m,mean:d,median:g};this.responseTimeOptions.series=[];for(let v in k)this.responseTimeOptions.series.push({name:v,type:"bar",data:k[v]});this.responseTimeOptions.xAxis={type:"category",boundaryGap:!1,data:o},this.responseTimeOptions={...this.responseTimeOptions};let P=document.getElementById("httpResponseTimeChartHistory");return console.log(P),P.style.width="100%",P.style.height="25em",t}toggleAiModal(s){var t=this;return(0,u.A)(function*(){if(yield t.showLoading(),t.aiModal=!t.aiModal,t.hasBeenOpened=!0,"httpCodesOptions"===s&&(t.message="En este caso el json tiene codigos de respuesta HTTP, por ejemplo, 404, 500, etc y cuantos requests devolvieron esos codigos:"+JSON.stringify(t.byCodes())),"httpResponseTimeOptions"===s&&(t.message="En este caso el json tiene tiempos de respuesta de los requests, por ejemplo, 500ms, 1000ms, etc: "+JSON.stringify(t.responseTime())),""===t.message)return console.log("Message is empty"),void(yield t.hideLoading());let o=t.messages.length;o>0&&t.messages.push({message:t.message,from:"User",id:o.toString()});const n=yield t.chat.sendMessage(t.message);o=t.messages.length,t.messages.push({message:n.response.text(),from:"AI",id:o.toString()}),t.message="",yield t.hideLoading()})()}sendMessage(){var s=this;let t=this.messages.length;this.messages.push({message:this.message,from:"User",id:t.toString()}),this.chat.sendMessage(this.message).then(function(){var o=(0,u.A)(function*(n){yield s.showLoading(),t=s.messages.length,s.messages.push({message:n.response.text(),from:"AI",id:t.toString()}),yield s.hideLoading()});return function(n){return o.apply(this,arguments)}}()),this.message=""}showLoading(){var s=this;return(0,u.A)(function*(){yield(yield s.loadingCtrl.create({})).present()})()}hideLoading(){var s=this;return(0,u.A)(function*(){yield s.loadingCtrl.dismiss()})()}}return(i=T).\u0275fac=function(s){return new(s||i)(e.rXU(j.nX),e.rXU(j.Ix),e.rXU(b.s),e.rXU(l.Xi))},i.\u0275cmp=e.VBU({type:i,selectors:[["app-load-test-history"]],viewQuery:function(s,t){if(1&s&&e.GBs(F,5),2&s){let o;e.mGM(o=e.lsd())&&(t.messagesContainer=o.first)}},decls:55,vars:14,consts:[["messagesContainer",""],[3,"title"],[3,"fullscreen"],[1,"lg:m-10","md:m-10"],["size","12",1,"w-full"],[1,"w-full","p-6","flex","flex-col","justify-center","items-center"],[1,"text-3xl"],[1,"text-2xl","text-white"],["size","12",1,"relative","flex","flex-row","justify-center"],[1,"absolute","z-10","w-full","flex","flex-row","justify-end"],[1,"h-12","w-12","bg-purple-400","p-2",3,"click"],["name","color-wand-outline",1,"w-full","h-full"],[1,"h-[25em]","w-full"],["id","httpCodesChartHistory","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["id","httpResponseTimeChartHistory","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10"],["id","ai-modal",1,"fixed","bottom-0","right-0","h-full","w-full","bg-black","bg-opacity-60","z-10","r"],[1,"h-full","md:h-3/4","lg:h-3/4","w-full","bg-gray-900","p-4","absolute","right-0","bottom-0","z-50","flex","flex-col","rounded-tl-2xl","rounded-tr-2xl"],[1,"w-full","bg-gray-500","flex","flex-row","justify-center","items-center","p-2","mb-2","rounded-3xl"],[1,"flex","flex-row","p-2","items-center","bg-gray-800","w-full","rounded-3xl","h-full"],[1,"text-white"],[1,"m-2"],[1,"flex","flex-row","justify-center","items-center","bg-gray-800","hover:bg-gray-600","w-1/6","h-full","rounded-3xl",3,"click"],["name","close-outline"],[1,"flex-grow","overflow-y-auto","bg-gray-400","p-2","rounded-3xl"],["class","flex flex-col",4,"ngFor","ngForOf"],[1,"flex","flex-row","mt-2","p-2"],["placeholder","Ask...",1,"flex-grow","bg-gray-700","rounded-2xl",3,"ngModelChange","ngModel"],[1,"m-1"],[1,"w-1/3","bg-gray-500","rounded-3xl","flex","flex-row","justify-center","items-center","hover:bg-gray-300",3,"click"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10",3,"click"],[1,"bg-purple-300","p-1","lg:p-4","md:p-4"],["name","chatbubble-outline",1,"w-full","h-full"],[1,"flex","flex-col"],["class","rounded-3xl bg-gray-800 w-2/3 m-1 ml-auto p-2",4,"ngIf"],["class","rounded-3xl bg-gray-500 w-2/3 m-1 p-2 pr-2",4,"ngIf"],[1,"rounded-3xl","bg-gray-800","w-2/3","m-1","ml-auto","p-2"],[1,"text-white","p-4","m-2"],[1,"rounded-3xl","bg-gray-500","w-2/3","m-1","p-2","pr-2"],[1,"text-white","p-4","m-2",3,"id"]],template:function(s,t){if(1&s){const o=e.RV6();e.nrm(0,"app-header-return",1),e.j41(1,"ion-content",2)(2,"ion-grid"),e.nrm(3,"app-title",1),e.j41(4,"ion-row",3)(5,"ion-col",4)(6,"ion-card",5)(7,"ion-card-header")(8,"ion-card-title",6),e.EFF(9,"Total Number of Requests"),e.k0s()(),e.j41(10,"ion-card-content")(11,"h1",7),e.EFF(12),e.nI1(13,"number"),e.k0s()()()()(),e.j41(14,"ion-row",3)(15,"ion-col",8)(16,"div",9)(17,"ion-avatar",10),e.bIt("click",function(){return e.eBV(o),e.Njj(t.toggleAiModal("httpCodesOptions"))}),e.nrm(18,"ion-icon",11),e.k0s()(),e.j41(19,"ion-card",5)(20,"ion-card-header")(21,"ion-card-title",6),e.EFF(22,"HTTP Status Codes"),e.k0s()(),e.j41(23,"ion-card-content",12),e.nrm(24,"div",13),e.k0s()()()(),e.j41(25,"ion-row",3)(26,"ion-col",8)(27,"div",9)(28,"ion-avatar",10),e.bIt("click",function(){return e.eBV(o),e.Njj(t.toggleAiModal("httpResponseTimeOptions"))}),e.nrm(29,"ion-icon",11),e.k0s()(),e.j41(30,"ion-card",5)(31,"ion-card-header")(32,"ion-card-title",6),e.EFF(33,"HTTP Response Time"),e.k0s()(),e.j41(34,"ion-card-content",12),e.nrm(35,"div",14),e.k0s()()()()(),e.DNE(36,I,3,0,"ion-fab",15),e.k0s(),e.j41(37,"div",16)(38,"div",17)(39,"div",18)(40,"div",19)(41,"h1",20),e.EFF(42,"DevProbe AI"),e.k0s()(),e.nrm(43,"div",21),e.j41(44,"div",22),e.bIt("click",function(){return e.eBV(o),e.Njj(t.toggleAiModal())}),e.nrm(45,"ion-icon",23),e.k0s()(),e.j41(46,"div",24,0),e.DNE(48,B,3,2,"div",25),e.k0s(),e.j41(49,"div",26)(50,"ion-textarea",27),e.mxI("ngModelChange",function(a){return e.eBV(o),e.DH7(t.message,a)||(t.message=a),e.Njj(a)}),e.k0s(),e.nrm(51,"div",28),e.j41(52,"div",29),e.bIt("click",function(){return e.eBV(o),e.Njj(t.sendMessage())}),e.j41(53,"span",20),e.EFF(54,"Send"),e.k0s()()()()()}2&s&&(e.Y8G("title","History For: "+t.date),e.R7$(),e.Y8G("fullscreen",!0),e.R7$(2),e.Y8G("title","Load Test History"),e.R7$(9),e.JRh(e.i5U(13,11,t.totalNumberOfRequests,"1.0-0")),e.R7$(12),e.Y8G("options",t.statusCodesOptions),e.R7$(11),e.Y8G("options",t.responseTimeOptions),e.R7$(),e.vxM(36,t.hasBeenOpened?36:-1),e.R7$(),e.AVh("hidden",!t.aiModal),e.R7$(11),e.Y8G("ngForOf",t.messages),e.R7$(2),e.R50("ngModel",t.message))},dependencies:[c.Sq,c.bT,x.BC,x.vS,l.mC,l.b_,l.I9,l.ME,l.tN,l.hU,l.W9,l.Q8,l.lO,l.iq,l.ln,l.nc,l.Gw,O.W,L.p,A.$P,E.NN,c.QX]}),T})()}];let S=(()=>{var i;class T{}return(i=T).\u0275fac=function(s){return new(s||i)},i.\u0275mod=e.$C({type:i}),i.\u0275inj=e.G2t({imports:[j.iI.forChild($),j.iI]}),T})();var G=r(5553);let z=(()=>{var i;class T{}return(i=T).\u0275fac=function(s){return new(s||i)},i.\u0275mod=e.$C({type:i}),i.\u0275inj=e.G2t({imports:[c.MD,x.YN,l.bv,S,G.h,E.NN]}),T})()}}]);
\ No newline at end of file
diff --git a/www/4559.303a6d01dbac6106.js b/www/4559.303a6d01dbac6106.js
new file mode 100644
index 0000000..bc22810
--- /dev/null
+++ b/www/4559.303a6d01dbac6106.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4559],{5553:(w,x,u)=>{u.d(x,{h:()=>b});var g=u(177),j=u(7863),d=u(4438);let b=(()=>{var p;class e{}return(p=e).\u0275fac=function(_){return new(_||p)},p.\u0275mod=d.$C({type:p}),p.\u0275inj=d.G2t({imports:[g.MD,j.bv]}),e})()},3241:(w,x,u)=>{u.d(x,{p:()=>b});var g=u(4438),j=u(177),d=u(7863);let b=(()=>{var p;class e{constructor(_){this.location=_,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(p=e).\u0275fac=function(_){return new(_||p)(g.rXU(j.aZ))},p.\u0275cmp=g.VBU({type:p,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(_,O){1&_&&(g.j41(0,"ion-header",0)(1,"ion-toolbar"),g.nrm(2,"ion-menu-button",1),g.j41(3,"ion-icon",2),g.bIt("click",function(){return O.goBack()}),g.k0s(),g.j41(4,"ion-title"),g.EFF(5),g.k0s()()()),2&_&&(g.Y8G("translucent",!0),g.R7$(5),g.JRh(O.title))},dependencies:[d.eU,d.iq,d.MC,d.BC,d.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),e})()},4559:(w,x,u)=>{u.r(x),u.d(x,{LoadTestPageModule:()=>B});var g=u(177),j=u(4341),d=u(7863),b=u(7650),p=u(467),e=u(4438),R=u(9032),_=u(4970),O=u(8453),M=u(3241),P=u(2820),L=u(9549);const E=["messagesContainer"];function A(l,T){if(1&l){const m=e.RV6();e.j41(0,"ion-item",37),e.bIt("click",function(){const t=e.eBV(m).$implicit,n=e.XpG();return e.Njj(n.viewHistory(t))}),e.j41(1,"ion-label"),e.EFF(2),e.k0s(),e.nrm(3,"ion-icon",38),e.k0s()}if(2&l){const m=T.$implicit;e.R7$(2),e.JRh(m)}}function F(l,T){if(1&l){const m=e.RV6();e.j41(0,"ion-fab",39),e.bIt("click",function(){e.eBV(m);const t=e.XpG();return e.Njj(t.toggleAiModal())}),e.j41(1,"ion-avatar",40),e.nrm(2,"ion-icon",41),e.k0s()()}}function I(l,T){if(1&l&&(e.j41(0,"div",45)(1,"markdown",46),e.EFF(2),e.k0s()()),2&l){const m=e.XpG().$implicit;e.R7$(2),e.JRh(m.message)}}function D(l,T){if(1&l&&(e.j41(0,"div",47)(1,"markdown",48),e.EFF(2),e.k0s()()),2&l){const m=e.XpG().$implicit;e.R7$(),e.Mz_("id","mk-",m.id,""),e.R7$(),e.JRh(m.message)}}function N(l,T){if(1&l&&(e.j41(0,"div",42),e.DNE(1,I,3,1,"div",43)(2,D,3,3,"div",44),e.k0s()),2&l){const m=T.$implicit;e.R7$(),e.Y8G("ngIf","User"===m.from),e.R7$(),e.Y8G("ngIf","AI"===m.from)}}const S=[{path:"",component:(()=>{var l;class T{constructor(s,t,n,a,o){this.router=s,this.activatedRoute=t,this.loadTestService=n,this.loadingCtrl=a,this.alertCtrl=o,this.productStep="",this.productObjective="",this.orgName="",this.target="",this.description="",this.loadTestResults={},this.totalNumberOfRequests=0,this.statusCodesOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.responseTimeOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.listOfDates=[],this.aiModal=!1,this.message="",this.vertexAI=(0,e.WQX)(R.L9),this.model=(0,R.oc)(this.vertexAI,{model:"gemini-1.5-flash"}),this.chat=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de un load test,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un problema o que se encuentre el recurso no disponible por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.messages=[],this.hasBeenOpened=!1}ngOnInit(){}ionViewWillEnter(){var s=this;return(0,p.A)(function*(){yield s.showLoading(),s.getParams(),yield s.getHistoryResults().then(()=>{s.plotCodes(),s.totalRequests(),s.responseTime()}),yield s.hideLoading()})()}getParams(){this.activatedRoute.params.subscribe(t=>{this.productObjective=t.productObjective,this.productStep=t.step});const s=JSON.parse(localStorage.getItem("user"));this.orgName=s.orgName,console.log(this.orgName),console.log(this.productObjective),console.log(this.productStep)}sendRequest(){var s=this;return(0,p.A)(function*(){if(yield s.showLoading(),s.target.startsWith("http://")||s.target.startsWith("https://")||s.target.endsWith("/"))return yield s.hideLoading(),void(yield s.showAlert("No http or https is needed, check for slashes at the end of the domain","Please enter a valid host"));yield s.loadTestService.sendLoadTest(s.orgName,s.productObjective,s.productStep,s.target).then(function(){var t=(0,p.A)(function*(n){yield s.hideLoading(),console.log("data",n),n&&(yield s.showAlert("Test sent, please wait a few seconds to GET RESULTS","Success"))});return function(n){return t.apply(this,arguments)}}()),yield s.hideLoading()})()}getHistoryResults(){var s=this;return(0,p.A)(function*(){s.loadTestResults=yield s.loadTestService.getLoadTestHistory(s.orgName,s.productObjective,s.productStep)})()}totalRequests(){let s=Object.keys(this.loadTestResults),t={},n=0;for(let a of s){let o=this.loadTestResults[a].aggregate.counters,v=this.loadTestResults[a].date,c=Object.keys(o).filter(y=>y.startsWith("http.responses"));for(let y of c)t[v]||(t[v]={}),t[v][y]=(t[v][y]||0)+o[y]}for(let a of Object.keys(t))n+=t[a]["http.responses"];this.totalNumberOfRequests=n}byCodes(){let s=Object.keys(this.loadTestResults),t={};for(let n of s){let a=this.loadTestResults[n].aggregate.counters,o=this.loadTestResults[n].date.split("-").slice(0,3).join("-"),v=Object.keys(a).filter(c=>c.startsWith("http.codes."));t[o]||(t[o]={});for(let c of v)t[o][c]=(t[o][c]||0)+a[c]}return t=this.ordenarDiccionarioPorFechas(t),console.log("codessss",t),t}normalizarFecha(s){const[t,n,a]=s.split("-").map(c=>parseInt(c,10));return`${t}-${n<10?`0${n}`:n.toString()}-${a<10?`0${a}`:a.toString()}`}ordenarDiccionarioPorFechas(s){const n=Object.keys(s).sort((o,v)=>{const c=new Date(this.normalizarFecha(o)),y=new Date(this.normalizarFecha(v));return c.getTime()-y.getTime()}),a={};return n.forEach(o=>{a[o]=s[o]}),a}plotCodes(){var s=this;return(0,p.A)(function*(){let t=s.byCodes();console.log(t);let n=Object.keys(t);s.listOfDates=n;let a=new Set;for(let y of n){let i=Object.keys(t[y]);for(let r of i)a.add(r)}let o={};for(let y in t){let h=t[y];for(let i of a)o[i]||(o[i]=[]),o[i].push(h[i]||0)}let v=["#36b311","#306fc6","#ed3b3b","#f4ba20"];for(let y in o){let i,h=y.split(".").pop();null!=h&&h.startsWith("2")&&(i=v[0]),null!=h&&h.startsWith("3")&&(i=v[1]),null!=h&&h.startsWith("4")&&(i=v[2]),null!=h&&h.startsWith("5")&&(i=v[3]),i||(i="#000000"),s.statusCodesOptions.series.push({name:y,type:"line",data:o[y],lineStyle:{color:i},itemStyle:{color:i}})}s.statusCodesOptions.xAxis={type:"category",boundaryGap:!1,data:n},s.statusCodesOptions={...s.statusCodesOptions};let c=document.getElementById("httpCodesChart");console.log(c),c.style.width="100%",c.style.height="25em"})()}responseTime(){let s=Object.keys(this.loadTestResults),t={};for(let i of s){let r=this.loadTestResults[i].aggregate.histograms,C=this.loadTestResults[i].date,f=Object.keys(r).filter(k=>k.startsWith("http.response_time"));for(let k of f)t[C]=r[k]}let n=Object.entries(t).reduce((i,[r,C])=>{const f=r.split("-").slice(0,3).join("-");return i[f]=i[f]||[],i[f].push(C),i},{}),a=Object.keys(n).sort((i,r)=>new Date(i).getTime()-new Date(r).getTime()),o={count:0,max:0,min:0,mean:0,median:0,p50:0,p90:0,p95:0,p99:0,p999:0},v={};a.forEach(i=>{let r={count:0,max:0,min:0,mean:0,median:0,p50:0,p90:0,p95:0,p99:0,p999:0},C=0;n[i].forEach(f=>{r.count+=f.count,r.max+=f.max,r.min+=f.min,r.mean+=f.mean,r.median+=f.median,r.p50+=f.p50,r.p90+=f.p90,r.p95+=f.p95,r.p99+=f.p99,r.p999+=f.p999,C++});for(let f in r)"count"!==f&&C>0&&(r[f]=r[f]/C);v[i]=r,o.count+=r.count,o.max+=r.max,o.min+=r.min,o.mean+=r.mean,o.median+=r.median,o.p50+=r.p50,o.p90+=r.p90,o.p95+=r.p95,o.p99+=r.p99,o.p999+=r.p999});let c=a.length;c>0&&(o.mean/=c,o.median/=c,o.p50/=c,o.p90/=c,o.p95/=c,o.p99/=c,o.p999/=c,o.max/=c,o.min/=c);let y={};for(let i in o)"count"===i||"p90"===i||"p50"===i||"p999"===i||(y[i]=o[i],this.responseTimeOptions.series.push({name:i,type:"bar",data:[o[i]],label:{show:!0,formatter:r=>`${r.value.toFixed(2)} ms`}}));this.responseTimeOptions.xAxis={type:"category",boundaryGap:!1,data:["Category"]},this.responseTimeOptions={...this.responseTimeOptions};let h=document.getElementById("httpResponseTimeChart");return console.log(h),h.style.width="100%",h.style.height="25em",y}showLoading(){var s=this;return(0,p.A)(function*(){yield(yield s.loadingCtrl.create({})).present()})()}hideLoading(){var s=this;return(0,p.A)(function*(){yield s.loadingCtrl.dismiss()})()}showAlert(s,t){var n=this;return(0,p.A)(function*(){const a=yield n.alertCtrl.create({header:t,message:s,buttons:["OK"]});return yield a.present(),yield a.onDidDismiss(),!0})()}viewHistory(s){this.router.navigate(["/load-test-history",{productObjective:this.productObjective,productStep:this.productStep,day:s}])}toggleAiModal(s){var t=this;return(0,p.A)(function*(){if(yield t.showLoading(),t.aiModal=!t.aiModal,t.hasBeenOpened=!0,"httpCodesOptions"===s&&(t.message="En este caso el json tiene codigos de respuesta HTTP, por ejemplo, 404, 500, etc y cuantos requests devolvieron esos codigos:"+JSON.stringify(t.byCodes())),"httpResponseTimeOptions"===s&&(t.message="En este caso el json tiene tiempos de respuesta de los requests, por ejemplo, 500ms, 1000ms, etc: "+JSON.stringify(t.responseTime())),""===t.message)return console.log("Message is empty"),void(yield t.hideLoading());let n=t.messages.length;n>0&&t.messages.push({message:t.message,from:"User",id:n.toString()});const a=yield t.chat.sendMessage(t.message);n=t.messages.length,t.messages.push({message:a.response.text(),from:"AI",id:n.toString()}),t.message="",yield t.hideLoading()})()}sendMessage(){var s=this;let t=this.messages.length;this.messages.push({message:this.message,from:"User",id:t.toString()}),this.chat.sendMessage(this.message).then(function(){var n=(0,p.A)(function*(a){yield s.showLoading(),t=s.messages.length,s.messages.push({message:a.response.text(),from:"AI",id:t.toString()}),yield s.hideLoading()});return function(a){return n.apply(this,arguments)}}()),this.message=""}}return(l=T).\u0275fac=function(s){return new(s||l)(e.rXU(b.Ix),e.rXU(b.nX),e.rXU(_.s),e.rXU(d.Xi),e.rXU(d.hG))},l.\u0275cmp=e.VBU({type:l,selectors:[["app-load-test"]],viewQuery:function(s,t){if(1&s&&e.GBs(E,5),2&s){let n;e.mGM(n=e.lsd())&&(t.messagesContainer=n.first)}},decls:71,vars:18,consts:[["messagesContainer",""],[3,"title"],[3,"fullscreen"],[1,"lg:m-10","md:m-10"],["size","12"],["label","Target","placeholder","Enter a target","type","text","labelPlacement","stacked",1,"",3,"ngModelChange","ngModel"],["size","12","size-md","12","size-lg","12",1,"flex","flex-row","justify-end"],["color","primary","size","small",1,"",3,"click"],["name","add"],[1,"w-full","p-6","flex","flex-col","justify-center","items-center"],[1,"text-3xl"],[1,"text-2xl","text-white"],["size","12",1,"relative","flex","flex-row","justify-center"],[1,"absolute","z-10","w-full","flex","flex-row","justify-end"],[1,"h-12","w-12","bg-purple-400","p-2",3,"click"],["name","color-wand-outline",1,"w-full","h-full"],[1,"h-[25em]","w-full"],["id","httpCodesChart","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["id","httpResponseTimeChart","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["size","12",1,"w-full"],[1,"w-full"],["class","w-full",3,"click",4,"ngFor","ngForOf"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10"],["id","ai-modal",1,"fixed","bottom-0","right-0","h-full","w-full","bg-black","bg-opacity-60","z-10","r"],[1,"h-full","md:h-3/4","lg:h-3/4","w-full","bg-gray-900","p-4","absolute","right-0","bottom-0","z-50","flex","flex-col","rounded-tl-2xl","rounded-tr-2xl"],[1,"w-full","bg-gray-500","flex","flex-row","justify-center","items-center","p-2","mb-2","rounded-3xl"],[1,"flex","flex-row","p-2","items-center","bg-gray-800","w-full","rounded-3xl","h-full"],[1,"text-white"],[1,"m-2"],[1,"flex","flex-row","justify-center","items-center","bg-gray-800","hover:bg-gray-600","w-1/6","h-full","rounded-3xl",3,"click"],["name","close-outline"],[1,"flex-grow","overflow-y-auto","bg-gray-400","p-2","rounded-3xl"],["class","flex flex-col",4,"ngFor","ngForOf"],[1,"flex","flex-row","mt-2","p-2"],["placeholder","Ask...",1,"flex-grow","bg-gray-700","rounded-2xl",3,"ngModelChange","ngModel"],[1,"m-1"],[1,"w-1/3","bg-gray-500","rounded-3xl","flex","flex-row","justify-center","items-center","hover:bg-gray-300",3,"click"],[1,"w-full",3,"click"],["name","arrow-forward","color","primary"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10",3,"click"],[1,"bg-purple-300","p-1","lg:p-4","md:p-4"],["name","chatbubble-outline",1,"w-full","h-full"],[1,"flex","flex-col"],["class","rounded-3xl bg-gray-800 w-2/3 m-1 ml-auto p-2",4,"ngIf"],["class","rounded-3xl bg-gray-500 w-2/3 m-1 p-2 pr-2",4,"ngIf"],[1,"rounded-3xl","bg-gray-800","w-2/3","m-1","ml-auto","p-2"],[1,"text-white","p-4","m-2"],[1,"rounded-3xl","bg-gray-500","w-2/3","m-1","p-2","pr-2"],[1,"text-white","p-4","m-2",3,"id"]],template:function(s,t){if(1&s){const n=e.RV6();e.nrm(0,"app-header-return",1),e.j41(1,"ion-content",2)(2,"ion-grid"),e.nrm(3,"app-title",1),e.j41(4,"ion-row",3)(5,"ion-col",4)(6,"ion-card")(7,"ion-card-content")(8,"ion-input",5),e.mxI("ngModelChange",function(o){return e.eBV(n),e.DH7(t.target,o)||(t.target=o),e.Njj(o)}),e.k0s()()()()(),e.j41(9,"ion-row",3)(10,"ion-col",6)(11,"ion-button",7),e.bIt("click",function(){return e.eBV(n),e.Njj(t.sendRequest())}),e.EFF(12,"Load Target "),e.nrm(13,"ion-icon",8),e.k0s()()(),e.nrm(14,"app-title",1),e.j41(15,"ion-row",3)(16,"ion-col",4)(17,"ion-card",9)(18,"ion-card-header")(19,"ion-card-title",10),e.EFF(20,"Total Number of Requests"),e.k0s()(),e.j41(21,"ion-card-content")(22,"h1",11),e.EFF(23),e.nI1(24,"number"),e.k0s()()()()(),e.j41(25,"ion-row",3)(26,"ion-col",12)(27,"div",13)(28,"ion-avatar",14),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal("httpCodesOptions"))}),e.nrm(29,"ion-icon",15),e.k0s()(),e.j41(30,"ion-card",9)(31,"ion-card-header")(32,"ion-card-title",10),e.EFF(33,"HTTP Status Codes"),e.k0s()(),e.j41(34,"ion-card-content",16),e.nrm(35,"div",17),e.k0s()()()(),e.j41(36,"ion-row",3)(37,"ion-col",12)(38,"div",13)(39,"ion-avatar",14),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal("httpResponseTimeOptions"))}),e.nrm(40,"ion-icon",15),e.k0s()(),e.j41(41,"ion-card",9)(42,"ion-card-header")(43,"ion-card-title",10),e.EFF(44,"HTTP Response Time"),e.k0s()(),e.j41(45,"ion-card-content",16),e.nrm(46,"div",18),e.k0s()()()(),e.nrm(47,"app-title",1),e.j41(48,"ion-row",3)(49,"ion-col",19)(50,"ion-list",20),e.DNE(51,A,4,1,"ion-item",21),e.k0s()()()(),e.DNE(52,F,3,0,"ion-fab",22),e.k0s(),e.j41(53,"div",23)(54,"div",24)(55,"div",25)(56,"div",26)(57,"h1",27),e.EFF(58,"DevProbe AI"),e.k0s()(),e.nrm(59,"div",28),e.j41(60,"div",29),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal())}),e.nrm(61,"ion-icon",30),e.k0s()(),e.j41(62,"div",31,0),e.DNE(64,N,3,2,"div",32),e.k0s(),e.j41(65,"div",33)(66,"ion-textarea",34),e.mxI("ngModelChange",function(o){return e.eBV(n),e.DH7(t.message,o)||(t.message=o),e.Njj(o)}),e.k0s(),e.nrm(67,"div",35),e.j41(68,"div",36),e.bIt("click",function(){return e.eBV(n),e.Njj(t.sendMessage())}),e.j41(69,"span",27),e.EFF(70,"Send"),e.k0s()()()()()}2&s&&(e.Y8G("title","Load Test For "+t.productStep),e.R7$(),e.Y8G("fullscreen",!0),e.R7$(2),e.Y8G("title","New Load Test"),e.R7$(5),e.R50("ngModel",t.target),e.R7$(6),e.Y8G("title","Analytics For "+t.productStep),e.R7$(9),e.JRh(e.i5U(24,15,t.totalNumberOfRequests,"1.0-0")),e.R7$(12),e.Y8G("options",t.statusCodesOptions),e.R7$(11),e.Y8G("options",t.responseTimeOptions),e.R7$(),e.Y8G("title","Results for date: "),e.R7$(4),e.Y8G("ngForOf",t.listOfDates),e.R7$(),e.vxM(52,t.hasBeenOpened?52:-1),e.R7$(),e.AVh("hidden",!t.aiModal),e.R7$(11),e.Y8G("ngForOf",t.messages),e.R7$(2),e.R50("ngModel",t.message))},dependencies:[g.Sq,g.bT,j.BC,j.vS,d.mC,d.Jm,d.b_,d.I9,d.ME,d.tN,d.hU,d.W9,d.Q8,d.lO,d.iq,d.$w,d.uz,d.he,d.nf,d.ln,d.nc,d.Gw,O.W,M.p,P.$P,L.NN,g.QX]}),T})()}];let $=(()=>{var l;class T{}return(l=T).\u0275fac=function(s){return new(s||l)},l.\u0275mod=e.$C({type:l}),l.\u0275inj=e.G2t({imports:[b.iI.forChild(S),b.iI]}),T})();var G=u(5553);let B=(()=>{var l;class T{}return(l=T).\u0275fac=function(s){return new(s||l)},l.\u0275mod=e.$C({type:l}),l.\u0275inj=e.G2t({imports:[g.MD,j.YN,d.bv,$,G.h,L.NN]}),T})()}}]);
\ No newline at end of file
diff --git a/www/4559.893444f9e022cfc0.js b/www/4559.893444f9e022cfc0.js
deleted file mode 100644
index 98cd79d..0000000
--- a/www/4559.893444f9e022cfc0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4559],{5553:(w,k,u)=>{u.d(k,{h:()=>_});var p=u(177),b=u(7863),d=u(4438);let _=(()=>{var m;class e{}return(m=e).\u0275fac=function(j){return new(j||m)},m.\u0275mod=d.$C({type:m}),m.\u0275inj=d.G2t({imports:[p.MD,b.bv]}),e})()},3241:(w,k,u)=>{u.d(k,{p:()=>_});var p=u(4438),b=u(177),d=u(7863);let _=(()=>{var m;class e{constructor(j){this.location=j,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(m=e).\u0275fac=function(j){return new(j||m)(p.rXU(b.aZ))},m.\u0275cmp=p.VBU({type:m,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(j,O){1&j&&(p.j41(0,"ion-header",0)(1,"ion-toolbar"),p.nrm(2,"ion-menu-button",1),p.j41(3,"ion-icon",2),p.bIt("click",function(){return O.goBack()}),p.k0s(),p.j41(4,"ion-title"),p.EFF(5),p.k0s()()()),2&j&&(p.Y8G("translucent",!0),p.R7$(5),p.JRh(O.title))},dependencies:[d.eU,d.iq,d.MC,d.BC,d.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),e})()},4559:(w,k,u)=>{u.r(k),u.d(k,{LoadTestPageModule:()=>G});var p=u(177),b=u(4341),d=u(7863),_=u(7650),m=u(467),e=u(4438),R=u(9032),j=u(4970),O=u(8453),M=u(3241),L=u(2820),P=u(9549);const E=["messagesContainer"];function A(l,T){if(1&l){const f=e.RV6();e.j41(0,"ion-item",39),e.bIt("click",function(){const t=e.eBV(f).$implicit,n=e.XpG();return e.Njj(n.viewHistory(t))}),e.j41(1,"ion-label"),e.EFF(2),e.k0s(),e.nrm(3,"ion-icon",40),e.k0s()}if(2&l){const f=T.$implicit;e.R7$(2),e.JRh(f)}}function F(l,T){if(1&l&&(e.j41(0,"div",44)(1,"markdown",45),e.EFF(2),e.k0s()()),2&l){const f=e.XpG().$implicit;e.R7$(2),e.JRh(f.message)}}function I(l,T){if(1&l&&(e.j41(0,"div",46)(1,"markdown",47),e.EFF(2),e.k0s()()),2&l){const f=e.XpG().$implicit;e.R7$(),e.Mz_("id","mk-",f.id,""),e.R7$(),e.JRh(f.message)}}function D(l,T){if(1&l&&(e.j41(0,"div",41),e.DNE(1,F,3,1,"div",42)(2,I,3,3,"div",43),e.k0s()),2&l){const f=T.$implicit;e.R7$(),e.Y8G("ngIf","User"===f.from),e.R7$(),e.Y8G("ngIf","AI"===f.from)}}const N=[{path:"",component:(()=>{var l;class T{constructor(s,t,n,i,o){this.router=s,this.activatedRoute=t,this.loadTestService=n,this.loadingCtrl=i,this.alertCtrl=o,this.productStep="",this.productObjective="",this.orgName="",this.target="",this.description="",this.loadTestResults={},this.totalNumberOfRequests=0,this.statusCodesOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.responseTimeOptions={tooltip:{trigger:"axis"},xAxis:{type:"category",boundaryGap:!1,data:[]},yAxis:{type:"value"},series:[]},this.listOfDates=[],this.aiModal=!1,this.message="",this.vertexAI=(0,e.WQX)(R.L9),this.model=(0,R.oc)(this.vertexAI,{model:"gemini-1.5-flash"}),this.chat=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de un load test,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un problema o que se encuentre el recurso no disponible por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.messages=[]}ngOnInit(){}ionViewWillEnter(){var s=this;return(0,m.A)(function*(){yield s.showLoading(),s.getParams(),yield s.getHistoryResults().then(()=>{s.plotCodes(),s.totalRequests(),s.responseTime()}),yield s.hideLoading()})()}getParams(){this.activatedRoute.params.subscribe(t=>{this.productObjective=t.productObjective,this.productStep=t.step});const s=JSON.parse(localStorage.getItem("user"));this.orgName=s.orgName,console.log(this.orgName),console.log(this.productObjective),console.log(this.productStep)}sendRequest(){var s=this;return(0,m.A)(function*(){if(yield s.showLoading(),s.target.startsWith("http://")||s.target.startsWith("https://")||s.target.endsWith("/"))return yield s.hideLoading(),void(yield s.showAlert("No http or https is needed, check for slashes at the end of the domain","Please enter a valid host"));yield s.loadTestService.sendLoadTest(s.orgName,s.productObjective,s.productStep,s.target).then(function(){var t=(0,m.A)(function*(n){yield s.hideLoading(),console.log("data",n),n&&(yield s.showAlert("Test sent, please wait a few seconds to GET RESULTS","Success"))});return function(n){return t.apply(this,arguments)}}()),yield s.hideLoading()})()}getHistoryResults(){var s=this;return(0,m.A)(function*(){s.loadTestResults=yield s.loadTestService.getLoadTestHistory(s.orgName,s.productObjective,s.productStep)})()}totalRequests(){let s=Object.keys(this.loadTestResults),t={},n=0;for(let i of s){let o=this.loadTestResults[i].aggregate.counters,v=this.loadTestResults[i].date,c=Object.keys(o).filter(y=>y.startsWith("http.requests"));for(let y of c)t[v]||(t[v]={}),t[v][y]=(t[v][y]||0)+o[y]}for(let i of Object.keys(t))n+=t[i]["http.requests"];this.totalNumberOfRequests=n}byCodes(){let s=Object.keys(this.loadTestResults),t={};for(let n of s){let i=this.loadTestResults[n].aggregate.counters,o=this.loadTestResults[n].date.split("-").slice(0,3).join("-"),v=Object.keys(i).filter(c=>c.startsWith("http.codes."));t[o]||(t[o]={});for(let c of v)t[o][c]=(t[o][c]||0)+i[c]}return t=this.ordenarDiccionarioPorFechas(t),console.log("codessss",t),t}normalizarFecha(s){const[t,n,i]=s.split("-").map(c=>parseInt(c,10));return`${t}-${n<10?`0${n}`:n.toString()}-${i<10?`0${i}`:i.toString()}`}ordenarDiccionarioPorFechas(s){const n=Object.keys(s).sort((o,v)=>{const c=new Date(this.normalizarFecha(o)),y=new Date(this.normalizarFecha(v));return c.getTime()-y.getTime()}),i={};return n.forEach(o=>{i[o]=s[o]}),i}plotCodes(){var s=this;return(0,m.A)(function*(){let t=s.byCodes();console.log(t);let n=Object.keys(t);s.listOfDates=n;let i=new Set;for(let y of n){let a=Object.keys(t[y]);for(let r of a)i.add(r)}let o={};for(let y in t){let g=t[y];for(let a of i)o[a]||(o[a]=[]),o[a].push(g[a]||0)}let v=["#36b311","#306fc6","#ed3b3b","#f4ba20"];for(let y in o){let a,g=y.split(".").pop();null!=g&&g.startsWith("2")&&(a=v[0]),null!=g&&g.startsWith("3")&&(a=v[1]),null!=g&&g.startsWith("4")&&(a=v[2]),null!=g&&g.startsWith("5")&&(a=v[3]),a||(a="#000000"),s.statusCodesOptions.series.push({name:y,type:"line",data:o[y],lineStyle:{color:a},itemStyle:{color:a}})}s.statusCodesOptions.xAxis={type:"category",boundaryGap:!1,data:n},s.statusCodesOptions={...s.statusCodesOptions};let c=document.getElementById("httpCodesChart");console.log(c),c.style.width="100%",c.style.height="25em"})()}responseTime(){let s=Object.keys(this.loadTestResults),t={};for(let a of s){let r=this.loadTestResults[a].aggregate.histograms,C=this.loadTestResults[a].date,h=Object.keys(r).filter(x=>x.startsWith("http.response_time"));for(let x of h)t[C]=r[x]}let n=Object.entries(t).reduce((a,[r,C])=>{const h=r.split("-").slice(0,3).join("-");return a[h]=a[h]||[],a[h].push(C),a},{}),i=Object.keys(n).sort((a,r)=>new Date(a).getTime()-new Date(r).getTime()),o={count:0,max:0,min:0,mean:0,median:0,p50:0,p90:0,p95:0,p99:0,p999:0},v={};i.forEach(a=>{let r={count:0,max:0,min:0,mean:0,median:0,p50:0,p90:0,p95:0,p99:0,p999:0},C=0;n[a].forEach(h=>{r.count+=h.count,r.max+=h.max,r.min+=h.min,r.mean+=h.mean,r.median+=h.median,r.p50+=h.p50,r.p90+=h.p90,r.p95+=h.p95,r.p99+=h.p99,r.p999+=h.p999,C++});for(let h in r)"count"!==h&&C>0&&(r[h]=r[h]/C);v[a]=r,o.count+=r.count,o.max+=r.max,o.min+=r.min,o.mean+=r.mean,o.median+=r.median,o.p50+=r.p50,o.p90+=r.p90,o.p95+=r.p95,o.p99+=r.p99,o.p999+=r.p999});let c=i.length;c>0&&(o.mean/=c,o.median/=c,o.p50/=c,o.p90/=c,o.p95/=c,o.p99/=c,o.p999/=c,o.max/=c,o.min/=c);let y={};for(let a in o)"count"===a||"p90"===a||"p50"===a||"p999"===a||(y[a]=o[a],this.responseTimeOptions.series.push({name:a,type:"bar",data:[o[a]],label:{show:!0,formatter:r=>`${r.value.toFixed(2)} ms`}}));this.responseTimeOptions.xAxis={type:"category",boundaryGap:!1,data:["Category"]},this.responseTimeOptions={...this.responseTimeOptions};let g=document.getElementById("httpResponseTimeChart");return console.log(g),g.style.width="100%",g.style.height="25em",y}showLoading(){var s=this;return(0,m.A)(function*(){yield(yield s.loadingCtrl.create({})).present()})()}hideLoading(){var s=this;return(0,m.A)(function*(){yield s.loadingCtrl.dismiss()})()}showAlert(s,t){var n=this;return(0,m.A)(function*(){const i=yield n.alertCtrl.create({header:t,message:s,buttons:["OK"]});return yield i.present(),yield i.onDidDismiss(),!0})()}viewHistory(s){this.router.navigate(["/load-test-history",{productObjective:this.productObjective,productStep:this.productStep,day:s}])}toggleAiModal(s){var t=this;return(0,m.A)(function*(){if(t.aiModal=!t.aiModal,"httpCodesOptions"===s&&(t.message="En este caso el json tiene codigos de respuesta HTTP, por ejemplo, 404, 500, etc y cuantos requests devolvieron esos codigos:"+JSON.stringify(t.byCodes())),"httpResponseTimeOptions"===s&&(t.message="En este caso el json tiene tiempos de respuesta de los requests, por ejemplo, 500ms, 1000ms, etc: "+JSON.stringify(t.responseTime())),""===t.message)return void console.log("Message is empty");let n=t.messages.length;n>0&&t.messages.push({message:t.message,from:"User",id:n.toString()});const i=yield t.chat.sendMessage(t.message);n=t.messages.length,t.messages.push({message:i.response.text(),from:"AI",id:n.toString()}),t.message=""})()}sendMessage(){let s=this.messages.length;this.messages.push({message:this.message,from:"User",id:s.toString()}),this.chat.sendMessage(this.message).then(t=>{s=this.messages.length,this.messages.push({message:t.response.text(),from:"AI",id:s.toString()})}),this.message=""}}return(l=T).\u0275fac=function(s){return new(s||l)(e.rXU(_.Ix),e.rXU(_.nX),e.rXU(j.s),e.rXU(d.Xi),e.rXU(d.hG))},l.\u0275cmp=e.VBU({type:l,selectors:[["app-load-test"]],viewQuery:function(s,t){if(1&s&&e.GBs(E,5),2&s){let n;e.mGM(n=e.lsd())&&(t.messagesContainer=n.first)}},decls:73,vars:17,consts:[["messagesContainer",""],[3,"title"],[3,"fullscreen"],[1,"lg:m-10","md:m-10"],["size","12"],["label","Target","placeholder","Enter a target","type","text","labelPlacement","stacked",1,"",3,"ngModelChange","ngModel"],["size","12","size-md","12","size-lg","12",1,"flex","flex-row","justify-end"],["color","primary","size","small",1,"",3,"click"],["name","add"],[1,"w-full","p-6","flex","flex-col","justify-center","items-center"],[1,"text-3xl"],[1,"text-2xl","text-white"],["size","12",1,"relative"],[1,"absolute","z-10","flex","justify-center","items-center","-right-5","-top-5",3,"click"],[1,"bg-purple-600","justify-center","items-center","flex"],["size","large","name","color-wand-outline"],[1,"h-[25em]","w-full"],["id","httpCodesChart","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["id","httpResponseTimeChart","echarts","",1,"demo-chart","h-full","w-full",3,"options"],["size","12",1,"w-full"],[1,"w-full"],["class","w-full",3,"click",4,"ngFor","ngForOf"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10",3,"click"],[1,"bg-purple-300","p-4"],["name","chatbubble-outline",1,"w-full","h-full"],["id","ai-modal",1,"fixed","bottom-0","right-0","h-full","w-full","bg-black","bg-opacity-60","z-10","r"],[1,"h-full","md:h-3/4","lg:h-3/4","w-full","bg-gray-900","p-4","absolute","right-0","bottom-0","z-50","flex","flex-col","rounded-tl-2xl","rounded-tr-2xl"],[1,"w-full","bg-gray-500","flex","flex-row","justify-center","items-center","p-2","mb-2","rounded-3xl"],[1,"flex","flex-row","p-2","items-center","bg-gray-800","w-full","rounded-3xl","h-full"],[1,"text-white"],[1,"m-2"],[1,"flex","flex-row","justify-center","items-center","bg-gray-800","hover:bg-gray-600","w-1/6","h-full","rounded-3xl",3,"click"],["name","close-outline"],[1,"flex-grow","overflow-y-auto","bg-gray-400","p-2","rounded-3xl"],["class","flex flex-col",4,"ngFor","ngForOf"],[1,"flex","flex-row","mt-2","p-2"],["placeholder","Ask...",1,"flex-grow","bg-gray-700","rounded-2xl",3,"ngModelChange","ngModel"],[1,"m-1"],[1,"w-1/3","bg-gray-500","rounded-3xl","flex","flex-row","justify-center","items-center","hover:bg-gray-300",3,"click"],[1,"w-full",3,"click"],["name","arrow-forward","color","primary"],[1,"flex","flex-col"],["class","rounded-3xl bg-gray-800 w-2/3 m-1 ml-auto p-2",4,"ngIf"],["class","rounded-3xl bg-gray-500 w-2/3 m-1 p-2 pr-2",4,"ngIf"],[1,"rounded-3xl","bg-gray-800","w-2/3","m-1","ml-auto","p-2"],[1,"text-white","p-4","m-2"],[1,"rounded-3xl","bg-gray-500","w-2/3","m-1","p-2","pr-2"],[1,"text-white","p-4","m-2",3,"id"]],template:function(s,t){if(1&s){const n=e.RV6();e.nrm(0,"app-header-return",1),e.j41(1,"ion-content",2)(2,"ion-grid"),e.nrm(3,"app-title",1),e.j41(4,"ion-row",3)(5,"ion-col",4)(6,"ion-card")(7,"ion-card-content")(8,"ion-input",5),e.mxI("ngModelChange",function(o){return e.eBV(n),e.DH7(t.target,o)||(t.target=o),e.Njj(o)}),e.k0s()()()()(),e.j41(9,"ion-row",3)(10,"ion-col",6)(11,"ion-button",7),e.bIt("click",function(){return e.eBV(n),e.Njj(t.sendRequest())}),e.EFF(12,"Load Target "),e.nrm(13,"ion-icon",8),e.k0s()()(),e.nrm(14,"app-title",1),e.j41(15,"ion-row",3)(16,"ion-col",4)(17,"ion-card",9)(18,"ion-card-header")(19,"ion-card-title",10),e.EFF(20,"Total Number of Requests"),e.k0s()(),e.j41(21,"ion-card-content")(22,"h1",11),e.EFF(23),e.nI1(24,"number"),e.k0s()()()()(),e.j41(25,"ion-row",3)(26,"ion-col",12)(27,"div",13),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal("httpCodesOptions"))}),e.j41(28,"ion-avatar",14),e.nrm(29,"ion-icon",15),e.k0s()(),e.j41(30,"ion-card",9)(31,"ion-card-header")(32,"ion-card-title",10),e.EFF(33,"HTTP Status Codes"),e.k0s()(),e.j41(34,"ion-card-content",16),e.nrm(35,"div",17),e.k0s()()()(),e.j41(36,"ion-row",3)(37,"ion-col",12)(38,"div",13),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal("httpResponseTimeOptions"))}),e.j41(39,"ion-avatar",14),e.nrm(40,"ion-icon",15),e.k0s()(),e.j41(41,"ion-card",9)(42,"ion-card-header")(43,"ion-card-title",10),e.EFF(44,"HTTP Response Time"),e.k0s()(),e.j41(45,"ion-card-content",16),e.nrm(46,"div",18),e.k0s()()()(),e.nrm(47,"app-title",1),e.j41(48,"ion-row",3)(49,"ion-col",19)(50,"ion-list",20),e.DNE(51,A,4,1,"ion-item",21),e.k0s()()()(),e.j41(52,"ion-fab",22),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal())}),e.j41(53,"ion-avatar",23),e.nrm(54,"ion-icon",24),e.k0s()()(),e.j41(55,"div",25)(56,"div",26)(57,"div",27)(58,"div",28)(59,"h1",29),e.EFF(60,"DevProbe AI"),e.k0s()(),e.nrm(61,"div",30),e.j41(62,"div",31),e.bIt("click",function(){return e.eBV(n),e.Njj(t.toggleAiModal())}),e.nrm(63,"ion-icon",32),e.k0s()(),e.j41(64,"div",33,0),e.DNE(66,D,3,2,"div",34),e.k0s(),e.j41(67,"div",35)(68,"ion-textarea",36),e.mxI("ngModelChange",function(o){return e.eBV(n),e.DH7(t.message,o)||(t.message=o),e.Njj(o)}),e.k0s(),e.nrm(69,"div",37),e.j41(70,"div",38),e.bIt("click",function(){return e.eBV(n),e.Njj(t.sendMessage())}),e.j41(71,"span",29),e.EFF(72,"Send"),e.k0s()()()()()}2&s&&(e.Y8G("title","Load Test For "+t.productStep),e.R7$(),e.Y8G("fullscreen",!0),e.R7$(2),e.Y8G("title","New Load Test"),e.R7$(5),e.R50("ngModel",t.target),e.R7$(6),e.Y8G("title","Analytics For "+t.productStep),e.R7$(9),e.JRh(e.i5U(24,14,t.totalNumberOfRequests,"1.0-0")),e.R7$(12),e.Y8G("options",t.statusCodesOptions),e.R7$(11),e.Y8G("options",t.responseTimeOptions),e.R7$(),e.Y8G("title","Results for date: "),e.R7$(4),e.Y8G("ngForOf",t.listOfDates),e.R7$(4),e.AVh("hidden",!t.aiModal),e.R7$(11),e.Y8G("ngForOf",t.messages),e.R7$(2),e.R50("ngModel",t.message))},dependencies:[p.Sq,p.bT,b.BC,b.vS,d.mC,d.Jm,d.b_,d.I9,d.ME,d.tN,d.hU,d.W9,d.Q8,d.lO,d.iq,d.$w,d.uz,d.he,d.nf,d.ln,d.nc,d.Gw,O.W,M.p,L.$P,P.NN,p.QX]}),T})()}];let S=(()=>{var l;class T{}return(l=T).\u0275fac=function(s){return new(s||l)},l.\u0275mod=e.$C({type:l}),l.\u0275inj=e.G2t({imports:[_.iI.forChild(N),_.iI]}),T})();var $=u(5553);let G=(()=>{var l;class T{}return(l=T).\u0275fac=function(s){return new(s||l)},l.\u0275mod=e.$C({type:l}),l.\u0275inj=e.G2t({imports:[p.MD,b.YN,d.bv,S,$.h,P.NN]}),T})()}}]);
\ No newline at end of file
diff --git a/www/5197.cfc60de4c5213fec.js b/www/5197.38b8cc3181b51450.js
similarity index 98%
rename from www/5197.cfc60de4c5213fec.js
rename to www/5197.38b8cc3181b51450.js
index 0677597..e639504 100644
--- a/www/5197.cfc60de4c5213fec.js
+++ b/www/5197.38b8cc3181b51450.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[5197],{5197:(W,w,a)=>{a.r(w),a.d(w,{ion_refresher:()=>T,ion_refresher_content:()=>U});var d=a(467),n=a(9672),_=a(3351),y=a(909),c=a(4920),k=a(1086),h=a(3664),m=a(9986),x=a(464),E=a(3992),C=a(7895);a(8438),a(8476);const S=e=>{const t=e.querySelector("ion-spinner"),r=t.shadowRoot.querySelector("circle"),s=e.querySelector(".spinner-arrow-container"),l=e.querySelector(".arrow-container"),f=l?l.querySelector("ion-icon"):null,o=(0,m.c)().duration(1e3).easing("ease-out"),i=(0,m.c)().addElement(s).keyframes([{offset:0,opacity:"0.3"},{offset:.45,opacity:"0.3"},{offset:.55,opacity:"1"},{offset:1,opacity:"1"}]),p=(0,m.c)().addElement(r).keyframes([{offset:0,strokeDasharray:"1px, 200px"},{offset:.2,strokeDasharray:"1px, 200px"},{offset:.55,strokeDasharray:"100px, 200px"},{offset:1,strokeDasharray:"100px, 200px"}]),g=(0,m.c)().addElement(t).keyframes([{offset:0,transform:"rotate(-90deg)"},{offset:1,transform:"rotate(210deg)"}]);if(l&&f){const b=(0,m.c)().addElement(l).keyframes([{offset:0,transform:"rotate(0deg)"},{offset:.3,transform:"rotate(0deg)"},{offset:.55,transform:"rotate(280deg)"},{offset:1,transform:"rotate(400deg)"}]),u=(0,m.c)().addElement(f).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)"}]);o.addAnimation([b,u])}return o.addAnimation([i,p,g])},v=(e,t,r=200)=>{if(!e)return Promise.resolve();const s=(0,c.t)(e,r);return(0,n.w)(()=>{e.style.setProperty("transition",`${r}ms all ease-out`),void 0===t?e.style.removeProperty("transform"):e.style.setProperty("transform",`translate3d(0px, ${t}, 0px)`)}),s},R=()=>navigator.maxTouchPoints>0&&CSS.supports("background: -webkit-named-image(apple-pay-logo-black)"),P=function(){var e=(0,d.A)(function*(t,r){const s=t.querySelector("ion-refresher-content");if(!s)return Promise.resolve(!1);yield new Promise(o=>(0,c.c)(s,o));const l=t.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),f=t.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");return null!==l&&null!==f&&("ios"===r&&R()||"md"===r)});return function(r,s){return e.apply(this,arguments)}}(),T=class{constructor(e){(0,n.r)(this,e),this.ionRefresh=(0,n.d)(this,"ionRefresh",7),this.ionPull=(0,n.d)(this,"ionPull",7),this.ionStart=(0,n.d)(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)}checkNativeRefresher(){var e=this;return(0,d.A)(function*(){const t=yield P(e.el,(0,h.b)(e));if(t&&!e.nativeRefresher){const r=e.el.closest("ion-content");e.setupNativeRefresher(r)}else t||e.destroyNativeRefresher()})()}destroyNativeRefresher(){this.scrollEl&&this.scrollListenerCallback&&(this.scrollEl.removeEventListener("scroll",this.scrollListenerCallback),this.scrollListenerCallback=void 0),this.nativeRefresher=!1}resetNativeRefresher(e,t){var r=this;return(0,d.A)(function*(){r.state=t,"ios"===(0,h.b)(r)?yield v(e,void 0,300):yield(0,c.t)(r.el.querySelector(".refresher-refreshing-icon"),200),r.didRefresh=!1,r.needsCompletion=!1,r.pointerDown=!1,r.animations.forEach(s=>s.destroy()),r.animations=[],r.progress=0,r.state=1})()}setupiOSNativeRefresher(e,t){var r=this;return(0,d.A)(function*(){r.elementToTransform=r.scrollEl;const s=e.shadowRoot.querySelectorAll("svg");let l=.16*r.scrollEl.clientHeight;const f=s.length;(0,n.w)(()=>s.forEach(o=>o.style.setProperty("animation","none"))),r.scrollListenerCallback=()=>{!r.pointerDown&&1===r.state||(0,n.e)(()=>{const o=r.scrollEl.scrollTop,i=r.el.clientHeight;if(o>0){if(8===r.state){const u=(0,c.j)(0,o/(.5*i),1);return void(0,n.w)(()=>((e,t)=>{e.style.setProperty("opacity",t.toString())})(t,1-u))}return}r.pointerDown&&(r.didStart||(r.didStart=!0,r.ionStart.emit()),r.pointerDown&&r.ionPull.emit());const p=r.didStart?30:0,g=r.progress=(0,c.j)(0,(Math.abs(o)-p)/l,1);8===r.state||1===g?(r.pointerDown&&((e,t)=>{(0,n.w)(()=>{e.style.setProperty("--refreshing-rotation-duration",t>=1?"0.5s":"2s"),e.style.setProperty("opacity","1")})})(t,r.lastVelocityY),r.didRefresh||(r.beginRefresh(),r.didRefresh=!0,(0,k.d)({style:k.I.Light}),r.pointerDown||v(r.elementToTransform,`${i}px`))):(r.state=2,((e,t,r)=>{(0,n.w)(()=>{e.forEach((l,f)=>{const o=f*(1/t),g=(0,c.j)(0,(r-o)/(1-o),1);l.style.setProperty("opacity",g.toString())})})})(s,f,g))})},r.scrollEl.addEventListener("scroll",r.scrollListenerCallback),r.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:r.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,onStart:()=>{r.pointerDown=!0,r.didRefresh||v(r.elementToTransform,"0px"),0===l&&(l=.16*r.scrollEl.clientHeight)},onMove:o=>{r.lastVelocityY=o.velocityY},onEnd:()=>{r.pointerDown=!1,r.didStart=!1,r.needsCompletion?(r.resetNativeRefresher(r.elementToTransform,32),r.needsCompletion=!1):r.didRefresh&&(0,n.e)(()=>v(r.elementToTransform,`${r.el.clientHeight}px`))}}),r.disabledChanged()})()}setupMDNativeRefresher(e,t,r){var s=this;return(0,d.A)(function*(){const l=(0,c.g)(t).querySelector("circle"),f=s.el.querySelector("ion-refresher-content .refresher-pulling-icon"),o=(0,c.g)(r).querySelector("circle");null!==l&&null!==o&&(0,n.w)(()=>{l.style.setProperty("animation","none"),r.style.setProperty("animation-delay","-655ms"),o.style.setProperty("animation-delay","-655ms")}),s.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:s.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,canStart:()=>8!==s.state&&32!==s.state&&0===s.scrollEl.scrollTop,onStart:i=>{s.progress=0,i.data={animation:void 0,didStart:!1,cancelled:!1}},onMove:i=>{if(i.velocityY<0&&0===s.progress&&!i.data.didStart||i.data.cancelled)i.data.cancelled=!0;else{if(!i.data.didStart){i.data.didStart=!0,s.state=2;const{scrollEl:p}=s,g=p.matches(y.I)?"overflow":"--overflow";(0,n.w)(()=>p.style.setProperty(g,"hidden"));const b=(e=>{const t=e.previousElementSibling;return null!==t&&"ION-HEADER"===t.tagName?"translate":"scale"})(e),u=((e,t,r)=>"scale"===e?((e,t)=>{const r=t.clientHeight,s=(0,m.c)().addElement(e).keyframes([{offset:0,transform:`scale(0) translateY(-${r}px)`},{offset:1,transform:"scale(1) translateY(100px)"}]);return S(e).addAnimation([s])})(t,r):((e,t)=>{const r=t.clientHeight,s=(0,m.c)().addElement(e).keyframes([{offset:0,transform:`translateY(-${r}px)`},{offset:1,transform:"translateY(100px)"}]);return S(e).addAnimation([s])})(t,r))(b,f,s.el);return i.data.animation=u,u.progressStart(!1,0),s.ionStart.emit(),void s.animations.push(u)}s.progress=(0,c.j)(0,i.deltaY/180*.5,1),i.data.animation.progressStep(s.progress),s.ionPull.emit()}},onEnd:i=>{if(!i.data.didStart)return;s.gesture.enable(!1);const{scrollEl:p}=s,g=p.matches(y.I)?"overflow":"--overflow";if((0,n.w)(()=>p.style.removeProperty(g)),s.progress<=.4)return void i.data.animation.progressEnd(0,s.progress,500).onFinish(()=>{s.animations.forEach(H=>H.destroy()),s.animations=[],s.gesture.enable(!0),s.state=1});const b=(0,_.g)([0,0],[0,0],[1,1],[1,1],s.progress)[0],u=(e=>(0,m.c)().duration(125).addElement(e).fromTo("transform","translateY(var(--ion-pulling-refresher-translate, 100px))","translateY(0px)"))(f);s.animations.push(u),(0,n.w)((0,d.A)(function*(){f.style.setProperty("--ion-pulling-refresher-translate",100*b+"px"),i.data.animation.progressEnd(),yield u.play(),s.beginRefresh(),i.data.animation.destroy(),s.gesture.enable(!0)}))}}),s.disabledChanged()})()}setupNativeRefresher(e){var t=this;return(0,d.A)(function*(){if(t.scrollListenerCallback||!e||t.nativeRefresher||!t.scrollEl)return;t.setCss(0,"",!1,""),t.nativeRefresher=!0;const r=t.el.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),s=t.el.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");"ios"===(0,h.b)(t)?t.setupiOSNativeRefresher(r,s):t.setupMDNativeRefresher(e,r,s)})()}componentDidUpdate(){this.checkNativeRefresher()}connectedCallback(){var e=this;return(0,d.A)(function*(){if("fixed"!==e.el.getAttribute("slot"))return void console.error('Make sure you use: ');const t=e.el.closest(y.b);t?(0,c.c)(t,(0,d.A)(function*(){const r=t.querySelector(y.I);e.scrollEl=yield(0,y.g)(null!=r?r:t),e.backgroundContentEl=yield t.getBackgroundElement(),(yield P(e.el,(0,h.b)(e)))?e.setupNativeRefresher(t):(e.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:t,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:20,passive:!1,canStart:()=>e.canStart(),onStart:()=>e.onStart(),onMove:s=>e.onMove(s),onEnd:()=>e.onEnd()}),e.disabledChanged())})):(0,y.p)(e.el)})()}disconnectedCallback(){this.destroyNativeRefresher(),this.scrollEl=void 0,this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}complete(){var e=this;return(0,d.A)(function*(){e.nativeRefresher?(e.needsCompletion=!0,e.pointerDown||(0,c.r)(()=>(0,c.r)(()=>e.resetNativeRefresher(e.elementToTransform,32)))):e.close(32,"120ms")})()}cancel(){var e=this;return(0,d.A)(function*(){e.nativeRefresher?e.pointerDown||(0,c.r)(()=>(0,c.r)(()=>e.resetNativeRefresher(e.elementToTransform,16))):e.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,this.memoizeOverflowStyle()}onMove(e){if(!this.scrollEl)return;const t=e.event;if(void 0!==t.touches&&t.touches.length>1||56&this.state)return;const r=Number.isNaN(this.pullFactor)||this.pullFactor<0?1:this.pullFactor,s=e.deltaY*r;if(s<=0)return this.progress=0,this.state=1,this.appliedStyles?void this.setCss(0,"",!1,""):void 0;if(1===this.state){if(this.scrollEl.scrollTop>0)return void(this.progress=0);this.state=2}if(t.cancelable&&t.preventDefault(),this.setCss(s,"0ms",!0,""),0===s)return void(this.progress=0);const l=this.pullMin;this.progress=s/l,this.didStart||(this.didStart=!0,this.ionStart.emit()),this.ionPull.emit(),sthis.pullMax?this.beginRefresh():this.state=4}onEnd(){4===this.state?this.beginRefresh():2===this.state?this.cancel():1===this.state&&this.restoreOverflowStyle()}beginRefresh(){this.state=8,this.setCss(this.pullMin,this.snapbackDuration,!0,""),this.ionRefresh.emit({complete:this.complete.bind(this)})}close(e,t){setTimeout(()=>{this.state=1,this.progress=0,this.didStart=!1,this.setCss(0,"0ms",!1,"",!0)},600),this.state=e,this.setCss(0,this.closeDuration,!0,t)}setCss(e,t,r,s,l=!1){this.nativeRefresher||(this.appliedStyles=e>0,(0,n.w)(()=>{if(this.scrollEl&&this.backgroundContentEl){const f=this.scrollEl.style,o=this.backgroundContentEl.style;f.transform=o.transform=e>0?`translateY(${e}px) translateZ(0px)`:"",f.transitionDuration=o.transitionDuration=t,f.transitionDelay=o.transitionDelay=s,f.overflow=r?"hidden":""}l&&this.restoreOverflowStyle()}))}memoizeOverflowStyle(){if(this.scrollEl){const{overflow:e,overflowX:t,overflowY:r}=this.scrollEl.style;this.overflowStyles={overflow:null!=e?e:"",overflowX:null!=t?t:"",overflowY:null!=r?r:""}}}restoreOverflowStyle(){if(void 0!==this.overflowStyles&&void 0!==this.scrollEl){const{overflow:e,overflowX:t,overflowY:r}=this.overflowStyles;this.scrollEl.style.overflow=e,this.scrollEl.style.overflowX=t,this.scrollEl.style.overflowY=r,this.overflowStyles=void 0}}render(){const e=(0,h.b)(this);return(0,n.h)(n.f,{key:"1696f66f62d18c9075294f17cb24263325fcf35d",slot:"fixed",class:{[e]:!0,[`refresher-${e}`]:!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(0,n.i)(this)}static get watchers(){return{disabled:["disabledChanged"]}}};T.style={ios:"ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start: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}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}.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, var(--ion-background-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)}}",md:"ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start: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}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #0054e9)}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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #0054e9);font-size:12px}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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;border-radius:100%;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #ececec));background:var(--ion-color-step-250, var(--ion-background-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)}"};const U=class{constructor(e){(0,n.r)(this,e),this.customHTMLEnabled=h.c.get("innerHTMLTemplatesEnabled",x.E),this.pullingIcon=void 0,this.pullingText=void 0,this.refreshingSpinner=void 0,this.refreshingText=void 0}componentWillLoad(){if(void 0===this.pullingIcon){const e=R(),t=(0,h.b)(this);this.pullingIcon=h.c.get("refreshingIcon","ios"===t&&e?h.c.get("spinner",e?"lines":E.i):"circular")}if(void 0===this.refreshingSpinner){const e=(0,h.b)(this);this.refreshingSpinner=h.c.get("refreshingSpinner",h.c.get("spinner","ios"===e?"lines":"circular"))}}renderPullingText(){const{customHTMLEnabled:e,pullingText:t}=this;return e?(0,n.h)("div",{class:"refresher-pulling-text",innerHTML:(0,x.a)(t)}):(0,n.h)("div",{class:"refresher-pulling-text"},t)}renderRefreshingText(){const{customHTMLEnabled:e,refreshingText:t}=this;return e?(0,n.h)("div",{class:"refresher-refreshing-text",innerHTML:(0,x.a)(t)}):(0,n.h)("div",{class:"refresher-refreshing-text"},t)}render(){const e=this.pullingIcon,t=null!=e&&void 0!==C.S[e],r=(0,h.b)(this);return(0,n.h)(n.f,{key:"1bec5b4da221c69d856f3f5ddf40f2e03ebf2a4c",class:r},(0,n.h)("div",{key:"4fcc526c4f1881e9368d9cd16bd7030919bd3841",class:"refresher-pulling"},this.pullingIcon&&t&&(0,n.h)("div",{key:"a4e9e2e12c2d7faefc8303ec8c021f999ddf308e",class:"refresher-pulling-icon"},(0,n.h)("div",{key:"5a2d215feb7fb4b64d540d3a65c0f24b415a2433",class:"spinner-arrow-container"},(0,n.h)("ion-spinner",{key:"abef2621d671ac6ff0abac43a702cbd825b7f127",name:this.pullingIcon,paused:!0}),"md"===r&&"circular"===this.pullingIcon&&(0,n.h)("div",{key:"30087d672c3780672a05874cd93cd099b2855462",class:"arrow-container"},(0,n.h)("ion-icon",{key:"5e30333dee469aec0d8efc8c4e6dabb619c6f363",icon:E.h,"aria-hidden":"true"})))),this.pullingIcon&&!t&&(0,n.h)("div",{key:"48fe72b5ce8ded633c6ee799cebb520b9c8be528",class:"refresher-pulling-icon"},(0,n.h)("ion-icon",{key:"d8dfd5d42056b1c0a436c5006affb255407816c0",icon:this.pullingIcon,lazy:!1,"aria-hidden":"true"})),void 0!==this.pullingText&&this.renderPullingText()),(0,n.h)("div",{key:"c2cbfb94f157c82601ffe7bb815ff82ebc7c0a49",class:"refresher-refreshing"},this.refreshingSpinner&&(0,n.h)("div",{key:"17f3ebe6a31768d5e389f45a2c12f68600185db9",class:"refresher-refreshing-icon"},(0,n.h)("ion-spinner",{key:"e8e61f8d7189c9939bba184201c9509d1d5b0fad",name:this.refreshingSpinner})),void 0!==this.refreshingText&&this.renderRefreshingText()))}get el(){return(0,n.i)(this)}}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[5197],{5197:(W,w,a)=>{a.r(w),a.d(w,{ion_refresher:()=>T,ion_refresher_content:()=>U});var d=a(467),n=a(9672),C=a(3351),y=a(909),c=a(4920),k=a(1086),h=a(3664),m=a(9986),x=a(464),E=a(3992),_=a(7895);a(8438),a(8476);const S=e=>{const t=e.querySelector("ion-spinner"),r=t.shadowRoot.querySelector("circle"),s=e.querySelector(".spinner-arrow-container"),l=e.querySelector(".arrow-container"),f=l?l.querySelector("ion-icon"):null,o=(0,m.c)().duration(1e3).easing("ease-out"),i=(0,m.c)().addElement(s).keyframes([{offset:0,opacity:"0.3"},{offset:.45,opacity:"0.3"},{offset:.55,opacity:"1"},{offset:1,opacity:"1"}]),p=(0,m.c)().addElement(r).keyframes([{offset:0,strokeDasharray:"1px, 200px"},{offset:.2,strokeDasharray:"1px, 200px"},{offset:.55,strokeDasharray:"100px, 200px"},{offset:1,strokeDasharray:"100px, 200px"}]),g=(0,m.c)().addElement(t).keyframes([{offset:0,transform:"rotate(-90deg)"},{offset:1,transform:"rotate(210deg)"}]);if(l&&f){const b=(0,m.c)().addElement(l).keyframes([{offset:0,transform:"rotate(0deg)"},{offset:.3,transform:"rotate(0deg)"},{offset:.55,transform:"rotate(280deg)"},{offset:1,transform:"rotate(400deg)"}]),u=(0,m.c)().addElement(f).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)"}]);o.addAnimation([b,u])}return o.addAnimation([i,p,g])},v=(e,t,r=200)=>{if(!e)return Promise.resolve();const s=(0,c.t)(e,r);return(0,n.w)(()=>{e.style.setProperty("transition",`${r}ms all ease-out`),void 0===t?e.style.removeProperty("transform"):e.style.setProperty("transform",`translate3d(0px, ${t}, 0px)`)}),s},R=()=>navigator.maxTouchPoints>0&&CSS.supports("background: -webkit-named-image(apple-pay-logo-black)"),P=function(){var e=(0,d.A)(function*(t,r){const s=t.querySelector("ion-refresher-content");if(!s)return Promise.resolve(!1);yield new Promise(o=>(0,c.c)(s,o));const l=t.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),f=t.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");return null!==l&&null!==f&&("ios"===r&&R()||"md"===r)});return function(r,s){return e.apply(this,arguments)}}(),T=class{constructor(e){(0,n.r)(this,e),this.ionRefresh=(0,n.d)(this,"ionRefresh",7),this.ionPull=(0,n.d)(this,"ionPull",7),this.ionStart=(0,n.d)(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)}checkNativeRefresher(){var e=this;return(0,d.A)(function*(){const t=yield P(e.el,(0,h.b)(e));if(t&&!e.nativeRefresher){const r=e.el.closest("ion-content");e.setupNativeRefresher(r)}else t||e.destroyNativeRefresher()})()}destroyNativeRefresher(){this.scrollEl&&this.scrollListenerCallback&&(this.scrollEl.removeEventListener("scroll",this.scrollListenerCallback),this.scrollListenerCallback=void 0),this.nativeRefresher=!1}resetNativeRefresher(e,t){var r=this;return(0,d.A)(function*(){r.state=t,"ios"===(0,h.b)(r)?yield v(e,void 0,300):yield(0,c.t)(r.el.querySelector(".refresher-refreshing-icon"),200),r.didRefresh=!1,r.needsCompletion=!1,r.pointerDown=!1,r.animations.forEach(s=>s.destroy()),r.animations=[],r.progress=0,r.state=1})()}setupiOSNativeRefresher(e,t){var r=this;return(0,d.A)(function*(){r.elementToTransform=r.scrollEl;const s=e.shadowRoot.querySelectorAll("svg");let l=.16*r.scrollEl.clientHeight;const f=s.length;(0,n.w)(()=>s.forEach(o=>o.style.setProperty("animation","none"))),r.scrollListenerCallback=()=>{!r.pointerDown&&1===r.state||(0,n.e)(()=>{const o=r.scrollEl.scrollTop,i=r.el.clientHeight;if(o>0){if(8===r.state){const u=(0,c.j)(0,o/(.5*i),1);return void(0,n.w)(()=>((e,t)=>{e.style.setProperty("opacity",t.toString())})(t,1-u))}return}r.pointerDown&&(r.didStart||(r.didStart=!0,r.ionStart.emit()),r.pointerDown&&r.ionPull.emit());const p=r.didStart?30:0,g=r.progress=(0,c.j)(0,(Math.abs(o)-p)/l,1);8===r.state||1===g?(r.pointerDown&&((e,t)=>{(0,n.w)(()=>{e.style.setProperty("--refreshing-rotation-duration",t>=1?"0.5s":"2s"),e.style.setProperty("opacity","1")})})(t,r.lastVelocityY),r.didRefresh||(r.beginRefresh(),r.didRefresh=!0,(0,k.d)({style:k.I.Light}),r.pointerDown||v(r.elementToTransform,`${i}px`))):(r.state=2,((e,t,r)=>{(0,n.w)(()=>{e.forEach((l,f)=>{const o=f*(1/t),g=(0,c.j)(0,(r-o)/(1-o),1);l.style.setProperty("opacity",g.toString())})})})(s,f,g))})},r.scrollEl.addEventListener("scroll",r.scrollListenerCallback),r.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:r.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,onStart:()=>{r.pointerDown=!0,r.didRefresh||v(r.elementToTransform,"0px"),0===l&&(l=.16*r.scrollEl.clientHeight)},onMove:o=>{r.lastVelocityY=o.velocityY},onEnd:()=>{r.pointerDown=!1,r.didStart=!1,r.needsCompletion?(r.resetNativeRefresher(r.elementToTransform,32),r.needsCompletion=!1):r.didRefresh&&(0,n.e)(()=>v(r.elementToTransform,`${r.el.clientHeight}px`))}}),r.disabledChanged()})()}setupMDNativeRefresher(e,t,r){var s=this;return(0,d.A)(function*(){const l=(0,c.g)(t).querySelector("circle"),f=s.el.querySelector("ion-refresher-content .refresher-pulling-icon"),o=(0,c.g)(r).querySelector("circle");null!==l&&null!==o&&(0,n.w)(()=>{l.style.setProperty("animation","none"),r.style.setProperty("animation-delay","-655ms"),o.style.setProperty("animation-delay","-655ms")}),s.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:s.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,canStart:()=>8!==s.state&&32!==s.state&&0===s.scrollEl.scrollTop,onStart:i=>{s.progress=0,i.data={animation:void 0,didStart:!1,cancelled:!1}},onMove:i=>{if(i.velocityY<0&&0===s.progress&&!i.data.didStart||i.data.cancelled)i.data.cancelled=!0;else{if(!i.data.didStart){i.data.didStart=!0,s.state=2;const{scrollEl:p}=s,g=p.matches(y.I)?"overflow":"--overflow";(0,n.w)(()=>p.style.setProperty(g,"hidden"));const b=(e=>{const t=e.previousElementSibling;return null!==t&&"ION-HEADER"===t.tagName?"translate":"scale"})(e),u=((e,t,r)=>"scale"===e?((e,t)=>{const r=t.clientHeight,s=(0,m.c)().addElement(e).keyframes([{offset:0,transform:`scale(0) translateY(-${r}px)`},{offset:1,transform:"scale(1) translateY(100px)"}]);return S(e).addAnimation([s])})(t,r):((e,t)=>{const r=t.clientHeight,s=(0,m.c)().addElement(e).keyframes([{offset:0,transform:`translateY(-${r}px)`},{offset:1,transform:"translateY(100px)"}]);return S(e).addAnimation([s])})(t,r))(b,f,s.el);return i.data.animation=u,u.progressStart(!1,0),s.ionStart.emit(),void s.animations.push(u)}s.progress=(0,c.j)(0,i.deltaY/180*.5,1),i.data.animation.progressStep(s.progress),s.ionPull.emit()}},onEnd:i=>{if(!i.data.didStart)return;s.gesture.enable(!1);const{scrollEl:p}=s,g=p.matches(y.I)?"overflow":"--overflow";if((0,n.w)(()=>p.style.removeProperty(g)),s.progress<=.4)return void i.data.animation.progressEnd(0,s.progress,500).onFinish(()=>{s.animations.forEach(H=>H.destroy()),s.animations=[],s.gesture.enable(!0),s.state=1});const b=(0,C.g)([0,0],[0,0],[1,1],[1,1],s.progress)[0],u=(e=>(0,m.c)().duration(125).addElement(e).fromTo("transform","translateY(var(--ion-pulling-refresher-translate, 100px))","translateY(0px)"))(f);s.animations.push(u),(0,n.w)((0,d.A)(function*(){f.style.setProperty("--ion-pulling-refresher-translate",100*b+"px"),i.data.animation.progressEnd(),yield u.play(),s.beginRefresh(),i.data.animation.destroy(),s.gesture.enable(!0)}))}}),s.disabledChanged()})()}setupNativeRefresher(e){var t=this;return(0,d.A)(function*(){if(t.scrollListenerCallback||!e||t.nativeRefresher||!t.scrollEl)return;t.setCss(0,"",!1,""),t.nativeRefresher=!0;const r=t.el.querySelector("ion-refresher-content .refresher-pulling ion-spinner"),s=t.el.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");"ios"===(0,h.b)(t)?t.setupiOSNativeRefresher(r,s):t.setupMDNativeRefresher(e,r,s)})()}componentDidUpdate(){this.checkNativeRefresher()}connectedCallback(){var e=this;return(0,d.A)(function*(){if("fixed"!==e.el.getAttribute("slot"))return void console.error('Make sure you use: ');const t=e.el.closest(y.b);t?(0,c.c)(t,(0,d.A)(function*(){const r=t.querySelector(y.I);e.scrollEl=yield(0,y.g)(null!=r?r:t),e.backgroundContentEl=yield t.getBackgroundElement(),(yield P(e.el,(0,h.b)(e)))?e.setupNativeRefresher(t):(e.gesture=(yield Promise.resolve().then(a.bind(a,8607))).createGesture({el:t,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:20,passive:!1,canStart:()=>e.canStart(),onStart:()=>e.onStart(),onMove:s=>e.onMove(s),onEnd:()=>e.onEnd()}),e.disabledChanged())})):(0,y.p)(e.el)})()}disconnectedCallback(){this.destroyNativeRefresher(),this.scrollEl=void 0,this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}complete(){var e=this;return(0,d.A)(function*(){e.nativeRefresher?(e.needsCompletion=!0,e.pointerDown||(0,c.r)(()=>(0,c.r)(()=>e.resetNativeRefresher(e.elementToTransform,32)))):e.close(32,"120ms")})()}cancel(){var e=this;return(0,d.A)(function*(){e.nativeRefresher?e.pointerDown||(0,c.r)(()=>(0,c.r)(()=>e.resetNativeRefresher(e.elementToTransform,16))):e.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,this.memoizeOverflowStyle()}onMove(e){if(!this.scrollEl)return;const t=e.event;if(void 0!==t.touches&&t.touches.length>1||56&this.state)return;const r=Number.isNaN(this.pullFactor)||this.pullFactor<0?1:this.pullFactor,s=e.deltaY*r;if(s<=0)return this.progress=0,this.state=1,this.appliedStyles?void this.setCss(0,"",!1,""):void 0;if(1===this.state){if(this.scrollEl.scrollTop>0)return void(this.progress=0);this.state=2}if(t.cancelable&&t.preventDefault(),this.setCss(s,"0ms",!0,""),0===s)return void(this.progress=0);const l=this.pullMin;this.progress=s/l,this.didStart||(this.didStart=!0,this.ionStart.emit()),this.ionPull.emit(),sthis.pullMax?this.beginRefresh():this.state=4}onEnd(){4===this.state?this.beginRefresh():2===this.state?this.cancel():1===this.state&&this.restoreOverflowStyle()}beginRefresh(){this.state=8,this.setCss(this.pullMin,this.snapbackDuration,!0,""),this.ionRefresh.emit({complete:this.complete.bind(this)})}close(e,t){setTimeout(()=>{this.state=1,this.progress=0,this.didStart=!1,this.setCss(0,"0ms",!1,"",!0)},600),this.state=e,this.setCss(0,this.closeDuration,!0,t)}setCss(e,t,r,s,l=!1){this.nativeRefresher||(this.appliedStyles=e>0,(0,n.w)(()=>{if(this.scrollEl&&this.backgroundContentEl){const f=this.scrollEl.style,o=this.backgroundContentEl.style;f.transform=o.transform=e>0?`translateY(${e}px) translateZ(0px)`:"",f.transitionDuration=o.transitionDuration=t,f.transitionDelay=o.transitionDelay=s,f.overflow=r?"hidden":""}l&&this.restoreOverflowStyle()}))}memoizeOverflowStyle(){if(this.scrollEl){const{overflow:e,overflowX:t,overflowY:r}=this.scrollEl.style;this.overflowStyles={overflow:null!=e?e:"",overflowX:null!=t?t:"",overflowY:null!=r?r:""}}}restoreOverflowStyle(){if(void 0!==this.overflowStyles&&void 0!==this.scrollEl){const{overflow:e,overflowX:t,overflowY:r}=this.overflowStyles;this.scrollEl.style.overflow=e,this.scrollEl.style.overflowX=t,this.scrollEl.style.overflowY=r,this.overflowStyles=void 0}}render(){const e=(0,h.b)(this);return(0,n.h)(n.f,{key:"1696f66f62d18c9075294f17cb24263325fcf35d",slot:"fixed",class:{[e]:!0,[`refresher-${e}`]:!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(0,n.i)(this)}static get watchers(){return{disabled:["disabledChanged"]}}};T.style={ios:"ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start: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}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}.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, var(--ion-background-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)}}",md:"ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start: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}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #0054e9)}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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #0054e9);font-size:12px}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{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;border-radius:100%;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #ececec));background:var(--ion-color-step-250, var(--ion-background-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)}"};const U=class{constructor(e){(0,n.r)(this,e),this.customHTMLEnabled=h.c.get("innerHTMLTemplatesEnabled",x.E),this.pullingIcon=void 0,this.pullingText=void 0,this.refreshingSpinner=void 0,this.refreshingText=void 0}componentWillLoad(){if(void 0===this.pullingIcon){const e=R(),t=(0,h.b)(this);this.pullingIcon=h.c.get("refreshingIcon","ios"===t&&e?h.c.get("spinner",e?"lines":E.i):"circular")}if(void 0===this.refreshingSpinner){const e=(0,h.b)(this);this.refreshingSpinner=h.c.get("refreshingSpinner",h.c.get("spinner","ios"===e?"lines":"circular"))}}renderPullingText(){const{customHTMLEnabled:e,pullingText:t}=this;return e?(0,n.h)("div",{class:"refresher-pulling-text",innerHTML:(0,x.a)(t)}):(0,n.h)("div",{class:"refresher-pulling-text"},t)}renderRefreshingText(){const{customHTMLEnabled:e,refreshingText:t}=this;return e?(0,n.h)("div",{class:"refresher-refreshing-text",innerHTML:(0,x.a)(t)}):(0,n.h)("div",{class:"refresher-refreshing-text"},t)}render(){const e=this.pullingIcon,t=null!=e&&void 0!==_.S[e],r=(0,h.b)(this);return(0,n.h)(n.f,{key:"1bec5b4da221c69d856f3f5ddf40f2e03ebf2a4c",class:r},(0,n.h)("div",{key:"4fcc526c4f1881e9368d9cd16bd7030919bd3841",class:"refresher-pulling"},this.pullingIcon&&t&&(0,n.h)("div",{key:"a4e9e2e12c2d7faefc8303ec8c021f999ddf308e",class:"refresher-pulling-icon"},(0,n.h)("div",{key:"5a2d215feb7fb4b64d540d3a65c0f24b415a2433",class:"spinner-arrow-container"},(0,n.h)("ion-spinner",{key:"abef2621d671ac6ff0abac43a702cbd825b7f127",name:this.pullingIcon,paused:!0}),"md"===r&&"circular"===this.pullingIcon&&(0,n.h)("div",{key:"30087d672c3780672a05874cd93cd099b2855462",class:"arrow-container"},(0,n.h)("ion-icon",{key:"5e30333dee469aec0d8efc8c4e6dabb619c6f363",icon:E.h,"aria-hidden":"true"})))),this.pullingIcon&&!t&&(0,n.h)("div",{key:"48fe72b5ce8ded633c6ee799cebb520b9c8be528",class:"refresher-pulling-icon"},(0,n.h)("ion-icon",{key:"d8dfd5d42056b1c0a436c5006affb255407816c0",icon:this.pullingIcon,lazy:!1,"aria-hidden":"true"})),void 0!==this.pullingText&&this.renderPullingText()),(0,n.h)("div",{key:"c2cbfb94f157c82601ffe7bb815ff82ebc7c0a49",class:"refresher-refreshing"},this.refreshingSpinner&&(0,n.h)("div",{key:"17f3ebe6a31768d5e389f45a2c12f68600185db9",class:"refresher-refreshing-icon"},(0,n.h)("ion-spinner",{key:"e8e61f8d7189c9939bba184201c9509d1d5b0fad",name:this.refreshingSpinner})),void 0!==this.refreshingText&&this.renderRefreshingText()))}get el(){return(0,n.i)(this)}}}}]);
\ No newline at end of file
diff --git a/www/6433.26eeba8bb230b119.js b/www/6433.91353c3d7c453322.js
similarity index 96%
rename from www/6433.26eeba8bb230b119.js
rename to www/6433.91353c3d7c453322.js
index d68c46f..7d6158f 100644
--- a/www/6433.26eeba8bb230b119.js
+++ b/www/6433.91353c3d7c453322.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6433],{6433:(re,N,f)=>{f.r(N),f.d(N,{ion_popover:()=>ee});var S=f(467),l=f(9672),E=f(6002),R=f(8621),k=f(4920),F=f(7838),V=f(4929),h=f(3664),g=f(333),y=f(2725),v=f(9986);f(8476),f(6411),f(1970);const G=(t,e,o)=>{const r=e.getBoundingClientRect(),i=r.height;let n=r.width;return"cover"===t&&o&&(n=o.getBoundingClientRect().width),{contentWidth:n,contentHeight:i}},se=(t,e,o)=>{let r=[];switch(e){case"hover":let i;r=[{eventName:"mouseenter",callback:(n=(0,S.A)(function*(s){s.stopPropagation(),i&&clearTimeout(i),i=setTimeout(()=>{(0,k.r)(()=>{o.presentFromTrigger(s),i=void 0})},100)}),function(a){return n.apply(this,arguments)})},{eventName:"mouseleave",callback:n=>{i&&clearTimeout(i);const s=n.relatedTarget;s&&s.closest("ion-popover")!==o&&o.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:n=>n.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:n=>{n.preventDefault(),o.presentFromTrigger(n)}},{eventName:"click",callback:n=>n.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}];break;default:r=[{eventName:"click",callback:n=>o.presentFromTrigger(n)},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}]}var n;return r.forEach(({eventName:i,callback:n})=>t.addEventListener(i,n)),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach(({eventName:i,callback:n})=>t.removeEventListener(i,n)),t.removeAttribute("data-ion-popover-trigger")}},H=(t,e)=>e&&"ION-ITEM"===e.tagName?t.findIndex(o=>o===e):-1,Y=t=>{const o=(0,k.g)(t).querySelector("button");o&&(0,k.r)(()=>o.focus())},de=t=>{const e=function(){var o=(0,S.A)(function*(r){var i;const n=document.activeElement;let s=[];const a=null===(i=r.target)||void 0===i?void 0:i.tagName;if("ION-POPOVER"===a||"ION-ITEM"===a){try{s=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch{}switch(r.key){case"ArrowLeft":(yield t.getParentPopover())&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":r.preventDefault();const d=((t,e)=>t[H(t,e)+1])(s,n);void 0!==d&&Y(d);break;case"ArrowUp":r.preventDefault();const w=((t,e)=>t[H(t,e)-1])(s,n);void 0!==w&&Y(w);break;case"Home":r.preventDefault();const u=s[0];void 0!==u&&Y(u);break;case"End":r.preventDefault();const b=s[s.length-1];void 0!==b&&Y(b);break;case"ArrowRight":case" ":case"Enter":if(n&&(t=>t.hasAttribute("data-ion-popover-trigger"))(n)){const m=new CustomEvent("ionPopoverActivateTrigger");n.dispatchEvent(m)}}}});return function(i){return o.apply(this,arguments)}}();return t.addEventListener("keydown",e),()=>t.removeEventListener("keydown",e)},J=(t,e,o,r,i,n,s,a,c,d,w)=>{var u;let b={top:0,left:0,width:0,height:0};if("event"===n){if(!w)return c;b={top:w.clientY,left:w.clientX,width:1,height:1}}else{const L=d||(null===(u=null==w?void 0:w.detail)||void 0===u?void 0:u.ionShadowTarget)||(null==w?void 0:w.target);if(!L)return c;const A=L.getBoundingClientRect();b={top:A.top,left:A.left,width:A.width,height:A.height}}const m=he(s,b,e,o,r,i,t),P=ue(a,s,b,e,o),_=m.top+P.top,I=m.left+P.left,{arrowTop:x,arrowLeft:T}=fe(s,r,i,_,I,e,o,t),{originX:D,originY:O}=le(s,a,t);return{top:_,left:I,referenceCoordinates:b,arrowTop:x,arrowLeft:T,originX:D,originY:O}},le=(t,e,o)=>{switch(t){case"top":return{originX:Q(e),originY:"bottom"};case"bottom":return{originX:Q(e),originY:"top"};case"left":return{originX:"right",originY:z(e)};case"right":return{originX:"left",originY:z(e)};case"start":return{originX:o?"left":"right",originY:z(e)};case"end":return{originX:o?"right":"left",originY:z(e)}}},Q=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},z=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},fe=(t,e,o,r,i,n,s,a)=>{const c={arrowTop:r+s/2-e/2,arrowLeft:i+n-e/2},d={arrowTop:r+s/2-e/2,arrowLeft:i-1.5*e};switch(t){case"top":return{arrowTop:r+s,arrowLeft:i+n/2-e/2};case"bottom":return{arrowTop:r-o,arrowLeft:i+n/2-e/2};case"left":return c;case"right":return d;case"start":return a?d:c;case"end":return a?c:d;default:return{arrowTop:0,arrowLeft:0}}},he=(t,e,o,r,i,n,s)=>{const a={top:e.top,left:e.left-o-i},c={top:e.top,left:e.left+e.width+i};switch(t){case"top":return{top:e.top-r-n,left:e.left};case"right":return c;case"bottom":return{top:e.top+e.height+n,left:e.left};case"left":return a;case"start":return s?c:a;case"end":return s?a:c}},ue=(t,e,o,r,i)=>{switch(t){case"center":return me(e,o,r,i);case"end":return ve(e,o,r,i);default:return{top:0,left:0}}},ve=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-e.height),left:0};default:return{top:0,left:-(o-e.width)}}},me=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-e.height/2),left:0};default:return{top:0,left:-(o/2-e.width/2)}}},Z=(t,e,o,r,i,n,s,a,c,d,w,u,b=0,m=0,P=0)=>{let _=b;const I=m;let D,x=o,T=e,O=d,C=w,p=!1,L=!1;const A=u?u.top+u.height:n/2-a/2,M=u?u.height:0;let j=!1;return xi&&(L=!0,x=i-s-r,O="right"),A+M+a>n&&("top"===t||"bottom"===t)&&(A-a>0?(T=Math.max(12,A-a-M-(P-1)),_=T+a,C="bottom",j=!0):D=r),{top:T,left:x,bottom:D,originX:O,originY:C,checkSafeAreaLeft:p,checkSafeAreaRight:L,arrowTop:_,arrowLeft:I,addPopoverBottomClass:j}},xe=(t,e)=>{var o;const{event:r,size:i,trigger:n,reference:s,side:a,align:c}=e,d=t.ownerDocument,w="rtl"===d.dir,u=d.defaultView.innerWidth,b=d.defaultView.innerHeight,m=(0,k.g)(t),P=m.querySelector(".popover-content"),_=m.querySelector(".popover-arrow"),I=n||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:x,contentHeight:T}=G(i,P,I),{arrowWidth:D,arrowHeight:O}=(t=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:e,height:o}=t.getBoundingClientRect();return{arrowWidth:e,arrowHeight:o}})(_),p=J(w,x,T,D,O,s,a,c,{top:b/2-T/2,left:u/2-x/2,originX:w?"right":"left",originY:"top"},n,r),L="cover"===i?0:5,A="cover"===i?0:25,{originX:M,originY:j,top:$,left:W,bottom:K,checkSafeAreaLeft:X,checkSafeAreaRight:Ee,arrowTop:Ie,arrowLeft:Te,addPopoverBottomClass:Oe}=Z(a,p.top,p.left,L,u,b,x,T,A,p.originX,p.originY,p.referenceCoordinates,p.arrowTop,p.arrowLeft,O),Ce=(0,v.c)(),te=(0,v.c)(),oe=(0,v.c)();return te.addElement(m.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),oe.addElement(m.querySelector(".popover-arrow")).addElement(m.querySelector(".popover-content")).fromTo("opacity",.01,1),Ce.easing("ease").duration(100).beforeAddWrite(()=>{"cover"===i&&t.style.setProperty("--width",`${x}px`),Oe&&t.classList.add("popover-bottom"),void 0!==K&&P.style.setProperty("bottom",`${K}px`);let q=`${W}px`;X&&(q=`${W}px + var(--ion-safe-area-left, 0)`),Ee&&(q=`${W}px - var(--ion-safe-area-right, 0)`),P.style.setProperty("top",`calc(${$}px + var(--offset-y, 0))`),P.style.setProperty("left",`calc(${q} + var(--offset-x, 0))`),P.style.setProperty("transform-origin",`${j} ${M}`),null!==_&&(((t,e=!1,o,r)=>!(!o&&!r||"top"!==t&&"bottom"!==t&&e))(a,p.top!==$||p.left!==W,r,n)?(_.style.setProperty("top",`calc(${Ie}px + var(--offset-y, 0))`),_.style.setProperty("left",`calc(${Te}px + var(--offset-x, 0))`)):_.style.setProperty("display","none"))}).addAnimation([te,oe])},ye=t=>{const e=(0,k.g)(t),o=e.querySelector(".popover-content"),r=e.querySelector(".popover-arrow"),i=(0,v.c)(),n=(0,v.c)(),s=(0,v.c)();return n.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(e.querySelector(".popover-arrow")).addElement(e.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite(()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))}).duration(300).addAnimation([n,s])},Pe=(t,e)=>{var o;const{event:r,size:i,trigger:n,reference:s,side:a,align:c}=e,d=t.ownerDocument,w="rtl"===d.dir,u=d.defaultView.innerWidth,b=d.defaultView.innerHeight,m=(0,k.g)(t),P=m.querySelector(".popover-content"),_=n||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:I,contentHeight:x}=G(i,P,_),D=J(w,I,x,0,0,s,a,c,{top:b/2-x/2,left:u/2-I/2,originX:w?"right":"left",originY:"top"},n,r),O="cover"===i?0:12,{originX:C,originY:p,top:L,left:A,bottom:M}=Z(a,D.top,D.left,O,u,b,I,x,0,D.originX,D.originY,D.referenceCoordinates),j=(0,v.c)(),$=(0,v.c)(),W=(0,v.c)(),K=(0,v.c)(),X=(0,v.c)();return $.addElement(m.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),W.addElement(m.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),K.addElement(P).beforeStyles({top:`calc(${L}px + var(--offset-y, 0px))`,left:`calc(${A}px + var(--offset-x, 0px))`,"transform-origin":`${p} ${C}`}).beforeAddWrite(()=>{void 0!==M&&P.style.setProperty("bottom",`${M}px`)}).fromTo("transform","scale(0.8)","scale(1)"),X.addElement(m.querySelector(".popover-viewport")).fromTo("opacity",.01,1),j.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite(()=>{"cover"===i&&t.style.setProperty("--width",`${I}px`),"bottom"===p&&t.classList.add("popover-bottom")}).addAnimation([$,W,K,X])},ke=t=>{const e=(0,k.g)(t),o=e.querySelector(".popover-content"),r=(0,v.c)(),i=(0,v.c)(),n=(0,v.c)();return i.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(e.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite(()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin")}).duration(150).addAnimation([i,n])},ee=class{constructor(t){(0,l.r)(this,t),this.didPresent=(0,l.d)(this,"ionPopoverDidPresent",7),this.willPresent=(0,l.d)(this,"ionPopoverWillPresent",7),this.willDismiss=(0,l.d)(this,"ionPopoverWillDismiss",7),this.didDismiss=(0,l.d)(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=(0,l.d)(this,"didPresent",7),this.willPresentShorthand=(0,l.d)(this,"willPresent",7),this.willDismissShorthand=(0,l.d)(this,"willDismiss",7),this.didDismissShorthand=(0,l.d)(this,"didDismiss",7),this.ionMount=(0,l.d)(this,"ionMount",7),this.parentPopover=null,this.coreDelegate=(0,R.C)(),this.lockController=(0,F.c)(),this.inline=!1,this.focusDescendantOnPresent=!1,this.onBackdropTap=()=>{this.dismiss(void 0,E.B)},this.onLifecycle=e=>{const o=this.usersElement,r=Ae[e.type];if(o&&r){const i=new CustomEvent(r,{bubbles:!1,cancelable:!1,detail:e.detail});o.dispatchEvent(i)}},this.configureTriggerInteraction=()=>{const{trigger:e,triggerAction:o,el:r,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===e)return;const n=this.triggerEl=void 0!==e?document.getElementById(e):null;n?this.destroyTriggerInteraction=se(n,o,r):(0,V.p)(`A trigger element with the ID "${e}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)},this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:e,el:o}=this;e&&e(),this.destroyKeyboardInteraction=de(o)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:e,parentPopover:o,triggerAction:r,triggerEl:i,el:n}=this;!o||!i||(e&&e(),this.destroyDismissInteraction=((t,e,o,r)=>{let i=[];const s=(0,k.g)(r).querySelector(".popover-content");return i="hover"===e?[{eventName:"mouseenter",callback:a=>{document.elementFromPoint(a.clientX,a.clientY)!==t&&o.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:a=>{a.target.closest("[data-ion-popover-trigger]")!==t?o.dismiss(void 0,void 0,!1):a.stopPropagation()}}],i.forEach(({eventName:a,callback:c})=>s.addEventListener(a,c)),()=>{i.forEach(({eventName:a,callback:c})=>s.removeEventListener(a,c))}})(i,r,n,o))},this.presented=!1,this.hasController=!1,this.delegate=void 0,this.overlayIndex=void 0,this.enterAnimation=void 0,this.leaveAnimation=void 0,this.component=void 0,this.componentProps=void 0,this.keyboardClose=!0,this.cssClass=void 0,this.backdropDismiss=!0,this.event=void 0,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.htmlAttributes=void 0,this.triggerAction="click",this.trigger=void 0,this.size="auto",this.dismissOnSelect=!1,this.reference="trigger",this.side="bottom",this.alignment=void 0,this.arrow=!0,this.isOpen=!1,this.keyboardEvents=!1,this.focusTrap=!0,this.keepContentsMounted=!1}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,e){!0===t&&!1===e?this.present():!1===t&&!0===e&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:e}=this;(0,E.j)(e),t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t()}componentWillLoad(){const{el:t}=this,e=(0,E.k)(t);this.parentPopover=t.closest(`ion-popover:not(#${e})`),void 0===this.alignment&&(this.alignment="ios"===(0,h.b)(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:e}=this;!0===e&&(0,k.r)(()=>this.present()),t&&(0,k.a)(t,"ionPopoverWillDismiss",()=>{this.dismiss(void 0,void 0,!1)}),this.configureTriggerInteraction()}presentFromTrigger(t,e=!1){var o=this;return(0,S.A)(function*(){o.focusDescendantOnPresent=e,yield o.present(t),o.focusDescendantOnPresent=!1})()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}present(t){var e=this;return(0,S.A)(function*(){const o=yield e.lockController.lock();if(e.presented)return void o();const{el:r}=e,{inline:i,delegate:n}=e.getDelegate(!0);e.ionMount.emit(),e.usersElement=yield(0,R.a)(n,r,e.component,["popover-viewport"],e.componentProps,i),e.keyboardEvents||e.configureKeyboardInteraction(),e.configureDismissInteraction(),(0,k.k)(r)?yield(0,y.e)(e.usersElement):e.keepContentsMounted||(yield(0,y.w)()),yield(0,E.f)(e,"popoverEnter",xe,Pe,{event:t||e.event,size:e.size,trigger:e.triggerEl,reference:e.reference,side:e.side,align:e.alignment}),e.focusDescendantOnPresent&&(0,E.n)(r),o()})()}dismiss(t,e,o=!0){var r=this;return(0,S.A)(function*(){const i=yield r.lockController.lock(),{destroyKeyboardInteraction:n,destroyDismissInteraction:s}=r;o&&r.parentPopover&&r.parentPopover.dismiss(t,e,o);const a=yield(0,E.g)(r,t,e,"popoverLeave",ye,ke,r.event);if(a){n&&(n(),r.destroyKeyboardInteraction=void 0),s&&(s(),r.destroyDismissInteraction=void 0);const{delegate:c}=r.getDelegate();yield(0,R.d)(c,r.usersElement)}return i(),a})()}getParentPopover(){var t=this;return(0,S.A)(function*(){return t.parentPopover})()}onDidDismiss(){return(0,E.h)(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return(0,E.h)(this.el,"ionPopoverWillDismiss")}render(){const t=(0,h.b)(this),{onLifecycle:e,parentPopover:o,dismissOnSelect:r,side:i,arrow:n,htmlAttributes:s,focusTrap:a}=this,c=(0,h.a)("desktop"),d=n&&!o;return(0,l.h)(l.f,Object.assign({key:"17e5e8b3e7ba5e251665fb9d0ade10c781f82f0e","aria-modal":"true","no-router":!0,tabindex:"-1"},s,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},(0,g.g)(this.cssClass)),{[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":c,[`popover-side-${i}`]:!0,[E.F]:!1===a,"popover-nested":!!o}),onIonPopoverDidPresent:e,onIonPopoverWillPresent:e,onIonPopoverWillDismiss:e,onIonPopoverDidDismiss:e,onIonBackdropTap:this.onBackdropTap}),!o&&(0,l.h)("ion-backdrop",{key:"c12fb94b375d7e88a0c5d715440c0f66ad7ee817",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),(0,l.h)("div",{key:"478b388cc9a5a382003a2863e968e77a174914ab",class:"popover-wrapper ion-overlay-wrapper",onClick:r?()=>this.dismiss():void 0},d&&(0,l.h)("div",{key:"f1c63a0079f197a8d4577e7c00a654871fb9d816",class:"popover-arrow",part:"arrow"}),(0,l.h)("div",{key:"08b62a321c09ad4b0f90460468ecbc1d56320bf1",class:"popover-content",part:"content"},(0,l.h)("slot",{key:"55645ff597f64d434219caa28015cf2a4ceb0ee5"}))))}get el(){return(0,l.i)(this)}static get watchers(){return{trigger:["onTriggerChange"],triggerAction:["onTriggerChange"],isOpen:["onIsOpenChange"]}}},Ae={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};ee.style={ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"}},333:(re,N,f)=>{f.d(N,{c:()=>E,g:()=>k,h:()=>l,o:()=>V});var S=f(467);const l=(h,g)=>null!==g.closest(h),E=(h,g)=>"string"==typeof h&&h.length>0?Object.assign({"ion-color":!0,[`ion-color-${h}`]:!0},g):g,k=h=>{const g={};return(h=>void 0!==h?(Array.isArray(h)?h:h.split(" ")).filter(y=>null!=y).map(y=>y.trim()).filter(y=>""!==y):[])(h).forEach(y=>g[y]=!0),g},F=/^[a-z][a-z0-9+\-.]*:/,V=function(){var h=(0,S.A)(function*(g,y,v,B){if(null!=g&&"#"!==g[0]&&!F.test(g)){const U=document.querySelector("ion-router");if(U)return null!=y&&y.preventDefault(),U.push(g,v,B)}return!1});return function(y,v,B,U){return h.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6433],{6433:(re,N,f)=>{f.r(N),f.d(N,{ion_popover:()=>ee});var S=f(467),l=f(9672),E=f(6002),R=f(8621),k=f(4920),F=f(7838),V=f(4929),h=f(3664),g=f(333),y=f(2725),v=f(9986);f(8476),f(6411),f(1970);const G=(t,e,o)=>{const r=e.getBoundingClientRect(),i=r.height;let n=r.width;return"cover"===t&&o&&(n=o.getBoundingClientRect().width),{contentWidth:n,contentHeight:i}},se=(t,e,o)=>{let r=[];switch(e){case"hover":let i;r=[{eventName:"mouseenter",callback:(n=(0,S.A)(function*(s){s.stopPropagation(),i&&clearTimeout(i),i=setTimeout(()=>{(0,k.r)(()=>{o.presentFromTrigger(s),i=void 0})},100)}),function(a){return n.apply(this,arguments)})},{eventName:"mouseleave",callback:n=>{i&&clearTimeout(i);const s=n.relatedTarget;s&&s.closest("ion-popover")!==o&&o.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:n=>n.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:n=>{n.preventDefault(),o.presentFromTrigger(n)}},{eventName:"click",callback:n=>n.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}];break;default:r=[{eventName:"click",callback:n=>o.presentFromTrigger(n)},{eventName:"ionPopoverActivateTrigger",callback:n=>o.presentFromTrigger(n,!0)}]}var n;return r.forEach(({eventName:i,callback:n})=>t.addEventListener(i,n)),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach(({eventName:i,callback:n})=>t.removeEventListener(i,n)),t.removeAttribute("data-ion-popover-trigger")}},H=(t,e)=>e&&"ION-ITEM"===e.tagName?t.findIndex(o=>o===e):-1,Y=t=>{const o=(0,k.g)(t).querySelector("button");o&&(0,k.r)(()=>o.focus())},de=t=>{const e=function(){var o=(0,S.A)(function*(r){var i;const n=document.activeElement;let s=[];const a=null===(i=r.target)||void 0===i?void 0:i.tagName;if("ION-POPOVER"===a||"ION-ITEM"===a){try{s=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch{}switch(r.key){case"ArrowLeft":(yield t.getParentPopover())&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":r.preventDefault();const d=((t,e)=>t[H(t,e)+1])(s,n);void 0!==d&&Y(d);break;case"ArrowUp":r.preventDefault();const w=((t,e)=>t[H(t,e)-1])(s,n);void 0!==w&&Y(w);break;case"Home":r.preventDefault();const u=s[0];void 0!==u&&Y(u);break;case"End":r.preventDefault();const b=s[s.length-1];void 0!==b&&Y(b);break;case"ArrowRight":case" ":case"Enter":if(n&&(t=>t.hasAttribute("data-ion-popover-trigger"))(n)){const m=new CustomEvent("ionPopoverActivateTrigger");n.dispatchEvent(m)}}}});return function(i){return o.apply(this,arguments)}}();return t.addEventListener("keydown",e),()=>t.removeEventListener("keydown",e)},J=(t,e,o,r,i,n,s,a,c,d,w)=>{var u;let b={top:0,left:0,width:0,height:0};if("event"===n){if(!w)return c;b={top:w.clientY,left:w.clientX,width:1,height:1}}else{const L=d||(null===(u=null==w?void 0:w.detail)||void 0===u?void 0:u.ionShadowTarget)||(null==w?void 0:w.target);if(!L)return c;const A=L.getBoundingClientRect();b={top:A.top,left:A.left,width:A.width,height:A.height}}const m=he(s,b,e,o,r,i,t),P=ue(a,s,b,e,o),_=m.top+P.top,I=m.left+P.left,{arrowTop:x,arrowLeft:T}=fe(s,r,i,_,I,e,o,t),{originX:D,originY:C}=le(s,a,t);return{top:_,left:I,referenceCoordinates:b,arrowTop:x,arrowLeft:T,originX:D,originY:C}},le=(t,e,o)=>{switch(t){case"top":return{originX:Q(e),originY:"bottom"};case"bottom":return{originX:Q(e),originY:"top"};case"left":return{originX:"right",originY:z(e)};case"right":return{originX:"left",originY:z(e)};case"start":return{originX:o?"left":"right",originY:z(e)};case"end":return{originX:o?"right":"left",originY:z(e)}}},Q=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},z=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},fe=(t,e,o,r,i,n,s,a)=>{const c={arrowTop:r+s/2-e/2,arrowLeft:i+n-e/2},d={arrowTop:r+s/2-e/2,arrowLeft:i-1.5*e};switch(t){case"top":return{arrowTop:r+s,arrowLeft:i+n/2-e/2};case"bottom":return{arrowTop:r-o,arrowLeft:i+n/2-e/2};case"left":return c;case"right":return d;case"start":return a?d:c;case"end":return a?c:d;default:return{arrowTop:0,arrowLeft:0}}},he=(t,e,o,r,i,n,s)=>{const a={top:e.top,left:e.left-o-i},c={top:e.top,left:e.left+e.width+i};switch(t){case"top":return{top:e.top-r-n,left:e.left};case"right":return c;case"bottom":return{top:e.top+e.height+n,left:e.left};case"left":return a;case"start":return s?c:a;case"end":return s?a:c}},ue=(t,e,o,r,i)=>{switch(t){case"center":return me(e,o,r,i);case"end":return ve(e,o,r,i);default:return{top:0,left:0}}},ve=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-e.height),left:0};default:return{top:0,left:-(o-e.width)}}},me=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-e.height/2),left:0};default:return{top:0,left:-(o/2-e.width/2)}}},Z=(t,e,o,r,i,n,s,a,c,d,w,u,b=0,m=0,P=0)=>{let _=b;const I=m;let D,x=o,T=e,C=d,O=w,p=!1,L=!1;const A=u?u.top+u.height:n/2-a/2,M=u?u.height:0;let j=!1;return xi&&(L=!0,x=i-s-r,C="right"),A+M+a>n&&("top"===t||"bottom"===t)&&(A-a>0?(T=Math.max(12,A-a-M-(P-1)),_=T+a,O="bottom",j=!0):D=r),{top:T,left:x,bottom:D,originX:C,originY:O,checkSafeAreaLeft:p,checkSafeAreaRight:L,arrowTop:_,arrowLeft:I,addPopoverBottomClass:j}},xe=(t,e)=>{var o;const{event:r,size:i,trigger:n,reference:s,side:a,align:c}=e,d=t.ownerDocument,w="rtl"===d.dir,u=d.defaultView.innerWidth,b=d.defaultView.innerHeight,m=(0,k.g)(t),P=m.querySelector(".popover-content"),_=m.querySelector(".popover-arrow"),I=n||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:x,contentHeight:T}=G(i,P,I),{arrowWidth:D,arrowHeight:C}=(t=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:e,height:o}=t.getBoundingClientRect();return{arrowWidth:e,arrowHeight:o}})(_),p=J(w,x,T,D,C,s,a,c,{top:b/2-T/2,left:u/2-x/2,originX:w?"right":"left",originY:"top"},n,r),L="cover"===i?0:5,A="cover"===i?0:25,{originX:M,originY:j,top:$,left:W,bottom:K,checkSafeAreaLeft:X,checkSafeAreaRight:Ee,arrowTop:Ie,arrowLeft:Te,addPopoverBottomClass:Ce}=Z(a,p.top,p.left,L,u,b,x,T,A,p.originX,p.originY,p.referenceCoordinates,p.arrowTop,p.arrowLeft,C),Oe=(0,v.c)(),te=(0,v.c)(),oe=(0,v.c)();return te.addElement(m.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),oe.addElement(m.querySelector(".popover-arrow")).addElement(m.querySelector(".popover-content")).fromTo("opacity",.01,1),Oe.easing("ease").duration(100).beforeAddWrite(()=>{"cover"===i&&t.style.setProperty("--width",`${x}px`),Ce&&t.classList.add("popover-bottom"),void 0!==K&&P.style.setProperty("bottom",`${K}px`);let q=`${W}px`;X&&(q=`${W}px + var(--ion-safe-area-left, 0)`),Ee&&(q=`${W}px - var(--ion-safe-area-right, 0)`),P.style.setProperty("top",`calc(${$}px + var(--offset-y, 0))`),P.style.setProperty("left",`calc(${q} + var(--offset-x, 0))`),P.style.setProperty("transform-origin",`${j} ${M}`),null!==_&&(((t,e=!1,o,r)=>!(!o&&!r||"top"!==t&&"bottom"!==t&&e))(a,p.top!==$||p.left!==W,r,n)?(_.style.setProperty("top",`calc(${Ie}px + var(--offset-y, 0))`),_.style.setProperty("left",`calc(${Te}px + var(--offset-x, 0))`)):_.style.setProperty("display","none"))}).addAnimation([te,oe])},ye=t=>{const e=(0,k.g)(t),o=e.querySelector(".popover-content"),r=e.querySelector(".popover-arrow"),i=(0,v.c)(),n=(0,v.c)(),s=(0,v.c)();return n.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(e.querySelector(".popover-arrow")).addElement(e.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite(()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))}).duration(300).addAnimation([n,s])},Pe=(t,e)=>{var o;const{event:r,size:i,trigger:n,reference:s,side:a,align:c}=e,d=t.ownerDocument,w="rtl"===d.dir,u=d.defaultView.innerWidth,b=d.defaultView.innerHeight,m=(0,k.g)(t),P=m.querySelector(".popover-content"),_=n||(null===(o=null==r?void 0:r.detail)||void 0===o?void 0:o.ionShadowTarget)||(null==r?void 0:r.target),{contentWidth:I,contentHeight:x}=G(i,P,_),D=J(w,I,x,0,0,s,a,c,{top:b/2-x/2,left:u/2-I/2,originX:w?"right":"left",originY:"top"},n,r),C="cover"===i?0:12,{originX:O,originY:p,top:L,left:A,bottom:M}=Z(a,D.top,D.left,C,u,b,I,x,0,D.originX,D.originY,D.referenceCoordinates),j=(0,v.c)(),$=(0,v.c)(),W=(0,v.c)(),K=(0,v.c)(),X=(0,v.c)();return $.addElement(m.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),W.addElement(m.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),K.addElement(P).beforeStyles({top:`calc(${L}px + var(--offset-y, 0px))`,left:`calc(${A}px + var(--offset-x, 0px))`,"transform-origin":`${p} ${O}`}).beforeAddWrite(()=>{void 0!==M&&P.style.setProperty("bottom",`${M}px`)}).fromTo("transform","scale(0.8)","scale(1)"),X.addElement(m.querySelector(".popover-viewport")).fromTo("opacity",.01,1),j.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite(()=>{"cover"===i&&t.style.setProperty("--width",`${I}px`),"bottom"===p&&t.classList.add("popover-bottom")}).addAnimation([$,W,K,X])},ke=t=>{const e=(0,k.g)(t),o=e.querySelector(".popover-content"),r=(0,v.c)(),i=(0,v.c)(),n=(0,v.c)();return i.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),n.addElement(e.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite(()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin")}).duration(150).addAnimation([i,n])},ee=class{constructor(t){(0,l.r)(this,t),this.didPresent=(0,l.d)(this,"ionPopoverDidPresent",7),this.willPresent=(0,l.d)(this,"ionPopoverWillPresent",7),this.willDismiss=(0,l.d)(this,"ionPopoverWillDismiss",7),this.didDismiss=(0,l.d)(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=(0,l.d)(this,"didPresent",7),this.willPresentShorthand=(0,l.d)(this,"willPresent",7),this.willDismissShorthand=(0,l.d)(this,"willDismiss",7),this.didDismissShorthand=(0,l.d)(this,"didDismiss",7),this.ionMount=(0,l.d)(this,"ionMount",7),this.parentPopover=null,this.coreDelegate=(0,R.C)(),this.lockController=(0,F.c)(),this.inline=!1,this.focusDescendantOnPresent=!1,this.onBackdropTap=()=>{this.dismiss(void 0,E.B)},this.onLifecycle=e=>{const o=this.usersElement,r=Ae[e.type];if(o&&r){const i=new CustomEvent(r,{bubbles:!1,cancelable:!1,detail:e.detail});o.dispatchEvent(i)}},this.configureTriggerInteraction=()=>{const{trigger:e,triggerAction:o,el:r,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===e)return;const n=this.triggerEl=void 0!==e?document.getElementById(e):null;n?this.destroyTriggerInteraction=se(n,o,r):(0,V.p)(`A trigger element with the ID "${e}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)},this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:e,el:o}=this;e&&e(),this.destroyKeyboardInteraction=de(o)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:e,parentPopover:o,triggerAction:r,triggerEl:i,el:n}=this;!o||!i||(e&&e(),this.destroyDismissInteraction=((t,e,o,r)=>{let i=[];const s=(0,k.g)(r).querySelector(".popover-content");return i="hover"===e?[{eventName:"mouseenter",callback:a=>{document.elementFromPoint(a.clientX,a.clientY)!==t&&o.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:a=>{a.target.closest("[data-ion-popover-trigger]")!==t?o.dismiss(void 0,void 0,!1):a.stopPropagation()}}],i.forEach(({eventName:a,callback:c})=>s.addEventListener(a,c)),()=>{i.forEach(({eventName:a,callback:c})=>s.removeEventListener(a,c))}})(i,r,n,o))},this.presented=!1,this.hasController=!1,this.delegate=void 0,this.overlayIndex=void 0,this.enterAnimation=void 0,this.leaveAnimation=void 0,this.component=void 0,this.componentProps=void 0,this.keyboardClose=!0,this.cssClass=void 0,this.backdropDismiss=!0,this.event=void 0,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.htmlAttributes=void 0,this.triggerAction="click",this.trigger=void 0,this.size="auto",this.dismissOnSelect=!1,this.reference="trigger",this.side="bottom",this.alignment=void 0,this.arrow=!0,this.isOpen=!1,this.keyboardEvents=!1,this.focusTrap=!0,this.keepContentsMounted=!1}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,e){!0===t&&!1===e?this.present():!1===t&&!0===e&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:e}=this;(0,E.j)(e),t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t()}componentWillLoad(){const{el:t}=this,e=(0,E.k)(t);this.parentPopover=t.closest(`ion-popover:not(#${e})`),void 0===this.alignment&&(this.alignment="ios"===(0,h.b)(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:e}=this;!0===e&&(0,k.r)(()=>this.present()),t&&(0,k.a)(t,"ionPopoverWillDismiss",()=>{this.dismiss(void 0,void 0,!1)}),this.configureTriggerInteraction()}presentFromTrigger(t,e=!1){var o=this;return(0,S.A)(function*(){o.focusDescendantOnPresent=e,yield o.present(t),o.focusDescendantOnPresent=!1})()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}present(t){var e=this;return(0,S.A)(function*(){const o=yield e.lockController.lock();if(e.presented)return void o();const{el:r}=e,{inline:i,delegate:n}=e.getDelegate(!0);e.ionMount.emit(),e.usersElement=yield(0,R.a)(n,r,e.component,["popover-viewport"],e.componentProps,i),e.keyboardEvents||e.configureKeyboardInteraction(),e.configureDismissInteraction(),(0,k.k)(r)?yield(0,y.e)(e.usersElement):e.keepContentsMounted||(yield(0,y.w)()),yield(0,E.f)(e,"popoverEnter",xe,Pe,{event:t||e.event,size:e.size,trigger:e.triggerEl,reference:e.reference,side:e.side,align:e.alignment}),e.focusDescendantOnPresent&&(0,E.n)(r),o()})()}dismiss(t,e,o=!0){var r=this;return(0,S.A)(function*(){const i=yield r.lockController.lock(),{destroyKeyboardInteraction:n,destroyDismissInteraction:s}=r;o&&r.parentPopover&&r.parentPopover.dismiss(t,e,o);const a=yield(0,E.g)(r,t,e,"popoverLeave",ye,ke,r.event);if(a){n&&(n(),r.destroyKeyboardInteraction=void 0),s&&(s(),r.destroyDismissInteraction=void 0);const{delegate:c}=r.getDelegate();yield(0,R.d)(c,r.usersElement)}return i(),a})()}getParentPopover(){var t=this;return(0,S.A)(function*(){return t.parentPopover})()}onDidDismiss(){return(0,E.h)(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return(0,E.h)(this.el,"ionPopoverWillDismiss")}render(){const t=(0,h.b)(this),{onLifecycle:e,parentPopover:o,dismissOnSelect:r,side:i,arrow:n,htmlAttributes:s,focusTrap:a}=this,c=(0,h.a)("desktop"),d=n&&!o;return(0,l.h)(l.f,Object.assign({key:"17e5e8b3e7ba5e251665fb9d0ade10c781f82f0e","aria-modal":"true","no-router":!0,tabindex:"-1"},s,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},(0,g.g)(this.cssClass)),{[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":c,[`popover-side-${i}`]:!0,[E.F]:!1===a,"popover-nested":!!o}),onIonPopoverDidPresent:e,onIonPopoverWillPresent:e,onIonPopoverWillDismiss:e,onIonPopoverDidDismiss:e,onIonBackdropTap:this.onBackdropTap}),!o&&(0,l.h)("ion-backdrop",{key:"c12fb94b375d7e88a0c5d715440c0f66ad7ee817",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),(0,l.h)("div",{key:"478b388cc9a5a382003a2863e968e77a174914ab",class:"popover-wrapper ion-overlay-wrapper",onClick:r?()=>this.dismiss():void 0},d&&(0,l.h)("div",{key:"f1c63a0079f197a8d4577e7c00a654871fb9d816",class:"popover-arrow",part:"arrow"}),(0,l.h)("div",{key:"08b62a321c09ad4b0f90460468ecbc1d56320bf1",class:"popover-content",part:"content"},(0,l.h)("slot",{key:"55645ff597f64d434219caa28015cf2a4ceb0ee5"}))))}get el(){return(0,l.i)(this)}static get watchers(){return{trigger:["onTriggerChange"],triggerAction:["onTriggerChange"],isOpen:["onIsOpenChange"]}}},Ae={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};ee.style={ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"}},333:(re,N,f)=>{f.d(N,{c:()=>E,g:()=>k,h:()=>l,o:()=>V});var S=f(467);const l=(h,g)=>null!==g.closest(h),E=(h,g)=>"string"==typeof h&&h.length>0?Object.assign({"ion-color":!0,[`ion-color-${h}`]:!0},g):g,k=h=>{const g={};return(h=>void 0!==h?(Array.isArray(h)?h:h.split(" ")).filter(y=>null!=y).map(y=>y.trim()).filter(y=>""!==y):[])(h).forEach(y=>g[y]=!0),g},F=/^[a-z][a-z0-9+\-.]*:/,V=function(){var h=(0,S.A)(function*(g,y,v,B){if(null!=g&&"#"!==g[0]&&!F.test(g)){const U=document.querySelector("ion-router");if(U)return null!=y&&y.preventDefault(),U.push(g,v,B)}return!1});return function(y,v,B,U){return h.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/6521.3c5b756783b6739a.js b/www/6521.a8a508f41e539cc5.js
similarity index 71%
rename from www/6521.3c5b756783b6739a.js
rename to www/6521.a8a508f41e539cc5.js
index 37f8e3c..5b7a40c 100644
--- a/www/6521.3c5b756783b6739a.js
+++ b/www/6521.a8a508f41e539cc5.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6521],{6521:(y,a,i)=>{i.r(a),i.d(a,{ion_input_password_toggle:()=>n});var r=i(9672),l=i(4929),u=i(333),d=i(3992),p=i(3664);const n=class{constructor(s){(0,r.r)(this,s),this.togglePasswordVisibility=()=>{const{inputElRef:e}=this;e&&(e.type="text"===e.type?"password":"text")},this.color=void 0,this.showIcon=void 0,this.hideIcon=void 0,this.type="password"}onTypeChange(s){"text"===s||"password"===s||(0,l.p)(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${s}" is not compatible.`,this.el)}connectedCallback(){const{el:s}=this,e=this.inputElRef=s.closest("ion-input");e?this.type=e.type:(0,l.p)("No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.",s)}disconnectedCallback(){this.inputElRef=null}render(){var s,e;const{color:c,type:P}=this,h=(0,p.b)(this),E=null!==(s=this.showIcon)&&void 0!==s?s:d.x,I=null!==(e=this.hideIcon)&&void 0!==e?e:d.y,g="text"===P;return(0,r.h)(r.f,{key:"ed1c29726ce0c91548f0e2ada61e3f8b5c813d2d",class:(0,u.c)(c,{[h]:!0})},(0,r.h)("ion-button",{key:"9698eccdaedb86cf12d20acc53660371b3af3c55",mode:h,color:c,fill:"clear",shape:"round","aria-checked":g?"true":"false","aria-label":"show password",role:"switch",type:"button",onPointerDown:b=>{b.preventDefault()},onClick:this.togglePasswordVisibility},(0,r.h)("ion-icon",{key:"1f2119c30b56c800d9af44e6499445a0ebb466cf",slot:"icon-only","aria-hidden":"true",icon:g?I:E})))}get el(){return(0,r.i)(this)}static get watchers(){return{type:["onTypeChange"]}}};n.style={ios:"",md:""}},333:(y,a,i)=>{i.d(a,{c:()=>u,g:()=>p,h:()=>l,o:()=>_});var r=i(467);const l=(o,t)=>null!==t.closest(o),u=(o,t)=>"string"==typeof o&&o.length>0?Object.assign({"ion-color":!0,[`ion-color-${o}`]:!0},t):t,p=o=>{const t={};return(o=>void 0!==o?(Array.isArray(o)?o:o.split(" ")).filter(n=>null!=n).map(n=>n.trim()).filter(n=>""!==n):[])(o).forEach(n=>t[n]=!0),t},f=/^[a-z][a-z0-9+\-.]*:/,_=function(){var o=(0,r.A)(function*(t,n,s,e){if(null!=t&&"#"!==t[0]&&!f.test(t)){const c=document.querySelector("ion-router");if(c)return null!=n&&n.preventDefault(),c.push(t,s,e)}return!1});return function(n,s,e,c){return o.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6521],{6521:(y,l,i)=>{i.r(l),i.d(l,{ion_input_password_toggle:()=>n});var r=i(9672),a=i(4929),u=i(333),d=i(3992),p=i(3664);const n=class{constructor(s){(0,r.r)(this,s),this.togglePasswordVisibility=()=>{const{inputElRef:e}=this;e&&(e.type="text"===e.type?"password":"text")},this.color=void 0,this.showIcon=void 0,this.hideIcon=void 0,this.type="password"}onTypeChange(s){"text"===s||"password"===s||(0,a.p)(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${s}" is not compatible.`,this.el)}connectedCallback(){const{el:s}=this,e=this.inputElRef=s.closest("ion-input");e?this.type=e.type:(0,a.p)("No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.",s)}disconnectedCallback(){this.inputElRef=null}render(){var s,e;const{color:c,type:P}=this,h=(0,p.b)(this),E=null!==(s=this.showIcon)&&void 0!==s?s:d.x,C=null!==(e=this.hideIcon)&&void 0!==e?e:d.y,g="text"===P;return(0,r.h)(r.f,{key:"ed1c29726ce0c91548f0e2ada61e3f8b5c813d2d",class:(0,u.c)(c,{[h]:!0})},(0,r.h)("ion-button",{key:"9698eccdaedb86cf12d20acc53660371b3af3c55",mode:h,color:c,fill:"clear",shape:"round","aria-checked":g?"true":"false","aria-label":"show password",role:"switch",type:"button",onPointerDown:I=>{I.preventDefault()},onClick:this.togglePasswordVisibility},(0,r.h)("ion-icon",{key:"1f2119c30b56c800d9af44e6499445a0ebb466cf",slot:"icon-only","aria-hidden":"true",icon:g?C:E})))}get el(){return(0,r.i)(this)}static get watchers(){return{type:["onTypeChange"]}}};n.style={ios:"",md:""}},333:(y,l,i)=>{i.d(l,{c:()=>u,g:()=>p,h:()=>a,o:()=>_});var r=i(467);const a=(o,t)=>null!==t.closest(o),u=(o,t)=>"string"==typeof o&&o.length>0?Object.assign({"ion-color":!0,[`ion-color-${o}`]:!0},t):t,p=o=>{const t={};return(o=>void 0!==o?(Array.isArray(o)?o:o.split(" ")).filter(n=>null!=n).map(n=>n.trim()).filter(n=>""!==n):[])(o).forEach(n=>t[n]=!0),t},f=/^[a-z][a-z0-9+\-.]*:/,_=function(){var o=(0,r.A)(function*(t,n,s,e){if(null!=t&&"#"!==t[0]&&!f.test(t)){const c=document.querySelector("ion-router");if(c)return null!=n&&n.preventDefault(),c.push(t,s,e)}return!1});return function(n,s,e,c){return o.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/7372.4ea07cfe7eb821be.js b/www/7372.e306385d972d6e2c.js
similarity index 98%
rename from www/7372.4ea07cfe7eb821be.js
rename to www/7372.e306385d972d6e2c.js
index cfdb8a1..8f085ae 100644
--- a/www/7372.4ea07cfe7eb821be.js
+++ b/www/7372.e306385d972d6e2c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[7372],{7372:(k,h,s)=>{s.r(h),s.d(h,{ion_loading:()=>x});var p=s(467),t=s(9672),m=s(464),f=s(4920),u=s(7838),l=s(6002),b=s(333),a=s(3664),n=s(9986);s(8476),s(6411),s(1970);const c=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},E=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},D=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},w=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},x=class{constructor(i){(0,t.r)(this,i),this.didPresent=(0,t.d)(this,"ionLoadingDidPresent",7),this.willPresent=(0,t.d)(this,"ionLoadingWillPresent",7),this.willDismiss=(0,t.d)(this,"ionLoadingWillDismiss",7),this.didDismiss=(0,t.d)(this,"ionLoadingDidDismiss",7),this.didPresentShorthand=(0,t.d)(this,"didPresent",7),this.willPresentShorthand=(0,t.d)(this,"willPresent",7),this.willDismissShorthand=(0,t.d)(this,"willDismiss",7),this.didDismissShorthand=(0,t.d)(this,"didDismiss",7),this.delegateController=(0,l.d)(this),this.lockController=(0,u.c)(),this.triggerController=(0,l.e)(),this.customHTMLEnabled=a.c.get("innerHTMLTemplatesEnabled",m.E),this.presented=!1,this.onBackdropTap=()=>{this.dismiss(void 0,l.B)},this.overlayIndex=void 0,this.delegate=void 0,this.hasController=!1,this.keyboardClose=!0,this.enterAnimation=void 0,this.leaveAnimation=void 0,this.message=void 0,this.cssClass=void 0,this.duration=0,this.backdropDismiss=!1,this.showBackdrop=!0,this.spinner=void 0,this.translucent=!1,this.animated=!0,this.htmlAttributes=void 0,this.isOpen=!1,this.trigger=void 0}onIsOpenChange(i,o){!0===i&&!1===o?this.present():!1===i&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:i,el:o,triggerController:e}=this;i&&e.addClickListener(o,i)}connectedCallback(){(0,l.j)(this.el),this.triggerChanged()}componentWillLoad(){if(void 0===this.spinner){const i=(0,a.b)(this);this.spinner=a.c.get("loadingSpinner",a.c.get("spinner","ios"===i?"lines":"crescent"))}(0,l.k)(this.el)}componentDidLoad(){!0===this.isOpen&&(0,f.r)(()=>this.present()),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}present(){var i=this;return(0,p.A)(function*(){const o=yield i.lockController.lock();yield i.delegateController.attachViewToDom(),yield(0,l.f)(i,"loadingEnter",c,D),i.duration>0&&(i.durationTimeout=setTimeout(()=>i.dismiss(),i.duration+10)),o()})()}dismiss(i,o){var e=this;return(0,p.A)(function*(){const r=yield e.lockController.lock();e.durationTimeout&&clearTimeout(e.durationTimeout);const g=yield(0,l.g)(e,i,o,"loadingLeave",E,w);return g&&e.delegateController.removeViewFromDom(),r(),g})()}onDidDismiss(){return(0,l.h)(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return(0,l.h)(this.el,"ionLoadingWillDismiss")}renderLoadingMessage(i){const{customHTMLEnabled:o,message:e}=this;return o?(0,t.h)("div",{class:"loading-content",id:i,innerHTML:(0,m.a)(e)}):(0,t.h)("div",{class:"loading-content",id:i},e)}render(){const{message:i,spinner:o,htmlAttributes:e,overlayIndex:r}=this,g=(0,a.b)(this),v=`loading-${r}-msg`;return(0,t.h)(t.f,Object.assign({key:"4610b316b10a4df3416d0e83062935f3079baff2",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==i?v:null,tabindex:"-1"},e,{style:{zIndex:`${4e4+this.overlayIndex}`},onIonBackdropTap:this.onBackdropTap,class:Object.assign(Object.assign({},(0,b.g)(this.cssClass)),{[g]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent})}),(0,t.h)("ion-backdrop",{key:"d07d0759ed13093c4c4fe06be442dde4bd9c2c31",visible:this.showBackdrop,tappable:this.backdropDismiss}),(0,t.h)("div",{key:"ed3ec8b48f049b592fbea9767cc3d448dc037938",tabindex:"0"}),(0,t.h)("div",{key:"c515f3badf149d83c1d67374ef3507415fe51422",class:"loading-wrapper ion-overlay-wrapper"},o&&(0,t.h)("div",{key:"265d1673c2deb751aeca285f5a18863bb629ca5e",class:"loading-spinner"},(0,t.h)("ion-spinner",{key:"155bf7c92f6d7afd8edbb39f2b47ad05b7d503f1",name:o,"aria-hidden":"true"})),void 0!==i&&this.renderLoadingMessage(v)),(0,t.h)("div",{key:"b0e21df5cf54f9b48a218a03543d8c86f5406522",tabindex:"0"}))}get el(){return(0,t.i)(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}};x.style={ios:".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, var(--ion-background-color-step-100, #f9f9f9)));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@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{-webkit-margin-start:16px;margin-inline-start:16px}",md:".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, var(--ion-background-color-step-50, #f2f2f2));--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #0054e9);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end: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)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}"}},333:(k,h,s)=>{s.d(h,{c:()=>m,g:()=>u,h:()=>t,o:()=>b});var p=s(467);const t=(a,n)=>null!==n.closest(a),m=(a,n)=>"string"==typeof a&&a.length>0?Object.assign({"ion-color":!0,[`ion-color-${a}`]:!0},n):n,u=a=>{const n={};return(a=>void 0!==a?(Array.isArray(a)?a:a.split(" ")).filter(d=>null!=d).map(d=>d.trim()).filter(d=>""!==d):[])(a).forEach(d=>n[d]=!0),n},l=/^[a-z][a-z0-9+\-.]*:/,b=function(){var a=(0,p.A)(function*(n,d,y,_){if(null!=n&&"#"!==n[0]&&!l.test(n)){const c=document.querySelector("ion-router");if(c)return null!=d&&d.preventDefault(),c.push(n,y,_)}return!1});return function(d,y,_,c){return a.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[7372],{7372:(k,h,s)=>{s.r(h),s.d(h,{ion_loading:()=>x});var p=s(467),t=s(9672),m=s(464),f=s(4920),u=s(7838),l=s(6002),b=s(333),a=s(3664),n=s(9986);s(8476),s(6411),s(1970);const c=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},E=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},D=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.01,transform:"scale(1.1)"},{offset:1,opacity:1,transform:"scale(1)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},C=i=>{const o=(0,n.c)(),e=(0,n.c)(),r=(0,n.c)();return e.addElement(i.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),r.addElement(i.querySelector(".loading-wrapper")).keyframes([{offset:0,opacity:.99,transform:"scale(1)"},{offset:1,opacity:0,transform:"scale(0.9)"}]),o.addElement(i).easing("ease-in-out").duration(200).addAnimation([e,r])},x=class{constructor(i){(0,t.r)(this,i),this.didPresent=(0,t.d)(this,"ionLoadingDidPresent",7),this.willPresent=(0,t.d)(this,"ionLoadingWillPresent",7),this.willDismiss=(0,t.d)(this,"ionLoadingWillDismiss",7),this.didDismiss=(0,t.d)(this,"ionLoadingDidDismiss",7),this.didPresentShorthand=(0,t.d)(this,"didPresent",7),this.willPresentShorthand=(0,t.d)(this,"willPresent",7),this.willDismissShorthand=(0,t.d)(this,"willDismiss",7),this.didDismissShorthand=(0,t.d)(this,"didDismiss",7),this.delegateController=(0,l.d)(this),this.lockController=(0,u.c)(),this.triggerController=(0,l.e)(),this.customHTMLEnabled=a.c.get("innerHTMLTemplatesEnabled",m.E),this.presented=!1,this.onBackdropTap=()=>{this.dismiss(void 0,l.B)},this.overlayIndex=void 0,this.delegate=void 0,this.hasController=!1,this.keyboardClose=!0,this.enterAnimation=void 0,this.leaveAnimation=void 0,this.message=void 0,this.cssClass=void 0,this.duration=0,this.backdropDismiss=!1,this.showBackdrop=!0,this.spinner=void 0,this.translucent=!1,this.animated=!0,this.htmlAttributes=void 0,this.isOpen=!1,this.trigger=void 0}onIsOpenChange(i,o){!0===i&&!1===o?this.present():!1===i&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:i,el:o,triggerController:e}=this;i&&e.addClickListener(o,i)}connectedCallback(){(0,l.j)(this.el),this.triggerChanged()}componentWillLoad(){if(void 0===this.spinner){const i=(0,a.b)(this);this.spinner=a.c.get("loadingSpinner",a.c.get("spinner","ios"===i?"lines":"crescent"))}(0,l.k)(this.el)}componentDidLoad(){!0===this.isOpen&&(0,f.r)(()=>this.present()),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}present(){var i=this;return(0,p.A)(function*(){const o=yield i.lockController.lock();yield i.delegateController.attachViewToDom(),yield(0,l.f)(i,"loadingEnter",c,D),i.duration>0&&(i.durationTimeout=setTimeout(()=>i.dismiss(),i.duration+10)),o()})()}dismiss(i,o){var e=this;return(0,p.A)(function*(){const r=yield e.lockController.lock();e.durationTimeout&&clearTimeout(e.durationTimeout);const g=yield(0,l.g)(e,i,o,"loadingLeave",E,C);return g&&e.delegateController.removeViewFromDom(),r(),g})()}onDidDismiss(){return(0,l.h)(this.el,"ionLoadingDidDismiss")}onWillDismiss(){return(0,l.h)(this.el,"ionLoadingWillDismiss")}renderLoadingMessage(i){const{customHTMLEnabled:o,message:e}=this;return o?(0,t.h)("div",{class:"loading-content",id:i,innerHTML:(0,m.a)(e)}):(0,t.h)("div",{class:"loading-content",id:i},e)}render(){const{message:i,spinner:o,htmlAttributes:e,overlayIndex:r}=this,g=(0,a.b)(this),v=`loading-${r}-msg`;return(0,t.h)(t.f,Object.assign({key:"4610b316b10a4df3416d0e83062935f3079baff2",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==i?v:null,tabindex:"-1"},e,{style:{zIndex:`${4e4+this.overlayIndex}`},onIonBackdropTap:this.onBackdropTap,class:Object.assign(Object.assign({},(0,b.g)(this.cssClass)),{[g]:!0,"overlay-hidden":!0,"loading-translucent":this.translucent})}),(0,t.h)("ion-backdrop",{key:"d07d0759ed13093c4c4fe06be442dde4bd9c2c31",visible:this.showBackdrop,tappable:this.backdropDismiss}),(0,t.h)("div",{key:"ed3ec8b48f049b592fbea9767cc3d448dc037938",tabindex:"0"}),(0,t.h)("div",{key:"c515f3badf149d83c1d67374ef3507415fe51422",class:"loading-wrapper ion-overlay-wrapper"},o&&(0,t.h)("div",{key:"265d1673c2deb751aeca285f5a18863bb629ca5e",class:"loading-spinner"},(0,t.h)("ion-spinner",{key:"155bf7c92f6d7afd8edbb39f2b47ad05b7d503f1",name:o,"aria-hidden":"true"})),void 0!==i&&this.renderLoadingMessage(v)),(0,t.h)("div",{key:"b0e21df5cf54f9b48a218a03543d8c86f5406522",tabindex:"0"}))}get el(){return(0,t.i)(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}};x.style={ios:".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, var(--ion-background-color-step-100, #f9f9f9)));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@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{-webkit-margin-start:16px;margin-inline-start:16px}",md:".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, var(--ion-background-color-step-50, #f2f2f2));--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #0054e9);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end: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)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}"}},333:(k,h,s)=>{s.d(h,{c:()=>m,g:()=>u,h:()=>t,o:()=>b});var p=s(467);const t=(a,n)=>null!==n.closest(a),m=(a,n)=>"string"==typeof a&&a.length>0?Object.assign({"ion-color":!0,[`ion-color-${a}`]:!0},n):n,u=a=>{const n={};return(a=>void 0!==a?(Array.isArray(a)?a:a.split(" ")).filter(d=>null!=d).map(d=>d.trim()).filter(d=>""!==d):[])(a).forEach(d=>n[d]=!0),n},l=/^[a-z][a-z0-9+\-.]*:/,b=function(){var a=(0,p.A)(function*(n,d,y,_){if(null!=n&&"#"!==n[0]&&!l.test(n)){const c=document.querySelector("ion-router");if(c)return null!=d&&d.preventDefault(),c.push(n,y,_)}return!1});return function(d,y,_,c){return a.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/8970.402b7daea47854b9.js b/www/8970.89f040d889f287fc.js
similarity index 89%
rename from www/8970.402b7daea47854b9.js
rename to www/8970.89f040d889f287fc.js
index ab8eebe..88362d2 100644
--- a/www/8970.402b7daea47854b9.js
+++ b/www/8970.89f040d889f287fc.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[8970],{8970:(x,y,p)=>{p.r(y),p.d(y,{ion_route:()=>D,ion_route_redirect:()=>L,ion_router:()=>ee,ion_router_link:()=>W});var f=p(467),d=p(9672),b=p(4920),C=p(333),P=p(3664);const D=class{constructor(e){(0,d.r)(this,e),this.ionRouteDataChanged=(0,d.d)(this,"ionRouteDataChanged",7),this.url="",this.component=void 0,this.componentProps=void 0,this.beforeLeave=void 0,this.beforeEnter=void 0}onUpdate(e){this.ionRouteDataChanged.emit(e)}onComponentProps(e,t){if(e===t)return;const n=e?Object.keys(e):[],r=t?Object.keys(t):[];if(n.length===r.length){for(const o of n)if(e[o]!==t[o])return void this.onUpdate(e)}else this.onUpdate(e)}connectedCallback(){this.ionRouteDataChanged.emit()}static get watchers(){return{url:["onUpdate"],component:["onUpdate"],componentProps:["onComponentProps"]}}},L=class{constructor(e){(0,d.r)(this,e),this.ionRouteRedirectChanged=(0,d.d)(this,"ionRouteRedirectChanged",7),this.from=void 0,this.to=void 0}propDidChange(){this.ionRouteRedirectChanged.emit()}connectedCallback(){this.ionRouteRedirectChanged.emit()}static get watchers(){return{from:["propDidChange"],to:["propDidChange"]}}},l="root",h="forward",v=e=>"/"+e.filter(n=>n.length>0).join("/"),g=e=>{let n,t=[""];if(null!=e){const r=e.indexOf("?");r>-1&&(n=e.substring(r+1),e=e.substring(0,r)),t=e.split("/").map(o=>o.trim()).filter(o=>o.length>0),0===t.length&&(t=[""])}return{segments:t,queryString:n}},A=function(){var e=(0,f.A)(function*(t,n,r,o,s=!1,i){try{const a=k(t);if(o>=n.length||!a)return s;yield new Promise(_=>(0,b.c)(a,_));const u=n[o],c=yield a.setRouteId(u.id,u.params,r,i);return c.changed&&(r=l,s=!0),s=yield A(c.element,n,r,o+1,s,i),c.markVisible&&(yield c.markVisible()),s}catch(a){return console.error(a),!1}});return function(n,r,o,s){return e.apply(this,arguments)}}(),F=function(){var e=(0,f.A)(function*(t){const n=[];let r,o=t;for(;r=k(o);){const s=yield r.getRouteId();if(!s)break;o=s.element,s.element=void 0,n.push(s)}return{ids:n,outlet:r}});return function(n){return e.apply(this,arguments)}}(),T=":not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet",k=e=>{if(!e)return;if(e.matches(T))return e;const t=e.querySelector(T);return null!=t?t:void 0},U=(e,t)=>t.find(n=>((e,t)=>{const{from:n,to:r}=t;if(void 0===r||n.length>e.length)return!1;for(let o=0;o{const n=Math.min(e.length,t.length);let r=0;for(let o=0;o`:${c}`);for(let c=0;c{const n=new Z(e);let o,r=!1;for(let i=0;i({id:i.id,segments:i.segments,params:j(i.params,o[a]),beforeEnter:i.beforeEnter,beforeLeave:i.beforeLeave})):t},j=(e,t)=>e||t?Object.assign(Object.assign({},e),t):void 0,N=(e,t)=>{let n=null,r=0;for(const o of t){const s=Q(e,o);if(null!==s){const i=Y(s);i>r&&(r=i,n=s)}}return n},Y=e=>{let t=1,n=1;for(const r of e)for(const o of r.segments)":"===o[0]?t+=Math.pow(1,n):""!==o&&(t+=Math.pow(2,n)),n++;return t};class Z{constructor(t){this.segments=t.slice()}next(){return this.segments.length>0?this.segments.shift():""}}const S=(e,t)=>t in e?e[t]:e.hasAttribute(t)?e.getAttribute(t):null,O=e=>Array.from(e.children).filter(t=>"ION-ROUTE-REDIRECT"===t.tagName).map(t=>{const n=S(t,"to");return{from:g(S(t,"from")).segments,to:null==n?void 0:g(n)}}),w=e=>V(I(e)),I=e=>Array.from(e.children).filter(t=>"ION-ROUTE"===t.tagName&&t.component).map(t=>{const n=S(t,"component");return{segments:g(S(t,"url")).segments,id:n.toLowerCase(),params:t.componentProps,beforeLeave:t.beforeLeave,beforeEnter:t.beforeEnter,children:I(t)}}),V=e=>{const t=[];for(const n of e)M([],t,n);return t},M=(e,t,n)=>{if(e=[...e,{id:n.id,segments:n.segments,params:n.params,beforeLeave:n.beforeLeave,beforeEnter:n.beforeEnter}],0!==n.children.length)for(const r of n.children)M(e,t,r);else t.push(e)},ee=class{constructor(e){(0,d.r)(this,e),this.ionRouteWillChange=(0,d.d)(this,"ionRouteWillChange",7),this.ionRouteDidChange=(0,d.d)(this,"ionRouteDidChange",7),this.previousPath=null,this.busy=!1,this.state=0,this.lastState=0,this.root="/",this.useHash=!0}componentWillLoad(){var e=this;return(0,f.A)(function*(){yield k(document.body)?Promise.resolve():new Promise(e=>{window.addEventListener("ionNavWillLoad",()=>e(),{once:!0})});const t=yield e.runGuards(e.getSegments());if(!0!==t){if("object"==typeof t){const{redirect:n}=t,r=g(n);e.setSegments(r.segments,l,r.queryString),yield e.writeNavStateRoot(r.segments,l)}}else yield e.onRoutesChanged()})()}componentDidLoad(){window.addEventListener("ionRouteRedirectChanged",(0,b.o)(this.onRedirectChanged.bind(this),10)),window.addEventListener("ionRouteDataChanged",(0,b.o)(this.onRoutesChanged.bind(this),100))}onPopState(){var e=this;return(0,f.A)(function*(){const t=e.historyDirection();let n=e.getSegments();const r=yield e.runGuards(n);if(!0!==r){if("object"!=typeof r)return!1;n=g(r.redirect).segments}return e.writeNavStateRoot(n,t)})()}onBackButton(e){e.detail.register(0,t=>{this.back(),t()})}canTransition(){var e=this;return(0,f.A)(function*(){const t=yield e.runGuards();return!0===t||"object"==typeof t&&t.redirect})()}push(e,t="forward",n){var r=this;return(0,f.A)(function*(){var o;if(e.startsWith(".")){const a=null!==(o=r.previousPath)&&void 0!==o?o:"/",u=new URL(e,`https://host/${a}`);e=u.pathname+u.search}let s=g(e);const i=yield r.runGuards(s.segments);if(!0!==i){if("object"!=typeof i)return!1;s=g(i.redirect)}return r.setSegments(s.segments,t,s.queryString),r.writeNavStateRoot(s.segments,t,n)})()}back(){return window.history.back(),Promise.resolve(this.waitPromise)}printDebug(){var e=this;return(0,f.A)(function*(){(e=>{console.group(`[ion-core] ROUTES[${e.length}]`);for(const t of e){const n=[];t.forEach(o=>n.push(...o.segments));const r=t.map(o=>o.id);console.debug(`%c ${v(n)}`,"font-weight: bold; padding-left: 20px","=>\t",`(${r.join(", ")})`)}console.groupEnd()})(w(e.el)),(e=>{console.group(`[ion-core] REDIRECTS[${e.length}]`);for(const t of e)t.to&&console.debug("FROM: ",`$c ${v(t.from)}`,"font-weight: bold"," TO: ",`$c ${v(t.to.segments)}`,"font-weight: bold");console.groupEnd()})(O(e.el))})()}navChanged(e){var t=this;return(0,f.A)(function*(){if(t.busy)return console.warn("[ion-router] router is busy, navChanged was cancelled"),!1;const{ids:n,outlet:r}=yield F(window.document.body),s=((e,t)=>{let n=null,r=0;for(const o of t){const s=J(e,o);s>r&&(n=o,r=s)}return n?n.map((o,s)=>{var i;return{id:o.id,segments:o.segments,params:j(o.params,null===(i=e[s])||void 0===i?void 0:i.params)}}):null})(n,w(t.el));if(!s)return console.warn("[ion-router] no matching URL for ",n.map(a=>a.id)),!1;const i=(e=>{const t=[];for(const n of e)for(const r of n.segments)if(":"===r[0]){const o=n.params&&n.params[r.slice(1)];if(!o)return null;t.push(o)}else""!==r&&t.push(r);return t})(s);return i?(t.setSegments(i,e),yield t.safeWriteNavState(r,s,l,i,null,n.length),!0):(console.warn("[ion-router] router could not match path because some required param is missing"),!1)})()}onRedirectChanged(){const e=this.getSegments();e&&U(e,O(this.el))&&this.writeNavStateRoot(e,l)}onRoutesChanged(){return this.writeNavStateRoot(this.getSegments(),l)}historyDirection(){var e;const t=window;null===t.history.state&&(this.state++,t.history.replaceState(this.state,t.document.title,null===(e=t.document.location)||void 0===e?void 0:e.href));const n=t.history.state,r=this.lastState;return this.lastState=n,n>r||n>=r&&r>0?h:nn=r),void 0!==t&&(yield t),n})()}runGuards(e=this.getSegments(),t){var n=this;return(0,f.A)(function*(){if(void 0===t&&(t=g(n.previousPath).segments),!e||!t)return!0;const r=w(n.el),o=N(t,r),s=o&&o[o.length-1].beforeLeave,i=!s||(yield s());if(!1===i||"object"==typeof i)return i;const a=N(e,r),u=a&&a[a.length-1].beforeEnter;return!u||u()})()}writeNavState(e,t,n,r,o,s=0,i){var a=this;return(0,f.A)(function*(){if(a.busy)return console.warn("[ion-router] router is busy, transition was cancelled"),!1;a.busy=!0;const u=a.routeChangeEvent(r,o);u&&a.ionRouteWillChange.emit(u);const c=yield A(e,t,n,s,!1,i);return a.busy=!1,u&&a.ionRouteDidChange.emit(u),c})()}setSegments(e,t,n){this.state++,((e,t,n,r,o,s,i)=>{const a=((e,t,n)=>{let r=v(e);return t&&(r="#"+r),void 0!==n&&(r+="?"+n),r})([...g(t).segments,...r],n,i);o===h?e.pushState(s,"",a):e.replaceState(s,"",a)})(window.history,this.root,this.useHash,e,t,this.state,n)}getSegments(){return((e,t,n)=>{const r=g(this.root).segments,o=n?e.hash.slice(1):e.pathname;return((e,t)=>{if(e.length>t.length)return null;if(e.length<=1&&""===e[0])return t;for(let n=0;n{(0,C.o)(this.href,t,this.routerDirection,this.routerAnimation)},this.color=void 0,this.href=void 0,this.rel=void 0,this.routerDirection="forward",this.routerAnimation=void 0,this.target=void 0}render(){const e=(0,P.b)(this),t={href:this.href,rel:this.rel,target:this.target};return(0,d.h)(d.f,{key:"f876442cab5b14b7e83c6d6ad2c2d878a9c57439",onClick:this.onClick,class:(0,C.c)(this.color,{[e]:!0,"ion-activatable":!0})},(0,d.h)("a",Object.assign({key:"c44b78ec1fd10a40c23bfe548860ac2b346646a8"},t),(0,d.h)("slot",{key:"d32180a567613f79f89885135bd0d776ffc1eb8e"})))}};W.style=":host{--background:transparent;--color:var(--ion-color-primary, #0054e9);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{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}"},333:(x,y,p)=>{p.d(y,{c:()=>b,g:()=>P,h:()=>d,o:()=>L});var f=p(467);const d=(l,h)=>null!==h.closest(l),b=(l,h)=>"string"==typeof l&&l.length>0?Object.assign({"ion-color":!0,[`ion-color-${l}`]:!0},h):h,P=l=>{const h={};return(l=>void 0!==l?(Array.isArray(l)?l:l.split(" ")).filter(m=>null!=m).map(m=>m.trim()).filter(m=>""!==m):[])(l).forEach(m=>h[m]=!0),h},D=/^[a-z][a-z0-9+\-.]*:/,L=function(){var l=(0,f.A)(function*(h,m,v,E){if(null!=h&&"#"!==h[0]&&!D.test(h)){const R=document.querySelector("ion-router");if(R)return null!=m&&m.preventDefault(),R.push(h,v,E)}return!1});return function(m,v,E,R){return l.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[8970],{8970:(x,y,p)=>{p.r(y),p.d(y,{ion_route:()=>D,ion_route_redirect:()=>L,ion_router:()=>ee,ion_router_link:()=>W});var f=p(467),d=p(9672),b=p(4920),C=p(333),P=p(3664);const D=class{constructor(e){(0,d.r)(this,e),this.ionRouteDataChanged=(0,d.d)(this,"ionRouteDataChanged",7),this.url="",this.component=void 0,this.componentProps=void 0,this.beforeLeave=void 0,this.beforeEnter=void 0}onUpdate(e){this.ionRouteDataChanged.emit(e)}onComponentProps(e,t){if(e===t)return;const n=e?Object.keys(e):[],r=t?Object.keys(t):[];if(n.length===r.length){for(const o of n)if(e[o]!==t[o])return void this.onUpdate(e)}else this.onUpdate(e)}connectedCallback(){this.ionRouteDataChanged.emit()}static get watchers(){return{url:["onUpdate"],component:["onUpdate"],componentProps:["onComponentProps"]}}},L=class{constructor(e){(0,d.r)(this,e),this.ionRouteRedirectChanged=(0,d.d)(this,"ionRouteRedirectChanged",7),this.from=void 0,this.to=void 0}propDidChange(){this.ionRouteRedirectChanged.emit()}connectedCallback(){this.ionRouteRedirectChanged.emit()}static get watchers(){return{from:["propDidChange"],to:["propDidChange"]}}},l="root",h="forward",v=e=>"/"+e.filter(n=>n.length>0).join("/"),g=e=>{let n,t=[""];if(null!=e){const r=e.indexOf("?");r>-1&&(n=e.substring(r+1),e=e.substring(0,r)),t=e.split("/").map(o=>o.trim()).filter(o=>o.length>0),0===t.length&&(t=[""])}return{segments:t,queryString:n}},A=function(){var e=(0,f.A)(function*(t,n,r,o,s=!1,i){try{const a=k(t);if(o>=n.length||!a)return s;yield new Promise(_=>(0,b.c)(a,_));const c=n[o],u=yield a.setRouteId(c.id,c.params,r,i);return u.changed&&(r=l,s=!0),s=yield A(u.element,n,r,o+1,s,i),u.markVisible&&(yield u.markVisible()),s}catch(a){return console.error(a),!1}});return function(n,r,o,s){return e.apply(this,arguments)}}(),F=function(){var e=(0,f.A)(function*(t){const n=[];let r,o=t;for(;r=k(o);){const s=yield r.getRouteId();if(!s)break;o=s.element,s.element=void 0,n.push(s)}return{ids:n,outlet:r}});return function(n){return e.apply(this,arguments)}}(),T=":not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet",k=e=>{if(!e)return;if(e.matches(T))return e;const t=e.querySelector(T);return null!=t?t:void 0},U=(e,t)=>t.find(n=>((e,t)=>{const{from:n,to:r}=t;if(void 0===r||n.length>e.length)return!1;for(let o=0;o{const n=Math.min(e.length,t.length);let r=0;for(let o=0;o`:${u}`);for(let u=0;u{const n=new Z(e);let o,r=!1;for(let i=0;i({id:i.id,segments:i.segments,params:j(i.params,o[a]),beforeEnter:i.beforeEnter,beforeLeave:i.beforeLeave})):t},j=(e,t)=>e||t?Object.assign(Object.assign({},e),t):void 0,N=(e,t)=>{let n=null,r=0;for(const o of t){const s=Q(e,o);if(null!==s){const i=Y(s);i>r&&(r=i,n=s)}}return n},Y=e=>{let t=1,n=1;for(const r of e)for(const o of r.segments)":"===o[0]?t+=Math.pow(1,n):""!==o&&(t+=Math.pow(2,n)),n++;return t};class Z{constructor(t){this.segments=t.slice()}next(){return this.segments.length>0?this.segments.shift():""}}const S=(e,t)=>t in e?e[t]:e.hasAttribute(t)?e.getAttribute(t):null,O=e=>Array.from(e.children).filter(t=>"ION-ROUTE-REDIRECT"===t.tagName).map(t=>{const n=S(t,"to");return{from:g(S(t,"from")).segments,to:null==n?void 0:g(n)}}),w=e=>V(I(e)),I=e=>Array.from(e.children).filter(t=>"ION-ROUTE"===t.tagName&&t.component).map(t=>{const n=S(t,"component");return{segments:g(S(t,"url")).segments,id:n.toLowerCase(),params:t.componentProps,beforeLeave:t.beforeLeave,beforeEnter:t.beforeEnter,children:I(t)}}),V=e=>{const t=[];for(const n of e)M([],t,n);return t},M=(e,t,n)=>{if(e=[...e,{id:n.id,segments:n.segments,params:n.params,beforeLeave:n.beforeLeave,beforeEnter:n.beforeEnter}],0!==n.children.length)for(const r of n.children)M(e,t,r);else t.push(e)},ee=class{constructor(e){(0,d.r)(this,e),this.ionRouteWillChange=(0,d.d)(this,"ionRouteWillChange",7),this.ionRouteDidChange=(0,d.d)(this,"ionRouteDidChange",7),this.previousPath=null,this.busy=!1,this.state=0,this.lastState=0,this.root="/",this.useHash=!0}componentWillLoad(){var e=this;return(0,f.A)(function*(){yield k(document.body)?Promise.resolve():new Promise(e=>{window.addEventListener("ionNavWillLoad",()=>e(),{once:!0})});const t=yield e.runGuards(e.getSegments());if(!0!==t){if("object"==typeof t){const{redirect:n}=t,r=g(n);e.setSegments(r.segments,l,r.queryString),yield e.writeNavStateRoot(r.segments,l)}}else yield e.onRoutesChanged()})()}componentDidLoad(){window.addEventListener("ionRouteRedirectChanged",(0,b.o)(this.onRedirectChanged.bind(this),10)),window.addEventListener("ionRouteDataChanged",(0,b.o)(this.onRoutesChanged.bind(this),100))}onPopState(){var e=this;return(0,f.A)(function*(){const t=e.historyDirection();let n=e.getSegments();const r=yield e.runGuards(n);if(!0!==r){if("object"!=typeof r)return!1;n=g(r.redirect).segments}return e.writeNavStateRoot(n,t)})()}onBackButton(e){e.detail.register(0,t=>{this.back(),t()})}canTransition(){var e=this;return(0,f.A)(function*(){const t=yield e.runGuards();return!0===t||"object"==typeof t&&t.redirect})()}push(e,t="forward",n){var r=this;return(0,f.A)(function*(){var o;if(e.startsWith(".")){const a=null!==(o=r.previousPath)&&void 0!==o?o:"/",c=new URL(e,`https://host/${a}`);e=c.pathname+c.search}let s=g(e);const i=yield r.runGuards(s.segments);if(!0!==i){if("object"!=typeof i)return!1;s=g(i.redirect)}return r.setSegments(s.segments,t,s.queryString),r.writeNavStateRoot(s.segments,t,n)})()}back(){return window.history.back(),Promise.resolve(this.waitPromise)}printDebug(){var e=this;return(0,f.A)(function*(){(e=>{console.group(`[ion-core] ROUTES[${e.length}]`);for(const t of e){const n=[];t.forEach(o=>n.push(...o.segments));const r=t.map(o=>o.id);console.debug(`%c ${v(n)}`,"font-weight: bold; padding-left: 20px","=>\t",`(${r.join(", ")})`)}console.groupEnd()})(w(e.el)),(e=>{console.group(`[ion-core] REDIRECTS[${e.length}]`);for(const t of e)t.to&&console.debug("FROM: ",`$c ${v(t.from)}`,"font-weight: bold"," TO: ",`$c ${v(t.to.segments)}`,"font-weight: bold");console.groupEnd()})(O(e.el))})()}navChanged(e){var t=this;return(0,f.A)(function*(){if(t.busy)return console.warn("[ion-router] router is busy, navChanged was cancelled"),!1;const{ids:n,outlet:r}=yield F(window.document.body),s=((e,t)=>{let n=null,r=0;for(const o of t){const s=J(e,o);s>r&&(n=o,r=s)}return n?n.map((o,s)=>{var i;return{id:o.id,segments:o.segments,params:j(o.params,null===(i=e[s])||void 0===i?void 0:i.params)}}):null})(n,w(t.el));if(!s)return console.warn("[ion-router] no matching URL for ",n.map(a=>a.id)),!1;const i=(e=>{const t=[];for(const n of e)for(const r of n.segments)if(":"===r[0]){const o=n.params&&n.params[r.slice(1)];if(!o)return null;t.push(o)}else""!==r&&t.push(r);return t})(s);return i?(t.setSegments(i,e),yield t.safeWriteNavState(r,s,l,i,null,n.length),!0):(console.warn("[ion-router] router could not match path because some required param is missing"),!1)})()}onRedirectChanged(){const e=this.getSegments();e&&U(e,O(this.el))&&this.writeNavStateRoot(e,l)}onRoutesChanged(){return this.writeNavStateRoot(this.getSegments(),l)}historyDirection(){var e;const t=window;null===t.history.state&&(this.state++,t.history.replaceState(this.state,t.document.title,null===(e=t.document.location)||void 0===e?void 0:e.href));const n=t.history.state,r=this.lastState;return this.lastState=n,n>r||n>=r&&r>0?h:nn=r),void 0!==t&&(yield t),n})()}runGuards(e=this.getSegments(),t){var n=this;return(0,f.A)(function*(){if(void 0===t&&(t=g(n.previousPath).segments),!e||!t)return!0;const r=w(n.el),o=N(t,r),s=o&&o[o.length-1].beforeLeave,i=!s||(yield s());if(!1===i||"object"==typeof i)return i;const a=N(e,r),c=a&&a[a.length-1].beforeEnter;return!c||c()})()}writeNavState(e,t,n,r,o,s=0,i){var a=this;return(0,f.A)(function*(){if(a.busy)return console.warn("[ion-router] router is busy, transition was cancelled"),!1;a.busy=!0;const c=a.routeChangeEvent(r,o);c&&a.ionRouteWillChange.emit(c);const u=yield A(e,t,n,s,!1,i);return a.busy=!1,c&&a.ionRouteDidChange.emit(c),u})()}setSegments(e,t,n){this.state++,((e,t,n,r,o,s,i)=>{const a=((e,t,n)=>{let r=v(e);return t&&(r="#"+r),void 0!==n&&(r+="?"+n),r})([...g(t).segments,...r],n,i);o===h?e.pushState(s,"",a):e.replaceState(s,"",a)})(window.history,this.root,this.useHash,e,t,this.state,n)}getSegments(){return((e,t,n)=>{const r=g(this.root).segments,o=n?e.hash.slice(1):e.pathname;return((e,t)=>{if(e.length>t.length)return null;if(e.length<=1&&""===e[0])return t;for(let n=0;n{(0,C.o)(this.href,t,this.routerDirection,this.routerAnimation)},this.color=void 0,this.href=void 0,this.rel=void 0,this.routerDirection="forward",this.routerAnimation=void 0,this.target=void 0}render(){const e=(0,P.b)(this),t={href:this.href,rel:this.rel,target:this.target};return(0,d.h)(d.f,{key:"f876442cab5b14b7e83c6d6ad2c2d878a9c57439",onClick:this.onClick,class:(0,C.c)(this.color,{[e]:!0,"ion-activatable":!0})},(0,d.h)("a",Object.assign({key:"c44b78ec1fd10a40c23bfe548860ac2b346646a8"},t),(0,d.h)("slot",{key:"d32180a567613f79f89885135bd0d776ffc1eb8e"})))}};W.style=":host{--background:transparent;--color:var(--ion-color-primary, #0054e9);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{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}"},333:(x,y,p)=>{p.d(y,{c:()=>b,g:()=>P,h:()=>d,o:()=>L});var f=p(467);const d=(l,h)=>null!==h.closest(l),b=(l,h)=>"string"==typeof l&&l.length>0?Object.assign({"ion-color":!0,[`ion-color-${l}`]:!0},h):h,P=l=>{const h={};return(l=>void 0!==l?(Array.isArray(l)?l:l.split(" ")).filter(m=>null!=m).map(m=>m.trim()).filter(m=>""!==m):[])(l).forEach(m=>h[m]=!0),h},D=/^[a-z][a-z0-9+\-.]*:/,L=function(){var l=(0,f.A)(function*(h,m,v,E){if(null!=h&&"#"!==h[0]&&!D.test(h)){const R=document.querySelector("ion-router");if(R)return null!=m&&m.preventDefault(),R.push(h,v,E)}return!1});return function(m,v,E,R){return l.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/9013.b8cefd92ba4e66d6.js b/www/9013.2e347313286de95b.js
similarity index 84%
rename from www/9013.b8cefd92ba4e66d6.js
rename to www/9013.2e347313286de95b.js
index e9e01bc..0bd9005 100644
--- a/www/9013.b8cefd92ba4e66d6.js
+++ b/www/9013.2e347313286de95b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[9013],{9013:(m,l,o)=>{o.r(l),o.d(l,{ion_picker_column_option:()=>n});var i=o(9672),c=o(4920),d=o(333),u=o(3664);const n=class{constructor(t){(0,i.r)(this,t),this.pickerColumn=null,this.ariaLabel=null,this.disabled=!1,this.value=void 0,this.color="primary"}onAriaLabelChange(t){this.ariaLabel=t}componentWillLoad(){const t=(0,c.h)(this.el,["aria-label"]);this.ariaLabel=t["aria-label"]||null}connectedCallback(){this.pickerColumn=this.el.closest("ion-picker-column")}disconnectedCallback(){this.pickerColumn=null}componentDidLoad(){const{pickerColumn:t}=this;null!==t&&t.scrollActiveItemIntoView()}onClick(){const{pickerColumn:t}=this;null!==t&&t.setValue(this.value)}render(){const{color:t,disabled:r,ariaLabel:s}=this,a=(0,u.b)(this);return(0,i.h)(i.f,{key:"cc4435a0ce0e55be1321bcabaf342ed68cf5ba1e",class:(0,d.c)(t,{[a]:!0,"option-disabled":r})},(0,i.h)("button",{key:"0187fb967771e0787807a8538dce4e59f6a98565",tabindex:"-1","aria-label":s,disabled:r,onClick:()=>this.onClick()},(0,i.h)("slot",{key:"dbe52552f3f27332816748c12d929cc81060841d"})))}get el(){return(0,i.i)(this)}static get watchers(){return{"aria-label":["onAriaLabelChange"]}}};n.style={ios:"button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}",md:"button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}"}},333:(m,l,o)=>{o.d(l,{c:()=>d,g:()=>h,h:()=>c,o:()=>f});var i=o(467);const c=(e,n)=>null!==n.closest(e),d=(e,n)=>"string"==typeof e&&e.length>0?Object.assign({"ion-color":!0,[`ion-color-${e}`]:!0},n):n,h=e=>{const n={};return(e=>void 0!==e?(Array.isArray(e)?e:e.split(" ")).filter(t=>null!=t).map(t=>t.trim()).filter(t=>""!==t):[])(e).forEach(t=>n[t]=!0),n},p=/^[a-z][a-z0-9+\-.]*:/,f=function(){var e=(0,i.A)(function*(n,t,r,s){if(null!=n&&"#"!==n[0]&&!p.test(n)){const a=document.querySelector("ion-router");if(a)return null!=t&&t.preventDefault(),a.push(n,r,s)}return!1});return function(t,r,s,a){return e.apply(this,arguments)}}()}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[9013],{9013:(m,a,o)=>{o.r(a),o.d(a,{ion_picker_column_option:()=>n});var i=o(9672),c=o(4920),d=o(333),u=o(3664);const n=class{constructor(t){(0,i.r)(this,t),this.pickerColumn=null,this.ariaLabel=null,this.disabled=!1,this.value=void 0,this.color="primary"}onAriaLabelChange(t){this.ariaLabel=t}componentWillLoad(){const t=(0,c.h)(this.el,["aria-label"]);this.ariaLabel=t["aria-label"]||null}connectedCallback(){this.pickerColumn=this.el.closest("ion-picker-column")}disconnectedCallback(){this.pickerColumn=null}componentDidLoad(){const{pickerColumn:t}=this;null!==t&&t.scrollActiveItemIntoView()}onClick(){const{pickerColumn:t}=this;null!==t&&t.setValue(this.value)}render(){const{color:t,disabled:r,ariaLabel:s}=this,l=(0,u.b)(this);return(0,i.h)(i.f,{key:"cc4435a0ce0e55be1321bcabaf342ed68cf5ba1e",class:(0,d.c)(t,{[l]:!0,"option-disabled":r})},(0,i.h)("button",{key:"0187fb967771e0787807a8538dce4e59f6a98565",tabindex:"-1","aria-label":s,disabled:r,onClick:()=>this.onClick()},(0,i.h)("slot",{key:"dbe52552f3f27332816748c12d929cc81060841d"})))}get el(){return(0,i.i)(this)}static get watchers(){return{"aria-label":["onAriaLabelChange"]}}};n.style={ios:"button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}",md:"button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}"}},333:(m,a,o)=>{o.d(a,{c:()=>d,g:()=>h,h:()=>c,o:()=>f});var i=o(467);const c=(e,n)=>null!==n.closest(e),d=(e,n)=>"string"==typeof e&&e.length>0?Object.assign({"ion-color":!0,[`ion-color-${e}`]:!0},n):n,h=e=>{const n={};return(e=>void 0!==e?(Array.isArray(e)?e:e.split(" ")).filter(t=>null!=t).map(t=>t.trim()).filter(t=>""!==t):[])(e).forEach(t=>n[t]=!0),n},p=/^[a-z][a-z0-9+\-.]*:/,f=function(){var e=(0,i.A)(function*(n,t,r,s){if(null!=n&&"#"!==n[0]&&!p.test(n)){const l=document.querySelector("ion-router");if(l)return null!=t&&t.preventDefault(),l.push(n,r,s)}return!1});return function(t,r,s,l){return e.apply(this,arguments)}}()}}]);
\ No newline at end of file
diff --git a/www/common.abd3f414750f7079.js b/www/common.d9f0bff8bd5e1759.js
similarity index 95%
rename from www/common.abd3f414750f7079.js
rename to www/common.d9f0bff8bd5e1759.js
index 3773b21..6031147 100644
--- a/www/common.abd3f414750f7079.js
+++ b/www/common.d9f0bff8bd5e1759.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[2076],{1263:(A,D,u)=>{u.d(D,{c:()=>g});var m=u(9672),r=u(1086),v=u(8607);const g=(d,l)=>{let a,s;const n=(o,i,_)=>{if(typeof document>"u")return;const c=document.elementFromPoint(o,i);c&&l(c)&&!c.disabled?c!==a&&(t(),e(c,_)):t()},e=(o,i)=>{a=o,s||(s=a);const _=a;(0,m.w)(()=>_.classList.add("ion-activated")),i()},t=(o=!1)=>{if(!a)return;const i=a;(0,m.w)(()=>i.classList.remove("ion-activated")),o&&s!==a&&a.click(),a=void 0};return(0,v.createGesture)({el:d,gestureName:"buttonActiveDrag",threshold:0,onStart:o=>n(o.currentX,o.currentY,r.a),onMove:o=>n(o.currentX,o.currentY,r.b),onEnd:()=>{t(!0),(0,r.h)(),s=void 0}})}},8438:(A,D,u)=>{u.d(D,{g:()=>r});var m=u(8476);const r=()=>{if(void 0!==m.w)return m.w.Capacitor}},5572:(A,D,u)=>{u.d(D,{c:()=>m,i:()=>r});const m=(v,g,d)=>"function"==typeof d?d(v,g):"string"==typeof d?v[d]===g[d]:Array.isArray(g)?g.includes(v):v===g,r=(v,g,d)=>void 0!==v&&(Array.isArray(v)?v.some(l=>m(l,g,d)):m(v,g,d))},3351:(A,D,u)=>{u.d(D,{g:()=>m});const m=(l,a,s,n,e)=>v(l[1],a[1],s[1],n[1],e).map(t=>r(l[0],a[0],s[0],n[0],t)),r=(l,a,s,n,e)=>e*(3*a*Math.pow(e-1,2)+e*(-3*s*e+3*s+n*e))-l*Math.pow(e-1,3),v=(l,a,s,n,e)=>d((n-=e)-3*(s-=e)+3*(a-=e)-(l-=e),3*s-6*a+3*l,3*a-3*l,l).filter(o=>o>=0&&o<=1),d=(l,a,s,n)=>{if(0===l)return((l,a,s)=>{const n=a*a-4*l*s;return n<0?[]:[(-a+Math.sqrt(n))/(2*l),(-a-Math.sqrt(n))/(2*l)]})(a,s,n);const e=(3*(s/=l)-(a/=l)*a)/3,t=(2*a*a*a-9*a*s+27*(n/=l))/27;if(0===e)return[Math.pow(-t,1/3)];if(0===t)return[Math.sqrt(-e),-Math.sqrt(-e)];const o=Math.pow(t/2,2)+Math.pow(e/3,3);if(0===o)return[Math.pow(t/2,.5)-a/3];if(o>0)return[Math.pow(-t/2+Math.sqrt(o),1/3)-Math.pow(t/2+Math.sqrt(o),1/3)-a/3];const i=Math.sqrt(Math.pow(-e/3,3)),_=Math.acos(-t/(2*Math.sqrt(Math.pow(-e/3,3)))),c=2*Math.pow(i,1/3);return[c*Math.cos(_/3)-a/3,c*Math.cos((_+2*Math.PI)/3)-a/3,c*Math.cos((_+4*Math.PI)/3)-a/3]}},5083:(A,D,u)=>{u.d(D,{i:()=>m});const m=r=>r&&""!==r.dir?"rtl"===r.dir.toLowerCase():"rtl"===(null==document?void 0:document.dir.toLowerCase())},3126:(A,D,u)=>{u.r(D),u.d(D,{startFocusVisible:()=>g});const m="ion-focused",v=["Tab","ArrowDown","Space","Escape"," ","Shift","Enter","ArrowLeft","ArrowRight","ArrowUp","Home","End"],g=d=>{let l=[],a=!0;const s=d?d.shadowRoot:document,n=d||document.body,e=f=>{l.forEach(h=>h.classList.remove(m)),f.forEach(h=>h.classList.add(m)),l=f},t=()=>{a=!1,e([])},o=f=>{a=v.includes(f.key),a||e([])},i=f=>{if(a&&void 0!==f.composedPath){const h=f.composedPath().filter(E=>!!E.classList&&E.classList.contains("ion-focusable"));e(h)}},_=()=>{s.activeElement===n&&e([])};return s.addEventListener("keydown",o),s.addEventListener("focusin",i),s.addEventListener("focusout",_),s.addEventListener("touchstart",t,{passive:!0}),s.addEventListener("mousedown",t),{destroy:()=>{s.removeEventListener("keydown",o),s.removeEventListener("focusin",i),s.removeEventListener("focusout",_),s.removeEventListener("touchstart",t),s.removeEventListener("mousedown",t)},setFocus:e}}},1086:(A,D,u)=>{u.d(D,{I:()=>r,a:()=>a,b:()=>s,c:()=>l,d:()=>e,h:()=>n});var m=u(8438),r=function(t){return t.Heavy="HEAVY",t.Medium="MEDIUM",t.Light="LIGHT",t}(r||{});const g={getEngine(){const t=(0,m.g)();if(null!=t&&t.isPluginAvailable("Haptics"))return t.Plugins.Haptics},available(){if(!this.getEngine())return!1;const o=(0,m.g)();return"web"!==(null==o?void 0:o.getPlatform())||typeof navigator<"u"&&void 0!==navigator.vibrate},impact(t){const o=this.getEngine();o&&o.impact({style:t.style})},notification(t){const o=this.getEngine();o&&o.notification({type:t.type})},selection(){this.impact({style:r.Light})},selectionStart(){const t=this.getEngine();t&&t.selectionStart()},selectionChanged(){const t=this.getEngine();t&&t.selectionChanged()},selectionEnd(){const t=this.getEngine();t&&t.selectionEnd()}},d=()=>g.available(),l=()=>{d()&&g.selection()},a=()=>{d()&&g.selectionStart()},s=()=>{d()&&g.selectionChanged()},n=()=>{d()&&g.selectionEnd()},e=t=>{d()&&g.impact(t)}},909:(A,D,u)=>{u.d(D,{I:()=>l,a:()=>e,b:()=>d,c:()=>i,d:()=>c,f:()=>t,g:()=>n,i:()=>s,p:()=>_,r:()=>f,s:()=>o});var m=u(467),r=u(4920),v=u(4929);const d="ion-content",l=".ion-content-scroll-host",a=`${d}, ${l}`,s=h=>"ION-CONTENT"===h.tagName,n=function(){var h=(0,m.A)(function*(E){return s(E)?(yield new Promise(M=>(0,r.c)(E,M)),E.getScrollElement()):E});return function(M){return h.apply(this,arguments)}}(),e=h=>h.querySelector(l)||h.querySelector(a),t=h=>h.closest(a),o=(h,E)=>s(h)?h.scrollToTop(E):Promise.resolve(h.scrollTo({top:0,left:0,behavior:E>0?"smooth":"auto"})),i=(h,E,M,O)=>s(h)?h.scrollByPoint(E,M,O):Promise.resolve(h.scrollBy({top:M,left:E,behavior:O>0?"smooth":"auto"})),_=h=>(0,v.b)(h,d),c=h=>{if(s(h)){const M=h.scrollY;return h.scrollY=!1,M}return h.style.setProperty("overflow","hidden"),!0},f=(h,E)=>{s(h)?h.scrollY=E:h.style.removeProperty("overflow")}},3992:(A,D,u)=>{u.d(D,{a:()=>m,b:()=>i,c:()=>a,d:()=>_,e:()=>L,f:()=>l,g:()=>c,h:()=>v,i:()=>r,j:()=>y,k:()=>w,l:()=>s,m:()=>t,n:()=>f,o:()=>e,p:()=>d,q:()=>g,r:()=>p,s:()=>P,t:()=>o,u:()=>M,v:()=>O,w:()=>n,x:()=>h,y:()=>E});const m="data:image/svg+xml;utf8,",r="data:image/svg+xml;utf8,",v="data:image/svg+xml;utf8,",g="data:image/svg+xml;utf8,",d="data:image/svg+xml;utf8,",l="data:image/svg+xml;utf8,",a="data:image/svg+xml;utf8,",s="data:image/svg+xml;utf8,",n="data:image/svg+xml;utf8,",e="data:image/svg+xml;utf8,",t="data:image/svg+xml;utf8,",o="data:image/svg+xml;utf8,",i="data:image/svg+xml;utf8,",_="data:image/svg+xml;utf8,",c="data:image/svg+xml;utf8,",f="data:image/svg+xml;utf8,",h="data:image/svg+xml;utf8,",E="data:image/svg+xml;utf8,",M="data:image/svg+xml;utf8,",O="data:image/svg+xml;utf8,",p="data:image/svg+xml;utf8,",y="data:image/svg+xml;utf8,",w="data:image/svg+xml;utf8,",P="data:image/svg+xml;utf8,",L="data:image/svg+xml;utf8,"},243:(A,D,u)=>{u.d(D,{c:()=>g,g:()=>d});var m=u(8476),r=u(4920),v=u(4929);const g=(a,s,n)=>{let e,t;if(void 0!==m.w&&"MutationObserver"in m.w){const c=Array.isArray(s)?s:[s];e=new MutationObserver(f=>{for(const h of f)for(const E of h.addedNodes)if(E.nodeType===Node.ELEMENT_NODE&&c.includes(E.slot))return n(),void(0,r.r)(()=>o(E))}),e.observe(a,{childList:!0,subtree:!0})}const o=c=>{var f;t&&(t.disconnect(),t=void 0),t=new MutationObserver(h=>{n();for(const E of h)for(const M of E.removedNodes)M.nodeType===Node.ELEMENT_NODE&&M.slot===s&&_()}),t.observe(null!==(f=c.parentElement)&&void 0!==f?f:c,{subtree:!0,childList:!0})},_=()=>{t&&(t.disconnect(),t=void 0)};return{destroy:()=>{e&&(e.disconnect(),e=void 0),_()}}},d=(a,s,n)=>{const e=null==a?0:a.toString().length,t=l(e,s);if(void 0===n)return t;try{return n(e,s)}catch(o){return(0,v.a)("Exception in provided `counterFormatter`.",o),t}},l=(a,s)=>`${a} / ${s}`},1622:(A,D,u)=>{u.r(D),u.d(D,{KEYBOARD_DID_CLOSE:()=>d,KEYBOARD_DID_OPEN:()=>g,copyVisualViewport:()=>p,keyboardDidClose:()=>h,keyboardDidOpen:()=>c,keyboardDidResize:()=>f,resetKeyboardAssist:()=>e,setKeyboardClose:()=>_,setKeyboardOpen:()=>i,startKeyboardAssist:()=>t,trackViewportChanges:()=>O});var m=u(4379);u(8438),u(8476);const g="ionKeyboardDidShow",d="ionKeyboardDidHide";let a={},s={},n=!1;const e=()=>{a={},s={},n=!1},t=y=>{if(m.K.getEngine())o(y);else{if(!y.visualViewport)return;s=p(y.visualViewport),y.visualViewport.onresize=()=>{O(y),c()||f(y)?i(y):h(y)&&_(y)}}},o=y=>{y.addEventListener("keyboardDidShow",w=>i(y,w)),y.addEventListener("keyboardDidHide",()=>_(y))},i=(y,w)=>{E(y,w),n=!0},_=y=>{M(y),n=!1},c=()=>!n&&a.width===s.width&&(a.height-s.height)*s.scale>150,f=y=>n&&!h(y),h=y=>n&&s.height===y.innerHeight,E=(y,w)=>{const L=new CustomEvent(g,{detail:{keyboardHeight:w?w.keyboardHeight:y.innerHeight-s.height}});y.dispatchEvent(L)},M=y=>{const w=new CustomEvent(d);y.dispatchEvent(w)},O=y=>{a=Object.assign({},s),s=p(y.visualViewport)},p=y=>({width:Math.round(y.width),height:Math.round(y.height),offsetTop:y.offsetTop,offsetLeft:y.offsetLeft,pageTop:y.pageTop,pageLeft:y.pageLeft,scale:y.scale})},4379:(A,D,u)=>{u.d(D,{K:()=>g,a:()=>v});var m=u(8438),r=function(d){return d.Unimplemented="UNIMPLEMENTED",d.Unavailable="UNAVAILABLE",d}(r||{}),v=function(d){return d.Body="body",d.Ionic="ionic",d.Native="native",d.None="none",d}(v||{});const g={getEngine(){const d=(0,m.g)();if(null!=d&&d.isPluginAvailable("Keyboard"))return d.Plugins.Keyboard},getResizeMode(){const d=this.getEngine();return null!=d&&d.getResizeMode?d.getResizeMode().catch(l=>{if(l.code!==r.Unimplemented)throw l}):Promise.resolve(void 0)}}},4731:(A,D,u)=>{u.d(D,{c:()=>l});var m=u(467),r=u(8476),v=u(4379);const g=a=>{if(void 0===r.d||a===v.a.None||void 0===a)return null;const s=r.d.querySelector("ion-app");return null!=s?s:r.d.body},d=a=>{const s=g(a);return null===s?0:s.clientHeight},l=function(){var a=(0,m.A)(function*(s){let n,e,t,o;const i=function(){var E=(0,m.A)(function*(){const M=yield v.K.getResizeMode(),O=void 0===M?void 0:M.mode;n=()=>{void 0===o&&(o=d(O)),t=!0,_(t,O)},e=()=>{t=!1,_(t,O)},null==r.w||r.w.addEventListener("keyboardWillShow",n),null==r.w||r.w.addEventListener("keyboardWillHide",e)});return function(){return E.apply(this,arguments)}}(),_=(E,M)=>{s&&s(E,c(M))},c=E=>{if(0===o||o===d(E))return;const M=g(E);return null!==M?new Promise(O=>{const y=new ResizeObserver(()=>{M.clientHeight===o&&(y.disconnect(),O())});y.observe(M)}):void 0};return yield i(),{init:i,destroy:()=>{null==r.w||r.w.removeEventListener("keyboardWillShow",n),null==r.w||r.w.removeEventListener("keyboardWillHide",e),n=e=void 0},isKeyboardVisible:()=>t}});return function(n){return a.apply(this,arguments)}}()},7838:(A,D,u)=>{u.d(D,{c:()=>r});var m=u(467);const r=()=>{let v;return{lock:function(){var d=(0,m.A)(function*(){const l=v;let a;return v=new Promise(s=>a=s),void 0!==l&&(yield l),a});return function(){return d.apply(this,arguments)}}()}}},9001:(A,D,u)=>{u.d(D,{c:()=>v});var m=u(8476),r=u(4920);const v=(g,d,l)=>{let a;const s=()=>!(void 0===d()||void 0!==g.label||null===l()),e=()=>{const o=d();if(void 0===o)return;if(!s())return void o.style.removeProperty("width");const i=l().scrollWidth;if(0===i&&null===o.offsetParent&&void 0!==m.w&&"IntersectionObserver"in m.w){if(void 0!==a)return;const _=a=new IntersectionObserver(c=>{1===c[0].intersectionRatio&&(e(),_.disconnect(),a=void 0)},{threshold:.01,root:g});_.observe(o)}else o.style.setProperty("width",.75*i+"px")};return{calculateNotchWidth:()=>{s()&&(0,r.r)(()=>{e()})},destroy:()=>{a&&(a.disconnect(),a=void 0)}}}},7895:(A,D,u)=>{u.d(D,{S:()=>r});const r={bubbles:{dur:1e3,circles:9,fn:(v,g,d)=>{const l=v*g/d-v+"ms",a=2*Math.PI*g/d;return{r:5,style:{top:32*Math.sin(a)+"%",left:32*Math.cos(a)+"%","animation-delay":l}}}},circles:{dur:1e3,circles:8,fn:(v,g,d)=>{const l=g/d,a=v*l-v+"ms",s=2*Math.PI*l;return{r:5,style:{top:32*Math.sin(s)+"%",left:32*Math.cos(s)+"%","animation-delay":a}}}},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:(v,g)=>({r:6,style:{left:32-32*g+"%","animation-delay":-110*g+"ms"}})},lines:{dur:1e3,lines:8,fn:(v,g,d)=>({y1:14,y2:26,style:{transform:`rotate(${360/d*g+(g({y1:12,y2:20,style:{transform:`rotate(${360/d*g+(g({y1:17,y2:29,style:{transform:`rotate(${30*g+(g<6?180:-180)}deg)`,"animation-delay":v*g/d-v+"ms"}})},"lines-sharp-small":{dur:1e3,lines:12,fn:(v,g,d)=>({y1:12,y2:20,style:{transform:`rotate(${30*g+(g<6?180:-180)}deg)`,"animation-delay":v*g/d-v+"ms"}})}}},7166:(A,D,u)=>{u.r(D),u.d(D,{createSwipeBackGesture:()=>d});var m=u(4920),r=u(5083),v=u(8607);u(1970);const d=(l,a,s,n,e)=>{const t=l.ownerDocument.defaultView;let o=(0,r.i)(l);const _=M=>o?-M.deltaX:M.deltaX;return(0,v.createGesture)({el:l,gestureName:"goback-swipe",gesturePriority:101,threshold:10,canStart:M=>(o=(0,r.i)(l),(M=>{const{startX:p}=M;return o?p>=t.innerWidth-50:p<=50})(M)&&a()),onStart:s,onMove:M=>{const p=_(M)/t.innerWidth;n(p)},onEnd:M=>{const O=_(M),p=t.innerWidth,y=O/p,w=(M=>o?-M.velocityX:M.velocityX)(M),L=w>=0&&(w>.2||O>p/2),I=(L?1-y:y)*p;let S=0;if(I>5){const x=I/Math.abs(w);S=Math.min(x,540)}e(L,y<=0?.01:(0,m.j)(0,y,.9999),S)}})}},2935:(A,D,u)=>{u.d(D,{w:()=>m});const m=(g,d,l)=>{if(typeof MutationObserver>"u")return;const a=new MutationObserver(s=>{l(r(s,d))});return a.observe(g,{childList:!0,subtree:!0}),a},r=(g,d)=>{let l;return g.forEach(a=>{for(let s=0;s{if(1!==g.nodeType)return;const l=g;return(l.tagName===d.toUpperCase()?[l]:Array.from(l.querySelectorAll(d))).find(s=>s.value===l.value)}},385:(A,D,u)=>{u.d(D,{l:()=>v});var m=u(4438),r=u(7863);let v=(()=>{var g;class d{constructor(){this.title="Header Title"}ngOnInit(){}}return(g=d).\u0275fac=function(a){return new(a||g)},g.\u0275cmp=m.VBU({type:g,selectors:[["app-header"]],inputs:{title:"title"},decls:5,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"]],template:function(a,s){1&a&&(m.j41(0,"ion-header",0)(1,"ion-toolbar"),m.nrm(2,"ion-menu-button",1),m.j41(3,"ion-title"),m.EFF(4),m.k0s()()()),2&a&&(m.Y8G("translucent",!0),m.R7$(4),m.JRh(s.title))},dependencies:[r.eU,r.MC,r.BC,r.ai]}),d})()},8453:(A,D,u)=>{u.d(D,{W:()=>v});var m=u(4438),r=u(7863);let v=(()=>{var g;class d{constructor(){this.title="Title"}ngOnInit(){}}return(g=d).\u0275fac=function(a){return new(a||g)},g.\u0275cmp=m.VBU({type:g,selectors:[["app-title"]],inputs:{title:"title"},decls:4,vars:1,consts:[[1,"lg:m-10"],["size","12","size-md","6","size-lg","6"],[1,"text-4xl","lg:text-6xl","font-bold"]],template:function(a,s){1&a&&(m.j41(0,"ion-row",0)(1,"ion-col",1)(2,"h1",2),m.EFF(3),m.k0s()()()),2&a&&(m.R7$(3),m.JRh(s.title))},dependencies:[r.hU,r.ln]}),d})()},4796:(A,D,u)=>{u.d(D,{u:()=>d});var m=u(467),r=u(8737),v=u(4262),g=u(4438);let d=(()=>{var l;class a{constructor(n,e){this.auth=n,this.firestore=e}registerUser(n){var e=this;return(0,m.A)(function*(){try{const t=yield(0,r.eJ)(e.auth,n.email,n.password);return t.user?(yield(0,v.BN)((0,v.H9)(e.firestore,"users",t.user.uid),{email:n.email,name:n.name,orgName:n.orgName,uid:t.user.uid}),yield(0,v.BN)((0,v.H9)(e.firestore,"teams",`${n.orgName}`),{name:n.orgName,members:[t.user.uid]}),t):null}catch{return null}})()}loginUser(n){var e=this;return(0,m.A)(function*(){try{var t;const o=yield(0,r.x9)(e.auth,n.email,n.password);if(null!==(t=o.user)&&void 0!==t&&t.uid){const i=yield(0,v.x7)((0,v.H9)(e.firestore,"users",o.user.uid));if(i.exists())return localStorage.setItem("user",JSON.stringify(i.data())),o}}catch(o){console.error(o)}return null})()}logoutUser(){var n=this;return(0,m.A)(function*(){yield n.auth.signOut()})()}addMember(n){var e=this;return(0,m.A)(function*(){try{const t=yield(0,r.eJ)(e.auth,n.email,n.password);if(!t.user)return!1;const o={email:n.email,name:n.name,orgName:n.orgName,uid:t.user.uid};return yield(0,v.BN)((0,v.H9)(e.firestore,"users",t.user.uid),o),o}catch{return!1}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(g.KVO(r.Nj),g.KVO(v._7))},l.\u0275prov=g.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},6560:(A,D,u)=>{u.d(D,{x:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.url_cpu="https://devprobeapi.onrender.com/flame_graph_date",this.url_mem="https://devprobeapi.onrender.com/flame_graph_memory_date"}getProducts(n){var e=this;return(0,m.A)(function*(){try{const t=(0,r.rJ)(e.firestore,"teams",n,"products");return(yield(0,r.GG)(t)).docs.map(i=>i.data())}catch(t){return console.log(t),[]}})()}getDates(n,e,t){var o=this;return(0,m.A)(function*(){try{t||(t="cpu_usage");const i=(0,r.rJ)(o.firestore,"teams",n,"products",e,t);return(yield(0,r.GG)(i)).docs.map(c=>c.id)}catch(i){return console.log(i),[]}})()}getFlameGraphByDate(n,e,t,o){var i=this;return(0,m.A)(function*(){try{let _={team:n,product:e,date:t};return o?yield i.http.post(i.url_mem,_).toPromise():yield i.http.post(i.url_cpu,_).toPromise()}catch{return{}}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},201:(A,D,u)=>{u.d(D,{p:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.httpClient=e,this.url="https://devprobeapi.onrender.com/"}syncRepo(n,e,t,o,i){var _=this;return(0,m.A)(function*(){const c=(0,r.H9)(_.firestore,"teams",n),f=yield(0,r.x7)(c);if(f.exists()){const h=f.data();h.gitHub={key:e,repo:t,branch:o,owner:i},yield(0,r.BN)(c,h)}})()}getSyncRepo(n){var e=this;return(0,m.A)(function*(){const t=(0,r.H9)(e.firestore,"teams",n),o=yield(0,r.x7)(t);return o.exists()?o.data().gitHub:null})()}getFiles(n){var e=this;return(0,m.A)(function*(){const t=yield e.httpClient.post(e.url+"github_repo",{auth:n.key,repo:n.repo,branch:n.branch,owner:n.owner}).toPromise();if(console.log(t),t){let o=t.paths;return o=o.filter(i=>!i.includes(".git")),o=o.filter(i=>!i.includes("node_modules")),o=o.filter(i=>!i.includes(".idea")),o=o.filter(i=>i.includes(".")),o}return[]})()}getContentFromFilePath(n,e){var t=this;return(0,m.A)(function*(){const o=yield t.httpClient.post(t.url+"github_file",{auth:n.key,repo:n.repo,owner:n.owner,path:e}).toPromise();return console.log(o),o?o.content:""})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},4970:(A,D,u)=>{u.d(D,{s:()=>O});var m=u(467),r=u(4262);class v{static toArtilleryData(y){return function n(p,y){return s(p,y,l)}(JSON.parse(y),f("ArtilleryData"))}static artilleryDataToJson(y){return JSON.stringify(function e(p,y){return s(p,y,a)}(y,f("ArtilleryData")),null,2)}}function g(p,y,w,P=""){const L=d(p);throw Error(`Invalid value${w?` for key "${w}"`:""}${P?` on ${P}`:""}. Expected ${L} but got ${JSON.stringify(y)}`)}function d(p){return Array.isArray(p)?2===p.length&&void 0===p[0]?`an optional ${d(p[1])}`:`one of [${p.map(y=>d(y)).join(", ")}]`:"object"==typeof p&&void 0!==p.literal?p.literal:typeof p}function l(p){if(void 0===p.jsonToJS){const y={};p.props.forEach(w=>y[w.json]={key:w.js,typ:w.typ}),p.jsonToJS=y}return p.jsonToJS}function a(p){if(void 0===p.jsToJSON){const y={};p.props.forEach(w=>y[w.js]={key:w.json,typ:w.typ}),p.jsToJSON=y}return p.jsToJSON}function s(p,y,w,P="",L=""){if("any"===y)return p;if(null===y)return null===p?p:g(y,p,P,L);if(!1===y)return g(y,p,P,L);let K;for(;"object"==typeof y&&void 0!==y.ref;)K=y.ref,y=h[y.ref];return Array.isArray(y)?function S(T,j){return-1!==T.indexOf(j)?j:g(T.map(C=>t(C)),j,P,L)}(y,p):"object"==typeof y?y.hasOwnProperty("unionMembers")?function I(T,j){const C=T.length;for(let H=0;Hs(C,T,w)):g(t("array"),j,P,L)}(y.arrayItems,p):y.hasOwnProperty("props")?function R(T,j,C){if(null===C||"object"!=typeof C||Array.isArray(C))return g(t(K||"object"),C,P,L);const H={};return Object.getOwnPropertyNames(T).forEach(B=>{const N=T[B],W=Object.prototype.hasOwnProperty.call(C,B)?C[B]:void 0;H[N.key]=void 0!==W?s(W,N.typ,w,B,K):void 0}),Object.getOwnPropertyNames(C).forEach(B=>{Object.prototype.hasOwnProperty.call(T,B)||(H[B]=s(C[B],j,w,B,K))}),H}(w(y),y.additional,p):g(y,p,P,L):y===Date&&"number"!=typeof p?function U(T){if(null===T)return null;const j=new Date(T);return isNaN(j.valueOf())?g(t("Date"),T,P,L):j}(p):function b(T,j){return typeof T==typeof j?j:g(T,j,P,L)}(y,p)}function t(p){return{literal:p}}function _(p,y){return{props:p,additional:y}}function c(p){return{props:[],additional:p}}function f(p){return{ref:p}}const h={ArtilleryData:_([{json:"aggregate",js:"aggregate",typ:f("Aggregate")},{json:"intermediate",js:"intermediate",typ:function o(p){return{arrayItems:p}}(f("Intermediate"))},{json:"date",js:"date",typ:""}],!1),Aggregate:_([{json:"counters",js:"counters",typ:c(0)},{json:"rates",js:"rates",typ:f("Rates")},{json:"firstCounterAt",js:"firstCounterAt",typ:0},{json:"firstHistogramAt",js:"firstHistogramAt",typ:0},{json:"lastCounterAt",js:"lastCounterAt",typ:0},{json:"lastHistogramAt",js:"lastHistogramAt",typ:0},{json:"firstMetricAt",js:"firstMetricAt",typ:0},{json:"lastMetricAt",js:"lastMetricAt",typ:0},{json:"period",js:"period",typ:0},{json:"summaries",js:"summaries",typ:f("Histograms")},{json:"histograms",js:"histograms",typ:f("Histograms")}],!1),Histograms:_([{json:"http.response_time",js:"http.response_time",typ:c(3.14)},{json:"plugins.metrics-by-endpoint.response_time./",js:"plugins.metrics-by-endpoint.response_time./",typ:c(3.14)},{json:"vusers.session_length",js:"vusers.session_length",typ:function i(...p){return{unionMembers:p}}(void 0,c(3.14))}],!1),Rates:_([{json:"http.request_rate",js:"http.request_rate",typ:0}],!1),Intermediate:_([{json:"counters",js:"counters",typ:c(0)},{json:"rates",js:"rates",typ:f("Rates")},{json:"http.request_rate",js:"http.request_rate",typ:null},{json:"firstCounterAt",js:"firstCounterAt",typ:0},{json:"firstHistogramAt",js:"firstHistogramAt",typ:0},{json:"lastCounterAt",js:"lastCounterAt",typ:0},{json:"lastHistogramAt",js:"lastHistogramAt",typ:0},{json:"firstMetricAt",js:"firstMetricAt",typ:0},{json:"lastMetricAt",js:"lastMetricAt",typ:0},{json:"period",js:"period",typ:""},{json:"summaries",js:"summaries",typ:f("Histograms")},{json:"histograms",js:"histograms",typ:f("Histograms")}],!1)};var E=u(4438),M=u(1626);let O=(()=>{var p;class y{constructor(P,L){this.firestore=P,this.http=L,this.url="https://devprobeapi.onrender.com/create_load_test"}getLoadTestHistory(P,L,b){var I=this;return(0,m.A)(function*(){const S=(0,r.H9)(I.firestore,"teams",P,"products",L,"load_test",b),x=yield(0,r.x7)(S);if(x.exists()){let U=x.data();console.log(U);let R=Object.keys(U);console.log(R);for(let K of R)U[K]=v.toArtilleryData(U[K]);return U}return{}})()}sendLoadTest(P,L,b,I){var S=this;return(0,m.A)(function*(){try{const x={team:P,product:L,service:b,target:`https://${I}`};return yield S.http.post(S.url,x).toPromise()}catch{return{}}})()}getLoadTestHistoryByDate(P,L,b,I){var S=this;return(0,m.A)(function*(){const x=(0,r.H9)(S.firestore,"teams",P,"products",L,"load_test",b),U=yield(0,r.x7)(x);if(U.exists()){let R=U.data();console.log(R);let K=Object.keys(R);console.log(K);for(let T of K)R[T]=v.toArtilleryData(R[T]),R[T].date.split("-")[0]+"-"+R[T].date.split("-")[1]+"-"+R[T].date.split("-")[2]!==I&&delete R[T];return console.log("Filtered by Date: ",R),R}return{}})()}}return(p=y).\u0275fac=function(P){return new(P||p)(E.KVO(r._7),E.KVO(M.Qq))},p.\u0275prov=E.jDH({token:p,factory:p.\u0275fac,providedIn:"root"}),y})()},3661:(A,D,u)=>{u.d(D,{e:()=>d});var m=u(467),r=u(4438),v=u(4262),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.ipApiURL="https://cors-ea3m.onrender.com/http://ip-api.com/json/"}getLocationDestSrc(n){var e=this;return(0,m.A)(function*(){var t,o,i,_,c,f,h,E;if(!n)return n;const M=e.http.get(e.ipApiURL+n.dst_addr).toPromise(),O=e.http.get(e.ipApiURL+n.src_addr).toPromise(),p=yield M,y=yield O;return n.dst_city=null!==(t=p.city)&&void 0!==t?t:"No city found",n.dst_country=null!==(o=p.country)&&void 0!==o?o:"No country found",n.dst_latitude=null!==(i=p.lat)&&void 0!==i?i:0,n.dst_longitude=null!==(_=p.lon)&&void 0!==_?_:0,n.src_city=null!==(c=y.city)&&void 0!==c?c:"No city found",n.src_country=null!==(f=y.country)&&void 0!==f?f:"No country found",n.src_latitude=null!==(h=y.lat)&&void 0!==h?h:0,n.src_longitude=null!==(E=y.lon)&&void 0!==E?E:0,n})()}getLocationFrom(n){var e=this;return(0,m.A)(function*(){if(!n)return n;let t=n.result;for(let f=0;f{u.d(D,{N:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.ipApiURL="https://cors-ea3m.onrender.com/http://ip-api.com/json/"}getLocation(n){var e=this;return(0,m.A)(function*(){console.log(n);const o=yield e.http.get(e.ipApiURL+n[0].dst_addr).toPromise();for(let c=0;ce.http.get(e.ipApiURL+c.from).toPromise());return(yield Promise.all(i)).forEach((c,f)=>{n[f].fromLatitude=c.lat,n[f].fromLongitude=c.lon,n[f].cityFrom=c.city,n[f].countryFrom=c.country}),console.log(n),n})()}saveLocationResults(n,e,t,o){var i=this;return(0,m.A)(function*(){try{console.log(o,"ripeData");const _=(0,r.rJ)(i.firestore,"teams",n,"products",e,"ripe"),c=(0,r.H9)(_,t),f=o.map(h=>({from:h.from,dst_addr:h.dst_addr,latency:h.latency,cityFrom:h.cityFrom,countryFrom:h.countryFrom,cityTo:h.cityTo,countryTo:h.countryTo,fromLatitude:h.fromLatitude,fromLongitude:h.fromLongitude,toLatitude:h.toLatitude,toLongitude:h.toLongitude,id:h.id}));return yield(0,r.BN)(c,{data:f}),console.log("Data saved",{data:f}),!0}catch(_){return console.log(_),!1}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},6241:(A,D,u)=>{u.d(D,{b:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addProduct(s,n){var e=this;return(0,m.A)(function*(){try{console.log(s);const t=(0,r.H9)(e.firestore,"teams",n,"products",s.productObjective);return yield(0,r.BN)(t,s),!0}catch(t){return console.log(t),!1}})()}getProducts(s){var n=this;return(0,m.A)(function*(){try{const e=(0,r.rJ)(n.firestore,"teams",s,"products");return(yield(0,r.GG)(e)).docs.map(o=>o.data())}catch(e){return console.log(e),[]}})()}removeProduct(s,n){var e=this;return(0,m.A)(function*(){try{const t=(0,r.H9)(e.firestore,"teams",s,"products",n);return yield(0,r.kd)(t),!0}catch(t){return console.log(t),!1}})()}}return(d=l).\u0275fac=function(s){return new(s||d)(v.KVO(r._7))},d.\u0275prov=v.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),l})()},2588:(A,D,u)=>{u.d(D,{N:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.http=n,this.firestore=e,this.measurementsUrl="https://cors-ea3m.onrender.com/https://atlas.ripe.net/api/v2/measurements/",this.measurementID=""}sendTraceRequest(n,e,t,o){var i=this;return(0,m.A)(function*(){console.log("Sending trace request");try{let _={definitions:[{target:n,description:e,type:t,af:4,is_oneoff:!0,protocol:"TCP"}],probes:[]};console.log(o);let c=o.split(",").length-1,f=(o=o.slice(0,-1)).split(","),h=[];for(let O=0;O({id:i.measurementID,dst_addr:h.dst_addr,dst_city:h.dst_city,dst_country:h.dst_country,dst_latitude:h.dst_latitude,dst_longitude:h.dst_longitude,src_addr:h.src_addr,src_city:h.src_city,src_country:h.src_country,src_latitude:h.src_latitude,src_longitude:h.src_longitude,result:h.result}));return yield(0,r.BN)(c,{data:f}),!0}catch(_){return console.log(_),!1}})()}getHistoryResults(n,e){var t=this;return(0,m.A)(function*(){const i=(0,r.rJ)(t.firestore,"teams/"+n+"/products/"+e+"/ripe_trace"),_=yield(0,r.GG)(i);let c=[];return _.docs.forEach(f=>{c.push({id:f.id,data:f.data()})}),console.log(c),c})()}getAllResultsByDescription(n,e,t){var o=this;return(0,m.A)(function*(){try{let i="teams/"+n+"/products/"+e+"/ripe_trace";console.log(i);let _=(0,r.H9)(o.firestore,i,t);return(yield(0,r.x7)(_)).data()}catch(i){return console.log(i),[]}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(g.Qq),v.KVO(r._7))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},9640:(A,D,u)=>{u.d(D,{Q:()=>l});var m=u(467),r=u(1985),v=u(4262),g=u(4438),d=u(1626);let l=(()=>{var a;class s{constructor(e,t){this.http=e,this.firestore=t,this.measurementsUrl="https://cors-ea3m.onrender.com/https://atlas.ripe.net/api/v2/measurements/",this.measurementID=""}sendMeasurementRequest(e,t,o,i){var _=this;return(0,m.A)(function*(){let c=i.split(",").length-1;i=i.slice(0,-1);try{let f={definitions:[{target:e,description:"ping",type:"ping",af:4,is_oneoff:!0}],probes:[{requested:c,type:"probes",value:i}]},h={Authorization:"Key 92530695-134f-4cbc-b7c3-ec130f3719b0"};console.log(f);let E=yield _.http.post(_.measurementsUrl,f,{headers:h}).toPromise();return console.log(E),_.measurementID=E.measurements[0],_.measurementID}catch(f){return console.log(f),!1}})()}getMeasurementResults(e){var t=this;return(0,m.A)(function*(){e&&(t.measurementID=e);try{let o={Authorization:"Key 92530695-134f-4cbc-b7c3-ec130f3719b0"};return""===t.measurementID?(console.log("No measurement ID"),!1):t.http.get(t.measurementsUrl+t.measurementID+"/results/",{headers:o})}catch(o){return console.log(o),new r.c}})()}saveMeasurementResults(e,t,o,i){var _=this;return(0,m.A)(function*(){try{const c=(0,v.rJ)(_.firestore,"teams",e,"products",t,"ripe"),f=(0,v.H9)(c,o),h=i.map((E,M)=>({id:_.measurementID,from:E.from,dst_addr:E.dst_addr,latency:E.latency}));return yield(0,v.BN)(f,{data:h}),!0}catch(c){return console.log(c),!1}})()}getAllResultsByDescription(e,t,o){var i=this;return(0,m.A)(function*(){try{let _="teams/"+e+"/products/"+t+"/ripe";console.log(_);let c=(0,v.H9)(i.firestore,_,o);return(yield(0,v.x7)(c)).data()}catch(_){return console.log(_),[]}})()}getHistoryResults(e,t){var o=this;return(0,m.A)(function*(){const _=(0,v.rJ)(o.firestore,"teams/"+e+"/products/"+t+"/ripe"),c=yield(0,v.GG)(_);let f=[];return c.docs.forEach(h=>{f.push({id:h.id,data:h.data()})}),console.log(f),f})()}deleteHistory(e,t,o){var i=this;return(0,m.A)(function*(){const c=(0,v.H9)(i.firestore,"teams/"+e+"/products/"+t+"/ripe",o);try{return yield(0,v.kd)(c),!0}catch(f){return console.log(f),!1}})()}}return(a=s).\u0275fac=function(e){return new(e||a)(g.KVO(d.Qq),g.KVO(v._7))},a.\u0275prov=g.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),s})()},9536:(A,D,u)=>{u.d(D,{Q:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","integration_tests"),_=yield(0,r.x7)(i);if(_.exists()){const c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);c[e].push(t),yield(0,r.BN)(i,c),console.log("Document updated with ID: ",_.id)}else console.log("No such document!"),yield(0,r.BN)(i,{[e]:[t]}),console.log("Document created with ID: ",i.id)})()}getIntegrationTests(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","integration_tests"),i=yield(0,r.x7)(o);return i.exists()?i.data()[e]:[]})()}updateIntegrationTestState(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","integration_tests"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h=0;h{u.d(D,{h:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests"),_=yield(0,r.x7)(i);if(_.exists()){const c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);c[e].push(t),yield(0,r.BN)(i,c),console.log("Document updated with ID: ",_.id)}else console.log("No such document!"),yield(0,r.BN)(i,{[e]:[t]}),console.log("Document created with ID: ",i.id)})()}getSystemTest(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","system_tests"),i=yield(0,r.x7)(o);return i.exists()?i.data()[e]:[]})()}saveSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=new Date,c=`${_.getFullYear()}-${_.getMonth()+1}-${_.getDate()} ${_.getHours()}:${_.getMinutes()}:${_.getSeconds()}`;console.log(c);const f=yield(0,r.x7)(i);if(f.exists()){let h=f.data();h[c]={systemTest:t},h[c].productStep=e,yield(0,r.BN)(i,h)}else yield(0,r.BN)(i,{[c]:{systemTest:t,productStep:e}})})()}getSystemTestHistoryByStep(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),i=yield(0,r.x7)(o);if(i.exists()){const _=i.data();return Object.keys(_).filter(f=>_[f].productStep===e).map(f=>_[f].systemTest)}return[]})()}getSystemTestHistoryByTitle(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=yield(0,r.x7)(i);let c=[];if(_.exists()){const f=_.data();for(let h in f)f[h].systemTest.title===t&&f[h].productStep===e&&c.push({timestamp:h,systemTest:f[h].systemTest})}return c})()}getSystemTestByTimestamp(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h in f)if(f[h].systemTest.title===t&&h===o&&f[h].productStep===e)return f[h].systemTest}return{}})()}deleteSystemTestHistoryByKey(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h in f)f[h].systemTest.title===t&&h===o&&f[h].productStep===e&&delete f[h];yield(0,r.BN)(_,f)}})()}getSystemTestHistory(s,n){var e=this;return(0,m.A)(function*(){const t=(0,r.H9)(e.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),o=yield(0,r.x7)(t);return o.exists()?o.data():{}})()}deleteSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){let i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests"),_=yield(0,r.x7)(i);if(_.exists()){let c=_.data();c[e]=c[e].filter(f=>f.title!==t.title),yield(0,r.BN)(i,c)}if(i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=yield(0,r.x7)(i),_.exists()){let c=_.data();for(let f in c)console.log(c[f].systemTest.title),c[f].systemTest.title===t.title&&delete c[f];yield(0,r.BN)(i,c)}})()}}return(d=l).\u0275fac=function(s){return new(s||d)(v.KVO(r._7))},d.\u0275prov=v.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),l})()},1854:(A,D,u)=>{u.d(D,{I:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addUnitTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","unit_tests"),_=yield(0,r.x7)(i);if(_.exists()){let c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);for(let f=0;f{u.d(D,{c:()=>g});var m=u(9672),r=u(1086),v=u(8607);const g=(d,l)=>{let a,s;const n=(o,i,_)=>{if(typeof document>"u")return;const c=document.elementFromPoint(o,i);c&&l(c)&&!c.disabled?c!==a&&(t(),e(c,_)):t()},e=(o,i)=>{a=o,s||(s=a);const _=a;(0,m.w)(()=>_.classList.add("ion-activated")),i()},t=(o=!1)=>{if(!a)return;const i=a;(0,m.w)(()=>i.classList.remove("ion-activated")),o&&s!==a&&a.click(),a=void 0};return(0,v.createGesture)({el:d,gestureName:"buttonActiveDrag",threshold:0,onStart:o=>n(o.currentX,o.currentY,r.a),onMove:o=>n(o.currentX,o.currentY,r.b),onEnd:()=>{t(!0),(0,r.h)(),s=void 0}})}},8438:(A,D,u)=>{u.d(D,{g:()=>r});var m=u(8476);const r=()=>{if(void 0!==m.w)return m.w.Capacitor}},5572:(A,D,u)=>{u.d(D,{c:()=>m,i:()=>r});const m=(v,g,d)=>"function"==typeof d?d(v,g):"string"==typeof d?v[d]===g[d]:Array.isArray(g)?g.includes(v):v===g,r=(v,g,d)=>void 0!==v&&(Array.isArray(v)?v.some(l=>m(l,g,d)):m(v,g,d))},3351:(A,D,u)=>{u.d(D,{g:()=>m});const m=(l,a,s,n,e)=>v(l[1],a[1],s[1],n[1],e).map(t=>r(l[0],a[0],s[0],n[0],t)),r=(l,a,s,n,e)=>e*(3*a*Math.pow(e-1,2)+e*(-3*s*e+3*s+n*e))-l*Math.pow(e-1,3),v=(l,a,s,n,e)=>d((n-=e)-3*(s-=e)+3*(a-=e)-(l-=e),3*s-6*a+3*l,3*a-3*l,l).filter(o=>o>=0&&o<=1),d=(l,a,s,n)=>{if(0===l)return((l,a,s)=>{const n=a*a-4*l*s;return n<0?[]:[(-a+Math.sqrt(n))/(2*l),(-a-Math.sqrt(n))/(2*l)]})(a,s,n);const e=(3*(s/=l)-(a/=l)*a)/3,t=(2*a*a*a-9*a*s+27*(n/=l))/27;if(0===e)return[Math.pow(-t,1/3)];if(0===t)return[Math.sqrt(-e),-Math.sqrt(-e)];const o=Math.pow(t/2,2)+Math.pow(e/3,3);if(0===o)return[Math.pow(t/2,.5)-a/3];if(o>0)return[Math.pow(-t/2+Math.sqrt(o),1/3)-Math.pow(t/2+Math.sqrt(o),1/3)-a/3];const i=Math.sqrt(Math.pow(-e/3,3)),_=Math.acos(-t/(2*Math.sqrt(Math.pow(-e/3,3)))),c=2*Math.pow(i,1/3);return[c*Math.cos(_/3)-a/3,c*Math.cos((_+2*Math.PI)/3)-a/3,c*Math.cos((_+4*Math.PI)/3)-a/3]}},5083:(A,D,u)=>{u.d(D,{i:()=>m});const m=r=>r&&""!==r.dir?"rtl"===r.dir.toLowerCase():"rtl"===(null==document?void 0:document.dir.toLowerCase())},3126:(A,D,u)=>{u.r(D),u.d(D,{startFocusVisible:()=>g});const m="ion-focused",v=["Tab","ArrowDown","Space","Escape"," ","Shift","Enter","ArrowLeft","ArrowRight","ArrowUp","Home","End"],g=d=>{let l=[],a=!0;const s=d?d.shadowRoot:document,n=d||document.body,e=f=>{l.forEach(h=>h.classList.remove(m)),f.forEach(h=>h.classList.add(m)),l=f},t=()=>{a=!1,e([])},o=f=>{a=v.includes(f.key),a||e([])},i=f=>{if(a&&void 0!==f.composedPath){const h=f.composedPath().filter(E=>!!E.classList&&E.classList.contains("ion-focusable"));e(h)}},_=()=>{s.activeElement===n&&e([])};return s.addEventListener("keydown",o),s.addEventListener("focusin",i),s.addEventListener("focusout",_),s.addEventListener("touchstart",t,{passive:!0}),s.addEventListener("mousedown",t),{destroy:()=>{s.removeEventListener("keydown",o),s.removeEventListener("focusin",i),s.removeEventListener("focusout",_),s.removeEventListener("touchstart",t),s.removeEventListener("mousedown",t)},setFocus:e}}},1086:(A,D,u)=>{u.d(D,{I:()=>r,a:()=>a,b:()=>s,c:()=>l,d:()=>e,h:()=>n});var m=u(8438),r=function(t){return t.Heavy="HEAVY",t.Medium="MEDIUM",t.Light="LIGHT",t}(r||{});const g={getEngine(){const t=(0,m.g)();if(null!=t&&t.isPluginAvailable("Haptics"))return t.Plugins.Haptics},available(){if(!this.getEngine())return!1;const o=(0,m.g)();return"web"!==(null==o?void 0:o.getPlatform())||typeof navigator<"u"&&void 0!==navigator.vibrate},impact(t){const o=this.getEngine();o&&o.impact({style:t.style})},notification(t){const o=this.getEngine();o&&o.notification({type:t.type})},selection(){this.impact({style:r.Light})},selectionStart(){const t=this.getEngine();t&&t.selectionStart()},selectionChanged(){const t=this.getEngine();t&&t.selectionChanged()},selectionEnd(){const t=this.getEngine();t&&t.selectionEnd()}},d=()=>g.available(),l=()=>{d()&&g.selection()},a=()=>{d()&&g.selectionStart()},s=()=>{d()&&g.selectionChanged()},n=()=>{d()&&g.selectionEnd()},e=t=>{d()&&g.impact(t)}},909:(A,D,u)=>{u.d(D,{I:()=>l,a:()=>e,b:()=>d,c:()=>i,d:()=>c,f:()=>t,g:()=>n,i:()=>s,p:()=>_,r:()=>f,s:()=>o});var m=u(467),r=u(4920),v=u(4929);const d="ion-content",l=".ion-content-scroll-host",a=`${d}, ${l}`,s=h=>"ION-CONTENT"===h.tagName,n=function(){var h=(0,m.A)(function*(E){return s(E)?(yield new Promise(M=>(0,r.c)(E,M)),E.getScrollElement()):E});return function(M){return h.apply(this,arguments)}}(),e=h=>h.querySelector(l)||h.querySelector(a),t=h=>h.closest(a),o=(h,E)=>s(h)?h.scrollToTop(E):Promise.resolve(h.scrollTo({top:0,left:0,behavior:E>0?"smooth":"auto"})),i=(h,E,M,O)=>s(h)?h.scrollByPoint(E,M,O):Promise.resolve(h.scrollBy({top:M,left:E,behavior:O>0?"smooth":"auto"})),_=h=>(0,v.b)(h,d),c=h=>{if(s(h)){const M=h.scrollY;return h.scrollY=!1,M}return h.style.setProperty("overflow","hidden"),!0},f=(h,E)=>{s(h)?h.scrollY=E:h.style.removeProperty("overflow")}},3992:(A,D,u)=>{u.d(D,{a:()=>m,b:()=>i,c:()=>a,d:()=>_,e:()=>C,f:()=>l,g:()=>c,h:()=>v,i:()=>r,j:()=>y,k:()=>w,l:()=>s,m:()=>t,n:()=>f,o:()=>e,p:()=>d,q:()=>g,r:()=>p,s:()=>P,t:()=>o,u:()=>M,v:()=>O,w:()=>n,x:()=>h,y:()=>E});const m="data:image/svg+xml;utf8,",r="data:image/svg+xml;utf8,",v="data:image/svg+xml;utf8,",g="data:image/svg+xml;utf8,",d="data:image/svg+xml;utf8,",l="data:image/svg+xml;utf8,",a="data:image/svg+xml;utf8,",s="data:image/svg+xml;utf8,",n="data:image/svg+xml;utf8,",e="data:image/svg+xml;utf8,",t="data:image/svg+xml;utf8,",o="data:image/svg+xml;utf8,",i="data:image/svg+xml;utf8,",_="data:image/svg+xml;utf8,",c="data:image/svg+xml;utf8,",f="data:image/svg+xml;utf8,",h="data:image/svg+xml;utf8,",E="data:image/svg+xml;utf8,",M="data:image/svg+xml;utf8,",O="data:image/svg+xml;utf8,",p="data:image/svg+xml;utf8,",y="data:image/svg+xml;utf8,",w="data:image/svg+xml;utf8,",P="data:image/svg+xml;utf8,",C="data:image/svg+xml;utf8,"},243:(A,D,u)=>{u.d(D,{c:()=>g,g:()=>d});var m=u(8476),r=u(4920),v=u(4929);const g=(a,s,n)=>{let e,t;if(void 0!==m.w&&"MutationObserver"in m.w){const c=Array.isArray(s)?s:[s];e=new MutationObserver(f=>{for(const h of f)for(const E of h.addedNodes)if(E.nodeType===Node.ELEMENT_NODE&&c.includes(E.slot))return n(),void(0,r.r)(()=>o(E))}),e.observe(a,{childList:!0,subtree:!0})}const o=c=>{var f;t&&(t.disconnect(),t=void 0),t=new MutationObserver(h=>{n();for(const E of h)for(const M of E.removedNodes)M.nodeType===Node.ELEMENT_NODE&&M.slot===s&&_()}),t.observe(null!==(f=c.parentElement)&&void 0!==f?f:c,{subtree:!0,childList:!0})},_=()=>{t&&(t.disconnect(),t=void 0)};return{destroy:()=>{e&&(e.disconnect(),e=void 0),_()}}},d=(a,s,n)=>{const e=null==a?0:a.toString().length,t=l(e,s);if(void 0===n)return t;try{return n(e,s)}catch(o){return(0,v.a)("Exception in provided `counterFormatter`.",o),t}},l=(a,s)=>`${a} / ${s}`},1622:(A,D,u)=>{u.r(D),u.d(D,{KEYBOARD_DID_CLOSE:()=>d,KEYBOARD_DID_OPEN:()=>g,copyVisualViewport:()=>p,keyboardDidClose:()=>h,keyboardDidOpen:()=>c,keyboardDidResize:()=>f,resetKeyboardAssist:()=>e,setKeyboardClose:()=>_,setKeyboardOpen:()=>i,startKeyboardAssist:()=>t,trackViewportChanges:()=>O});var m=u(4379);u(8438),u(8476);const g="ionKeyboardDidShow",d="ionKeyboardDidHide";let a={},s={},n=!1;const e=()=>{a={},s={},n=!1},t=y=>{if(m.K.getEngine())o(y);else{if(!y.visualViewport)return;s=p(y.visualViewport),y.visualViewport.onresize=()=>{O(y),c()||f(y)?i(y):h(y)&&_(y)}}},o=y=>{y.addEventListener("keyboardDidShow",w=>i(y,w)),y.addEventListener("keyboardDidHide",()=>_(y))},i=(y,w)=>{E(y,w),n=!0},_=y=>{M(y),n=!1},c=()=>!n&&a.width===s.width&&(a.height-s.height)*s.scale>150,f=y=>n&&!h(y),h=y=>n&&s.height===y.innerHeight,E=(y,w)=>{const C=new CustomEvent(g,{detail:{keyboardHeight:w?w.keyboardHeight:y.innerHeight-s.height}});y.dispatchEvent(C)},M=y=>{const w=new CustomEvent(d);y.dispatchEvent(w)},O=y=>{a=Object.assign({},s),s=p(y.visualViewport)},p=y=>({width:Math.round(y.width),height:Math.round(y.height),offsetTop:y.offsetTop,offsetLeft:y.offsetLeft,pageTop:y.pageTop,pageLeft:y.pageLeft,scale:y.scale})},4379:(A,D,u)=>{u.d(D,{K:()=>g,a:()=>v});var m=u(8438),r=function(d){return d.Unimplemented="UNIMPLEMENTED",d.Unavailable="UNAVAILABLE",d}(r||{}),v=function(d){return d.Body="body",d.Ionic="ionic",d.Native="native",d.None="none",d}(v||{});const g={getEngine(){const d=(0,m.g)();if(null!=d&&d.isPluginAvailable("Keyboard"))return d.Plugins.Keyboard},getResizeMode(){const d=this.getEngine();return null!=d&&d.getResizeMode?d.getResizeMode().catch(l=>{if(l.code!==r.Unimplemented)throw l}):Promise.resolve(void 0)}}},4731:(A,D,u)=>{u.d(D,{c:()=>l});var m=u(467),r=u(8476),v=u(4379);const g=a=>{if(void 0===r.d||a===v.a.None||void 0===a)return null;const s=r.d.querySelector("ion-app");return null!=s?s:r.d.body},d=a=>{const s=g(a);return null===s?0:s.clientHeight},l=function(){var a=(0,m.A)(function*(s){let n,e,t,o;const i=function(){var E=(0,m.A)(function*(){const M=yield v.K.getResizeMode(),O=void 0===M?void 0:M.mode;n=()=>{void 0===o&&(o=d(O)),t=!0,_(t,O)},e=()=>{t=!1,_(t,O)},null==r.w||r.w.addEventListener("keyboardWillShow",n),null==r.w||r.w.addEventListener("keyboardWillHide",e)});return function(){return E.apply(this,arguments)}}(),_=(E,M)=>{s&&s(E,c(M))},c=E=>{if(0===o||o===d(E))return;const M=g(E);return null!==M?new Promise(O=>{const y=new ResizeObserver(()=>{M.clientHeight===o&&(y.disconnect(),O())});y.observe(M)}):void 0};return yield i(),{init:i,destroy:()=>{null==r.w||r.w.removeEventListener("keyboardWillShow",n),null==r.w||r.w.removeEventListener("keyboardWillHide",e),n=e=void 0},isKeyboardVisible:()=>t}});return function(n){return a.apply(this,arguments)}}()},7838:(A,D,u)=>{u.d(D,{c:()=>r});var m=u(467);const r=()=>{let v;return{lock:function(){var d=(0,m.A)(function*(){const l=v;let a;return v=new Promise(s=>a=s),void 0!==l&&(yield l),a});return function(){return d.apply(this,arguments)}}()}}},9001:(A,D,u)=>{u.d(D,{c:()=>v});var m=u(8476),r=u(4920);const v=(g,d,l)=>{let a;const s=()=>!(void 0===d()||void 0!==g.label||null===l()),e=()=>{const o=d();if(void 0===o)return;if(!s())return void o.style.removeProperty("width");const i=l().scrollWidth;if(0===i&&null===o.offsetParent&&void 0!==m.w&&"IntersectionObserver"in m.w){if(void 0!==a)return;const _=a=new IntersectionObserver(c=>{1===c[0].intersectionRatio&&(e(),_.disconnect(),a=void 0)},{threshold:.01,root:g});_.observe(o)}else o.style.setProperty("width",.75*i+"px")};return{calculateNotchWidth:()=>{s()&&(0,r.r)(()=>{e()})},destroy:()=>{a&&(a.disconnect(),a=void 0)}}}},7895:(A,D,u)=>{u.d(D,{S:()=>r});const r={bubbles:{dur:1e3,circles:9,fn:(v,g,d)=>{const l=v*g/d-v+"ms",a=2*Math.PI*g/d;return{r:5,style:{top:32*Math.sin(a)+"%",left:32*Math.cos(a)+"%","animation-delay":l}}}},circles:{dur:1e3,circles:8,fn:(v,g,d)=>{const l=g/d,a=v*l-v+"ms",s=2*Math.PI*l;return{r:5,style:{top:32*Math.sin(s)+"%",left:32*Math.cos(s)+"%","animation-delay":a}}}},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:(v,g)=>({r:6,style:{left:32-32*g+"%","animation-delay":-110*g+"ms"}})},lines:{dur:1e3,lines:8,fn:(v,g,d)=>({y1:14,y2:26,style:{transform:`rotate(${360/d*g+(g({y1:12,y2:20,style:{transform:`rotate(${360/d*g+(g({y1:17,y2:29,style:{transform:`rotate(${30*g+(g<6?180:-180)}deg)`,"animation-delay":v*g/d-v+"ms"}})},"lines-sharp-small":{dur:1e3,lines:12,fn:(v,g,d)=>({y1:12,y2:20,style:{transform:`rotate(${30*g+(g<6?180:-180)}deg)`,"animation-delay":v*g/d-v+"ms"}})}}},7166:(A,D,u)=>{u.r(D),u.d(D,{createSwipeBackGesture:()=>d});var m=u(4920),r=u(5083),v=u(8607);u(1970);const d=(l,a,s,n,e)=>{const t=l.ownerDocument.defaultView;let o=(0,r.i)(l);const _=M=>o?-M.deltaX:M.deltaX;return(0,v.createGesture)({el:l,gestureName:"goback-swipe",gesturePriority:101,threshold:10,canStart:M=>(o=(0,r.i)(l),(M=>{const{startX:p}=M;return o?p>=t.innerWidth-50:p<=50})(M)&&a()),onStart:s,onMove:M=>{const p=_(M)/t.innerWidth;n(p)},onEnd:M=>{const O=_(M),p=t.innerWidth,y=O/p,w=(M=>o?-M.velocityX:M.velocityX)(M),C=w>=0&&(w>.2||O>p/2),I=(C?1-y:y)*p;let S=0;if(I>5){const x=I/Math.abs(w);S=Math.min(x,540)}e(C,y<=0?.01:(0,m.j)(0,y,.9999),S)}})}},2935:(A,D,u)=>{u.d(D,{w:()=>m});const m=(g,d,l)=>{if(typeof MutationObserver>"u")return;const a=new MutationObserver(s=>{l(r(s,d))});return a.observe(g,{childList:!0,subtree:!0}),a},r=(g,d)=>{let l;return g.forEach(a=>{for(let s=0;s{if(1!==g.nodeType)return;const l=g;return(l.tagName===d.toUpperCase()?[l]:Array.from(l.querySelectorAll(d))).find(s=>s.value===l.value)}},385:(A,D,u)=>{u.d(D,{l:()=>v});var m=u(4438),r=u(7863);let v=(()=>{var g;class d{constructor(){this.title="Header Title"}ngOnInit(){}}return(g=d).\u0275fac=function(a){return new(a||g)},g.\u0275cmp=m.VBU({type:g,selectors:[["app-header"]],inputs:{title:"title"},decls:5,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"]],template:function(a,s){1&a&&(m.j41(0,"ion-header",0)(1,"ion-toolbar"),m.nrm(2,"ion-menu-button",1),m.j41(3,"ion-title"),m.EFF(4),m.k0s()()()),2&a&&(m.Y8G("translucent",!0),m.R7$(4),m.JRh(s.title))},dependencies:[r.eU,r.MC,r.BC,r.ai]}),d})()},8453:(A,D,u)=>{u.d(D,{W:()=>v});var m=u(4438),r=u(7863);let v=(()=>{var g;class d{constructor(){this.title="Title"}ngOnInit(){}}return(g=d).\u0275fac=function(a){return new(a||g)},g.\u0275cmp=m.VBU({type:g,selectors:[["app-title"]],inputs:{title:"title"},decls:4,vars:1,consts:[[1,"lg:m-10"],["size","12","size-md","6","size-lg","6"],[1,"text-4xl","lg:text-6xl","font-bold"]],template:function(a,s){1&a&&(m.j41(0,"ion-row",0)(1,"ion-col",1)(2,"h1",2),m.EFF(3),m.k0s()()()),2&a&&(m.R7$(3),m.JRh(s.title))},dependencies:[r.hU,r.ln]}),d})()},4796:(A,D,u)=>{u.d(D,{u:()=>d});var m=u(467),r=u(8737),v=u(4262),g=u(4438);let d=(()=>{var l;class a{constructor(n,e){this.auth=n,this.firestore=e}registerUser(n){var e=this;return(0,m.A)(function*(){try{const t=yield(0,r.eJ)(e.auth,n.email,n.password);return t.user?(yield(0,v.BN)((0,v.H9)(e.firestore,"users",t.user.uid),{email:n.email,name:n.name,orgName:n.orgName,uid:t.user.uid}),yield(0,v.BN)((0,v.H9)(e.firestore,"teams",`${n.orgName}`),{name:n.orgName,members:[t.user.uid]}),t):null}catch{return null}})()}loginUser(n){var e=this;return(0,m.A)(function*(){try{var t;const o=yield(0,r.x9)(e.auth,n.email,n.password);if(null!==(t=o.user)&&void 0!==t&&t.uid){const i=yield(0,v.x7)((0,v.H9)(e.firestore,"users",o.user.uid));if(i.exists())return localStorage.setItem("user",JSON.stringify(i.data())),o}}catch(o){console.error(o)}return null})()}logoutUser(){var n=this;return(0,m.A)(function*(){yield n.auth.signOut()})()}addMember(n){var e=this;return(0,m.A)(function*(){try{const t=yield(0,r.eJ)(e.auth,n.email,n.password);if(!t.user)return!1;const o={email:n.email,name:n.name,orgName:n.orgName,uid:t.user.uid};return yield(0,v.BN)((0,v.H9)(e.firestore,"users",t.user.uid),o),o}catch{return!1}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(g.KVO(r.Nj),g.KVO(v._7))},l.\u0275prov=g.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},6560:(A,D,u)=>{u.d(D,{x:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.url_cpu="https://devprobeapi.onrender.com/flame_graph_date",this.url_mem="https://devprobeapi.onrender.com/flame_graph_memory_date"}getProducts(n){var e=this;return(0,m.A)(function*(){try{const t=(0,r.rJ)(e.firestore,"teams",n,"products");return(yield(0,r.GG)(t)).docs.map(i=>i.data())}catch(t){return console.log(t),[]}})()}getDates(n,e,t){var o=this;return(0,m.A)(function*(){try{t||(t="cpu_usage");const i=(0,r.rJ)(o.firestore,"teams",n,"products",e,t);return(yield(0,r.GG)(i)).docs.map(c=>c.id)}catch(i){return console.log(i),[]}})()}getFlameGraphByDate(n,e,t,o){var i=this;return(0,m.A)(function*(){try{let _={team:n,product:e,date:t};return o?yield i.http.post(i.url_mem,_).toPromise():yield i.http.post(i.url_cpu,_).toPromise()}catch{return{}}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},201:(A,D,u)=>{u.d(D,{p:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.httpClient=e,this.url="https://devprobeapi.onrender.com/"}syncRepo(n,e,t,o,i){var _=this;return(0,m.A)(function*(){const c=(0,r.H9)(_.firestore,"teams",n),f=yield(0,r.x7)(c);if(f.exists()){const h=f.data();h.gitHub={key:e,repo:t,branch:o,owner:i},yield(0,r.BN)(c,h)}})()}getSyncRepo(n){var e=this;return(0,m.A)(function*(){const t=(0,r.H9)(e.firestore,"teams",n),o=yield(0,r.x7)(t);return o.exists()?o.data().gitHub:null})()}getFiles(n){var e=this;return(0,m.A)(function*(){const t=yield e.httpClient.post(e.url+"github_repo",{auth:n.key,repo:n.repo,branch:n.branch,owner:n.owner}).toPromise();if(console.log(t),t){let o=t.paths;return o=o.filter(i=>!i.includes(".git")),o=o.filter(i=>!i.includes("node_modules")),o=o.filter(i=>!i.includes(".idea")),o=o.filter(i=>i.includes(".")),o}return[]})()}getContentFromFilePath(n,e){var t=this;return(0,m.A)(function*(){const o=yield t.httpClient.post(t.url+"github_file",{auth:n.key,repo:n.repo,owner:n.owner,path:e}).toPromise();return console.log(o),o?o.content:""})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},4970:(A,D,u)=>{u.d(D,{s:()=>O});var m=u(467),r=u(4262);class v{static toArtilleryData(y){return function n(p,y){return s(p,y,l)}(JSON.parse(y),f("ArtilleryData"))}static artilleryDataToJson(y){return JSON.stringify(function e(p,y){return s(p,y,a)}(y,f("ArtilleryData")),null,2)}}function g(p,y,w,P=""){const C=d(p);throw Error(`Invalid value${w?` for key "${w}"`:""}${P?` on ${P}`:""}. Expected ${C} but got ${JSON.stringify(y)}`)}function d(p){return Array.isArray(p)?2===p.length&&void 0===p[0]?`an optional ${d(p[1])}`:`one of [${p.map(y=>d(y)).join(", ")}]`:"object"==typeof p&&void 0!==p.literal?p.literal:typeof p}function l(p){if(void 0===p.jsonToJS){const y={};p.props.forEach(w=>y[w.json]={key:w.js,typ:w.typ}),p.jsonToJS=y}return p.jsonToJS}function a(p){if(void 0===p.jsToJSON){const y={};p.props.forEach(w=>y[w.js]={key:w.json,typ:w.typ}),p.jsToJSON=y}return p.jsToJSON}function s(p,y,w,P="",C=""){if("any"===y)return p;if(null===y)return null===p?p:g(y,p,P,C);if(!1===y)return g(y,p,P,C);let K;for(;"object"==typeof y&&void 0!==y.ref;)K=y.ref,y=h[y.ref];return Array.isArray(y)?function S(T,L){return-1!==T.indexOf(L)?L:g(T.map(j=>t(j)),L,P,C)}(y,p):"object"==typeof y?y.hasOwnProperty("unionMembers")?function I(T,L){const j=T.length;for(let H=0;Hs(j,T,w)):g(t("array"),L,P,C)}(y.arrayItems,p):y.hasOwnProperty("props")?function R(T,L,j){if(null===j||"object"!=typeof j||Array.isArray(j))return g(t(K||"object"),j,P,C);const H={};return Object.getOwnPropertyNames(T).forEach(B=>{const N=T[B],W=Object.prototype.hasOwnProperty.call(j,B)?j[B]:void 0;H[N.key]=void 0!==W?s(W,N.typ,w,B,K):void 0}),Object.getOwnPropertyNames(j).forEach(B=>{Object.prototype.hasOwnProperty.call(T,B)||(H[B]=s(j[B],L,w,B,K))}),H}(w(y),y.additional,p):g(y,p,P,C):y===Date&&"number"!=typeof p?function U(T){if(null===T)return null;const L=new Date(T);return isNaN(L.valueOf())?g(t("Date"),T,P,C):L}(p):function b(T,L){return typeof T==typeof L?L:g(T,L,P,C)}(y,p)}function t(p){return{literal:p}}function _(p,y){return{props:p,additional:y}}function c(p){return{props:[],additional:p}}function f(p){return{ref:p}}const h={ArtilleryData:_([{json:"aggregate",js:"aggregate",typ:f("Aggregate")},{json:"intermediate",js:"intermediate",typ:function o(p){return{arrayItems:p}}(f("Intermediate"))},{json:"date",js:"date",typ:""}],!1),Aggregate:_([{json:"counters",js:"counters",typ:c(0)},{json:"rates",js:"rates",typ:f("Rates")},{json:"firstCounterAt",js:"firstCounterAt",typ:0},{json:"firstHistogramAt",js:"firstHistogramAt",typ:0},{json:"lastCounterAt",js:"lastCounterAt",typ:0},{json:"lastHistogramAt",js:"lastHistogramAt",typ:0},{json:"firstMetricAt",js:"firstMetricAt",typ:0},{json:"lastMetricAt",js:"lastMetricAt",typ:0},{json:"period",js:"period",typ:0},{json:"summaries",js:"summaries",typ:f("Histograms")},{json:"histograms",js:"histograms",typ:f("Histograms")}],!1),Histograms:_([{json:"http.response_time",js:"http.response_time",typ:c(3.14)},{json:"plugins.metrics-by-endpoint.response_time./",js:"plugins.metrics-by-endpoint.response_time./",typ:c(3.14)},{json:"vusers.session_length",js:"vusers.session_length",typ:function i(...p){return{unionMembers:p}}(void 0,c(3.14))}],!1),Rates:_([{json:"http.request_rate",js:"http.request_rate",typ:0}],!1),Intermediate:_([{json:"counters",js:"counters",typ:c(0)},{json:"rates",js:"rates",typ:f("Rates")},{json:"http.request_rate",js:"http.request_rate",typ:null},{json:"firstCounterAt",js:"firstCounterAt",typ:0},{json:"firstHistogramAt",js:"firstHistogramAt",typ:0},{json:"lastCounterAt",js:"lastCounterAt",typ:0},{json:"lastHistogramAt",js:"lastHistogramAt",typ:0},{json:"firstMetricAt",js:"firstMetricAt",typ:0},{json:"lastMetricAt",js:"lastMetricAt",typ:0},{json:"period",js:"period",typ:""},{json:"summaries",js:"summaries",typ:f("Histograms")},{json:"histograms",js:"histograms",typ:f("Histograms")}],!1)};var E=u(4438),M=u(1626);let O=(()=>{var p;class y{constructor(P,C){this.firestore=P,this.http=C,this.url="https://devprobeapi.onrender.com/create_load_test"}getLoadTestHistory(P,C,b){var I=this;return(0,m.A)(function*(){const S=(0,r.H9)(I.firestore,"teams",P,"products",C,"load_test",b),x=yield(0,r.x7)(S);if(x.exists()){let U=x.data();console.log(U);let R=Object.keys(U);console.log(R);for(let K of R)U[K]=v.toArtilleryData(U[K]);return U}return{}})()}sendLoadTest(P,C,b,I){var S=this;return(0,m.A)(function*(){try{const x={team:P,product:C,service:b,target:`https://${I}`};return yield S.http.post(S.url,x).toPromise()}catch{return{}}})()}getLoadTestHistoryByDate(P,C,b,I){var S=this;return(0,m.A)(function*(){const x=(0,r.H9)(S.firestore,"teams",P,"products",C,"load_test",b),U=yield(0,r.x7)(x);if(U.exists()){let R=U.data();console.log(R);let K=Object.keys(R);console.log(K);for(let T of K)R[T]=v.toArtilleryData(R[T]),R[T].date.split("-")[0]+"-"+R[T].date.split("-")[1]+"-"+R[T].date.split("-")[2]!==I&&delete R[T];return console.log("Filtered by Date: ",R),R}return{}})()}}return(p=y).\u0275fac=function(P){return new(P||p)(E.KVO(r._7),E.KVO(M.Qq))},p.\u0275prov=E.jDH({token:p,factory:p.\u0275fac,providedIn:"root"}),y})()},3661:(A,D,u)=>{u.d(D,{e:()=>d});var m=u(467),r=u(4438),v=u(4262),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.ipApiURL="https://cors-ea3m.onrender.com/http://ip-api.com/json/"}getLocationDestSrc(n){var e=this;return(0,m.A)(function*(){var t,o,i,_,c,f,h,E;if(!n)return n;const M=e.http.get(e.ipApiURL+n.dst_addr).toPromise(),O=e.http.get(e.ipApiURL+n.src_addr).toPromise(),p=yield M,y=yield O;return n.dst_city=null!==(t=p.city)&&void 0!==t?t:"No city found",n.dst_country=null!==(o=p.country)&&void 0!==o?o:"No country found",n.dst_latitude=null!==(i=p.lat)&&void 0!==i?i:0,n.dst_longitude=null!==(_=p.lon)&&void 0!==_?_:0,n.src_city=null!==(c=y.city)&&void 0!==c?c:"No city found",n.src_country=null!==(f=y.country)&&void 0!==f?f:"No country found",n.src_latitude=null!==(h=y.lat)&&void 0!==h?h:0,n.src_longitude=null!==(E=y.lon)&&void 0!==E?E:0,n})()}getLocationFrom(n){var e=this;return(0,m.A)(function*(){if(!n)return n;let t=n.result;for(let f=0;f{u.d(D,{N:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.firestore=n,this.http=e,this.ipApiURL="https://cors-ea3m.onrender.com/http://ip-api.com/json/"}getLocation(n){var e=this;return(0,m.A)(function*(){console.log(n);const o=yield e.http.get(e.ipApiURL+n[0].dst_addr).toPromise();for(let c=0;ce.http.get(e.ipApiURL+c.from).toPromise());return(yield Promise.all(i)).forEach((c,f)=>{n[f].fromLatitude=c.lat,n[f].fromLongitude=c.lon,n[f].cityFrom=c.city,n[f].countryFrom=c.country}),console.log(n),n})()}saveLocationResults(n,e,t,o){var i=this;return(0,m.A)(function*(){try{console.log(o,"ripeData");const _=(0,r.rJ)(i.firestore,"teams",n,"products",e,"ripe"),c=(0,r.H9)(_,t),f=o.map(h=>({from:h.from,dst_addr:h.dst_addr,latency:h.latency,cityFrom:h.cityFrom,countryFrom:h.countryFrom,cityTo:h.cityTo,countryTo:h.countryTo,fromLatitude:h.fromLatitude,fromLongitude:h.fromLongitude,toLatitude:h.toLatitude,toLongitude:h.toLongitude,id:h.id}));return yield(0,r.BN)(c,{data:f}),console.log("Data saved",{data:f}),!0}catch(_){return console.log(_),!1}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(r._7),v.KVO(g.Qq))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},6241:(A,D,u)=>{u.d(D,{b:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addProduct(s,n){var e=this;return(0,m.A)(function*(){try{console.log(s);const t=(0,r.H9)(e.firestore,"teams",n,"products",s.productObjective);return yield(0,r.BN)(t,s),!0}catch(t){return console.log(t),!1}})()}getProducts(s){var n=this;return(0,m.A)(function*(){try{const e=(0,r.rJ)(n.firestore,"teams",s,"products");return(yield(0,r.GG)(e)).docs.map(o=>o.data())}catch(e){return console.log(e),[]}})()}removeProduct(s,n){var e=this;return(0,m.A)(function*(){try{const t=(0,r.H9)(e.firestore,"teams",s,"products",n);return yield(0,r.kd)(t),!0}catch(t){return console.log(t),!1}})()}}return(d=l).\u0275fac=function(s){return new(s||d)(v.KVO(r._7))},d.\u0275prov=v.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),l})()},2588:(A,D,u)=>{u.d(D,{N:()=>d});var m=u(467),r=u(4262),v=u(4438),g=u(1626);let d=(()=>{var l;class a{constructor(n,e){this.http=n,this.firestore=e,this.measurementsUrl="https://cors-ea3m.onrender.com/https://atlas.ripe.net/api/v2/measurements/",this.measurementID=""}sendTraceRequest(n,e,t,o){var i=this;return(0,m.A)(function*(){console.log("Sending trace request");try{let _={definitions:[{target:n,description:e,type:t,af:4,is_oneoff:!0,protocol:"TCP"}],probes:[]};console.log(o);let c=o.split(",").length-1,f=(o=o.slice(0,-1)).split(","),h=[];for(let O=0;O({id:i.measurementID,dst_addr:h.dst_addr,dst_city:h.dst_city,dst_country:h.dst_country,dst_latitude:h.dst_latitude,dst_longitude:h.dst_longitude,src_addr:h.src_addr,src_city:h.src_city,src_country:h.src_country,src_latitude:h.src_latitude,src_longitude:h.src_longitude,result:h.result}));return yield(0,r.BN)(c,{data:f}),!0}catch(_){return console.log(_),!1}})()}getHistoryResults(n,e){var t=this;return(0,m.A)(function*(){const i=(0,r.rJ)(t.firestore,"teams/"+n+"/products/"+e+"/ripe_trace"),_=yield(0,r.GG)(i);let c=[];return _.docs.forEach(f=>{c.push({id:f.id,data:f.data()})}),console.log(c),c})()}getAllResultsByDescription(n,e,t){var o=this;return(0,m.A)(function*(){try{let i="teams/"+n+"/products/"+e+"/ripe_trace";console.log(i);let _=(0,r.H9)(o.firestore,i,t);return(yield(0,r.x7)(_)).data()}catch(i){return console.log(i),[]}})()}}return(l=a).\u0275fac=function(n){return new(n||l)(v.KVO(g.Qq),v.KVO(r._7))},l.\u0275prov=v.jDH({token:l,factory:l.\u0275fac,providedIn:"root"}),a})()},9640:(A,D,u)=>{u.d(D,{Q:()=>l});var m=u(467),r=u(1985),v=u(4262),g=u(4438),d=u(1626);let l=(()=>{var a;class s{constructor(e,t){this.http=e,this.firestore=t,this.measurementsUrl="https://cors-ea3m.onrender.com/https://atlas.ripe.net/api/v2/measurements/",this.measurementID=""}sendMeasurementRequest(e,t,o,i){var _=this;return(0,m.A)(function*(){let c=i.split(",").length-1;i=i.slice(0,-1);try{let f={definitions:[{target:e,description:"ping",type:"ping",af:4,is_oneoff:!0}],probes:[{requested:c,type:"probes",value:i}]},h={Authorization:"Key 92530695-134f-4cbc-b7c3-ec130f3719b0"};console.log(f);let E=yield _.http.post(_.measurementsUrl,f,{headers:h}).toPromise();return console.log(E),_.measurementID=E.measurements[0],_.measurementID}catch(f){return console.log(f),!1}})()}getMeasurementResults(e){var t=this;return(0,m.A)(function*(){e&&(t.measurementID=e);try{let o={Authorization:"Key 92530695-134f-4cbc-b7c3-ec130f3719b0"};return""===t.measurementID?(console.log("No measurement ID"),!1):t.http.get(t.measurementsUrl+t.measurementID+"/results/",{headers:o})}catch(o){return console.log(o),new r.c}})()}saveMeasurementResults(e,t,o,i){var _=this;return(0,m.A)(function*(){try{const c=(0,v.rJ)(_.firestore,"teams",e,"products",t,"ripe"),f=(0,v.H9)(c,o),h=i.map((E,M)=>({id:_.measurementID,from:E.from,dst_addr:E.dst_addr,latency:E.latency}));return yield(0,v.BN)(f,{data:h}),!0}catch(c){return console.log(c),!1}})()}getAllResultsByDescription(e,t,o){var i=this;return(0,m.A)(function*(){try{let _="teams/"+e+"/products/"+t+"/ripe";console.log(_);let c=(0,v.H9)(i.firestore,_,o);return(yield(0,v.x7)(c)).data()}catch(_){return console.log(_),[]}})()}getHistoryResults(e,t){var o=this;return(0,m.A)(function*(){const _=(0,v.rJ)(o.firestore,"teams/"+e+"/products/"+t+"/ripe"),c=yield(0,v.GG)(_);let f=[];return c.docs.forEach(h=>{f.push({id:h.id,data:h.data()})}),console.log(f),f})()}deleteHistory(e,t,o){var i=this;return(0,m.A)(function*(){const c=(0,v.H9)(i.firestore,"teams/"+e+"/products/"+t+"/ripe",o);try{return yield(0,v.kd)(c),!0}catch(f){return console.log(f),!1}})()}}return(a=s).\u0275fac=function(e){return new(e||a)(g.KVO(d.Qq),g.KVO(v._7))},a.\u0275prov=g.jDH({token:a,factory:a.\u0275fac,providedIn:"root"}),s})()},9536:(A,D,u)=>{u.d(D,{Q:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","integration_tests"),_=yield(0,r.x7)(i);if(_.exists()){const c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);c[e].push(t),yield(0,r.BN)(i,c),console.log("Document updated with ID: ",_.id)}else console.log("No such document!"),yield(0,r.BN)(i,{[e]:[t]}),console.log("Document created with ID: ",i.id)})()}getIntegrationTests(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","integration_tests"),i=yield(0,r.x7)(o);return i.exists()?i.data()[e]:[]})()}updateIntegrationTestState(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","integration_tests"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h=0;h{u.d(D,{h:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests"),_=yield(0,r.x7)(i);if(_.exists()){const c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);c[e].push(t),yield(0,r.BN)(i,c),console.log("Document updated with ID: ",_.id)}else console.log("No such document!"),yield(0,r.BN)(i,{[e]:[t]}),console.log("Document created with ID: ",i.id)})()}getSystemTest(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","system_tests"),i=yield(0,r.x7)(o);return i.exists()?i.data()[e]:[]})()}saveSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=new Date,c=`${_.getFullYear()}-${_.getMonth()+1}-${_.getDate()} ${_.getHours()}:${_.getMinutes()}:${_.getSeconds()}`;console.log(c);const f=yield(0,r.x7)(i);if(f.exists()){let h=f.data();h[c]={systemTest:t},h[c].productStep=e,yield(0,r.BN)(i,h)}else yield(0,r.BN)(i,{[c]:{systemTest:t,productStep:e}})})()}getSystemTestHistoryByStep(s,n,e){var t=this;return(0,m.A)(function*(){const o=(0,r.H9)(t.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),i=yield(0,r.x7)(o);if(i.exists()){const _=i.data();return Object.keys(_).filter(f=>_[f].productStep===e).map(f=>_[f].systemTest)}return[]})()}getSystemTestHistoryByTitle(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=yield(0,r.x7)(i);let c=[];if(_.exists()){const f=_.data();for(let h in f)f[h].systemTest.title===t&&f[h].productStep===e&&c.push({timestamp:h,systemTest:f[h].systemTest})}return c})()}getSystemTestByTimestamp(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h in f)if(f[h].systemTest.title===t&&h===o&&f[h].productStep===e)return f[h].systemTest}return{}})()}deleteSystemTestHistoryByKey(s,n,e,t,o){var i=this;return(0,m.A)(function*(){const _=(0,r.H9)(i.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),c=yield(0,r.x7)(_);if(c.exists()){const f=c.data();for(let h in f)f[h].systemTest.title===t&&h===o&&f[h].productStep===e&&delete f[h];yield(0,r.BN)(_,f)}})()}getSystemTestHistory(s,n){var e=this;return(0,m.A)(function*(){const t=(0,r.H9)(e.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),o=yield(0,r.x7)(t);return o.exists()?o.data():{}})()}deleteSystemTest(s,n,e,t){var o=this;return(0,m.A)(function*(){let i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests"),_=yield(0,r.x7)(i);if(_.exists()){let c=_.data();c[e]=c[e].filter(f=>f.title!==t.title),yield(0,r.BN)(i,c)}if(i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","system_tests_history"),_=yield(0,r.x7)(i),_.exists()){let c=_.data();for(let f in c)console.log(c[f].systemTest.title),c[f].systemTest.title===t.title&&delete c[f];yield(0,r.BN)(i,c)}})()}}return(d=l).\u0275fac=function(s){return new(s||d)(v.KVO(r._7))},d.\u0275prov=v.jDH({token:d,factory:d.\u0275fac,providedIn:"root"}),l})()},1854:(A,D,u)=>{u.d(D,{I:()=>g});var m=u(467),r=u(4262),v=u(4438);let g=(()=>{var d;class l{constructor(s){this.firestore=s}addUnitTest(s,n,e,t){var o=this;return(0,m.A)(function*(){const i=(0,r.H9)(o.firestore,"teams",s,"products",n,"software_testing","unit_tests"),_=yield(0,r.x7)(i);if(_.exists()){let c=_.data();if(!c[e])return c[e]=[t],yield(0,r.BN)(i,c),void console.log("Document created with ID: ",i.id);for(let f=0;f
-
+
-
+