@fitcoders/shared 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/{fesm2020 → fesm2022}/fitcoders-shared.mjs +778 -766
  2. package/fesm2022/fitcoders-shared.mjs.map +1 -0
  3. package/{fitcoders-shared.d.ts → index.d.ts} +5 -5
  4. package/lib/constant/shared.const.d.ts +199 -199
  5. package/lib/directive/directive-api.d.ts +6 -6
  6. package/lib/directive/directives/control-error.directive.d.ts +25 -25
  7. package/lib/directive/directives/hover.directive.d.ts +13 -13
  8. package/lib/directive/directives/input.directive.d.ts +14 -14
  9. package/lib/directive/directives/scroll.directive.d.ts +16 -16
  10. package/lib/directive/directives/sensitive.directive.d.ts +10 -10
  11. package/lib/directive/fit-directive.module.d.ts +12 -12
  12. package/lib/helper/fit-form.util.d.ts +6 -6
  13. package/lib/helper/fit-general.util.d.ts +3 -3
  14. package/lib/helper/fit-validate.util.d.ts +13 -13
  15. package/lib/helper/helper-api.d.ts +3 -3
  16. package/lib/pipe/fit-pipe.module.d.ts +8 -8
  17. package/lib/pipe/pipe-api.d.ts +2 -2
  18. package/lib/pipe/pipes/fit-money.pipe.d.ts +13 -13
  19. package/lib/service/fit-adapte.service.d.ts +13 -13
  20. package/lib/service/fit-cookies.service.d.ts +20 -20
  21. package/lib/service/service-api.d.ts +2 -2
  22. package/package.json +15 -15
  23. package/public-api.d.ts +5 -5
  24. package/esm2020/fitcoders-shared.mjs +0 -5
  25. package/esm2020/lib/constant/shared.const.mjs +0 -200
  26. package/esm2020/lib/directive/directive-api.mjs +0 -9
  27. package/esm2020/lib/directive/directives/control-error.directive.mjs +0 -89
  28. package/esm2020/lib/directive/directives/hover.directive.mjs +0 -42
  29. package/esm2020/lib/directive/directives/input.directive.mjs +0 -48
  30. package/esm2020/lib/directive/directives/scroll.directive.mjs +0 -45
  31. package/esm2020/lib/directive/directives/sensitive.directive.mjs +0 -32
  32. package/esm2020/lib/directive/fit-directive.module.mjs +0 -47
  33. package/esm2020/lib/helper/fit-form.util.mjs +0 -34
  34. package/esm2020/lib/helper/fit-general.util.mjs +0 -13
  35. package/esm2020/lib/helper/fit-validate.util.mjs +0 -71
  36. package/esm2020/lib/helper/helper-api.mjs +0 -5
  37. package/esm2020/lib/pipe/fit-pipe.module.mjs +0 -31
  38. package/esm2020/lib/pipe/pipe-api.mjs +0 -5
  39. package/esm2020/lib/pipe/pipes/fit-money.pipe.mjs +0 -28
  40. package/esm2020/lib/service/fit-adapte.service.mjs +0 -27
  41. package/esm2020/lib/service/fit-cookies.service.mjs +0 -115
  42. package/esm2020/lib/service/service-api.mjs +0 -4
  43. package/esm2020/public-api.mjs +0 -6
  44. package/fesm2015/fitcoders-shared.mjs +0 -813
  45. package/fesm2015/fitcoders-shared.mjs.map +0 -1
  46. package/fesm2020/fitcoders-shared.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"fitcoders-shared.mjs","sources":["../../../projects/shared/src/lib/constant/shared.const.ts","../../../projects/shared/src/lib/helper/fit-general.util.ts","../../../projects/shared/src/lib/helper/fit-form.util.ts","../../../projects/shared/src/lib/helper/fit-validate.util.ts","../../../projects/shared/src/lib/helper/helper-api.ts","../../../projects/shared/src/lib/directive/directives/hover.directive.ts","../../../projects/shared/src/lib/directive/directives/input.directive.ts","../../../projects/shared/src/lib/directive/directives/scroll.directive.ts","../../../projects/shared/src/lib/directive/directives/sensitive.directive.ts","../../../projects/shared/src/lib/directive/directives/control-error.directive.ts","../../../projects/shared/src/lib/directive/fit-directive.module.ts","../../../projects/shared/src/lib/directive/directive-api.ts","../../../projects/shared/src/lib/pipe/pipes/fit-money.pipe.ts","../../../projects/shared/src/lib/pipe/fit-pipe.module.ts","../../../projects/shared/src/lib/pipe/pipe-api.ts","../../../projects/shared/src/lib/service/fit-adapte.service.ts","../../../projects/shared/src/lib/service/fit-cookies.service.ts","../../../projects/shared/src/lib/service/service-api.ts","../../../projects/shared/src/fitcoders-shared.ts"],"sourcesContent":["export const FitRegexConst = {\r\n number: new RegExp(/^[0-9]\\d*$/),\r\n decimal: new RegExp(/^[0-9]+(\\.[0-9]*){0,1}$/),\r\n percent: new RegExp(/^[1-9][0-9]*$/),\r\n alphabetical: /^[a-zA-Z\\u00C0-\\u00FF]+$/,\r\n alphabeticals: /^[a-zA-Z\\u00C0-\\u00FF ]+$/,\r\n alphanumeric: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF]+$/),\r\n alphanumerics: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF ]+$/),\r\n cell: new RegExp(/^9[0-9]*$/),\r\n noSpaces: new RegExp(/^\\S*$/gmi)\r\n};\r\n\r\nexport const FitCurrencyConst = {\r\n AED: 'د.إ',\r\n AFN: '؋',\r\n ALL: 'L',\r\n AMD: '֏',\r\n ANG: 'ƒ',\r\n AOA: 'Kz',\r\n ARS: '$',\r\n AUD: '$',\r\n AWG: 'ƒ',\r\n AZN: '₼',\r\n BAM: 'KM',\r\n BBD: '$',\r\n BDT: '৳',\r\n BGN: 'лв',\r\n BHD: '.د.ب',\r\n BIF: 'FBu',\r\n BMD: '$',\r\n BND: '$',\r\n BOB: '$b',\r\n BOV: 'BOV',\r\n BRL: 'R$',\r\n BSD: '$',\r\n BTC: '₿',\r\n BTN: 'Nu.',\r\n BWP: 'P',\r\n BYN: 'Br',\r\n BYR: 'Br',\r\n BZD: 'BZ$',\r\n CAD: '$',\r\n CDF: 'FC',\r\n CHE: 'CHE',\r\n CHF: 'CHF',\r\n CHW: 'CHW',\r\n CLF: 'CLF',\r\n CLP: '$',\r\n CNY: '¥',\r\n COP: '$',\r\n COU: 'COU',\r\n CRC: '₡',\r\n CUC: '$',\r\n CUP: '₱',\r\n CVE: '$',\r\n CZK: 'Kč',\r\n DJF: 'Fdj',\r\n DKK: 'kr',\r\n DOP: 'RD$',\r\n DZD: 'دج',\r\n EEK: 'kr',\r\n EGP: '£',\r\n ERN: 'Nfk',\r\n ETB: 'Br',\r\n ETH: 'Ξ',\r\n EUR: '€',\r\n FJD: '$',\r\n FKP: '£',\r\n GBP: '£',\r\n GEL: '₾',\r\n GGP: '£',\r\n GHC: '₵',\r\n GHS: 'GH₵',\r\n GIP: '£',\r\n GMD: 'D',\r\n GNF: 'FG',\r\n GTQ: 'Q',\r\n GYD: '$',\r\n HKD: '$',\r\n HNL: 'L',\r\n HRK: 'kn',\r\n HTG: 'G',\r\n HUF: 'Ft',\r\n IDR: 'Rp',\r\n ILS: '₪',\r\n IMP: '£',\r\n INR: '₹',\r\n IQD: 'ع.د',\r\n IRR: '﷼',\r\n ISK: 'kr',\r\n JEP: '£',\r\n JMD: 'J$',\r\n JOD: 'JD',\r\n JPY: '¥',\r\n KES: 'KSh',\r\n KGS: 'лв',\r\n KHR: '៛',\r\n KMF: 'CF',\r\n KPW: '₩',\r\n KRW: '₩',\r\n KWD: 'KD',\r\n KYD: '$',\r\n KZT: '₸',\r\n LAK: '₭',\r\n LBP: '£',\r\n LKR: '₨',\r\n LRD: '$',\r\n LSL: 'M',\r\n LTC: 'Ł',\r\n LTL: 'Lt',\r\n LVL: 'Ls',\r\n LYD: 'LD',\r\n MAD: 'MAD',\r\n MDL: 'lei',\r\n MGA: 'Ar',\r\n MKD: 'ден',\r\n MMK: 'K',\r\n MNT: '₮',\r\n MOP: 'MOP$',\r\n MRO: 'UM',\r\n MRU: 'UM',\r\n MUR: '₨',\r\n MVR: 'Rf',\r\n MWK: 'MK',\r\n MXN: '$',\r\n MXV: 'MXV',\r\n MYR: 'RM',\r\n MZN: 'MT',\r\n NAD: '$',\r\n NGN: '₦',\r\n NIO: 'C$',\r\n NOK: 'kr',\r\n NPR: '₨',\r\n NZD: '$',\r\n OMR: '﷼',\r\n PAB: 'B/.',\r\n PEN: 'S/.',\r\n PGK: 'K',\r\n PHP: '₱',\r\n PKR: '₨',\r\n PLN: 'zł',\r\n PYG: 'Gs',\r\n QAR: '﷼',\r\n RMB: '¥',\r\n RON: 'lei',\r\n RSD: 'Дин.',\r\n RUB: '₽',\r\n RWF: 'R₣',\r\n SAR: '﷼',\r\n SBD: '$',\r\n SCR: '₨',\r\n SDG: 'ج.س.',\r\n SEK: 'kr',\r\n SGD: 'S$',\r\n SHP: '£',\r\n SLL: 'Le',\r\n SOS: 'S',\r\n SRD: '$',\r\n SSP: '£',\r\n STD: 'Db',\r\n STN: 'Db',\r\n SVC: '$',\r\n SYP: '£',\r\n SZL: 'E',\r\n THB: '฿',\r\n TJS: 'SM',\r\n TMT: 'T',\r\n TND: 'د.ت',\r\n TOP: 'T$',\r\n TRL: '₤',\r\n TRY: '₺',\r\n TTD: 'TT$',\r\n TVD: '$',\r\n TWD: 'NT$',\r\n TZS: 'TSh',\r\n UAH: '₴',\r\n UGX: 'USh',\r\n USD: '$',\r\n UYI: 'UYI',\r\n UYU: '$U',\r\n UYW: 'UYW',\r\n UZS: 'лв',\r\n VEF: 'Bs',\r\n VES: 'Bs.S',\r\n VND: '₫',\r\n VUV: 'VT',\r\n WST: 'WS$',\r\n XAF: 'FCFA',\r\n XBT: 'Ƀ',\r\n XCD: '$',\r\n XOF: 'CFA',\r\n XPF: '₣',\r\n XSU: 'Sucre',\r\n XUA: 'XUA',\r\n YER: '﷼',\r\n ZAR: 'R',\r\n ZMW: 'ZK',\r\n ZWD: 'Z$',\r\n ZWL: '$'\r\n};\r\n","export class FitGeneralUtil {\r\n\r\n public static randomString(_length: number = 10) {\r\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ';\r\n const stringLength = _length;\r\n let randomstring = '';\r\n for (let i = 0; i < stringLength; i++) {\r\n const rnum = Math.floor(Math.random() * chars.length);\r\n randomstring += chars.substring(rnum, rnum + 1);\r\n }\r\n return randomstring;\r\n }\r\n}\r\n","import {FormArray, FormControl, FormGroup} from '@angular/forms';\r\n\r\nexport class FitFormUtil {\r\n\r\n public static validateAllFormFields(formGroup: FormGroup): FormGroup {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n if (control.errors && control.errors['required']) {\r\n control.markAsDirty({onlySelf: true});\r\n control.markAsTouched({onlySelf: true});\r\n control.updateValueAndValidity();\r\n }\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n return formGroup;\r\n }\r\n\r\n public static validateFormArray(forms: FormArray): FormArray {\r\n forms.controls.forEach(form => {\r\n FitFormUtil.validateAllFormFields(form as FormGroup);\r\n });\r\n return forms;\r\n }\r\n\r\n public static validateField(control: FormControl): FormControl {\r\n if (control.errors && control.errors['required']) {\r\n control.markAsDirty({onlySelf: true});\r\n control.markAsTouched({onlySelf: true});\r\n control.updateValueAndValidity();\r\n }\r\n return control;\r\n }\r\n}\r\n","import * as moment from 'moment';\r\n\r\nexport class FitValidateUtil {\r\n\r\n public static toString(_value: any, _case: 'standar' | 'upper' | 'lower' = 'standar', _resInvalid = ''): string {\r\n if (_value && _value.toString().trim()) {\r\n if (_case === 'upper' || _case === 'lower') {\r\n return (_case === 'upper' ? _value.toString().trim().toUpperCase() : _value.toString().trim().toLowerCase());\r\n }\r\n return _value.toString().trim();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toNumber(_value: string | number, _resInvalid = null): number {\r\n if (_value && !!Number(_value)) {\r\n return Number(_value);\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toBoolean(_value: boolean, _resInvalid = false): boolean {\r\n if (_value !== undefined && _value !== null) {\r\n return _value;\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toDate(_value: any, _format = '', _resInvalid = null): Date {\r\n if (_value && moment(_value, _format).isValid()) {\r\n return moment(_value, _format).toDate();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toArray(_value: any, _resInvalid = []): Array<any> {\r\n if (_value instanceof Array) {\r\n return _value;\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static dateToString(_value: any, _format = '', _resInvalid = ''): string {\r\n if (_value && moment(_value).isValid()) {\r\n if (_format) {\r\n return moment(_value).format(_format);\r\n }\r\n return moment(_value).toISOString();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static charToBoolean(value: string, charYes = 'S'): boolean {\r\n return value === charYes;\r\n }\r\n\r\n public static booleanToBinary(value: boolean): number {\r\n return value ? 1 : 0;\r\n }\r\n\r\n public static booleanToChar(value: boolean, charYes: string | number = 'S', charNo: string | number = 'N'): string | number {\r\n return value ? charYes : charNo;\r\n }\r\n\r\n public static padStart(value: number | string, size: number) {\r\n let resp = `${value}`;\r\n while (resp.length < size) {\r\n resp = `0${resp}`;\r\n }\r\n return resp;\r\n }\r\n\r\n public static numberReduce(value: number): string {\r\n if (value >= 1000 && value <= 999999) {\r\n return `${Math.round(value / 1000)}K`;\r\n } else if (value >= 1000000) {\r\n return `${Math.round(value / 1000000)}M`;\r\n }\r\n return `${value}`;\r\n }\r\n}\r\n","// helper\nexport * from './fit-general.util';\nexport * from './fit-form.util';\nexport * from './fit-validate.util';\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitHover]'\r\n})\r\nexport class HoverDirective {\r\n @Input('fitHover') hover = '';\r\n\r\n constructor(private readonly elementRef: ElementRef) {\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.setHoverEffect();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.removeHoverEffect();\r\n }\r\n\r\n private setHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.add(_class);\r\n }\r\n }\r\n\r\n private removeHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.remove(_class);\r\n }\r\n }\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\nimport {FitRegexConst} from '../../constant/shared.const';\r\n\r\nexport type FitPattern = '' | 'number' | 'decimal' | 'percent' | 'alphabetical' | 'alphanumeric' | 'cell' | 'noSpaces';\r\n\r\n@Directive({\r\n selector: '[fitInput]'\r\n})\r\nexport class InputDirective {\r\n @Input('fitInput') input: FitPattern = '';\r\n @Input() space = false;\r\n\r\n private _regex: any = FitRegexConst;\r\n private _specialKeys = ['Backspace', 'Tab', 'Enter', 'Escape', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (!this.input) {\r\n return;\r\n }\r\n if (this._specialKeys.indexOf(event.key) !== -1\r\n || (event.keyCode === 65 && event.ctrlKey) // Allow: Ctrl+A\r\n || (event.keyCode === 67 && event.ctrlKey) // Allow: Ctrl+C\r\n || (event.keyCode === 86 && event.ctrlKey) // Allow: Ctrl+V\r\n || (event.keyCode === 88 && event.ctrlKey) // Allow: Ctrl+X\r\n ) {\r\n return;\r\n }\r\n\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n const input = this.space && (this.input === 'alphabetical' || this.input === 'alphanumeric') ? `${this.input}s` : this.input;\r\n if (next && !String(next).match(this._regex[input])) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import {Directive, HostListener, Output, EventEmitter, Input} from '@angular/core';\r\n\r\nexport type SE = {\r\n header: boolean,\r\n bottom: boolean\r\n};\r\n\r\ndeclare const window: Window;\r\n\r\n@Directive({\r\n selector: '[fitScroll]'\r\n})\r\n\r\nexport class ScrollDirective {\r\n @Output() public onScroll = new EventEmitter<SE>();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('scroll', ['$event'])\r\n public scrolled($event: Event) {\r\n this.elementSE($event);\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n public windowScrolled($event: Event) {\r\n this.windowSE($event);\r\n }\r\n\r\n protected windowSE($event: Event) {\r\n const target = <Document> $event.target;\r\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const header = scrollTop < 200;\r\n const bottom = scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n protected elementSE($event: Event) {\r\n const target = <HTMLElement> $event.target;\r\n const header = target.scrollTop < 200;\r\n const bottom = target.scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitSensitive]'\r\n})\r\nexport class SensitiveDirective {\r\n @Input('fitSensitive') caseType: 'upper' | 'lower' | '' = '';\r\n\r\n constructor(private _el: ElementRef) {\r\n }\r\n\r\n @HostListener('input', ['$event']) onKeyUp(event: any) {\r\n const value = event.target.value;\r\n if (this.caseType === 'upper') {\r\n event.target.value = value.toUpperCase();\r\n } else if (this.caseType === 'lower') {\r\n event.target.value = value.toLowerCase();\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, ElementRef, Input, Renderer2} from '@angular/core';\r\nimport {AbstractControl} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[fitControlError]'\r\n})\r\nexport class ControlErrorDirective implements AfterViewInit {\r\n private FORMAT = 'DD/MM/YYYY';\r\n private _control: AbstractControl | undefined;\r\n\r\n @Input() msgRequired = 'El campo es obligatorio';\r\n @Input() msgMinlength = 'Ingrese mínimo {requiredLength} caracteres';\r\n @Input() msgMaxlength = 'Ingrese máximo {requiredLength} caracteres';\r\n @Input() msgPattern = 'El formato del valor es inválido';\r\n @Input() msgInvalidDate = 'La fecha es inválida';\r\n @Input() msgMinDate = 'La fecha mínima es {minDate}';\r\n @Input() msgMaxDate = 'La fecha máxima es {maxDate}';\r\n\r\n @Input()\r\n set control(value: AbstractControl) {\r\n this._control = value;\r\n this._control.valueChanges.subscribe(() => {\r\n this.loadError();\r\n });\r\n }\r\n\r\n get control(): AbstractControl {\r\n return <AbstractControl>this._control;\r\n }\r\n\r\n constructor(private readonly _elementRef: ElementRef,\r\n private readonly render2: Renderer2) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.removeHtml();\r\n }\r\n\r\n private loadError() {\r\n if (this.control && (this.control.dirty || this.control.touched) && this.control.errors) {\r\n this.removeHtml();\r\n if (this.control.errors['required'] && !this.control.errors['matDatepickerParse']) {\r\n this.createHtml(this.msgRequired);\r\n } else if (this.control.errors['minlength']) {\r\n this.createHtml(this.msgMinlength.replace('{requiredLength}', this.control.errors['minlength'].requiredLength));\r\n } else if (this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgMaxlength.replace('{requiredLength}', this.control.errors['maxlength'].requiredLength));\r\n } else if (this.control.errors['pattern'] && !this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgPattern);\r\n } else if (this.control.errors['matDatepickerParse'] && this.control.errors['matDatepickerParse'].text) {\r\n this.createHtml(this.msgInvalidDate);\r\n } else if (this.control.errors['matDatepickerMin'] && this.control.errors['matDatepickerMin'].min) {\r\n const minDate = this.control.errors['matDatepickerMin'].min.format(this.FORMAT);\r\n this.createHtml(this.msgMinDate.replace('{minDate}', minDate));\r\n } else if (this.control.errors['matDatepickerMax'] && this.control.errors['matDatepickerMax'].max) {\r\n const maxDate = this.control.errors['matDatepickerMax'].max.format(this.FORMAT);\r\n this.createHtml(this.msgMaxDate.replace('{maxDate}', maxDate));\r\n }\r\n }\r\n }\r\n\r\n private removeHtml() {\r\n if (this._elementRef.nativeElement.firstChild) {\r\n this._elementRef.nativeElement.removeChild(this._elementRef.nativeElement.firstChild);\r\n }\r\n }\r\n\r\n private createHtml(message: string) {\r\n this.render2.setProperty(this._elementRef.nativeElement, 'innerHTML', message);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InputDirective} from './directives/input.directive';\r\nimport {SensitiveDirective} from './directives/sensitive.directive';\r\nimport {ControlErrorDirective} from './directives/control-error.directive';\r\nimport {ScrollDirective} from \"./directives/scroll.directive\";\r\nimport {HoverDirective} from './directives/hover.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n exports: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n providers: []\r\n})\r\nexport class FitDirectiveModule {\r\n}\r\n","// directives\nexport * from './directives/hover.directive';\nexport * from './directives/input.directive';\nexport * from './directives/scroll.directive';\nexport * from './directives/sensitive.directive';\nexport * from './directives/control-error.directive';\n\n// modules\nexport * from './fit-directive.module';\n","import {DecimalPipe} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {FitCurrencyConst, FitRegexConst} from '../../constant/shared.const';\n\n@Pipe({\n name: 'fitMoney'\n})\nexport class FitMoneyPipe implements PipeTransform {\n private _currency: any = FitCurrencyConst;\n private _defaultCurrency = 'PEN';\n private _defaultDecimal = 2;\n\n constructor(private readonly decimalPipe: DecimalPipe) {\n }\n\n transform(value: number | string, currency = this._defaultCurrency, decimal = this._defaultDecimal): string {\n const format = `.${decimal}-${decimal}`;\n if (value && `${value}`.match(FitRegexConst.decimal)) {\n return `${this._currency[currency]} ${this.decimalPipe.transform(Number(value), (format))}`;\n }\n return `${this._currency[currency]} ${this.decimalPipe.transform(0, (format))}`;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule, DecimalPipe} from '@angular/common';\nimport {FitMoneyPipe} from './pipes/fit-money.pipe';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n FitMoneyPipe\n ],\n exports: [\n FitMoneyPipe\n ],\n providers: [\n DecimalPipe\n ]\n})\nexport class FitPipeModule {\n}\n","// pipes\nexport * from './pipes/fit-money.pipe';\n\n// modules\nexport * from './fit-pipe.module';\n","import {Inject, Injectable} from '@angular/core';\r\nimport {BehaviorSubject, fromEvent, map, Observable} from 'rxjs';\r\n\r\nexport interface WindowSize {\r\n height: number;\r\n width: number;\r\n}\r\n\r\n@Injectable()\r\nexport class FitAdapteService {\r\n\r\n constructor(@Inject('windowObject') private window: Window) {\r\n fromEvent(window, 'resize').pipe(\r\n map(event => ({\r\n width: event.currentTarget['innerWidth'],\r\n height: event.currentTarget['innerHeight']\r\n }) as WindowSize)\r\n ).subscribe((windowSize) => {\r\n this.sizeChanged.next(windowSize);\r\n });\r\n }\r\n\r\n readonly sizeChanged = new BehaviorSubject<WindowSize>({\r\n width: this.window.innerWidth,\r\n height: this.window.innerHeight\r\n });\r\n}\r\n","import {Inject, Injectable, InjectionToken, PLATFORM_ID} from '@angular/core';\r\nimport {DOCUMENT, isPlatformBrowser} from '@angular/common';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class FitCookiesService {\r\n private readonly documentIsAccessible: boolean;\r\n\r\n constructor(@Inject(DOCUMENT) private document: any,\r\n @Inject(PLATFORM_ID) private platformId: InjectionToken<object>) {\r\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\r\n }\r\n\r\n check(name: string): boolean {\r\n if (!this.documentIsAccessible) {\r\n return false;\r\n }\r\n\r\n name = encodeURIComponent(name);\r\n\r\n const regExp: RegExp = this.getCookieRegExp(name);\r\n const exists: boolean = regExp.test(this.document.cookie);\r\n\r\n return exists;\r\n }\r\n\r\n get(name: string): string {\r\n if (this.documentIsAccessible && this.check(name)) {\r\n name = encodeURIComponent(name);\r\n\r\n const regExp: RegExp = this.getCookieRegExp(name);\r\n const result: RegExpExecArray = regExp.exec(this.document.cookie);\r\n\r\n return this.safeDecodeURIComponent(result[1]);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getAll(): { [key: string]: string } {\r\n if (!this.documentIsAccessible) {\r\n return {};\r\n }\r\n\r\n const cookies: { [key: string]: string } = {};\r\n const document: any = this.document;\r\n\r\n if (document.cookie && document.cookie !== '') {\r\n document.cookie.split(';').forEach((currentCookie) => {\r\n const [cookieName, cookieValue] = currentCookie.split('=');\r\n cookies[this.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] = this.safeDecodeURIComponent(cookieValue);\r\n });\r\n }\r\n\r\n return cookies;\r\n }\r\n\r\n set(name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n let cookieString: string = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\r\n\r\n if (expires) {\r\n if (typeof expires === 'number') {\r\n const dateExpires: Date = new Date(new Date().getTime() + expires * 1000 * 60 * 60 * 24);\r\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\r\n } else {\r\n cookieString += 'expires=' + expires.toUTCString() + ';';\r\n }\r\n }\r\n\r\n if (path) {\r\n cookieString += 'path=' + path + ';';\r\n }\r\n\r\n if (domain) {\r\n cookieString += 'domain=' + domain + ';';\r\n }\r\n\r\n if (secure === false && sameSite === 'None') {\r\n secure = true;\r\n }\r\n\r\n if (secure) {\r\n cookieString += 'secure;';\r\n }\r\n\r\n cookieString += 'sameSite=' + sameSite + ';';\r\n\r\n this.document.cookie = cookieString;\r\n }\r\n\r\n delete(name: string, path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n this.set(name, '', new Date('Thu, 01 Jan 1970 00:00:01 GMT'), path, domain, secure, sameSite);\r\n }\r\n\r\n deleteAll(path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n const cookies: any = this.getAll();\r\n\r\n for (const cookieName in cookies) {\r\n if (cookies.hasOwnProperty(cookieName)) {\r\n this.delete(cookieName, path, domain, secure, sameSite);\r\n }\r\n }\r\n }\r\n\r\n private getCookieRegExp(name: string): RegExp {\r\n const escapedName: string = name.replace(/([\\[\\]\\{\\}\\(\\)\\|\\=\\;\\+\\?\\,\\.\\*\\^\\$])/gi, '\\\\$1');\r\n\r\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\r\n }\r\n\r\n private safeDecodeURIComponent(encodedURIComponent: string): string {\r\n try {\r\n return decodeURIComponent(encodedURIComponent);\r\n } catch {\r\n return encodedURIComponent;\r\n }\r\n }\r\n}\r\n","// service\nexport * from './fit-adapte.service';\nexport * from './fit-cookies.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAAa,aAAa,GAAG;IAC3B,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,IAAI,MAAM,CAAC,yBAAyB,CAAC;IAC9C,OAAO,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC;IACpC,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,IAAI,MAAM,CAAC,6BAA6B,CAAC;IACvD,aAAa,EAAE,IAAI,MAAM,CAAC,8BAA8B,CAAC;IACzD,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC;EAChC;MAEW,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fitcoders-shared.mjs","sources":["../../../projects/shared/src/lib/constant/shared.const.ts","../../../projects/shared/src/lib/helper/fit-general.util.ts","../../../projects/shared/src/lib/helper/fit-form.util.ts","../../../projects/shared/src/lib/helper/fit-validate.util.ts","../../../projects/shared/src/lib/helper/helper-api.ts","../../../projects/shared/src/lib/directive/directives/hover.directive.ts","../../../projects/shared/src/lib/directive/directives/input.directive.ts","../../../projects/shared/src/lib/directive/directives/scroll.directive.ts","../../../projects/shared/src/lib/directive/directives/sensitive.directive.ts","../../../projects/shared/src/lib/directive/directives/control-error.directive.ts","../../../projects/shared/src/lib/directive/fit-directive.module.ts","../../../projects/shared/src/lib/directive/directive-api.ts","../../../projects/shared/src/lib/pipe/pipes/fit-money.pipe.ts","../../../projects/shared/src/lib/pipe/fit-pipe.module.ts","../../../projects/shared/src/lib/pipe/pipe-api.ts","../../../projects/shared/src/lib/service/fit-adapte.service.ts","../../../projects/shared/src/lib/service/fit-cookies.service.ts","../../../projects/shared/src/lib/service/service-api.ts","../../../projects/shared/src/fitcoders-shared.ts"],"sourcesContent":["export const FitRegexConst = {\r\n number: new RegExp(/^[0-9]\\d*$/),\r\n decimal: new RegExp(/^[0-9]+(\\.[0-9]*){0,1}$/),\r\n percent: new RegExp(/^[1-9][0-9]*$/),\r\n alphabetical: /^[a-zA-Z\\u00C0-\\u00FF]+$/,\r\n alphabeticals: /^[a-zA-Z\\u00C0-\\u00FF ]+$/,\r\n alphanumeric: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF]+$/),\r\n alphanumerics: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF ]+$/),\r\n cell: new RegExp(/^9[0-9]*$/),\r\n noSpaces: new RegExp(/^\\S*$/gmi)\r\n};\r\n\r\nexport const FitCurrencyConst = {\r\n AED: 'د.إ',\r\n AFN: '؋',\r\n ALL: 'L',\r\n AMD: '֏',\r\n ANG: 'ƒ',\r\n AOA: 'Kz',\r\n ARS: '$',\r\n AUD: '$',\r\n AWG: 'ƒ',\r\n AZN: '₼',\r\n BAM: 'KM',\r\n BBD: '$',\r\n BDT: '৳',\r\n BGN: 'лв',\r\n BHD: '.د.ب',\r\n BIF: 'FBu',\r\n BMD: '$',\r\n BND: '$',\r\n BOB: '$b',\r\n BOV: 'BOV',\r\n BRL: 'R$',\r\n BSD: '$',\r\n BTC: '₿',\r\n BTN: 'Nu.',\r\n BWP: 'P',\r\n BYN: 'Br',\r\n BYR: 'Br',\r\n BZD: 'BZ$',\r\n CAD: '$',\r\n CDF: 'FC',\r\n CHE: 'CHE',\r\n CHF: 'CHF',\r\n CHW: 'CHW',\r\n CLF: 'CLF',\r\n CLP: '$',\r\n CNY: '¥',\r\n COP: '$',\r\n COU: 'COU',\r\n CRC: '₡',\r\n CUC: '$',\r\n CUP: '₱',\r\n CVE: '$',\r\n CZK: 'Kč',\r\n DJF: 'Fdj',\r\n DKK: 'kr',\r\n DOP: 'RD$',\r\n DZD: 'دج',\r\n EEK: 'kr',\r\n EGP: '£',\r\n ERN: 'Nfk',\r\n ETB: 'Br',\r\n ETH: 'Ξ',\r\n EUR: '€',\r\n FJD: '$',\r\n FKP: '£',\r\n GBP: '£',\r\n GEL: '₾',\r\n GGP: '£',\r\n GHC: '₵',\r\n GHS: 'GH₵',\r\n GIP: '£',\r\n GMD: 'D',\r\n GNF: 'FG',\r\n GTQ: 'Q',\r\n GYD: '$',\r\n HKD: '$',\r\n HNL: 'L',\r\n HRK: 'kn',\r\n HTG: 'G',\r\n HUF: 'Ft',\r\n IDR: 'Rp',\r\n ILS: '₪',\r\n IMP: '£',\r\n INR: '₹',\r\n IQD: 'ع.د',\r\n IRR: '﷼',\r\n ISK: 'kr',\r\n JEP: '£',\r\n JMD: 'J$',\r\n JOD: 'JD',\r\n JPY: '¥',\r\n KES: 'KSh',\r\n KGS: 'лв',\r\n KHR: '៛',\r\n KMF: 'CF',\r\n KPW: '₩',\r\n KRW: '₩',\r\n KWD: 'KD',\r\n KYD: '$',\r\n KZT: '₸',\r\n LAK: '₭',\r\n LBP: '£',\r\n LKR: '₨',\r\n LRD: '$',\r\n LSL: 'M',\r\n LTC: 'Ł',\r\n LTL: 'Lt',\r\n LVL: 'Ls',\r\n LYD: 'LD',\r\n MAD: 'MAD',\r\n MDL: 'lei',\r\n MGA: 'Ar',\r\n MKD: 'ден',\r\n MMK: 'K',\r\n MNT: '₮',\r\n MOP: 'MOP$',\r\n MRO: 'UM',\r\n MRU: 'UM',\r\n MUR: '₨',\r\n MVR: 'Rf',\r\n MWK: 'MK',\r\n MXN: '$',\r\n MXV: 'MXV',\r\n MYR: 'RM',\r\n MZN: 'MT',\r\n NAD: '$',\r\n NGN: '₦',\r\n NIO: 'C$',\r\n NOK: 'kr',\r\n NPR: '₨',\r\n NZD: '$',\r\n OMR: '﷼',\r\n PAB: 'B/.',\r\n PEN: 'S/.',\r\n PGK: 'K',\r\n PHP: '₱',\r\n PKR: '₨',\r\n PLN: 'zł',\r\n PYG: 'Gs',\r\n QAR: '﷼',\r\n RMB: '¥',\r\n RON: 'lei',\r\n RSD: 'Дин.',\r\n RUB: '₽',\r\n RWF: 'R₣',\r\n SAR: '﷼',\r\n SBD: '$',\r\n SCR: '₨',\r\n SDG: 'ج.س.',\r\n SEK: 'kr',\r\n SGD: 'S$',\r\n SHP: '£',\r\n SLL: 'Le',\r\n SOS: 'S',\r\n SRD: '$',\r\n SSP: '£',\r\n STD: 'Db',\r\n STN: 'Db',\r\n SVC: '$',\r\n SYP: '£',\r\n SZL: 'E',\r\n THB: '฿',\r\n TJS: 'SM',\r\n TMT: 'T',\r\n TND: 'د.ت',\r\n TOP: 'T$',\r\n TRL: '₤',\r\n TRY: '₺',\r\n TTD: 'TT$',\r\n TVD: '$',\r\n TWD: 'NT$',\r\n TZS: 'TSh',\r\n UAH: '₴',\r\n UGX: 'USh',\r\n USD: '$',\r\n UYI: 'UYI',\r\n UYU: '$U',\r\n UYW: 'UYW',\r\n UZS: 'лв',\r\n VEF: 'Bs',\r\n VES: 'Bs.S',\r\n VND: '₫',\r\n VUV: 'VT',\r\n WST: 'WS$',\r\n XAF: 'FCFA',\r\n XBT: 'Ƀ',\r\n XCD: '$',\r\n XOF: 'CFA',\r\n XPF: '₣',\r\n XSU: 'Sucre',\r\n XUA: 'XUA',\r\n YER: '﷼',\r\n ZAR: 'R',\r\n ZMW: 'ZK',\r\n ZWD: 'Z$',\r\n ZWL: '$'\r\n};\r\n","export class FitGeneralUtil {\r\n\r\n public static randomString(_length: number = 10) {\r\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ';\r\n const stringLength = _length;\r\n let randomstring = '';\r\n for (let i = 0; i < stringLength; i++) {\r\n const rnum = Math.floor(Math.random() * chars.length);\r\n randomstring += chars.substring(rnum, rnum + 1);\r\n }\r\n return randomstring;\r\n }\r\n}\r\n","import {FormArray, FormControl, FormGroup} from '@angular/forms';\r\n\r\nexport class FitFormUtil {\r\n\r\n public static validateAllFormFields(formGroup: FormGroup): FormGroup {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n if (control.errors && control.errors['required']) {\r\n control.markAsDirty({onlySelf: true});\r\n control.markAsTouched({onlySelf: true});\r\n control.updateValueAndValidity();\r\n }\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n return formGroup;\r\n }\r\n\r\n public static validateFormArray(forms: FormArray): FormArray {\r\n forms.controls.forEach(form => {\r\n FitFormUtil.validateAllFormFields(form as FormGroup);\r\n });\r\n return forms;\r\n }\r\n\r\n public static validateField(control: FormControl): FormControl {\r\n if (control.errors && control.errors['required']) {\r\n control.markAsDirty({onlySelf: true});\r\n control.markAsTouched({onlySelf: true});\r\n control.updateValueAndValidity();\r\n }\r\n return control;\r\n }\r\n}\r\n","import * as moment from 'moment';\r\n\r\nexport class FitValidateUtil {\r\n\r\n public static toString(_value: any, _case: 'standar' | 'upper' | 'lower' = 'standar', _resInvalid = ''): string {\r\n if (_value && _value.toString().trim()) {\r\n if (_case === 'upper' || _case === 'lower') {\r\n return (_case === 'upper' ? _value.toString().trim().toUpperCase() : _value.toString().trim().toLowerCase());\r\n }\r\n return _value.toString().trim();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toNumber(_value: string | number, _resInvalid = null): number {\r\n if (_value && !!Number(_value)) {\r\n return Number(_value);\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toBoolean(_value: boolean, _resInvalid = false): boolean {\r\n if (_value !== undefined && _value !== null) {\r\n return _value;\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toDate(_value: any, _format = '', _resInvalid = null): Date {\r\n if (_value && moment(_value, _format).isValid()) {\r\n return moment(_value, _format).toDate();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static toArray(_value: any, _resInvalid = []): Array<any> {\r\n if (_value instanceof Array) {\r\n return _value;\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static dateToString(_value: any, _format = '', _resInvalid = ''): string {\r\n if (_value && moment(_value).isValid()) {\r\n if (_format) {\r\n return moment(_value).format(_format);\r\n }\r\n return moment(_value).toISOString();\r\n }\r\n return _resInvalid;\r\n }\r\n\r\n public static charToBoolean(value: string, charYes = 'S'): boolean {\r\n return value === charYes;\r\n }\r\n\r\n public static booleanToBinary(value: boolean): number {\r\n return value ? 1 : 0;\r\n }\r\n\r\n public static booleanToChar(value: boolean, charYes: string | number = 'S', charNo: string | number = 'N'): string | number {\r\n return value ? charYes : charNo;\r\n }\r\n\r\n public static padStart(value: number | string, size: number) {\r\n let resp = `${value}`;\r\n while (resp.length < size) {\r\n resp = `0${resp}`;\r\n }\r\n return resp;\r\n }\r\n\r\n public static numberReduce(value: number): string {\r\n if (value >= 1000 && value <= 999999) {\r\n return `${Math.round(value / 1000)}K`;\r\n } else if (value >= 1000000) {\r\n return `${Math.round(value / 1000000)}M`;\r\n }\r\n return `${value}`;\r\n }\r\n}\r\n","// helper\nexport * from './fit-general.util';\nexport * from './fit-form.util';\nexport * from './fit-validate.util';\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitHover]'\r\n})\r\nexport class HoverDirective {\r\n @Input('fitHover') hover = '';\r\n\r\n constructor(private readonly elementRef: ElementRef) {\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.setHoverEffect();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.removeHoverEffect();\r\n }\r\n\r\n private setHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.add(_class);\r\n }\r\n }\r\n\r\n private removeHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.remove(_class);\r\n }\r\n }\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\nimport {FitRegexConst} from '../../constant/shared.const';\r\n\r\nexport type FitPattern = '' | 'number' | 'decimal' | 'percent' | 'alphabetical' | 'alphanumeric' | 'cell' | 'noSpaces';\r\n\r\n@Directive({\r\n selector: '[fitInput]'\r\n})\r\nexport class InputDirective {\r\n @Input('fitInput') input: FitPattern = '';\r\n @Input() space = false;\r\n\r\n private _regex: any = FitRegexConst;\r\n private _specialKeys = ['Backspace', 'Tab', 'Enter', 'Escape', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (!this.input) {\r\n return;\r\n }\r\n if (this._specialKeys.indexOf(event.key) !== -1\r\n || (event.keyCode === 65 && event.ctrlKey) // Allow: Ctrl+A\r\n || (event.keyCode === 67 && event.ctrlKey) // Allow: Ctrl+C\r\n || (event.keyCode === 86 && event.ctrlKey) // Allow: Ctrl+V\r\n || (event.keyCode === 88 && event.ctrlKey) // Allow: Ctrl+X\r\n ) {\r\n return;\r\n }\r\n\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n const input = this.space && (this.input === 'alphabetical' || this.input === 'alphanumeric') ? `${this.input}s` : this.input;\r\n if (next && !String(next).match(this._regex[input])) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import {Directive, HostListener, Output, EventEmitter, Input} from '@angular/core';\r\n\r\nexport type SE = {\r\n header: boolean,\r\n bottom: boolean\r\n};\r\n\r\ndeclare const window: Window;\r\n\r\n@Directive({\r\n selector: '[fitScroll]'\r\n})\r\n\r\nexport class ScrollDirective {\r\n @Output() public onScroll = new EventEmitter<SE>();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('scroll', ['$event'])\r\n public scrolled($event: Event) {\r\n this.elementSE($event);\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n public windowScrolled($event: Event) {\r\n this.windowSE($event);\r\n }\r\n\r\n protected windowSE($event: Event) {\r\n const target = <Document> $event.target;\r\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const header = scrollTop < 200;\r\n const bottom = scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n protected elementSE($event: Event) {\r\n const target = <HTMLElement> $event.target;\r\n const header = target.scrollTop < 200;\r\n const bottom = target.scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitSensitive]'\r\n})\r\nexport class SensitiveDirective {\r\n @Input('fitSensitive') caseType: 'upper' | 'lower' | '' = '';\r\n\r\n constructor(private _el: ElementRef) {\r\n }\r\n\r\n @HostListener('input', ['$event']) onKeyUp(event: any) {\r\n const value = event.target.value;\r\n if (this.caseType === 'upper') {\r\n event.target.value = value.toUpperCase();\r\n } else if (this.caseType === 'lower') {\r\n event.target.value = value.toLowerCase();\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, ElementRef, Input, Renderer2} from '@angular/core';\r\nimport {AbstractControl} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[fitControlError]'\r\n})\r\nexport class ControlErrorDirective implements AfterViewInit {\r\n private FORMAT = 'DD/MM/YYYY';\r\n private _control: AbstractControl | undefined;\r\n\r\n @Input() msgRequired = 'El campo es obligatorio';\r\n @Input() msgMinlength = 'Ingrese mínimo {requiredLength} caracteres';\r\n @Input() msgMaxlength = 'Ingrese máximo {requiredLength} caracteres';\r\n @Input() msgPattern = 'El formato del valor es inválido';\r\n @Input() msgInvalidDate = 'La fecha es inválida';\r\n @Input() msgMinDate = 'La fecha mínima es {minDate}';\r\n @Input() msgMaxDate = 'La fecha máxima es {maxDate}';\r\n\r\n @Input()\r\n set control(value: AbstractControl) {\r\n this._control = value;\r\n this._control.valueChanges.subscribe(() => {\r\n this.loadError();\r\n });\r\n }\r\n\r\n get control(): AbstractControl {\r\n return <AbstractControl>this._control;\r\n }\r\n\r\n constructor(private readonly _elementRef: ElementRef,\r\n private readonly render2: Renderer2) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.removeHtml();\r\n }\r\n\r\n private loadError() {\r\n if (this.control && (this.control.dirty || this.control.touched) && this.control.errors) {\r\n this.removeHtml();\r\n if (this.control.errors['required'] && !this.control.errors['matDatepickerParse']) {\r\n this.createHtml(this.msgRequired);\r\n } else if (this.control.errors['minlength']) {\r\n this.createHtml(this.msgMinlength.replace('{requiredLength}', this.control.errors['minlength'].requiredLength));\r\n } else if (this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgMaxlength.replace('{requiredLength}', this.control.errors['maxlength'].requiredLength));\r\n } else if (this.control.errors['pattern'] && !this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgPattern);\r\n } else if (this.control.errors['matDatepickerParse'] && this.control.errors['matDatepickerParse'].text) {\r\n this.createHtml(this.msgInvalidDate);\r\n } else if (this.control.errors['matDatepickerMin'] && this.control.errors['matDatepickerMin'].min) {\r\n const minDate = this.control.errors['matDatepickerMin'].min.format(this.FORMAT);\r\n this.createHtml(this.msgMinDate.replace('{minDate}', minDate));\r\n } else if (this.control.errors['matDatepickerMax'] && this.control.errors['matDatepickerMax'].max) {\r\n const maxDate = this.control.errors['matDatepickerMax'].max.format(this.FORMAT);\r\n this.createHtml(this.msgMaxDate.replace('{maxDate}', maxDate));\r\n }\r\n }\r\n }\r\n\r\n private removeHtml() {\r\n if (this._elementRef.nativeElement.firstChild) {\r\n this._elementRef.nativeElement.removeChild(this._elementRef.nativeElement.firstChild);\r\n }\r\n }\r\n\r\n private createHtml(message: string) {\r\n this.render2.setProperty(this._elementRef.nativeElement, 'innerHTML', message);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InputDirective} from './directives/input.directive';\r\nimport {SensitiveDirective} from './directives/sensitive.directive';\r\nimport {ControlErrorDirective} from './directives/control-error.directive';\r\nimport {ScrollDirective} from \"./directives/scroll.directive\";\r\nimport {HoverDirective} from './directives/hover.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n exports: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n providers: []\r\n})\r\nexport class FitDirectiveModule {\r\n}\r\n","// directives\nexport * from './directives/hover.directive';\nexport * from './directives/input.directive';\nexport * from './directives/scroll.directive';\nexport * from './directives/sensitive.directive';\nexport * from './directives/control-error.directive';\n\n// modules\nexport * from './fit-directive.module';\n","import {DecimalPipe} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {FitCurrencyConst, FitRegexConst} from '../../constant/shared.const';\n\n@Pipe({\n name: 'fitMoney'\n})\nexport class FitMoneyPipe implements PipeTransform {\n private _currency: any = FitCurrencyConst;\n private _defaultCurrency = 'PEN';\n private _defaultDecimal = 2;\n\n constructor(private readonly decimalPipe: DecimalPipe) {\n }\n\n transform(value: number | string, currency = this._defaultCurrency, decimal = this._defaultDecimal): string {\n const format = `.${decimal}-${decimal}`;\n if (value && `${value}`.match(FitRegexConst.decimal)) {\n return `${this._currency[currency]} ${this.decimalPipe.transform(Number(value), (format))}`;\n }\n return `${this._currency[currency]} ${this.decimalPipe.transform(0, (format))}`;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule, DecimalPipe} from '@angular/common';\nimport {FitMoneyPipe} from './pipes/fit-money.pipe';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n FitMoneyPipe\n ],\n exports: [\n FitMoneyPipe\n ],\n providers: [\n DecimalPipe\n ]\n})\nexport class FitPipeModule {\n}\n","// pipes\nexport * from './pipes/fit-money.pipe';\n\n// modules\nexport * from './fit-pipe.module';\n","import {Inject, Injectable} from '@angular/core';\r\nimport {BehaviorSubject, fromEvent, map, Observable} from 'rxjs';\r\n\r\nexport interface WindowSize {\r\n height: number;\r\n width: number;\r\n}\r\n\r\n@Injectable()\r\nexport class FitAdapteService {\r\n\r\n constructor(@Inject('windowObject') private window: Window) {\r\n fromEvent(window, 'resize').pipe(\r\n map(event => ({\r\n width: event.currentTarget['innerWidth'],\r\n height: event.currentTarget['innerHeight']\r\n }) as WindowSize)\r\n ).subscribe((windowSize) => {\r\n this.sizeChanged.next(windowSize);\r\n });\r\n }\r\n\r\n readonly sizeChanged = new BehaviorSubject<WindowSize>({\r\n width: this.window.innerWidth,\r\n height: this.window.innerHeight\r\n });\r\n}\r\n","import {Inject, Injectable, InjectionToken, PLATFORM_ID} from '@angular/core';\r\nimport {DOCUMENT, isPlatformBrowser} from '@angular/common';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class FitCookiesService {\r\n private readonly documentIsAccessible: boolean;\r\n\r\n constructor(@Inject(DOCUMENT) private document: any,\r\n @Inject(PLATFORM_ID) private platformId: InjectionToken<object>) {\r\n this.documentIsAccessible = isPlatformBrowser(this.platformId);\r\n }\r\n\r\n check(name: string): boolean {\r\n if (!this.documentIsAccessible) {\r\n return false;\r\n }\r\n\r\n name = encodeURIComponent(name);\r\n\r\n const regExp: RegExp = this.getCookieRegExp(name);\r\n const exists: boolean = regExp.test(this.document.cookie);\r\n\r\n return exists;\r\n }\r\n\r\n get(name: string): string {\r\n if (this.documentIsAccessible && this.check(name)) {\r\n name = encodeURIComponent(name);\r\n\r\n const regExp: RegExp = this.getCookieRegExp(name);\r\n const result: RegExpExecArray = regExp.exec(this.document.cookie);\r\n\r\n return this.safeDecodeURIComponent(result[1]);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getAll(): { [key: string]: string } {\r\n if (!this.documentIsAccessible) {\r\n return {};\r\n }\r\n\r\n const cookies: { [key: string]: string } = {};\r\n const document: any = this.document;\r\n\r\n if (document.cookie && document.cookie !== '') {\r\n document.cookie.split(';').forEach((currentCookie) => {\r\n const [cookieName, cookieValue] = currentCookie.split('=');\r\n cookies[this.safeDecodeURIComponent(cookieName.replace(/^ /, ''))] = this.safeDecodeURIComponent(cookieValue);\r\n });\r\n }\r\n\r\n return cookies;\r\n }\r\n\r\n set(name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n let cookieString: string = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';';\r\n\r\n if (expires) {\r\n if (typeof expires === 'number') {\r\n const dateExpires: Date = new Date(new Date().getTime() + expires * 1000 * 60 * 60 * 24);\r\n cookieString += 'expires=' + dateExpires.toUTCString() + ';';\r\n } else {\r\n cookieString += 'expires=' + expires.toUTCString() + ';';\r\n }\r\n }\r\n\r\n if (path) {\r\n cookieString += 'path=' + path + ';';\r\n }\r\n\r\n if (domain) {\r\n cookieString += 'domain=' + domain + ';';\r\n }\r\n\r\n if (secure === false && sameSite === 'None') {\r\n secure = true;\r\n }\r\n\r\n if (secure) {\r\n cookieString += 'secure;';\r\n }\r\n\r\n cookieString += 'sameSite=' + sameSite + ';';\r\n\r\n this.document.cookie = cookieString;\r\n }\r\n\r\n delete(name: string, path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n this.set(name, '', new Date('Thu, 01 Jan 1970 00:00:01 GMT'), path, domain, secure, sameSite);\r\n }\r\n\r\n deleteAll(path?: string, domain?: string, secure?: boolean, sameSite: 'Lax' | 'None' | 'Strict' = 'Lax'): void {\r\n if (!this.documentIsAccessible) {\r\n return;\r\n }\r\n\r\n const cookies: any = this.getAll();\r\n\r\n for (const cookieName in cookies) {\r\n if (cookies.hasOwnProperty(cookieName)) {\r\n this.delete(cookieName, path, domain, secure, sameSite);\r\n }\r\n }\r\n }\r\n\r\n private getCookieRegExp(name: string): RegExp {\r\n const escapedName: string = name.replace(/([\\[\\]\\{\\}\\(\\)\\|\\=\\;\\+\\?\\,\\.\\*\\^\\$])/gi, '\\\\$1');\r\n\r\n return new RegExp('(?:^' + escapedName + '|;\\\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');\r\n }\r\n\r\n private safeDecodeURIComponent(encodedURIComponent: string): string {\r\n try {\r\n return decodeURIComponent(encodedURIComponent);\r\n } catch {\r\n return encodedURIComponent;\r\n }\r\n }\r\n}\r\n","// service\nexport * from './fit-adapte.service';\nexport * from './fit-cookies.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAAa,aAAa,GAAG;IAC3B,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,IAAI,MAAM,CAAC,yBAAyB,CAAC;IAC9C,OAAO,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC;IACpC,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,IAAI,MAAM,CAAC,6BAA6B,CAAC;IACvD,aAAa,EAAE,IAAI,MAAM,CAAC,8BAA8B,CAAC;IACzD,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC;EAChC;MAEW,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;;;MCtMG,cAAc;IAElB,OAAO,YAAY,CAAC,UAAkB,EAAE;QAC7C,MAAM,KAAK,GAAG,sCAAsC,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC;QAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;SACjD;QACD,OAAO,YAAY,CAAC;KACrB;;;MCTU,WAAW;IAEf,OAAO,qBAAqB,CAAC,SAAoB;QACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK;YAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,YAAY,WAAW,EAAE;gBAClC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAChD,OAAO,CAAC,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,aAAa,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;oBACxC,OAAO,CAAC,sBAAsB,EAAE,CAAC;iBAClC;aACF;iBAAM,IAAI,OAAO,YAAY,SAAS,EAAE;gBACvC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACrC;SACF,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;KAClB;IAEM,OAAO,iBAAiB,CAAC,KAAgB;QAC9C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;YACzB,WAAW,CAAC,qBAAqB,CAAC,IAAiB,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;IAEM,OAAO,aAAa,CAAC,OAAoB;QAC9C,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAChD,OAAO,CAAC,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;YACtC,OAAO,CAAC,aAAa,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;YACxC,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;QACD,OAAO,OAAO,CAAC;KAChB;;;MChCU,eAAe;IAEnB,OAAO,QAAQ,CAAC,MAAW,EAAE,QAAuC,SAAS,EAAE,WAAW,GAAG,EAAE;QACpG,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE;gBAC1C,QAAQ,KAAK,KAAK,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;aAC9G;YACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;SACjC;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,QAAQ,CAAC,MAAuB,EAAE,WAAW,GAAG,IAAI;QAChE,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;SACvB;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,SAAS,CAAC,MAAe,EAAE,WAAW,GAAG,KAAK;QAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE;YAC3C,OAAO,MAAM,CAAC;SACf;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,MAAM,CAAC,MAAW,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,GAAG,IAAI;QAChE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/C,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;SACzC;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,OAAO,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACjD,IAAI,MAAM,YAAY,KAAK,EAAE;YAC3B,OAAO,MAAM,CAAC;SACf;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,YAAY,CAAC,MAAW,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE;QACpE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,OAAO,EAAE;gBACX,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;KACpB;IAEM,OAAO,aAAa,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG;QACtD,OAAO,KAAK,KAAK,OAAO,CAAC;KAC1B;IAEM,OAAO,eAAe,CAAC,KAAc;QAC1C,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;KACtB;IAEM,OAAO,aAAa,CAAC,KAAc,EAAE,UAA2B,GAAG,EAAE,SAA0B,GAAG;QACvG,OAAO,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;KACjC;IAEM,OAAO,QAAQ,CAAC,KAAsB,EAAE,IAAY;QACzD,IAAI,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE;YACzB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;KACb;IAEM,OAAO,YAAY,CAAC,KAAa;QACtC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE;YACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;SACvC;aAAM,IAAI,KAAK,IAAI,OAAO,EAAE;YAC3B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;SAC1C;QACD,OAAO,GAAG,KAAK,EAAE,CAAC;KACnB;;;AC/EH;;MCKa,cAAc;IAGzB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAFhC,UAAK,GAAG,EAAE,CAAC;KAG7B;IAE2B,YAAY;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAE2B,YAAY;QACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAEO,cAAc;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrD;KACF;IAEO,iBAAiB;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACxD;KACF;;2GAxBU,cAAc;+FAAd,cAAc;2FAAd,cAAc;kBAH1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,YAAY;iBACvB;iGAEoB,KAAK;sBAAvB,KAAK;uBAAC,UAAU;gBAKW,YAAY;sBAAvC,YAAY;uBAAC,YAAY;gBAIE,YAAY;sBAAvC,YAAY;uBAAC,YAAY;;;MCPf,cAAc;IAOzB,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QANf,UAAK,GAAe,EAAE,CAAC;QACjC,UAAK,GAAG,KAAK,CAAC;QAEf,WAAM,GAAQ,aAAa,CAAC;QAC5B,iBAAY,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;KAGlH;IAGD,SAAS,CAAC,KAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBACtC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBACtC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBACtC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;UAC1C;YACA,OAAO;SACR;QAED,MAAM,OAAO,GAAW,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;QACpD,MAAM,IAAI,GAAW,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7H,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;KACF;;2GA9BU,cAAc;+FAAd,cAAc;2FAAd,cAAc;kBAH1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,YAAY;iBACvB;iGAEoB,KAAK;sBAAvB,KAAK;uBAAC,UAAU;gBACR,KAAK;sBAAb,KAAK;gBASN,SAAS;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCLxB,eAAe;IAG1B;QAFiB,aAAQ,GAAG,IAAI,YAAY,EAAM,CAAC;KAGlD;IAGM,QAAQ,CAAC,MAAa;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACxB;IAGM,cAAc,CAAC,MAAa;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACvB;IAES,QAAQ,CAAC,MAAa;QAC9B,MAAM,MAAM,GAAc,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;QAC/B,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;QAC/B,MAAM,OAAO,GAAO,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;IAES,SAAS,CAAC,MAAa;QAC/B,MAAM,MAAM,GAAiB,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QACtC,MAAM,OAAO,GAAO,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;;4GA/BU,eAAe;gGAAf,eAAe;2FAAf,eAAe;kBAJ3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;iBACxB;0EAGkB,QAAQ;sBAAxB,MAAM;gBAMA,QAAQ;sBADd,YAAY;uBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBAM3B,cAAc;sBADpB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;MCnB9B,kBAAkB;IAG7B,YAAoB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAFZ,aAAQ,GAA2B,EAAE,CAAC;KAG5D;IAEkC,OAAO,CAAC,KAAU;QACnD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;SAC1C;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;YACpC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;SAC1C;KACF;;+GAbU,kBAAkB;mGAAlB,kBAAkB;2FAAlB,kBAAkB;kBAH9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;iGAEwB,QAAQ;sBAA9B,KAAK;uBAAC,cAAc;gBAKc,OAAO;sBAAzC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MCLtB,qBAAqB;IAwBhC,YAA6B,WAAuB,EACvB,OAAkB;QADlB,gBAAW,GAAX,WAAW,CAAY;QACvB,YAAO,GAAP,OAAO,CAAW;QAxBvC,WAAM,GAAG,YAAY,CAAC;QAGrB,gBAAW,GAAG,yBAAyB,CAAC;QACxC,iBAAY,GAAG,4CAA4C,CAAC;QAC5D,iBAAY,GAAG,4CAA4C,CAAC;QAC5D,eAAU,GAAG,kCAAkC,CAAC;QAChD,mBAAc,GAAG,sBAAsB,CAAC;QACxC,eAAU,GAAG,8BAA8B,CAAC;QAC5C,eAAU,GAAG,8BAA8B,CAAC;KAgBpD;IAdD,IACI,OAAO,CAAC,KAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,OAAO;QACT,OAAwB,IAAI,CAAC,QAAQ,CAAC;KACvC;IAMD,eAAe;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvF,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;gBACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACnC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACjH;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;aACjH;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBACnH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE;gBACtG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACtC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACjG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;aAChE;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;gBACjG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;aAChE;SACF;KACF;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE;YAC7C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACvF;KACF;IAEO,UAAU,CAAC,OAAe;QAChC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KAChF;;kHA/DU,qBAAqB;sGAArB,qBAAqB;2FAArB,qBAAqB;kBAHjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,mBAAmB;iBAC9B;yHAKU,WAAW;sBAAnB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,cAAc;sBAAtB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBAGF,OAAO;sBADV,KAAK;;;MCUK,kBAAkB;;+GAAlB,kBAAkB;gHAAlB,kBAAkB,iBAf3B,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,cAAc,aAPd,YAAY,aAUZ,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,eAAe;QACf,cAAc;gHAIL,kBAAkB,aAFlB,EAAE,YAjBJ;YACP,YAAY;SACb;2FAiBU,kBAAkB;kBApB9B,QAAQ;mBAAC;oBACR,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,YAAY,EAAE;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,qBAAqB;wBACrB,eAAe;wBACf,cAAc;qBACf;oBACD,OAAO,EAAE;wBACP,cAAc;wBACd,kBAAkB;wBAClB,qBAAqB;wBACrB,eAAe;wBACf,cAAc;qBACf;oBACD,SAAS,EAAE,EAAE;iBACd;;;AC3BD;;MCOa,YAAY;IAKvB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAJ7C,cAAS,GAAQ,gBAAgB,CAAC;QAClC,qBAAgB,GAAG,KAAK,CAAC;QACzB,oBAAe,GAAG,CAAC,CAAC;KAG3B;IAED,SAAS,CAAC,KAAsB,EAAE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;QAChG,MAAM,MAAM,GAAG,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACxC,IAAI,KAAK,IAAI,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YACpD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC;SAC7F;QACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC;KACjF;;yGAdU,YAAY;uGAAZ,YAAY;2FAAZ,YAAY;kBAHxB,IAAI;mBAAC;oBACJ,IAAI,EAAE,UAAU;iBACjB;;;MCYY,aAAa;;0GAAb,aAAa;2GAAb,aAAa,iBATtB,YAAY,aAHZ,YAAY,aAMZ,YAAY;2GAMH,aAAa,aAJb;QACT,WAAW;KACZ,YAXQ;YACP,YAAY;SACb;2FAWU,aAAa;kBAdzB,QAAQ;mBAAC;oBACR,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,YAAY,EAAE;wBACZ,YAAY;qBACb;oBACD,OAAO,EAAE;wBACP,YAAY;qBACb;oBACD,SAAS,EAAE;wBACT,WAAW;qBACZ;iBACF;;;ACjBD;;MCSa,gBAAgB;IAE3B,YAA4C,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAWjD,gBAAW,GAAG,IAAI,eAAe,CAAa;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QAbD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC9B,GAAG,CAAC,KAAK,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC;YACxC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;SAC3C,CAAe,CAAC,CAClB,CAAC,SAAS,CAAC,CAAC,UAAU;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACnC,CAAC,CAAC;KACJ;;6GAXU,gBAAgB,kBAEP,cAAc;iHAFvB,gBAAgB;2FAAhB,gBAAgB;kBAD5B,UAAU;0DAG2C,MAAM;0BAA7C,MAAM;2BAAC,cAAc;;;MCPvB,iBAAiB;IAG5B,YAAsC,QAAa,EACV,UAAkC;QADrC,aAAQ,GAAR,QAAQ,CAAK;QACV,eAAU,GAAV,UAAU,CAAwB;QACzE,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAChE;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC;KACf;IAED,GAAG,CAAC,IAAY;QACd,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAElE,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QAED,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAQ,IAAI,CAAC,QAAQ,CAAC;QAEpC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE;YAC7C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa;gBAC/C,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;aAC/G,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;KAChB;IAED,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAuB,EAAE,IAAa,EAAE,MAAe,EAAE,MAAgB,EAAE,WAAsC,KAAK;QACrJ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO;SACR;QAED,IAAI,YAAY,GAAW,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAE5F,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,MAAM,WAAW,GAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzF,YAAY,IAAI,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;aAC9D;iBAAM;gBACL,YAAY,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;aAC1D;SACF;QAED,IAAI,IAAI,EAAE;YACR,YAAY,IAAI,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC;SACtC;QAED,IAAI,MAAM,EAAE;YACV,YAAY,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;SAC1C;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,EAAE;YAC3C,MAAM,GAAG,IAAI,CAAC;SACf;QAED,IAAI,MAAM,EAAE;YACV,YAAY,IAAI,SAAS,CAAC;SAC3B;QAED,YAAY,IAAI,WAAW,GAAG,QAAQ,GAAG,GAAG,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;KACrC;IAED,MAAM,CAAC,IAAY,EAAE,IAAa,EAAE,MAAe,EAAE,MAAgB,EAAE,WAAsC,KAAK;QAChH,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO;SACR;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC/F;IAED,SAAS,CAAC,IAAa,EAAE,MAAe,EAAE,MAAgB,EAAE,WAAsC,KAAK;QACrG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAEnC,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;YAChC,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBACtC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;aACzD;SACF;KACF;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,WAAW,GAAW,IAAI,CAAC,OAAO,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;QAE3F,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAC;KAC1F;IAEO,sBAAsB,CAAC,mBAA2B;QACxD,IAAI;YACF,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;SAChD;QAAC,MAAM;YACN,OAAO,mBAAmB,CAAC;SAC5B;KACF;;8GA3HU,iBAAiB,kBAGR,QAAQ,aACR,WAAW;kHAJpB,iBAAiB,cADL,MAAM;2FAClB,iBAAiB;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;0BAIjB,MAAM;2BAAC,QAAQ;;0BACf,MAAM;2BAAC,WAAW;;;ACRjC;;ACAA;;;;;;"}