bx-rest 0.0.21 → 0.0.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"bx-rest.mjs","sources":["../../../projects/bx-rest/src/rest.ts","../../../projects/bx-rest/src/public-api.ts","../../../projects/bx-rest/src/bx-rest.ts"],"sourcesContent":["// import { Injectable } from '@angular/core'\r\nimport { BXRestUser } from './request/user'\r\nimport BXRestLists from './request/lists'\r\n// import { Observable } from 'rxjs'\r\n// import BXRestListsElementMap from './map/lists/element'\r\n// import { map } from 'rxjs/operators'\r\n// import { mapResult } from './functions/mapResult'\r\n\r\n\r\nexport class BXRest {\r\n constructor(\r\n public user: BXRestUser,\r\n public lists: BXRestLists\r\n ) {\r\n }\r\n}\r\n\r\n// @Injectable({\r\n// providedIn: 'root'\r\n// })\r\n// export class BXRest extends new Proxy(BXRestBase, {\r\n// get(target, prop, receiver) {\r\n// const res = Reflect.get(target, prop, receiver)\r\n// console.log('res', res)\r\n// if (res in Observable) {\r\n// let mapRes = new BXRestListsElementMap()\r\n// console.log('res', res)\r\n// return Reflect.get(target, prop, receiver).pipe(\r\n// // @ts-ignore\r\n// map(v => (v && v.result)\r\n// // @ts-ignore\r\n// ? Object.assign(v, {result: v.result.map(i => mapRes.get(i))})\r\n// : undefined\r\n// ),\r\n// // @ts-ignore\r\n// map(v => mapResult(v))\r\n// )\r\n// }\r\n// return res\r\n// }\r\n// }) {\r\n// }\r\n","/*\n * Public API Surface of bx-rest\n */\n\nexport { BXRest } from './rest'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAGA;AACA;AACA;AACA;MAGa,MAAM,CAAA;IACjB,WACS,CAAA,IAAgB,EAChB,KAAkB,EAAA;QADlB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;KAE1B;AACF,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"bx-rest.mjs","sources":["../../../projects/bx-rest/src/consts/part-name-metods.ts","../../../projects/bx-rest/src/request/bx-rest.module.ts","../../../projects/bx-rest/src/services/snack-bar/toast-message/toast-message.component.ts","../../../projects/bx-rest/src/services/snack-bar/toast-message/toast-message.component.html","../../../projects/bx-rest/src/services/snack-bar/snack-bar.service.ts","../../../projects/bx-rest/src/functions/serializeJavascript.ts","../../../projects/bx-rest/src/services/vanilla/JSON.ts","../../../projects/bx-rest/src/services/vanilla/сookies.ts","../../../projects/bx-rest/src/store/auth.ts","../../../projects/bx-rest/src/consts/time.ts","../../../projects/bx-rest/src/services/base.ts","../../../projects/bx-rest/src/services/vanilla/localStorage.ts","../../../projects/bx-rest/src/typification/rest/api-lib.ts","../../../projects/bx-rest/src/services/http/sessionKey.ts","../../../projects/bx-rest/src/services/http/HttpData.ts","../../../projects/bx-rest/src/services/http/base/base.ts","../../../projects/bx-rest/src/services/http/base/http.ts","../../../projects/bx-rest/src/services/http/http.ts","../../../projects/bx-rest/src/services/http/HttpBX.ts","../../../projects/bx-rest/src/map/base.ts","../../../projects/bx-rest/src/map/lists/element.ts","../../../projects/bx-rest/src/request/lists/element.ts","../../../projects/bx-rest/src/request/lists.ts","../../../projects/bx-rest/src/store/users.ts","../../../projects/bx-rest/src/services/map/base.ts","../../../projects/bx-rest/src/services/map/rest/user.ts","../../../projects/bx-rest/src/request/user.ts","../../../projects/bx-rest/src/rest.ts","../../../projects/bx-rest/src/public-api.ts","../../../projects/bx-rest/src/bx-rest.ts"],"sourcesContent":["export const $get = 'get'\r\nexport const $add = 'add'\r\nexport const $set = 'set'\r\nexport const $event = 'event'\r\nexport const $update = 'update'\r\nexport const $user = 'user'\r\nexport const $task = 'task'\r\nexport const $calendar = 'calendar'\r\nexport const $meeting = 'meeting'\r\nexport const $list = 'list'\r\nexport const $search = 'search'\r\nexport const $accessibility = 'accessibility'\r\nexport const $delete = 'delete'\r\nexport const $nearest = 'nearest'\r\nexport const $params = 'params'\r\nexport const $status = 'status'\r\nexport const $resource = 'resource'\r\nexport const $booking = 'booking'\r\nexport const $section = 'section'\r\nexport const $settings = 'settings'\r\nexport const $tasks = 'tasks'\r\nexport const $elapseditem = 'elapseditem'\r\nexport const $getlist = 'getlist'\r\nexport const $approve = 'approve'\r\nexport const $complete = 'complete'\r\nexport const $counters = 'counters'\r\nexport const $deger = 'deger'\r\nexport const $delegate = 'delegate'\r\nexport const $disapprove = 'disapprove'\r\nexport const $favorite = 'favorite'\r\nexport const $files = 'files'\r\nexport const $file = 'file'\r\nexport const $attach = 'attach'\r\nexport const $field = 'field'\r\nexport const $getFields = 'get' + $field + 's'\r\nexport const $getaccess = 'getaccess'\r\nexport const $history = 'history'\r\nexport const $pause = 'pause'\r\nexport const $renew = 'renew'\r\nexport const $start = 'start'\r\nexport const $result = 'result'\r\nexport const $planner = 'planner'\r\nexport const $disk = 'disk'\r\nexport const $rename = 'rename'\r\nexport const $markdeleted = 'markdeleted'\r\nexport const $restore = 'restore'\r\nexport const $folder = 'folder'\r\nexport const $getchildren = 'getchildren'\r\nexport const $copyto = 'copyto'\r\nexport const $moveto = 'moveto'\r\nexport const $uploadfile = 'uploadfile'\r\nexport const $storage = 'storage'\r\nexport const $getTypes = 'getTypes'\r\nexport const $stages = 'stages'\r\nexport const $getmanifest = 'getmanifest'\r\nexport const $isactionallowed = 'isactionallowed'\r\nexport const $commentitem = 'commentitem'\r\nexport const $department = 'department'\r\nexport const $sonet_group = 'sonet_group'\r\nexport const $create = 'create'\r\nexport const $feature = 'feature'\r\nexport const $access = 'access'\r\nexport const $request = 'request'\r\nexport const $socialnetwork = 'socialnetwork'\r\nexport const $api = 'api'\r\nexport const $workgroup = 'workgroup'\r\nexport const $log = 'log'\r\nexport const $blogpost = 'blogpost'\r\nexport const $lists = 'lists'\r\nexport const $iblock = 'iblock'\r\nexport const $type = 'type'\r\nexport const $id = 'id'\r\nexport const $element = 'element'\r\nexport const $url = 'url'\r\n","import { NgModule } from '@angular/core'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatButtonModule } from '@angular/material/button'\n\n@NgModule({\n declarations: [\n ],\n imports: [\n MatIconModule,\n MatButtonModule\n ],\n exports: [\n MatButtonModule,\n MatIconModule\n ]\n})\nexport class BxRestModule { }\n","import { Component, inject, Inject, ViewEncapsulation } from '@angular/core'\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar'\nimport { BxRestModule } from '../../../request/bx-rest.module'\n\n@Component({\n selector: 'app-view',\n templateUrl: './toast-message.component.html',\n styleUrls: ['./toast-message.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BxRestModule],\n})\nexport class ToastMessageComponent {\n\n snackBarRef = inject(MatSnackBarRef)\n\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: { message: string, type: 'error' | 'warning' | 'success' }) {\n }\n\n getClass():string{\n switch (this.data.type){\n case 'error':\n case 'warning':\n case 'success':\n return this.data.type + '-message';\n }\n return '';\n }\n}\n","<div class=\"w-100 d-flex\">\n <span matSnackBarLabel [class]=\"getClass()\">\n {{ data.message }}\n</span>\n <span matSnackBarActions [class]=\"getClass()\">\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n</span>\n</div>\n\n","/**\n * Сервис для вывода сообщений пользователю\n * TODO: логирование\n */\nimport { Injectable } from '@angular/core'\nimport { ToastMessageComponent } from '../../services/snack-bar/toast-message/toast-message.component'\nimport { MatSnackBar } from '@angular/material/snack-bar'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class SnackBarService {\n\n constructor(private snackBar: MatSnackBar) {\n }\n\n error(message: string, sec = 12): void {\n this.standardMessage(message, sec, 'error')\n }\n\n warning(message: string, sec = 7): void {\n this.standardMessage(message, sec, 'warning');\n }\n\n success(message: string, sec = 7): void {\n this.standardMessage(message, sec, 'success');\n }\n\n standardMessage(message: string, sec = 5, name = 'error'): void{\n this.snackBar.open(message);\n this.snackBar.openFromComponent(ToastMessageComponent, {\n duration: sec * 1000,\n data: {\n message: message,\n type: name\n },\n panelClass: name + '-box'\n });\n }\n}\n","// Generate an internal UID to make the regexp pattern harder to guess.\nconst UID_LENGTH = 16;\nconst UID = generateUID();\nconst PLACE_HOLDER_REGEXP = new RegExp('(\\\\\\\\)?\"@__(F|R|D|M|S|A|U|I|B|L)-' + UID + '-(\\\\d+)__@\"', 'g');\n\nconst IS_NATIVE_CODE_REGEXP = /\\{\\s*\\[native code]\\s*}/g;\nconst IS_PURE_FUNCTION = /function.*?\\(/;\nconst IS_ARROW_FUNCTION = /.*?=>.*?/;\nconst UNSAFE_CHARS_REGEXP = /[<>\\/\\u2028\\u2029]/g;\n\nconst RESERVED_SYMBOLS = ['*', 'async'];\n\n// Mapping of unsafe HTML and invalid JavaScript line terminator chars to their\n// Unicode char counterparts which are safe to use in JavaScript strings.\nconst ESCAPED_CHARS: {[key: string]: string} = {\n '<': '\\\\u003C',\n '>': '\\\\u003E',\n '/': '\\\\u002F',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029'\n};\n\nfunction escapeUnsafeChars(unsafeChar: string): string {\n return (ESCAPED_CHARS.hasOwnProperty(unsafeChar)) ? ESCAPED_CHARS[unsafeChar] : '';\n}\n\nfunction generateUID() {\n let bytes = window.crypto.getRandomValues(new Uint32Array(UID_LENGTH))\n let result = '';\n for (let i = 0; i < UID_LENGTH; ++i) {\n result += bytes[i].toString(16);\n }\n return result;\n}\n\nfunction deleteFunctions(obj: any) {\n let functionKeys = [];\n for (let key in obj) {\n if (typeof obj[key] === \"function\") {\n functionKeys.push(key);\n }\n }\n for (let i = 0; i < functionKeys.length; i++) {\n delete obj[functionKeys[i]];\n }\n}\n\nfunction serialize(obj: any, options: any = {}): any {\n // Backwards-compatibility for `space` as the second argument.\n if (typeof options === 'number' || typeof options === 'string') {\n options = {space: options};\n }\n\n let functions: Function[] = [];\n let regexps: any[] = [];\n let dates: any[] = [];\n let maps: any[] = [];\n let sets: any[] = [];\n let arrays: any[] = [];\n let undefs: any[] = [];\n let infinities: any[] = [];\n let bigInts: any[] = [];\n let urls: any[] = [];\n\n // Returns placeholders for functions and regexps (identified by index)\n // which are later replaced by their string representation.\n function replacer(key: string, value: any) {\n\n // For nested function\n if (options.ignoreFunction) {\n deleteFunctions(value);\n }\n\n if (!value && value !== undefined) {\n return value;\n }\n\n // let origValue: any = this[key];\n let origValue: any = value;\n let type = typeof origValue;\n\n switch (type){\n case 'object':\n\n if (origValue instanceof RegExp) {\n return '@__R-' + UID + '-' + (regexps.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Date) {\n return '@__D-' + UID + '-' + (dates.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Map) {\n return '@__M-' + UID + '-' + (maps.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Set) {\n return '@__S-' + UID + '-' + (sets.push(origValue) - 1) + '__@';\n }\n\n if (origValue instanceof Array) {\n let isSparse = origValue.filter(function () {\n return true\n }).length !== origValue.length;\n if (isSparse) {\n return '@__A-' + UID + '-' + (arrays.push(origValue) - 1) + '__@';\n }\n }\n\n if (origValue instanceof URL) {\n return '@__L-' + UID + '-' + (urls.push(origValue) - 1) + '__@';\n }\n break;\n case 'function':\n return '@__F-' + UID + '-' + (functions.push(origValue) - 1) + '__@';\n case 'undefined':\n return '@__U-' + UID + '-' + (undefs.push(origValue) - 1) + '__@';\n case 'number':\n return '@__I-' + UID + '-' + (infinities.push(origValue) - 1) + '__@';\n case 'bigint':\n return '@__B-' + UID + '-' + (bigInts.push(origValue) - 1) + '__@';\n }\n\n return value;\n }\n\n function serializeFunc(fn: Function) {\n let serializedFn = fn.toString();\n if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {\n throw new TypeError('Serializing native function: ' + fn.name);\n }\n\n // pure functions, example: {key: function() {}}\n if (IS_PURE_FUNCTION.test(serializedFn)) {\n return serializedFn;\n }\n\n // arrow functions, example: arg1 => arg1+5\n if (IS_ARROW_FUNCTION.test(serializedFn)) {\n return serializedFn;\n }\n\n let argsStartsAt = serializedFn.indexOf('(');\n let def = serializedFn.slice(0, argsStartsAt)\n .trim()\n .split(' ')\n .filter(function (val) {\n return val.length > 0\n });\n\n let nonReservedSymbols = def.filter(function (val) {\n return RESERVED_SYMBOLS.indexOf(val) === -1\n });\n\n // enhanced literal objects, example: {key() {}}\n if (nonReservedSymbols.length > 0) {\n return (def.indexOf('async') > -1 ? 'async ' : '') + 'function'\n + (def.join('').indexOf('*') > -1 ? '*' : '')\n + serializedFn.slice(argsStartsAt);\n }\n\n // arrow functions\n return serializedFn;\n }\n\n // Check if the parameter is function\n if (options.ignoreFunction && typeof obj === \"function\") {\n obj = undefined;\n }\n // Protects against `JSON.stringify()` returning `undefined`, by serializing\n // to the literal string: \"undefined\".\n if (obj === undefined) {\n return String(obj);\n }\n\n let str: string = '';\n\n // Creates a JSON string representation of the value.\n // NOTE: Node 0.12 goes into slow mode with extra JSON.stringify() args.\n if (options.isJSON && !options.space) {\n str = JSON.stringify(obj);\n } else {\n str = JSON.stringify(obj, options.isJSON ? undefined : replacer, options.space);\n }\n\n // Replace unsafe HTML and invalid JavaScript line terminator chars with\n // their safe Unicode char counterpart. This _must_ happen before the\n // regexps and functions are serialized and added back to the string.\n if (options.unsafe !== true) {\n str = str.replace(UNSAFE_CHARS_REGEXP, escapeUnsafeChars);\n }\n\n if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && arrays.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0 && urls.length === 0) {\n return str;\n }\n\n // Replaces all occurrences of function, regexp, date, map and set placeholders in the\n // JSON string with their string representations. If the original value can\n // not be found, then `undefined` is used.\n return str.replace(PLACE_HOLDER_REGEXP, function (match, backSlash, type, valueIndex) {\n // The placeholder may not be preceded by a backslash. This is to prevent\n // replacing things like `\"a\\\"@__R-<UID>-0__@\"` and thus outputting\n // invalid JS.\n if (backSlash) {\n return match;\n }\n\n switch (type){\n case 'D':\n return \"new Date(\\\"\" + dates[valueIndex].toISOString() + \"\\\")\"\n case 'R':\n return \"new RegExp(\" + serialize(regexps[valueIndex].source) + \", \\\"\" + regexps[valueIndex].flags + \"\\\")\"\n case 'M':\n return \"new Map(\" + serialize(Array.from(maps[valueIndex].entries()), options) + \")\"\n case 'S':\n return \"new Set(\" + serialize(Array.from(sets[valueIndex].values()), options) + \")\"\n case 'A':\n return \"Array.prototype.slice.call(\" + serialize(Object.assign({length: arrays[valueIndex].length}, arrays[valueIndex]), options) + \")\"\n case 'U':\n return 'undefined'\n case 'I':\n return infinities[valueIndex]\n case 'B':\n return \"BigInt(\\\"\" + bigInts[valueIndex] + \"\\\")\"\n case 'L':\n return \"new URL(\\\"\" + urls[valueIndex].toString() + \"\\\")\"\n }\n\n let fn = functions[valueIndex];\n\n return serializeFunc(fn);\n });\n}\n\nexport default serialize\n","import { Injectable } from '@angular/core'\nimport serialize from '../../functions/serializeJavascript'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class JSONServices {\n static deserialize(data: any) {\n return eval('(' + data + ')')\n }\n\n static serialize(data: any ) {\n return serialize(data)\n }\n}\n","import { Injectable } from '@angular/core'\nimport JSON from '../../services/vanilla/JSON'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class CookiesServices {\n\n static get(name: string): string {\n const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n if (results)\n return results[2]\n else\n return ''\n }\n\n static set(name: string, value: string, age: number = 0) {\n let string = name + '=' + value + ';'\n if(age) {\n string += ' max-age=' + age\n }\n string += '; SameSite=None; Secure'\n document.cookie = string\n }\n\n static setObj(name: string, value: any, age: number = 0) {\n let string = name + '=' + JSON.serialize(value) + ';'\n if(age) {\n string += ' max-age=' + age\n }\n string += '; SameSite=None; Secure'\n document.cookie = string\n }\n\n static getObj<T>(name: string): T | false {\n const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n if (results) {\n return JSON.deserialize(results[2])\n }\n\n return false\n }\n}\n","import { Action, createReducer, on, props } from '@ngrx/store'\nimport { createAction } from '@ngrx/store'\nimport saveApplicationAuth from '../typification/auth/save'\nimport clone from 'just-clone'\nexport interface saveApplicationAuthPath {\n access_token?: string, // основной авторизационный токен, требуемый для доступа к REST API\n client_endpoint?: string, // адрес REST-интерфейса портала\n domain?: string,\n expires?: number,\n expires_in?: number,\n member_id?: string,\n refresh_token?: string, // дополнительный авторизационный токен, служащий для продления сохраненной авторизации\n scope?: string,\n server_endpoint?: string, // адрес REST-интерфейса сервера\n status?: string, // статус приложения на портале\n user_id?: number\n type?: string\n}\nexport const save = createAction('[Auth Component] Save', props<saveApplicationAuth | saveApplicationAuthPath>())\nexport const saveAccessToken = createAction('[Auth Component] SaveAccessToken', props<saveApplicationAuthPath>())\n\nexport const initialState: saveApplicationAuth = {\n access_token: '',\n client_endpoint: '',\n domain: '',\n expires: 0,\n expires_in: 0,\n member_id: '',\n refresh_token: '',\n scope: '',\n server_endpoint: '',\n status: '',\n user_id: 0\n}\n\nconst _authReducer = createReducer(\n initialState,\n on(saveAccessToken, (s, data) => {\n let copy = clone(s)\n return Object.assign(copy, data)\n }),\n);\n\nexport function authReducer(state = initialState, action: Action) {\n return _authReducer(state, action);\n}\n","export const time = {\r\n oneDayMilliseconds: 1000 * 60 * 60 * 24\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { time } from '../consts/time'\r\n// import { environment } from 'bx-rest/environments/environment'\r\nimport { DateTime } from 'luxon'\r\nimport { DateTimeOptions } from 'luxon/src/datetime'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseServices {\r\n\r\n toStr(val: any): string {\r\n return (val) ? String(val) : ''\r\n }\r\n\r\n toNum(val: any): number {\r\n return (val && Number(val)) ? Number(val) : 0\r\n }\r\n\r\n toDate(val: number | string | Date, format?: string, opt?: DateTimeOptions): Date {\r\n if (val instanceof Date) {\r\n return val\r\n } else if (typeof val == 'string') {\r\n if (format) {\r\n if (opt) {\r\n return DateTime.fromFormat(val, format, opt).toJSDate()\r\n }\r\n return DateTime.fromFormat(val, format).toJSDate()\r\n } else {\r\n return new Date(val)\r\n }\r\n } else if (typeof val == 'number') {\r\n return new Date(val)\r\n }\r\n console.error('Wrong date format', val, format)\r\n throw 'Wrong date format'\r\n }\r\n\r\n getBXStrTime(date: Date): string {\r\n return this.toISOStringWithTimezone(date)\r\n }\r\n\r\n toISOStringWithTimezone(date: Date): string {\r\n const tzOffset = -date.getTimezoneOffset()\r\n const diff = tzOffset >= 0 ? '+' : '-'\r\n const pad = (n: number) => `${Math.floor(Math.abs(n))}`.padStart(2, '0')\r\n return date.getFullYear() +\r\n '-' + pad(date.getMonth() + 1) +\r\n '-' + pad(date.getDate()) +\r\n 'T' + pad(date.getHours()) +\r\n ':' + pad(date.getMinutes()) +\r\n ':' + pad(date.getSeconds()) +\r\n diff + pad(tzOffset / 60) +\r\n ':' + pad(tzOffset % 60)\r\n };\r\n\r\n toBool(val: any) {\r\n switch (typeof val) {\r\n case 'string':\r\n val = val.toLowerCase()\r\n if (val === 'n' || val === 'y') { // битриксовые понятия о bool\r\n return val === 'y'\r\n } else if (val === 'true' || val === 'false') { // битриксовые понятия о bool\r\n return val === 'true'\r\n } else {\r\n return false\r\n }\r\n default:\r\n return Boolean(val)\r\n }\r\n }\r\n\r\n toBXYorN(val: boolean) {\r\n return (val) ? 'Y' : 'N'\r\n }\r\n\r\n typeof(val: any) {\r\n return typeof val\r\n }\r\n\r\n typeDefClass(val: object): undefined | null | 'date' {\r\n if (val) {\r\n if (val instanceof Date) {\r\n return 'date'\r\n }\r\n return undefined\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n toJSON(val: object) {\r\n return JSON.stringify(val)\r\n }\r\n\r\n fromJSON<T>(val: string): T | undefined {\r\n return JSON.parse(val)\r\n }\r\n\r\n prepareBaseAddress(url: string, add: string = '') {\r\n if (url.search('https://') !== 0 && url.search('http://')) {\r\n url = 'https://' + url\r\n }\r\n\r\n if (url.lastIndexOf('/') !== (url.length - 1)) {\r\n url = url + '/'\r\n }\r\n\r\n url = url + add\r\n\r\n return url\r\n }\r\n\r\n getHomeAddress() {\r\n // return this.prepareBaseAddress(environment.urls.home)\r\n return this.prepareBaseAddress('b24.trace-studio.com')\r\n }\r\n\r\n dateDiff(a: Date, b: Date) {\r\n return new Date(a.valueOf() - b.valueOf())\r\n }\r\n\r\n dateDiffInDays(a: Date, b: Date) {\r\n return Math.floor(this.dateDiff(a, b).valueOf() / time.oneDayMilliseconds);\r\n }\r\n\r\n getBase64File(file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = error => reject(error)\r\n })\r\n }\r\n\r\n async getBase64FileLikeStr(file: File): Promise<{ header: string, val: string } | undefined> {\r\n let result = await this.getBase64File(file)\r\n if (typeof result === 'string') {\r\n let split = result.split(',')\r\n return {\r\n header: split[0],\r\n val: split[1]\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n sumArray(numbers: number[]) {\r\n return numbers.reduce((a, b) => {\r\n return a + b;\r\n })\r\n }\r\n\r\n isItTheSameDate(date1: Date, date2: Date) {\r\n return date1.getDate() === date2.getDate()\r\n && date1.getMonth() === date2.getMonth()\r\n && date1.getFullYear() === date2.getFullYear()\r\n }\r\n\r\n toUnix(date: Date) {\r\n return Math.floor(date.valueOf() / 1000)\r\n }\r\n\r\n arrSum(x: number[]) {\r\n let s = 0;\r\n for (let i = 0; i < x.length; i++) {\r\n s += x[i]\r\n }\r\n return s\r\n }\r\n\r\n getBaseUrlHttps(url: string, component = false) {\r\n if (component) {\r\n return encodeURI(this.cropUrl(url) + '/');\r\n } else {\r\n return encodeURI('https://' + this.cropUrl(url) + '/');\r\n }\r\n }\r\n\r\n cropUrl(url: string) {\r\n url = (url) ? url.replace('https://', '') : ''\r\n url = (url) ? url.replace('http://', '') : ''\r\n url = (url) ? url.replace('https:', '') : ''\r\n url = (url) ? url.replace('http:', '') : ''\r\n return url\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport JSON from '../../services/vanilla/JSON'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageServices {\n\n static get(name: string): any {\n return localStorage.getItem(name)\n }\n\n static getObj<T>(name: string): T | null {\n return JSON.deserialize(localStorage.getItem(name))\n }\n\n static set(name: string, value: string): void {\n localStorage.setItem(name, value)\n }\n\n static setObj(name: string, value: any): void {\n let get = this.get(name)\n if(get && typeof get === 'object'){\n localStorage.setItem(\n name,\n JSON.serialize(\n Object.assign(\n get,\n value\n )\n )\n )\n } else {\n localStorage.setItem(name, JSON.serialize(value))\n }\n }\n\n static del(name: string): void {\n localStorage.removeItem(name)\n }\n\n}\n","import { Injectable } from '@angular/core'\r\nimport { iRestLib } from './lib'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RestServices {\r\n BX24: iRestLib | false = false\r\n\r\n constructor() {\r\n // @ts-ignore\r\n this.BX24 = (window.BX24) ? window.BX24 : false\r\n }\r\n\r\n init(callBack: Function) {\r\n return (this.BX24) ? this.BX24.init(callBack) : false\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport Cookies from '../../services/vanilla/сookies'\nimport { Store } from '@ngrx/store'\nimport saveApplicationAuth from '../../typification/auth/save'\n// import { environment as env } from 'bx-rest/environments/environment'\nimport { filter, Observable, Subscription, take } from 'rxjs'\nimport { ActivatedRoute, ParamMap } from '@angular/router'\nimport { saveAccessToken, saveApplicationAuthPath } from '../../store/auth'\nimport { map } from 'rxjs/operators'\nimport { BaseServices } from '../../services/base'\nimport { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage'\nimport { RestServices } from '../../typification/rest/api-lib'\n\ntype IKeyAuth = 'sessid' | 'auth' | string\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class SessionKeyServices extends BaseServices {\n\n authHave = false\n authData$: Observable<saveApplicationAuth>\n authData: saveApplicationAuth | undefined\n subscribe = {\n authData: new Subscription()\n }\n\n constructor(\n public store: Store<{ auth: saveApplicationAuth }>,\n private route: ActivatedRoute,\n public BxApiLib: RestServices,\n ) {\n super()\n this.authData$ = this.store.select('auth')\n this.authData$.subscribe(authData => {\n if ((authData && !authData.access_token.length) || !authData) {\n // получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)\n window.addEventListener('message', (event: MessageEvent) => {\n if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)\n if (event.data && event.data.param) {\n if (typeof event.data.param === 'string') {\n event.data.param = JSON.parse(event.data.param)\n }\n\n let save: saveApplicationAuthPath = {}\n\n if (event.data.param.access_token) {\n let param = event.data.param;\n save.access_token = event.data.param.access_token\n save = {\n access_token: (param.access_token) ? param.access_token : undefined,\n client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,\n domain: (param.domain) ? param.domain : undefined,\n expires: (param.expires) ? param.expires : undefined,\n expires_in: (param.expires_in) ? param.expires_in : undefined,\n member_id: (param.member_id) ? param.member_id : undefined,\n refresh_token: (param.refresh_token) ? param.refresh_token : undefined,\n scope: (param.scope) ? param.scope : undefined,\n server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,\n status: (param.status) ? param.status : undefined,\n user_id: (param.user_id) ? param.user_id : undefined,\n type: (param.type) ? param.type : undefined,\n }\n }\n\n if (Object.keys(save).length && save.access_token) {\n this.store.dispatch(saveAccessToken(save))\n this.subscribeAll()\n }\n }\n }\n })\n\n this.subscribe.authData = this.route.queryParamMap\n .pipe(\n filter(param =>\n param.has('AUTH_ID')\n || param.has('access_token')\n || param.has('REFRESH_ID')\n || param.has('DOMAIN')\n )\n )\n .subscribe((param: ParamMap) => {\n let save: saveApplicationAuthPath = {}\n if (param.has('AUTH_ID') && !authData.access_token.length) {\n const get = param.get('AUTH_ID')\n if (get) {\n Cookies.set('auth', get) // потом убрать\n save.access_token = get\n }\n }\n\n if (param.has('access_token') && !authData.access_token.length) {\n const get = param.get('access_token')\n if (get) {\n Cookies.set('auth', get) // потом убрать\n save.access_token = get\n }\n }\n\n if (param.has('REFRESH_ID') && !authData.refresh_token.length) {\n const get = param.get('REFRESH_ID')\n if (get) {\n save.refresh_token = get\n }\n }\n\n if (param.has('DOMAIN') && !authData.domain.length) {\n const get = param.get('DOMAIN')\n if (get) {\n save.domain = get\n }\n }\n if (Object.keys(save).length && save.access_token) {\n this.store.dispatch(saveAccessToken(save))\n this.subscribeAll()\n } else {\n // если битрикс не шлёт нужные мне параметры на прямую\n // просим их мне отдать так как описано это в документации\n let f = () => {\n if (this.BxApiLib.BX24) {\n const initDate = this.BxApiLib.BX24.getAuth()\n this.store.dispatch(saveAccessToken(initDate))\n }\n }\n\n this.BxApiLib.init(f)\n }\n\n })\n } else if (this.getAuth().length) {\n this.authHave = true\n }\n\n this.authData = authData\n })\n }\n\n subscribeAll() {\n this.subscribe.authData.unsubscribe()\n }\n\n getAuth(): string {\n if ((<any>window).BX && (<any>window).BX.bitrix_sessid()) {\n return (<any>window).BX.bitrix_sessid()\n } else if (this.getSessid().length) {\n let str = this.getSessid()\n return (str) ? str : ''\n } else {\n return Cookies.get('auth')\n }\n }\n\n getKeyAuth(): IKeyAuth {\n if ((<any>window).BX && (<any>window).BX.bitrix_sessid()\n || this.getSessid().length) {\n return 'sessid'\n } else {\n return 'auth'\n }\n }\n\n getSessid() {\n const check = new URLSearchParams(document.location.search).get('sessid')\n if (check) {\n LocalStorage.set('sessid', check)\n return check\n } else if (LocalStorage.get('sessid')) {\n return LocalStorage.get('sessid')\n }\n return ''\n }\n\n setAuthParams<T>(params: any): boolean {\n const keyAuth = this.getKeyAuth()\n if (params[keyAuth]) {\n return true\n } else if (keyAuth) {\n params[keyAuth] = this.getAuth()\n return true\n }\n return false\n }\n\n getAuthParams(): Observable<string | undefined> {\n // if (env.production && !env.component) {\n return this.authData$.pipe(\n take(1),\n map(v => (v) ? v.access_token : undefined)\n )\n // } else {\n // return of(this.getAuth())\n // }\n }\n\n getBaseUrl(): Observable<string | undefined> {\n return this.authData$.pipe(\n map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain, 'b24.trace-studio.com') : undefined)\n )\n }\n\n // getHomeUrl(): string {\n // return env.urls.home\n // }\n}\n","import { BaseServices } from '../../services/base'\r\nimport { HttpParams } from '@angular/common/http'\r\nimport { iHttpParamSettings } from '../../typification/rest/settings'\r\nimport iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX'\r\n\r\nexport class HttpData extends BaseServices {\r\n\r\n defSettings: iHttpParamSettings = {\r\n timeZone: {\r\n calc: true,\r\n levelOut: false\r\n }\r\n }\r\n\r\n getHttpParamsGet( // не так уж и сложно сделать сложенный HttpParams, да гугл?\r\n obj: any,\r\n sendHttpParams: HttpParams = new HttpParams(),\r\n thisArray = false,\r\n nesting: string[] = [],\r\n // settings = this.defSettings\r\n _ = this.defSettings\r\n ): any {\r\n for (const key in obj) {\r\n let setKey = ''\r\n if (nesting.length) {\r\n let first = nesting[0]\r\n setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'\r\n : first + '[' + key + ']'\r\n } else {\r\n setKey = key\r\n }\r\n switch (typeof obj[key]) {\r\n case 'string':\r\n sendHttpParams = sendHttpParams.set(setKey, obj[key])\r\n break\r\n case 'symbol':\r\n case 'number':\r\n case 'bigint':\r\n case 'boolean':\r\n sendHttpParams = sendHttpParams.set(setKey, String(obj[key]))\r\n break\r\n case 'object':\r\n nesting.push(key)\r\n sendHttpParams = this.getHttpParamsGet(obj[key], sendHttpParams, false, nesting)\r\n nesting.pop()\r\n break\r\n case 'function':\r\n case 'undefined':\r\n default:\r\n console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj)\r\n }\r\n }\r\n return sendHttpParams\r\n }\r\n\r\n getHttpParamsPost(\r\n obj: any,\r\n sendHttpParams: FormData = new FormData(),\r\n thisArray = false,\r\n nesting: string[] = [],\r\n settings = this.defSettings\r\n ): any {\r\n\r\n if (obj instanceof Blob) {\r\n let first = nesting[0]\r\n let setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + ']'\r\n : first\r\n sendHttpParams.set(setKey, obj)\r\n return sendHttpParams\r\n } else if (obj instanceof Date) {\r\n let first = nesting[0]\r\n let tzoffset = (settings.timeZone.calc) ? obj.getTimezoneOffset() * 60000 : 0 // вычисляем влияние часового пояса\r\n let levelOut = (settings.timeZone.levelOut) ? obj.getTimezoneOffset() * 60000 : 0 // вычисляем влияние часового пояса\r\n let setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + ']'\r\n : first\r\n sendHttpParams.set(setKey, (new Date(obj.valueOf() + tzoffset - levelOut)).toISOString())\r\n return sendHttpParams\r\n } else {\r\n for (const key in obj) {\r\n let setKey = ''\r\n if (nesting.length) {\r\n let first = nesting[0]\r\n setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'\r\n : first + '[' + key + ']'\r\n } else {\r\n setKey = key\r\n }\r\n switch (typeof obj[key]) {\r\n case 'string':\r\n sendHttpParams.set(setKey, obj[key])\r\n break\r\n case 'symbol':\r\n case 'number':\r\n case 'bigint':\r\n case 'boolean':\r\n sendHttpParams.set(setKey, String(obj[key]))\r\n break\r\n case 'object':\r\n nesting.push(key)\r\n sendHttpParams = this.getHttpParamsPost(\r\n obj[key],\r\n sendHttpParams,\r\n false,\r\n nesting,\r\n settings\r\n )\r\n nesting.pop()\r\n break\r\n case 'function':\r\n case 'undefined':\r\n default:\r\n console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj)\r\n }\r\n }\r\n }\r\n return sendHttpParams\r\n }\r\n\r\n mapResult<T>(v: iHttpAnswerBX<T> | undefined): T | undefined {\r\n if (v && (v.result || typeof v.result === 'boolean')) {\r\n return v.result\r\n }\r\n return undefined\r\n }\r\n\r\n sliceArrayIntoChunks(arr: any[], chunkSize: number) {\r\n const res = [];\r\n for (let i = 0; i < arr.length; i += chunkSize) {\r\n const chunk = arr.slice(i, i + chunkSize);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n removingMultipleSlashes(str: string) {\r\n return str.replace(/\\/{2,}/g, '/')\r\n }\r\n}\r\n","// import { iHttpParamSettings } from '../../../typification/rest/settings'\r\n// import { iHttpParamSettings } from 'bx-rest/typification/rest/settings'\r\n\r\nimport { iHttpParamSettings } from '../../../typification/rest/settings'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport SnackBarService from '../../../services/snack-bar/snack-bar.service'\r\nimport { Observable, of, } from 'rxjs'\r\nimport { HttpData } from '../../../services/http/HttpData'\r\nimport { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class BaseHttp extends HttpData {\r\n\r\n protected constructor(public http: HttpClient, public snackBar: SnackBarService) {\r\n super()\r\n }\r\n\r\n abstract httpGet<T>(\r\n url: string,\r\n params: any,\r\n textError: string,\r\n settings: iHttpParamSettings\r\n ): Observable<T | undefined>\r\n\r\n abstract httpPost<T>(url: string,\r\n params: any ,\r\n textError: string,\r\n settings: iHttpParamSettings\r\n ): Observable<T | undefined>\r\n\r\n handleError<T>(\r\n result?: T,\r\n textError = 'получения данных') {\r\n return (error: Error): Observable<T> => {\r\n console.error(`failed: ${error.message}`)\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return of(result as T)\r\n };\r\n }\r\n}\r\n","import { Observable, throwError } from 'rxjs'\r\nimport { catchError } from 'rxjs/operators'\r\nimport { HttpParams } from '@angular/common/http'\r\nimport { iHttpParamSettings } from '../../../typification/rest/settings'\r\nimport { BaseHttp } from '../../../services/http/base/base'\r\n\r\nexport class BaseHttpServices extends BaseHttp {\r\n\r\n public httpGet<T>(\r\n url: string,\r\n params = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.http.get<T | undefined>(url, {\r\n params: this.getHttpParamsGet(params, new HttpParams(), false, [], settings)\r\n }).pipe(\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n\r\n public httpPost<T>(url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.http.post<T | undefined>(\r\n url,\r\n this.getHttpParamsPost(params, new FormData(), false, [], settings)\r\n ).pipe(\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n console.error(err)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n\r\n // TODO: доделать\r\n // httpPostBaseWithFile<T>(url: string,\r\n // params: any = {},\r\n // textError = ''): Observable<T | undefined> {\r\n // let searchFile = Object.values(params).find((i: any) => i instanceof Blob)\r\n // if (searchFile) {\r\n // return this.http.post<T | undefined>(url, this.getHttpParamsPost(params)).pipe(\r\n // catchError(err => {\r\n // this.snackBar.error('Ошибка: ' + textError)\r\n // console.error(err)\r\n // return throwError(() => err)\r\n // })\r\n // )\r\n // } else {\r\n // return this.httpPost(url, params, textError)\r\n // }\r\n // }\r\n}\r\n","import { Observable, throwError, take, mergeMap, forkJoin } from 'rxjs'\r\nimport { catchError, map } from 'rxjs/operators'\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport SnackBarService from '../../services/snack-bar/snack-bar.service'\r\nimport SessionKeyServices from '../../services/http/sessionKey'\r\nimport clone from 'just-clone'\r\nimport { iHttpParamSettings } from '../../typification/rest/settings'\r\nimport {\r\n iBatchRequestAnswer, iBatchRequestParam,\r\n iBatchRequestParamArr,\r\n iBatchRequestParamHttp, keyBatch\r\n} from '../../typification/rest/batch/batchRequestParam'\r\nimport flatten from 'just-flatten-it'\r\nimport { BaseHttpServices } from './base/http'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class HttpServices extends BaseHttpServices {\r\n\r\n constructor(http: HttpClient, snackBar: SnackBarService, public session: SessionKeyServices) {\r\n super(http, snackBar)\r\n }\r\n\r\n timeNowOnServer() {\r\n return this.httpGet<{ result?: Date, error?: string }>('server.time').pipe(\r\n map(v => {\r\n if (v && v.result) {\r\n return new Date(v.result)\r\n }\r\n return undefined\r\n }),\r\n )\r\n }\r\n\r\n /**\r\n * Это пиздец а не метод\r\n * @param param\r\n */\r\n branch<T, A>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): Observable<iBatchRequestAnswer<A>[] | undefined> {\r\n let prepareParam = Object.entries<string>(this.prepareBatch<T>(param))\r\n const size = 50 // больше не отдаст\r\n let subarray = [] //массив в который будет выведен результат.\r\n for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {\r\n subarray[i] = prepareParam.slice((i * size), (i * size) + size)\r\n }\r\n\r\n return forkJoin(\r\n subarray.map(i => {\r\n return this.httpPost('batch.json', {\r\n halt: 0,\r\n cmd: Object.assign({}, ...i.map(x => {\r\n return {[x[0]]: x[1]}\r\n }))\r\n })\r\n })\r\n ) as Observable<iBatchRequestAnswer<A>[]>\r\n }\r\n\r\n prepareBatch<T>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): iBatchRequestParamHttp {\r\n let res: iBatchRequestParamHttp = Object.keys(param).reduce(\r\n (obj, key) => {\r\n obj[key] = '';\r\n return obj;\r\n },\r\n {} as iBatchRequestParamHttp\r\n );\r\n for (let key in param) {\r\n if(typeof key === 'string' || typeof key === 'number' && param[key].param) {\r\n res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString()\r\n }\r\n }\r\n return res\r\n }\r\n\r\n mapBranchResult<T>(res: iBatchRequestAnswer<T>[]){\r\n return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {[key:keyBatch]: T}\r\n }\r\n\r\n mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[]{\r\n return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))\r\n }\r\n\r\n post<T>(name: string[],\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings) {\r\n return this.httpPost<T>(this.getNameMethod(name), params, textError, settings)\r\n }\r\n\r\n get<T>(name: string[],\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings) {\r\n return this.httpGet<T>(this.getNameMethod(name), params, textError, settings)\r\n }\r\n\r\n override httpPost<T>(url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.session.getAuthParams().pipe(\r\n mergeMap(auth => {\r\n if (auth) {\r\n const paramsClone = clone(params)\r\n paramsClone[this.session.getKeyAuth()] = auth\r\n return this.session.getBaseUrl().pipe(mergeMap(v => {\r\n if (v) {\r\n return this.http.post<T | undefined>(\r\n this.prepareBaseAddress(v) + url,\r\n this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))\r\n .pipe(\r\n take(1),\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n return throwError(() => 'get base url error')\r\n }))\r\n } else {\r\n this.snackBar.error('Error: Auth not get')\r\n return throwError(() => 'auth not get')\r\n }\r\n }))\r\n }\r\n\r\n override httpGet<T>(\r\n url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.session.getAuthParams().pipe(\r\n mergeMap(auth => {\r\n if (auth) {\r\n if (params === null) {\r\n params = {}\r\n }\r\n const paramsClone = clone(params)\r\n paramsClone[this.session.getKeyAuth()] = auth\r\n let options = {\r\n params: this.getHttpParamsGet(paramsClone)\r\n }\r\n\r\n return this.session.getBaseUrl().pipe(\r\n mergeMap(v => {\r\n if (v) {\r\n return this.http.get<T>(this.prepareBaseAddress(v) + url, options).pipe(\r\n take(1),\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n }))\r\n }\r\n return throwError(() => 'get base url error')\r\n })\r\n )\r\n } else {\r\n this.snackBar.error('Error: Auth not get')\r\n return throwError(() => 'auth not get')\r\n }\r\n })\r\n )\r\n }\r\n\r\n getNameMethod(arr: string[]) {\r\n return arr.join('.')\r\n }\r\n\r\n}\r\n","import { Observable, throwError, take, mergeMap, forkJoin } from 'rxjs'\nimport { catchError, map } from 'rxjs/operators'\nimport { Injectable } from '@angular/core'\nimport clone from 'just-clone'\nimport { iHttpParamSettings } from '../../typification/rest/settings'\nimport BaseHttpServices from '../../services/http/http'\nimport {\n iBatchRequestAnswer, iBatchRequestParam,\n iBatchRequestParamArr,\n iBatchRequestParamHttp, keyBatch\n} from '../../typification/rest/batch/batchRequestParam'\nimport flatten from 'just-flatten-it'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class HttpBXServices extends BaseHttpServices {\n\n override timeNowOnServer() {\n return this.httpGet<{ result?: Date, error?: string }>('server.time').pipe(\n map(v => {\n if (v && v.result) {\n return new Date(v.result)\n }\n return undefined\n }),\n )\n }\n\n /**\n * Это пиздец а не метод\n * @param param\n */\n override branch<T, A>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): Observable<iBatchRequestAnswer<A>[] | undefined> {\n let prepareParam = Object.entries<string>(this.prepareBatch<T>(param))\n const size = 50 // больше не отдаст\n let subarray = [] //массив в который будет выведен результат.\n for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {\n subarray[i] = prepareParam.slice((i * size), (i * size) + size)\n }\n\n return forkJoin(\n subarray.map(i => {\n return this.httpPost('batch.json', {\n halt: 0,\n cmd: Object.assign({}, ...i.map(x => {\n return {[x[0]]: x[1]}\n }))\n })\n })\n ) as Observable<iBatchRequestAnswer<A>[]>\n }\n\n override prepareBatch<T>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): iBatchRequestParamHttp {\n let res: iBatchRequestParamHttp = Object.keys(param).reduce(\n (obj, key) => {\n obj[key] = '';\n return obj;\n },\n {} as iBatchRequestParamHttp\n );\n for (let key in param) {\n if (typeof key === 'string' || typeof key === 'number' && param[key].param) {\n res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString()\n }\n }\n return res\n }\n\n override mapBranchResult<T>(res: iBatchRequestAnswer<T>[]) {\n return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {\n [key: keyBatch]: T\n }\n }\n\n override mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[] {\n return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))\n }\n\n override post<T>(name: string[],\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings) {\n return this.httpPost<T>(this.getNameMethod(name), params, textError, settings)\n }\n\n override get<T>(name: string[],\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings) {\n return this.httpGet<T>(this.getNameMethod(name), params, textError, settings)\n }\n\n override httpPost<T>(url: string,\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings\n ): Observable<T | undefined> {\n return this.session.getAuthParams().pipe(\n mergeMap(auth => {\n if (auth) {\n const paramsClone = clone(params)\n paramsClone[this.session.getKeyAuth()] = auth\n return this.session.getBaseUrl().pipe(mergeMap(v => {\n if (v) {\n return this.http.post<T | undefined>(\n this.prepareBaseAddress(v) + url,\n this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))\n .pipe(\n take(1),\n catchError(err => {\n if (!textError.length && err.error.error_description) {\n textError = err.error.error_description\n }\n\n this.snackBar.error('Ошибка: ' + textError)\n return throwError(() => err)\n })\n )\n }\n return throwError(() => 'get base url error')\n }))\n } else {\n this.snackBar.error('Error: Auth not get')\n return throwError(() => 'auth not get')\n }\n }))\n }\n\n override httpGet<T>(\n url: string,\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings\n ): Observable<T | undefined> {\n return this.session.getAuthParams().pipe(\n mergeMap(auth => {\n if (auth) {\n if (params === null) {\n params = {}\n }\n const paramsClone = clone(params)\n paramsClone[this.session.getKeyAuth()] = auth\n let options = {\n params: this.getHttpParamsGet(paramsClone)\n }\n\n return this.session.getBaseUrl().pipe(\n mergeMap(v => {\n if (v) {\n return this.http.get<T>(this.prepareBaseAddress(v) + url, options).pipe(\n take(1),\n catchError(err => {\n if (!textError.length && err.error.error_description) {\n textError = err.error.error_description\n }\n\n this.snackBar.error('Ошибка: ' + textError)\n return throwError(() => err)\n }))\n }\n return throwError(() => 'get base url error')\n })\n )\n } else {\n this.snackBar.error('Error: Auth not get')\n return throwError(() => 'auth not get')\n }\n })\n )\n }\n\n override getNameMethod(arr: string[]) {\n return arr.join('.')\n }\n\n}\n\n","import { Injectable } from '@angular/core'\r\nimport { BaseServices } from '../services/base'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class BaseMapServices extends BaseServices{\r\n\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport BaseMapServices from '../base'\r\nimport {\r\n iBXRestHttpListsElement,\r\n iBXRestListsElement\r\n} from '../../typification/rest/lists/element/get'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class BXRestListsElementMap extends BaseMapServices {\r\n\r\n get(item: iBXRestHttpListsElement): iBXRestListsElement\r\n {\r\n return Object.assign(item,{\r\n BP_PUBLISHED: item.BP_PUBLISHED === 'Y',\r\n CREATED_BY: this.toNum(item.CREATED_BY),\r\n IBLOCK_ID: this.toNum(item.IBLOCK_ID),\r\n ID: this.toNum(item.ID)\r\n })\r\n }\r\n\r\n}\r\n","import { $add, $delete, $element, $file, $get, $lists, $update, $url } from '../../consts/part-name-metods'\r\nimport { map } from 'rxjs/operators'\r\nimport iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX'\r\nimport HttpBXServices from '../../services/http/HttpBX'\r\nimport BXRestListsElementMap from '../../map/lists/element'\r\nimport { iBXRestHttpListsElement, iBXRestParamListsElementGet } from '../../typification/rest/lists/element/get'\r\nimport { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BXRestListsElement {\r\n url = {\r\n add: [$lists, $element, $add], // Метод создаёт элемент списка\r\n delete: [$lists, $element, $delete], // Метод удаляет элемент списка\r\n get: [$lists, $element, $get], // Метод возвращает список элементов или элемент\r\n update: [$lists, $element, $update], //\tМетод обновляет элемент списка\r\n getFileUrl: [$lists, $element, $get, $file, $url] // Метод возвращает путь к файлу\r\n }\r\n\r\n constructor(\r\n private http: HttpBXServices,\r\n private mapResult: BXRestListsElementMap\r\n ) {\r\n }\r\n\r\n get(pram: iBXRestParamListsElementGet) {\r\n return this.http.post<iHttpAnswerBX<iBXRestHttpListsElement[]>>(this.url.get, pram)\r\n .pipe(\r\n map(v => (v && v.result)\r\n ? Object.assign(v, {result: v.result.map(i => this.mapResult.get(i))})\r\n : undefined\r\n )\r\n )\r\n }\r\n\r\n // add(param: iRestBXParamListsElementAdd) {\r\n // return this.http.post<iHttpAnswerBX<number>>(this.url.add, param)\r\n // }\r\n}\r\n","import {\r\n $add,\r\n $delete,\r\n $get,\r\n $iblock,\r\n $id,\r\n $lists,\r\n $type,\r\n $update\r\n} from '../consts/part-name-metods'\r\nimport { Injectable } from '@angular/core'\r\nimport { BXRestListsElement } from './lists/element'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class BXRestLists {\r\n url = {\r\n add: [$lists, $add], // Метод создаёт список\r\n delete: [$lists, $delete], // Метод удаляет список\r\n get: [$lists, $get], // Метод возвращает данные по спискам\r\n update: [$lists, $update], // Метод обновляет существующий список\r\n getIblockTypeId: [$lists, $get, $iblock, $type, $id], // Метод возвращает id типа инфоблока\r\n }\r\n\r\n constructor(\r\n public element: BXRestListsElement\r\n ) {\r\n }\r\n\r\n // constructor(\r\n // private http: HttpBXServices,\r\n // private listsMap: ListsMapServices\r\n // ) {\r\n // }\r\n\r\n // get(pram: iBXRestParamListGet): Observable<ItemLists[] | undefined> {\r\n // return this.http.post<iHttpAnswerBX<ItemListsBX[]>>(this.url.get, pram)\r\n // .pipe(\r\n // map(v => (v && v.length) ? v.map(i => this.listsMap.mapItemLists(i)) : [])\r\n // )\r\n // }\r\n\r\n // getAll(pram: getListParam): Observable<ItemListsBX[] | undefined> {\r\n // return this.getBase(pram)\r\n // .pipe(\r\n // mergeMap(items => {\r\n // if (items && items.result) {\r\n // if (items.next) {\r\n // pram.start = items.next\r\n // return this.getAll(pram).pipe(\r\n // map(vEnd => {\r\n // if (vEnd && items.result) {\r\n // return [...items.result, ...vEnd]\r\n // }\r\n // return (items.result) ? items.result : []\r\n // }))\r\n // }\r\n // return of(items.result)\r\n // } else {\r\n // return []\r\n // }\r\n // })\r\n // )\r\n // }\r\n\r\n // getAllWithMap(pram: getListParam): Observable<ItemLists[] | undefined> {\r\n // return this.getAll(pram)\r\n // .pipe(\r\n // map(v => (v && v.length) ? v.map(i => this.listsMap.mapItemLists(i)) : [])\r\n // )\r\n // }\r\n\r\n // getField(pram: getListFieldParam): Observable<iHttpAnswerBX<FieldItemLists[]> | undefined> {\r\n // return this.http.post<iHttpAnswerBX<{ [key: string]: FieldItemLists }>>(this.url.field.get, pram)\r\n // }\r\n}\r\n","import { Action, createReducer, on, props } from '@ngrx/store'\nimport { createAction } from '@ngrx/store'\nimport clone from 'just-clone'\nimport { iBXRestUser } from '../typification/rest/user/user'\n\nexport interface storeUsers {\n load: {\n all: boolean,\n department: number[]\n }\n self: iBXRestUser | undefined\n data: iBXRestUser []\n}\n\nexport const save = createAction('[Users Component] Save', props<iBXRestUser >())\nexport const saveArr = createAction('[Users Component] Save Arr', props<{ arr: iBXRestUser [] }>())\nexport const update = createAction('[Users Component] Update', props<iBXRestUser >())\nexport const loadAll = createAction('[Users Component] loadAll', props<{ load: true }>())\nexport const saveSelf = createAction('[Users Component] saveSelf', props<{ self: iBXRestUser }>())\nexport const saveIDLoadedDepartment = createAction('[Users Component] saveIDLoadedDepartment', props<{id: number[]}>())\n\nexport const initialState: storeUsers = {\n load: {\n all: false,\n department: []\n },\n self: undefined,\n data: []\n}\n\nconst _usersReducer = createReducer(\n initialState,\n on(saveIDLoadedDepartment, (s, data) => {\n let copy = clone(s)\n copy.load.department = [...copy.load.department, ...data.id]\n return copy\n }),\n on(save, (s, data) => {\n const find = s.data.find(v => v.ID === data.ID)\n if (!find) {\n const copy = clone(s)\n copy.data.push(data)\n return copy\n }\n return s\n }),\n on(saveArr, (s, data) => {\n const copy = clone(s)\n if(copy.data && copy.data.length) {\n for (const user of data.arr) {\n const find = copy.data.find(v => v.ID === user.ID)\n if (!find) {\n copy.data.push(user)\n }\n }\n } else {\n copy.data = [...data.arr]\n }\n return copy\n }),\n on(update, (s, data) => {\n const copy = clone(s)\n let find = copy.data.findIndex(v => v.ID === data.ID)\n if (find !== -1) {\n const copy = clone(s)\n copy.data.splice(find, 1, data);\n // copy.data.push(data)\n return copy\n }\n return s\n }),\n on(loadAll, (s, data) => {\n if (data.load !== s.load.all) {\n const copy = clone(s)\n copy.load.all = data.load\n return copy\n }\n return s\n }),\n on(saveSelf, (s, data) => {\n return { ...s, self: data.self}\n })\n)\n\n\nexport function usersReducer(state = initialState, action: Action) {\n return _usersReducer(state, action)\n}\n","import { Injectable } from '@angular/core'\r\nimport { BaseServices } from '../base'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class BaseMapServices extends BaseServices {\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport BaseMapServices from '../base'\r\nimport { iBXRestUser, iBXRestUserHttp } from '../../../typification/rest/user/user'\r\nimport clone from 'just-clone'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BitrixApiUserMapServices extends BaseMapServices {\r\n\r\n HttpToBX(user: iBXRestUserHttp): iBXRestUser {\r\n let res: iBXRestUser = Object.assign(clone(user), {\r\n ID: this.toNum(user.ID),\r\n IS_ONLINE: this.toBool(user.IS_ONLINE),\r\n DATE_REGISTER: this.toDate(user.DATE_REGISTER),\r\n PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),\r\n })\r\n if (user.LAST_LOGIN) {\r\n res.LAST_LOGIN = this.toDate(user.LAST_LOGIN)\r\n }\r\n\r\n return res\r\n }\r\n\r\n BXtoHttp(user: iBXRestUser): iBXRestUserHttp {\r\n return Object.assign(clone(user), {\r\n ID: this.toStr(user.ID),\r\n IS_ONLINE: this.toBXYorN(user.IS_ONLINE),\r\n DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),\r\n PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),\r\n LAST_LOGIN: this.toStr(user.LAST_LOGIN)\r\n })\r\n }\r\n\r\n getFIO(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : ''\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME + ' ' + SECOND_NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else if (!user.SECOND_NAME) {\r\n res = user.LAST_NAME + ' ' + user.NAME\r\n } else {\r\n res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME\r\n }\r\n return res.trim()\r\n }\r\n\r\n getFI(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else {\r\n res = user.LAST_NAME + ' ' + user.NAME\r\n }\r\n return res.trim()\r\n }\r\n\r\n getFIOShort(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : ''\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME + ' ' + SECOND_NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else if (!user.SECOND_NAME) {\r\n res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.'\r\n } else {\r\n res =\r\n user.LAST_NAME + ' ' +\r\n user.NAME.charAt(0).toUpperCase() + '.' +\r\n user.SECOND_NAME.charAt(0).toUpperCase() + '.'\r\n }\r\n return res.trim()\r\n }\r\n}\r\n","import { Observable, of } from 'rxjs'\nimport { first, map, mergeMap, tap } from 'rxjs/operators'\nimport clone from 'just-clone'\nimport { iBXGetParam } from '../typification/rest/user/get'\nimport HttpBXServices from '../services/http/HttpBX'\nimport UserFilterSearch from '../typification/rest/user/UserFilterSearch'\nimport { Store } from '@ngrx/store'\nimport { saveArr, saveSelf, storeUsers } from '../store/users'\nimport { BitrixApiUserMapServices } from '../services/map/rest/user'\n// import DateTrace from 'bx-rest/services/api/trace/metods/date'\nimport SnackBarService from '../services/snack-bar/snack-bar.service'\nimport iHttpAnswerBX from '../typification/rest/base/httpAnswerBX'\nimport { iBXRestUser, iBXRestUserHttp, iBXRestUserHttpField } from '../typification/rest/user/user'\nimport { $get, $list, $search, $update, $user } from '../consts/part-name-metods'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BXRestUser {\n\n url = {\n admin: [$user, 'admin'],\n get: [$user, $get],\n current: [$user, 'current'],\n update: [$user, $update],\n search: [$user, $search],\n access: [$user, 'access'], // U1 - пользователь с id =1\n // AU - все авторизованные пользователи\n // D1 - подразделение с id=1\n // G1 - группа с id=1\n fields: [$user, 'fields'],\n userfield: {\n list: [$user, 'userfield', $list]\n }\n }\n\n def: { params: { ACTIVE: 1, start: 0 } } = {\n params: {ACTIVE: 1, start: 0}\n }\n\n user$: Observable<storeUsers>\n\n constructor(\n private http: HttpBXServices,\n private snackBar: SnackBarService,\n // private img: ImgServices,\n //private dateTrace: DateTrace,\n private store: Store<{ users: storeUsers }>,\n private userMap: BitrixApiUserMapServices,\n ) {\n this.user$ = this.store.select('users')\n }\n\n admin() {\n return this.http.get<iHttpAnswerBX<boolean>>(this.url.admin)\n }\n\n get(params: iBXGetParam = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n let copyParams = clone(params)\n this.setDefParam(copyParams)\n return this.http.post<iHttpAnswerBX<iBXRestUserHttp[]> | undefined>\n (this.url.get, copyParams, 'Не удалось получить пользователей')\n .pipe(\n tap(v => {\n if (v && v.result) {\n this.saveArrUser(v.result)\n }\n })\n )\n }\n\n current(update = false) {\n if (update) {\n return this.getSelfHttp()\n } else {\n return this.user$.pipe(\n mergeMap(v => {\n if (v && v.self) {\n return of(v.self)\n } else {\n return this.getSelfHttp()\n }\n }),\n first()\n )\n }\n }\n\n private getSelfHttp() {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp>>\n (this.url.current, {}, 'Не удалось получить пользователя')\n .pipe(\n map(v => {\n if (v && v.result) {\n return this.userMap.HttpToBX(v.result)\n }\n return undefined\n }),\n tap(v => {\n if (v) {\n this.store.dispatch(saveSelf({self: v}))\n }\n }),\n )\n }\n\n access(access: string[], textError = 'Не удалось получить права') {\n return this.http.get<iHttpAnswerBX<boolean> | undefined>(this.url.access, {ACCESS: access}, textError)\n }\n\n // getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {\n // if (!Object.keys(params).length) {\n // params = clone(this.def.params)\n // }\n //\n // const saveAllUser = compare(params, this.def.params)\n // return this.user$.pipe(\n // take(1),\n // mergeMap(v => {\n // if (v.load.all) {\n // if (compare(this.def.params, params)) {\n // return of(clone(v.data))\n // }\n // }\n //\n // return this.getEndArray(params).pipe(\n // take(1),\n // map(v => {\n // if (v && v.result) {\n // let cl = clone(v.result)\n // return this.saveArrUser(cl)\n // }\n // return undefined\n // }),\n // )\n // }),\n // tap(v => {\n // if (v && v.length && saveAllUser) {\n // this.store.dispatch(loadAll({load: true}))\n // }\n // params.start = this.def.params.start\n // })\n // )\n // }\n\n private saveArrUser(users: iBXRestUserHttp[]) {\n let result: iBXRestUser [] = []\n for (const user of users) {\n result.push(this.userMap.HttpToBX(user))\n }\n this.store.dispatch(saveArr({arr: result}))\n\n return result\n }\n\n search(params: string | UserFilterSearch) {\n if (typeof params === 'string') {\n params = {FIND: params}\n }\n if (typeof params.ACTIVE !== 'boolean') {\n params.ACTIVE = true\n }\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp[]>>(\n this.url.search,\n params,\n 'Сервер не отвечает на запрос поиска'\n )\n }\n\n fields() {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttpField>>(this.url.fields)\n }\n\n update(user: iBXRestUser, fieldUpdate: string[]) {\n if (fieldUpdate && fieldUpdate.length) {\n let sendData: any = {\n ID: user.ID,\n }\n const userBX = this.userMap.BXtoHttp(user)\n for (const field of fieldUpdate) {\n if (userBX[field]) {\n sendData[field] = userBX[field]\n } else {\n this.snackBar.error('Одно из указанных полей отправлено не верно')\n }\n }\n return this.http.post<iHttpAnswerBX<iBXRestUserHttp[]>>(\n this.url.update, sendData,\n 'Не удалось обновить пользователя с ID' + user.ID\n )\n } else {\n this.snackBar.error('Не указано ни одно поле для редактирования пользователя')\n return of({})\n }\n }\n\n // getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n // return this.get(params).pipe(\n // mergeMap(items => {\n // if (items && items.result && typeof items.result === 'object') {\n // if (items.next) {\n // params.start = items.next\n // return this.getEndArray(params).pipe(map(vEnd => {\n // if (vEnd && items.result && vEnd.result) {\n // return {result: [...items.result, ...vEnd.result]}\n // }\n // return (items) ? items : undefined\n // }))\n // }\n // return of(items)\n // } else {\n // return of(undefined)\n // }\n // }),\n // )\n // }\n\n private setDefParam(params: iBXGetParam) {\n if (!params.hasOwnProperty('ACTIVE')) {\n params.ACTIVE = this.def.params.ACTIVE\n }\n if (params.ACTIVE && params.ACTIVE === 2) {\n delete params.ACTIVE\n }\n if (!params.hasOwnProperty('start')) {\n params.start = this.def.params.start\n }\n\n if (params.UF_DEPARTMENT && !params.UF_DEPARTMENT.length) {\n delete params.UF_DEPARTMENT\n }\n }\n}\n\n","import { Injectable } from '@angular/core'\r\nimport { BXRestUser } from './request/user'\r\nimport BXRestLists from './request/lists'\r\n// import { Observable } from 'rxjs'\r\n// import BXRestListsElementMap from './map/lists/element'\r\n// import { map } from 'rxjs/operators'\r\n// import { mapResult } from './functions/mapResult'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BXRest {\r\n constructor(\r\n public user: BXRestUser,\r\n public lists: BXRestLists\r\n ) {\r\n }\r\n}\r\n\r\n// @Injectable({\r\n// providedIn: 'root'\r\n// })\r\n// export class BXRest extends new Proxy(BXRestBase, {\r\n// get(target, prop, receiver) {\r\n// const res = Reflect.get(target, prop, receiver)\r\n// console.log('res', res)\r\n// if (res in Observable) {\r\n// let mapRes = new BXRestListsElementMap()\r\n// console.log('res', res)\r\n// return Reflect.get(target, prop, receiver).pipe(\r\n// // @ts-ignore\r\n// map(v => (v && v.result)\r\n// // @ts-ignore\r\n// ? Object.assign(v, {result: v.result.map(i => mapRes.get(i))})\r\n// : undefined\r\n// ),\r\n// // @ts-ignore\r\n// map(v => mapResult(v))\r\n// )\r\n// }\r\n// return res\r\n// }\r\n// }) {\r\n// }\r\n","/*\n * Public API Surface of bx-rest\n */\n\nexport { BXRest } from './rest'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","JSON","save","initialState","Cookies","LocalStorage","i2","i3.RestServices","BaseHttpServices","BaseMapServices","i1.BXRestListsElement","mergeMap","i2.BitrixApiUserMapServices"],"mappings":";;;;;;;;;;;;;;;;;;;AAAO,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,cAAc,GAAG,eAAe,CAAA;AACtC,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,CAAA;AACvC,MAAM,UAAU,GAAG,WAAW,CAAA;AAC9B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,gBAAgB,GAAG,iBAAiB,CAAA;AAC1C,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,cAAc,GAAG,eAAe,CAAA;AACtC,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,UAAU,GAAG,WAAW,CAAA;AAC9B,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,GAAG,GAAG,IAAI,CAAA;AAChB,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,IAAI,GAAG,KAAK;;MCzDZ,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YARrB,aAAa;AACb,QAAA,eAAe,aAGf,eAAe;QACf,aAAa,CAAA,EAAA,CAAA,CAAA;AAGJ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YARrB,aAAa;AACb,QAAA,eAAe,EAGf,eAAe;QACf,aAAa,CAAA,EAAA,CAAA,CAAA;2FAGJ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAZxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,aAAa;AACd,qBAAA;AACF,iBAAA,CAAA;;;MCHY,qBAAqB,CAAA;AAIhC,IAAA,WAAA,CAA+C,IAAgE,EAAA;QAAhE,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA4D;AAF/G,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;KAGnC;IAED,QAAQ,GAAA;AACN,QAAA,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,SAAS,CAAC;AACf,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;AACtC,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;;AAfU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAIZ,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAJ3B,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlC,wUAaA,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAEX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;+BACE,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,cACzB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wUAAA,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,CAAA;;0BAMV,MAAM;2BAAC,kBAAkB,CAAA;;;AEhBxC;;;AAGG;AAQW,MAAO,eAAe,CAAA;AAElC,IAAA,WAAA,CAAoB,QAAqB,EAAA;QAArB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KACxC;AAED,IAAA,KAAK,CAAC,OAAe,EAAE,GAAG,GAAG,EAAE,EAAA;QAC7B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;KAC5C;AAED,IAAA,OAAO,CAAC,OAAe,EAAE,GAAG,GAAG,CAAC,EAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;KAC/C;AAED,IAAA,OAAO,CAAC,OAAe,EAAE,GAAG,GAAG,CAAC,EAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;KAC/C;IAED,eAAe,CAAC,OAAe,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qBAAqB,EAAE;YACrD,QAAQ,EAAE,GAAG,GAAG,IAAI;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;YACD,UAAU,EAAE,IAAI,GAAG,MAAM;AAC1B,SAAA,CAAC,CAAC;KACJ;;4GA3BkB,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACVD;AACA,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;AAC1B,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,mCAAmC,GAAG,GAAG,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;AAEvG,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AACzD,MAAM,gBAAgB,GAAG,eAAe,CAAC;AACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AACrC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAExC;AACA;AACA,MAAM,aAAa,GAA6B;AAC9C,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF,SAAS,iBAAiB,CAAC,UAAkB,EAAA;AAC3C,IAAA,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,GAAA;AAClB,IAAA,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;IACtE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjC,KAAA;AACD,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ,EAAA;IAC/B,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAA,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACnB,QAAA,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;AAClC,YAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAA,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,KAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAQ,EAAE,UAAe,EAAE,EAAA;;IAE5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC9D,QAAA,OAAO,GAAG,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;AAC5B,KAAA;IAED,IAAI,SAAS,GAAe,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAU,EAAE,CAAC;IACxB,IAAI,KAAK,GAAU,EAAE,CAAC;IACtB,IAAI,IAAI,GAAU,EAAE,CAAC;IACrB,IAAI,IAAI,GAAU,EAAE,CAAC;IACrB,IAAI,MAAM,GAAU,EAAE,CAAC;IACvB,IAAI,MAAM,GAAU,EAAE,CAAC;IACvB,IAAI,UAAU,GAAU,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAU,EAAE,CAAC;IACxB,IAAI,IAAI,GAAU,EAAE,CAAC;;;AAIrB,IAAA,SAAS,QAAQ,CAAC,GAAW,EAAE,KAAU,EAAA;;QAGvC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,eAAe,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AACjC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;;QAGD,IAAI,SAAS,GAAQ,KAAK,CAAC;AAC3B,QAAA,IAAI,IAAI,GAAG,OAAO,SAAS,CAAC;AAE5B,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,QAAQ;gBAEX,IAAI,SAAS,YAAY,MAAM,EAAE;AAC/B,oBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACpE,iBAAA;qBAAM,IAAI,SAAS,YAAY,IAAI,EAAE;AACpC,oBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAClE,iBAAA;qBAAM,IAAI,SAAS,YAAY,GAAG,EAAE;AACnC,oBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACjE,iBAAA;qBAAM,IAAI,SAAS,YAAY,GAAG,EAAE;AACnC,oBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACjE,iBAAA;gBAED,IAAI,SAAS,YAAY,KAAK,EAAE;AAC9B,oBAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,YAAA;AAC9B,wBAAA,OAAO,IAAI,CAAA;AACb,qBAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC;AAC/B,oBAAA,IAAI,QAAQ,EAAE;AACZ,wBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACnE,qBAAA;AACF,iBAAA;gBAED,IAAI,SAAS,YAAY,GAAG,EAAE;AAC5B,oBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACjE,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACvE,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACpE,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACxE,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACtE,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;IAED,SAAS,aAAa,CAAC,EAAY,EAAA;AACjC,QAAA,IAAI,YAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjC,QAAA,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC5C,MAAM,IAAI,SAAS,CAAC,+BAA+B,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAChE,SAAA;;AAGD,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACvC,YAAA,OAAO,YAAY,CAAC;AACrB,SAAA;;AAGD,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACxC,YAAA,OAAO,YAAY,CAAC;AACrB,SAAA;QAED,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;AAC5C,aAAA,IAAI,EAAE;aACN,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,UAAU,GAAG,EAAA;AACnB,YAAA,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AACvB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,EAAA;YAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7C,SAAC,CAAC,CAAC;;AAGH,QAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,UAAU;mBAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AAC3C,kBAAA,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACtC,SAAA;;AAGD,QAAA,OAAO,YAAY,CAAC;KACrB;;IAGD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QACvD,GAAG,GAAG,SAAS,CAAC;AACjB,KAAA;;;IAGD,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,KAAA;IAED,IAAI,GAAG,GAAW,EAAE,CAAC;;;IAIrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpC,QAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAA;AAAM,SAAA;QACL,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACjF,KAAA;;;;AAKD,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;QAC3B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC3D,KAAA;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACxO,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;;;;AAKD,IAAA,OAAO,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAA;;;;AAIlF,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,GAAG;gBACN,OAAO,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAA;AAChE,YAAA,KAAK,GAAG;gBACN,OAAO,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,KAAK,CAAA;AAC3G,YAAA,KAAK,GAAG;gBACN,OAAO,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAA;AACtF,YAAA,KAAK,GAAG;gBACN,OAAO,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAA;AACrF,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,6BAA6B,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAA;AACzI,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,WAAW,CAAA;AACpB,YAAA,KAAK,GAAG;AACN,gBAAA,OAAO,UAAU,CAAC,UAAU,CAAC,CAAA;AAC/B,YAAA,KAAK,GAAG;gBACN,OAAO,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;AAClD,YAAA,KAAK,GAAG;gBACN,OAAO,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAA;AAC5D,SAAA;AAED,QAAA,IAAI,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE/B,QAAA,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,KAAC,CAAC,CAAC;AACL;;AC5Nc,MAAO,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,IAAS,EAAA;QAC1B,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAA;KAC9B;IAED,OAAO,SAAS,CAAC,IAAS,EAAA;AACxB,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;KACvB;;yGAPkB,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEC,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACCa,MAAO,eAAe,CAAA;IAElC,OAAO,GAAG,CAAC,IAAY,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC;AAC1E,QAAA,IAAI,OAAO;AACT,YAAA,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;;AAEjB,YAAA,OAAO,EAAE,CAAA;KACZ;IAED,OAAO,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc,CAAC,EAAA;QACrD,IAAI,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;AACrC,QAAA,IAAG,GAAG,EAAE;AACN,YAAA,MAAM,IAAI,WAAW,GAAG,GAAG,CAAA;AAC5B,SAAA;QACD,MAAM,IAAI,yBAAyB,CAAA;AACnC,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;KACzB;IAED,OAAO,MAAM,CAAC,IAAY,EAAE,KAAU,EAAE,MAAc,CAAC,EAAA;AACrD,QAAA,IAAI,MAAM,GAAG,IAAI,GAAG,GAAG,GAAGC,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;AACrD,QAAA,IAAG,GAAG,EAAE;AACN,YAAA,MAAM,IAAI,WAAW,GAAG,GAAG,CAAA;AAC5B,SAAA;QACD,MAAM,IAAI,yBAAyB,CAAA;AACnC,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;KACzB;IAED,OAAO,MAAM,CAAI,IAAY,EAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC;AAC1E,QAAA,IAAI,OAAO,EAAE;YACX,OAAOA,YAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACpC,SAAA;AAED,QAAA,OAAO,KAAK,CAAA;KACb;;4GAnCkB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACaM,MAAMC,MAAI,GAAG,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAAiD,CAAC,CAAA;AAC1G,MAAM,eAAe,GAAG,YAAY,CAAC,kCAAkC,EAAE,KAAK,EAA2B,CAAC,CAAA;AAE1G,MAAMC,cAAY,GAAwB;AAC/C,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,YAAY,GAAG,aAAa,CAChCA,cAAY,EACZ,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AAC9B,IAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC,CAAC,CACH,CAAC;SAEc,WAAW,CAAC,KAAK,GAAGA,cAAY,EAAE,MAAc,EAAA;AAC9D,IAAA,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrC;;AC7CO,MAAM,IAAI,GAAG;AAClB,IAAA,kBAAkB,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CACxC;;MCOY,YAAY,CAAA;AAErB,IAAA,KAAK,CAAC,GAAQ,EAAA;AACV,QAAA,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;KAClC;AAED,IAAA,KAAK,CAAC,GAAQ,EAAA;AACV,QAAA,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,MAAM,CAAC,GAA2B,EAAE,MAAe,EAAE,GAAqB,EAAA;QACtE,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,YAAA,OAAO,GAAG,CAAA;AACb,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE;AAC/B,YAAA,IAAI,MAAM,EAAE;AACR,gBAAA,IAAI,GAAG,EAAE;AACL,oBAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC1D,iBAAA;gBACD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;AACrD,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE;AAC/B,YAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,SAAA;QACD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/C,QAAA,MAAM,mBAAmB,CAAA;KAC5B;AAED,IAAA,YAAY,CAAC,IAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;KAC5C;AAED,IAAA,uBAAuB,CAAC,IAAU,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;AAC1C,QAAA,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAA;QACtC,MAAM,GAAG,GAAG,CAAC,CAAS,KAAK,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACxE,OAAO,IAAI,CAAC,WAAW,EAAE;YACrB,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC9B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5B,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,YAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;KAC/B;;AAED,IAAA,MAAM,CAAC,GAAQ,EAAA;QACX,QAAQ,OAAO,GAAG;AACd,YAAA,KAAK,QAAQ;AACT,gBAAA,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;gBACvB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE;oBAC5B,OAAO,GAAG,KAAK,GAAG,CAAA;AACrB,iBAAA;qBAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;oBAC1C,OAAO,GAAG,KAAK,MAAM,CAAA;AACxB,iBAAA;AAAM,qBAAA;AACH,oBAAA,OAAO,KAAK,CAAA;AACf,iBAAA;AACL,YAAA;AACI,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AAC1B,SAAA;KACJ;AAED,IAAA,QAAQ,CAAC,GAAY,EAAA;QACjB,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAA;KAC3B;AAED,IAAA,MAAM,CAAC,GAAQ,EAAA;QACX,OAAO,OAAO,GAAG,CAAA;KACpB;AAED,IAAA,YAAY,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,GAAG,EAAE;YACL,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,gBAAA,OAAO,MAAM,CAAA;AAChB,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;AACnB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,IAAI,CAAA;AACd,SAAA;KACJ;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC7B;AAED,IAAA,QAAQ,CAAI,GAAW,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACzB;AAED,IAAA,kBAAkB,CAAC,GAAW,EAAE,GAAA,GAAc,EAAE,EAAA;AAC5C,QAAA,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AACvD,YAAA,GAAG,GAAG,UAAU,GAAG,GAAG,CAAA;AACzB,SAAA;AAED,QAAA,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;AAC3C,YAAA,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAClB,SAAA;AAED,QAAA,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEf,QAAA,OAAO,GAAG,CAAA;KACb;IAED,cAAc,GAAA;;AAEV,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;KACzD;IAED,QAAQ,CAAC,CAAO,EAAE,CAAO,EAAA;AACrB,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;KAC7C;IAED,cAAc,CAAC,CAAO,EAAE,CAAO,EAAA;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC9E;AAED,IAAA,aAAa,CAAC,IAAU,EAAA;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAC1B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3C,SAAC,CAAC,CAAA;KACL;IAED,MAAM,oBAAoB,CAAC,IAAU,EAAA;QACjC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAC3C,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO;AACH,gBAAA,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAChB,gBAAA,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAA;AACJ,SAAA;AACD,QAAA,OAAO,SAAS,CAAA;KACnB;AAED,IAAA,QAAQ,CAAC,OAAiB,EAAA;QACtB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,SAAC,CAAC,CAAA;KACL;IAED,eAAe,CAAC,KAAW,EAAE,KAAW,EAAA;QACpC,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;AACnC,eAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;eACrC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA;KACrD;AAED,IAAA,MAAM,CAAC,IAAU,EAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;KAC3C;AAED,IAAA,MAAM,CAAC,CAAW,EAAA;QACd,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,YAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,CAAC,CAAA;KACX;AAED,IAAA,eAAe,CAAC,GAAW,EAAE,SAAS,GAAG,KAAK,EAAA;AAC1C,QAAA,IAAI,SAAS,EAAE;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC1D,SAAA;KACJ;AAED,IAAA,OAAO,CAAC,GAAW,EAAA;AACf,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC9C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC7C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC5C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC3C,QAAA,OAAO,GAAG,CAAA;KACb;;yGAhLQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCFY,oBAAoB,CAAA;IAE/B,OAAO,GAAG,CAAC,IAAY,EAAA;AACrB,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KAClC;IAED,OAAO,MAAM,CAAI,IAAY,EAAA;QAC3B,OAAOF,YAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;KACpD;AAED,IAAA,OAAO,GAAG,CAAC,IAAY,EAAE,KAAa,EAAA;AACpC,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;KAClC;AAED,IAAA,OAAO,MAAM,CAAC,IAAY,EAAE,KAAU,EAAA;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACxB,QAAA,IAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAC;AAChC,YAAA,YAAY,CAAC,OAAO,CAClB,IAAI,EACJA,YAAI,CAAC,SAAS,CACZ,MAAM,CAAC,MAAM,CACX,GAAG,EACH,KAAK,CACN,CACF,CACF,CAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,YAAY,CAAC,OAAO,CAAC,IAAI,EAAEA,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAClD,SAAA;KACF;IAED,OAAO,GAAG,CAAC,IAAY,EAAA;AACrB,QAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KAC9B;;iHAjCU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCCY,YAAY,CAAA;AAGrB,IAAA,WAAA,GAAA;QAFA,IAAI,CAAA,IAAA,GAAqB,KAAK,CAAA;;AAI1B,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;KAClD;AAED,IAAA,IAAI,CAAC,QAAkB,EAAA;QACnB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;KACxD;;yGAVQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACaoB,MAAA,kBAAmB,SAAQ,YAAY,CAAA;AASxD,IAAA,WAAA,CACW,KAA2C,EAC1C,KAAqB,EACtB,QAAsB,EAAA;AAE7B,QAAA,KAAK,EAAE,CAAA;QAJA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsC;QAC1C,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAc;QAVjC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;AAGhB,QAAA,IAAA,CAAA,SAAS,GAAG;YACR,QAAQ,EAAE,IAAI,YAAY,EAAE;SAC/B,CAAA;QAQG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChC,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE;;gBAE1D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,KAAI;oBACvD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;wBAChC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;4BAChC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AACtC,gCAAA,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClD,6BAAA;4BAED,IAAI,IAAI,GAA4B,EAAE,CAAA;AAEtC,4BAAA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AAC/B,gCAAA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gCAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;AACjD,gCAAA,IAAI,GAAG;AACH,oCAAA,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,GAAG,SAAS;AACnE,oCAAA,eAAe,EAAE,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,GAAG,SAAS;AAC5E,oCAAA,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;AACjD,oCAAA,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,SAAS;AACpD,oCAAA,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS;AAC7D,oCAAA,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS;AAC1D,oCAAA,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,GAAG,SAAS;AACtE,oCAAA,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS;AAC9C,oCAAA,eAAe,EAAE,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,GAAG,SAAS;AAC5E,oCAAA,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;AACjD,oCAAA,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,SAAS;AACpD,oCAAA,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS;iCAC9C,CAAA;AACJ,6BAAA;AAED,4BAAA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gCAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;gCAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;AACtB,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACL,iBAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;AAC7C,qBAAA,IAAI,CACD,MAAM,CAAC,KAAK,IACR,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AACjB,uBAAA,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;AACzB,uBAAA,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AACvB,uBAAA,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CACzB,CACJ;AACA,qBAAA,SAAS,CAAC,CAAC,KAAe,KAAI;oBAC3B,IAAI,IAAI,GAA4B,EAAE,CAAA;AACtC,oBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;wBACvD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAChC,wBAAA,IAAI,GAAG,EAAE;4BACLG,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACxB,4BAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAA;AAC1B,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE;wBAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AACrC,wBAAA,IAAI,GAAG,EAAE;4BACLA,eAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACxB,4BAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAA;AAC1B,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;wBAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AACnC,wBAAA,IAAI,GAAG,EAAE;AACL,4BAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAA;AAC3B,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;wBAChD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,wBAAA,IAAI,GAAG,EAAE;AACL,4BAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;AACpB,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;wBAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;wBAC1C,IAAI,CAAC,YAAY,EAAE,CAAA;AACtB,qBAAA;AAAM,yBAAA;;;wBAGH,IAAI,CAAC,GAAG,MAAK;AACT,4BAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gCACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;gCAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;AACjD,6BAAA;AACL,yBAAC,CAAA;AAED,wBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACxB,qBAAA;AAEL,iBAAC,CAAC,CAAA;AACT,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;AAC9B,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;AACvB,aAAA;AAED,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC5B,SAAC,CAAC,CAAA;KACL;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;KACxC;IAED,OAAO,GAAA;QACH,IAAU,MAAO,CAAC,EAAE,IAAU,MAAO,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;AACtD,YAAA,OAAa,MAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAA;AAC1C,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;AAChC,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC1B,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;AAC1B,SAAA;AAAM,aAAA;AACH,YAAA,OAAOA,eAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAC7B,SAAA;KACJ;IAED,UAAU,GAAA;QACN,IAAU,MAAO,CAAC,EAAE,IAAU,MAAO,CAAC,EAAE,CAAC,aAAa,EAAE;AACjD,eAAA,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;AAC5B,YAAA,OAAO,QAAQ,CAAA;AAClB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,MAAM,CAAA;AAChB,SAAA;KACJ;IAED,SAAS,GAAA;AACL,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACzE,QAAA,IAAI,KAAK,EAAE;AACP,YAAAC,oBAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACjC,YAAA,OAAO,KAAK,CAAA;AACf,SAAA;AAAM,aAAA,IAAIA,oBAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,OAAOA,oBAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACpC,SAAA;AACD,QAAA,OAAO,EAAE,CAAA;KACZ;AAED,IAAA,aAAa,CAAI,MAAW,EAAA;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;AACjC,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;AACjB,YAAA,OAAO,IAAI,CAAA;AACd,SAAA;AAAM,aAAA,IAAI,OAAO,EAAE;YAChB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;AAChC,YAAA,OAAO,IAAI,CAAA;AACd,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACf;IAED,aAAa,GAAA;;AAEL,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAC7C,CAAA;;;;KAIR;IAED,UAAU,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACtB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,SAAS,CAAC,CACpG,CAAA;KACR;;+GArLgB,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAED,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACZK,MAAO,QAAS,SAAQ,YAAY,CAAA;AAA1C,IAAA,WAAA,GAAA;;AAEI,QAAA,IAAA,CAAA,WAAW,GAAuB;AAC9B,YAAA,QAAQ,EAAE;AACN,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,QAAQ,EAAE,KAAK;AAClB,aAAA;SACJ,CAAA;KAiIJ;AA/HG,IAAA,gBAAgB;IACZ,GAAQ,EACR,cAA6B,GAAA,IAAI,UAAU,EAAE,EAC7C,SAAS,GAAG,KAAK,EACjB,OAAA,GAAoB,EAAE;;IAEtB,CAAC,GAAG,IAAI,CAAC,WAAW,EAAA;AAEpB,QAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,OAAO,CAAC,MAAM,EAAE;AAChB,gBAAA,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACtB,gBAAA,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;sBACtB,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG;sBAC5D,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAChC,aAAA;AAAM,iBAAA;gBACH,MAAM,GAAG,GAAG,CAAA;AACf,aAAA;AACD,YAAA,QAAQ,OAAO,GAAG,CAAC,GAAG,CAAC;AACnB,gBAAA,KAAK,QAAQ;AACT,oBAAA,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;oBACrD,MAAK;AACT,gBAAA,KAAK,QAAQ,CAAC;AACd,gBAAA,KAAK,QAAQ,CAAC;AACd,gBAAA,KAAK,QAAQ,CAAC;AACd,gBAAA,KAAK,SAAS;AACV,oBAAA,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBAC7D,MAAK;AACT,gBAAA,KAAK,QAAQ;AACT,oBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjB,oBAAA,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;oBAChF,OAAO,CAAC,GAAG,EAAE,CAAA;oBACb,MAAK;AACT,gBAAA,KAAK,UAAU,CAAC;AAChB,gBAAA,KAAK,WAAW,CAAC;AACjB,gBAAA;AACI,oBAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;AACvF,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,cAAc,CAAA;KACxB;AAED,IAAA,iBAAiB,CACb,GAAQ,EACR,iBAA2B,IAAI,QAAQ,EAAE,EACzC,SAAS,GAAG,KAAK,EACjB,UAAoB,EAAE,EACtB,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAA;QAG3B,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,YAAA,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AAC5B,kBAAE,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;kBAC/C,KAAK,CAAA;AACX,YAAA,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC/B,YAAA,OAAO,cAAc,CAAA;AACxB,SAAA;aAAM,IAAI,GAAG,YAAY,IAAI,EAAE;AAC5B,YAAA,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAK,GAAG,CAAC,iBAAiB,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;YAC9E,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,IAAK,GAAG,CAAC,iBAAiB,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;YAClF,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AAC5B,kBAAE,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;kBAC/C,KAAK,CAAA;YACX,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AACzF,YAAA,OAAO,cAAc,CAAA;AACxB,SAAA;AAAM,aAAA;AACH,YAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;gBACnB,IAAI,MAAM,GAAG,EAAE,CAAA;gBACf,IAAI,OAAO,CAAC,MAAM,EAAE;AAChB,oBAAA,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACtB,oBAAA,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;0BACtB,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG;0BAC5D,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAChC,iBAAA;AAAM,qBAAA;oBACH,MAAM,GAAG,GAAG,CAAA;AACf,iBAAA;AACD,gBAAA,QAAQ,OAAO,GAAG,CAAC,GAAG,CAAC;AACnB,oBAAA,KAAK,QAAQ;wBACT,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;wBACpC,MAAK;AACT,oBAAA,KAAK,QAAQ,CAAC;AACd,oBAAA,KAAK,QAAQ,CAAC;AACd,oBAAA,KAAK,QAAQ,CAAC;AACd,oBAAA,KAAK,SAAS;AACV,wBAAA,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;wBAC5C,MAAK;AACT,oBAAA,KAAK,QAAQ;AACT,wBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjB,wBAAA,cAAc,GAAG,IAAI,CAAC,iBAAiB,CACnC,GAAG,CAAC,GAAG,CAAC,EACR,cAAc,EACd,KAAK,EACL,OAAO,EACP,QAAQ,CACX,CAAA;wBACD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,MAAK;AACT,oBAAA,KAAK,UAAU,CAAC;AAChB,oBAAA,KAAK,WAAW,CAAC;AACjB,oBAAA;AACI,wBAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;AACvF,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,cAAc,CAAA;KACxB;AAED,IAAA,SAAS,CAAI,CAA+B,EAAA;AACxC,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE;YAClD,OAAO,CAAC,CAAC,MAAM,CAAA;AAClB,SAAA;AACD,QAAA,OAAO,SAAS,CAAA;KACnB;IAED,oBAAoB,CAAC,GAAU,EAAE,SAAiB,EAAA;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;AAC5C,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;AAC1C,YAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACd;AAED,IAAA,uBAAuB,CAAC,GAAW,EAAA;QAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;KACrC;AACJ;;AChIK,MAAgB,QAAS,SAAQ,QAAQ,CAAA;IAE3C,WAA6B,CAAA,IAAgB,EAAS,QAAyB,EAAA;AAC3E,QAAA,KAAK,EAAE,CAAA;QADkB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAS,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;KAE9E;AAeD,IAAA,WAAW,CACP,MAAU,EACV,SAAS,GAAG,kBAAkB,EAAA;QAC9B,OAAO,CAAC,KAAY,KAAmB;YACnC,OAAO,CAAC,KAAK,CAAC,CAAA,QAAA,EAAW,KAAK,CAAC,OAAO,CAAE,CAAA,CAAC,CAAA;YACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,YAAA,OAAO,EAAE,CAAC,MAAW,CAAC,CAAA;AAC1B,SAAC,CAAC;KACL;;AA3BiB,QAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,8CARvB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAQA,QAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEA,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;qFAPM,eAAe,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;ACChB,MAAO,gBAAiB,SAAQ,QAAQ,CAAA;AAEnC,IAAA,OAAO,CACV,GAAW,EACX,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,GAAG,EAAE;AACrC,YAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC;AAC/E,SAAA,CAAC,CAAC,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;YACb,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AAClD,gBAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AAC1C,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;SAC/B,CAAC,CACL,CAAA;KACJ;AAEM,IAAA,QAAQ,CAAI,GAAW,EACX,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAE9D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,GAAG,EACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CACtE,CAAC,IAAI,CACF,UAAU,CAAC,GAAG,IAAG;YACb,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AAClD,gBAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AAC1C,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAClB,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;SAC/B,CAAC,CACL,CAAA;KACJ;AAmBJ;;AC/CoB,MAAA,YAAa,SAAQ,gBAAgB,CAAA;AAEtD,IAAA,WAAA,CAAY,IAAgB,EAAE,QAAyB,EAAS,OAA2B,EAAA;AACvF,QAAA,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QADuC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;KAE1F;IAED,eAAe,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,OAAO,CAAoC,aAAa,CAAC,CAAC,IAAI,CACtE,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACf,gBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC5B,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;SACnB,CAAC,CACL,CAAA;KACJ;AAED;;;AAGG;AACH,IAAA,MAAM,CAAO,KAAyD,EAAA;AAClE,QAAA,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAS,IAAI,CAAC,YAAY,CAAI,KAAK,CAAC,CAAC,CAAA;AACtE,QAAA,MAAM,IAAI,GAAG,EAAE,CAAA;AACf,QAAA,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5D,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAA;AAClE,SAAA;QAED,OAAO,QAAQ,CACX,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAG;AACb,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AAC/B,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AAChC,oBAAA,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAA;AACzB,iBAAC,CAAC,CAAC;AACN,aAAA,CAAC,CAAA;SACL,CAAC,CACmC,CAAA;KAC5C;AAED,IAAA,YAAY,CAAI,KAAyD,EAAA;AACrE,QAAA,IAAI,GAAG,GAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,GAAG,KAAI;AACT,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACd,YAAA,OAAO,GAAG,CAAC;SACd,EACD,EAA4B,CAC/B,CAAC;AACF,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACnB,YAAA,IAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;gBACvE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;AACxF,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,GAAG,CAAA;KACb;AAED,IAAA,eAAe,CAAI,GAA6B,EAAA;AAC5C,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAwB,CAAA;KAChI;AAED,IAAA,yBAAyB,CAAI,GAA6B,EAAA;AACtD,QAAA,OAAO,OAAO,CAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;KACrH;AAED,IAAA,IAAI,CAAI,IAAc,EACd,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KACjF;AAED,IAAA,GAAG,CAAI,IAAc,EACd,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KAChF;AAEQ,IAAA,QAAQ,CAAI,GAAW,EACX,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAEhE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CACpC,QAAQ,CAAC,IAAI,IAAG;AACZ,YAAA,IAAI,IAAI,EAAE;AACN,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC7C,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAG;AAC/C,oBAAA,IAAI,CAAC,EAAE;AACH,wBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,EAChC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;6BACxE,IAAI,CACD,IAAI,CAAC,CAAC,CAAC,EACP,UAAU,CAAC,GAAG,IAAG;4BACb,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AAClD,gCAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AAC1C,6BAAA;4BAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,4BAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;yBAC/B,CAAC,CACL,CAAA;AACR,qBAAA;AACD,oBAAA,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAA;iBAChD,CAAC,CAAC,CAAA;AACN,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;AAC1C,gBAAA,OAAO,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;AAC1C,aAAA;SACJ,CAAC,CAAC,CAAA;KACV;AAEQ,IAAA,OAAO,CACZ,GAAW,EACX,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CACpC,QAAQ,CAAC,IAAI,IAAG;AACZ,YAAA,IAAI,IAAI,EAAE;gBACN,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,MAAM,GAAG,EAAE,CAAA;AACd,iBAAA;AACD,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC7C,gBAAA,IAAI,OAAO,GAAG;AACV,oBAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;iBAC7C,CAAA;AAED,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CACjC,QAAQ,CAAC,CAAC,IAAG;AACT,oBAAA,IAAI,CAAC,EAAE;AACH,wBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACnE,IAAI,CAAC,CAAC,CAAC,EACP,UAAU,CAAC,GAAG,IAAG;4BACb,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AAClD,gCAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AAC1C,6BAAA;4BAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,4BAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;yBAC/B,CAAC,CAAC,CAAA;AACV,qBAAA;AACD,oBAAA,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAA;iBAChD,CAAC,CACL,CAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;AAC1C,gBAAA,OAAO,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;AAC1C,aAAA;SACJ,CAAC,CACL,CAAA;KACJ;AAED,IAAA,aAAa,CAAC,GAAa,EAAA;AACvB,QAAA,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACvB;;yGAhKgB,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAf1B,eAAe,EAAA,EAAA,EAAA,KAAA,EACf,kBAAkB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAcJ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAED,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;AAdM,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YACf,kBAAkB,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;ACWJ,MAAA,cAAe,SAAQQ,YAAgB,CAAA;IAEjD,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAoC,aAAa,CAAC,CAAC,IAAI,CACxE,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjB,gBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC1B,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;SACjB,CAAC,CACH,CAAA;KACF;AAED;;;AAGG;AACM,IAAA,MAAM,CAAO,KAAyD,EAAA;AAC7E,QAAA,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAS,IAAI,CAAC,YAAY,CAAI,KAAK,CAAC,CAAC,CAAA;AACtE,QAAA,MAAM,IAAI,GAAG,EAAE,CAAA;AACf,QAAA,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9D,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAA;AAChE,SAAA;QAED,OAAO,QAAQ,CACb,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAG;AACf,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AACjC,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AAClC,oBAAA,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAA;AACvB,iBAAC,CAAC,CAAC;AACJ,aAAA,CAAC,CAAA;SACH,CAAC,CACqC,CAAA;KAC1C;AAEQ,IAAA,YAAY,CAAI,KAAyD,EAAA;AAChF,QAAA,IAAI,GAAG,GAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,GAAG,KAAI;AACX,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACd,YAAA,OAAO,GAAG,CAAC;SACZ,EACD,EAA4B,CAC7B,CAAC;AACF,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACrB,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;gBAC1E,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;AACtF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,GAAG,CAAA;KACX;AAEQ,IAAA,eAAe,CAAI,GAA6B,EAAA;AACvD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpG,CAAA;KACF;AAEQ,IAAA,yBAAyB,CAAI,GAA6B,EAAA;AACjE,QAAA,OAAO,OAAO,CAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;KACnH;AAEQ,IAAA,IAAI,CAAI,IAAc,EACd,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KAC/E;AAEQ,IAAA,GAAG,CAAI,IAAc,EACd,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KAC9E;AAEQ,IAAA,QAAQ,CAAI,GAAW,EACX,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAElE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CACtC,QAAQ,CAAC,IAAI,IAAG;AACd,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC7C,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAG;AACjD,oBAAA,IAAI,CAAC,EAAE;AACL,wBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,EAChC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;6BACxE,IAAI,CACH,IAAI,CAAC,CAAC,CAAC,EACP,UAAU,CAAC,GAAG,IAAG;4BACf,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AACpD,gCAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AACxC,6BAAA;4BAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,4BAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;yBAC7B,CAAC,CACH,CAAA;AACJ,qBAAA;AACD,oBAAA,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAA;iBAC9C,CAAC,CAAC,CAAA;AACJ,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;AAC1C,gBAAA,OAAO,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;AACxC,aAAA;SACF,CAAC,CAAC,CAAA;KACN;AAEQ,IAAA,OAAO,CACd,GAAW,EACX,MAAA,GAAc,EAAE,EAChB,SAAS,GAAG,EAAE,EACd,QAA+B,GAAA,IAAI,CAAC,WAAW,EAAA;AAE/C,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CACtC,QAAQ,CAAC,IAAI,IAAG;AACd,YAAA,IAAI,IAAI,EAAE;gBACR,IAAI,MAAM,KAAK,IAAI,EAAE;oBACnB,MAAM,GAAG,EAAE,CAAA;AACZ,iBAAA;AACD,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAA;AAC7C,gBAAA,IAAI,OAAO,GAAG;AACZ,oBAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;iBAC3C,CAAA;AAED,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CACnC,QAAQ,CAAC,CAAC,IAAG;AACX,oBAAA,IAAI,CAAC,EAAE;AACL,wBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CACrE,IAAI,CAAC,CAAC,CAAC,EACP,UAAU,CAAC,GAAG,IAAG;4BACf,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE;AACpD,gCAAA,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAA;AACxC,6BAAA;4BAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAC3C,4BAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;yBAC7B,CAAC,CAAC,CAAA;AACN,qBAAA;AACD,oBAAA,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAA;iBAC9C,CAAC,CACH,CAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;AAC1C,gBAAA,OAAO,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;AACxC,aAAA;SACF,CAAC,CACH,CAAA;KACF;AAEQ,IAAA,aAAa,CAAC,GAAa,EAAA;AAClC,QAAA,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACrB;;2GA9JkB,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;wBCToB,MAAA,eAAgB,SAAQ,YAAY,CAAA;;8GAApCC,iBAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAfA,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,iBAAe,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAECA,iBAAe,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACKoB,MAAA,qBAAsB,SAAQA,iBAAe,CAAA;AAEhE,IAAA,GAAG,CAAC,IAA6B,EAAA;AAE/B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAC;AACxB,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,GAAG;YACvC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACxB,SAAA,CAAC,CAAA;KACH;;kHAVkB,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCEY,kBAAkB,CAAA;IAS7B,WACU,CAAA,IAAoB,EACpB,SAAgC,EAAA;QADhC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgB;QACpB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;AAV1C,QAAA,IAAA,CAAA,GAAG,GAAG;AACJ,YAAA,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC7B,YAAA,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AACnC,YAAA,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC7B,YAAA,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AACnC,YAAA,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;SAClD,CAAA;KAMA;AAED,IAAA,GAAG,CAAC,IAAiC,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AAChF,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;AACrB,cAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;AACtE,cAAE,SAAS,CACZ,CACF,CAAA;KACJ;;+GAvBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EARxB,cAAc,EAAA,EAAA,EAAA,KAAA,EACd,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAOf,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;AAPM,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,cAAc,YACd,qBAAqB,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;ACYd,MAAO,WAAW,CAAA;AAS9B,IAAA,WAAA,CACS,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;AATpC,QAAA,IAAA,CAAA,GAAG,GAAG;AACJ,YAAA,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACnB,YAAA,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AACzB,YAAA,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACnB,YAAA,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AACzB,YAAA,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC;SACrD,CAAA;KAKA;;wGAZkB,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEC,WAAW,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACDM,MAAM,IAAI,GAAG,YAAY,CAAC,wBAAwB,EAAE,KAAK,EAAgB,CAAC,CAAA;AAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,4BAA4B,EAAE,KAAK,EAA2B,CAAC,CAAA;AAC5F,MAAM,MAAM,GAAG,YAAY,CAAC,0BAA0B,EAAE,KAAK,EAAgB,CAAC,CAAA;AAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,EAAE,KAAK,EAAkB,CAAC,CAAA;AAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,4BAA4B,EAAE,KAAK,EAA0B,CAAC,CAAA;AAC5F,MAAM,sBAAsB,GAAG,YAAY,CAAC,0CAA0C,EAAE,KAAK,EAAkB,CAAC,CAAA;AAEhH,MAAM,YAAY,GAAe;AACtC,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,UAAU,EAAE,EAAE;AACf,KAAA;AACD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,EAAE;CACT,CAAA;AAED,MAAM,aAAa,GAAG,aAAa,CACjC,YAAY,EACZ,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACrC,IAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AACnB,IAAA,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5D,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,EACF,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACtB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,IAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrB,aAAA;AACF,SAAA;AACF,KAAA;AAAM,SAAA;QACL,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,EACF,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACrB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;AACrD,IAAA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACf,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;;AAEhC,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACtB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;AAC5B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;AACzB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACvB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAA;AACjC,CAAC,CAAC,CACH,CAAA;SAGe,YAAY,CAAC,KAAK,GAAG,YAAY,EAAE,MAAc,EAAA;AAC/D,IAAA,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACrC;;ACjFqB,MAAA,eAAgB,SAAQ,YAAY,CAAA;;4GAApC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAED,eAAe,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACGK,MAAO,wBAAyB,SAAQ,eAAe,CAAA;AAEzD,IAAA,QAAQ,CAAC,IAAqB,EAAA;QAC1B,IAAI,GAAG,GAAgB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC9C,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9C,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACzD,SAAA,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAChD,SAAA;AAED,QAAA,OAAO,GAAG,CAAA;KACb;AAED,IAAA,QAAQ,CAAC,IAAiB,EAAA;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC9B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;YACpD,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACrD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,SAAA,CAAC,CAAA;KACL;AAED,IAAA,MAAM,CAAC,IAAiB,EAAA;QACpB,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;AAC9D,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;AACzC,YAAA,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,WAAW,CAAA;AACjC,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACnB,YAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;AACvB,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;AACzC,SAAA;AAAM,aAAA;AACH,YAAA,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAA;AAClE,SAAA;AACD,QAAA,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;KACpB;AAED,IAAA,KAAK,CAAC,IAAiB,EAAA;QACnB,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;YACzC,GAAG,GAAG,IAAI,CAAA;AACb,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACnB,YAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;AACvB,SAAA;AAAM,aAAA;YACH,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;AACzC,SAAA;AACD,QAAA,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;KACpB;AAED,IAAA,WAAW,CAAC,IAAiB,EAAA;QACzB,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;AAC9D,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;AACzC,YAAA,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,WAAW,CAAA;AACjC,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACnB,YAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;AACvB,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAA;AACvE,SAAA;AAAM,aAAA;YACH,GAAG;gBACC,IAAI,CAAC,SAAS,GAAG,GAAG;oBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG;AACvC,oBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAA;AACrD,SAAA;AACD,QAAA,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;KACpB;;qHAxEQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCYY,UAAU,CAAA;IAwBrB,WACU,CAAA,IAAoB,EACpB,QAAyB;;;AAGzB,IAAA,KAAmC,EACnC,OAAiC,EAAA;QALjC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgB;QACpB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAGzB,IAAK,CAAA,KAAA,GAAL,KAAK,CAA8B;QACnC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;AA5B3C,QAAA,IAAA,CAAA,GAAG,GAAG;AACJ,YAAA,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACvB,YAAA,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AAClB,YAAA,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;AAC3B,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;AAIzB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AACzB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC;AAClC,aAAA;SACF,CAAA;AAED,QAAA,IAAA,CAAA,GAAG,GAAwC;YACzC,MAAM,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC;SAC9B,CAAA;QAYC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KACxC;IAED,KAAK,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;KAC7D;IAED,GAAG,CAAC,SAAsB,EAAE,EAAA;AAC1B,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,mCAAmC,CAAC;AAC5D,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC3B,aAAA;SACF,CAAC,CACH,CAAA;KACJ;IAED,OAAO,CAAC,MAAM,GAAG,KAAK,EAAA;AACpB,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC1B,SAAA;AAAM,aAAA;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACpBC,UAAQ,CAAC,CAAC,IAAG;AACX,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACf,oBAAA,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAClB,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC1B,iBAAA;AACH,aAAC,CAAC,EACF,KAAK,EAAE,CACR,CAAA;AACF,SAAA;KACF;IAEO,WAAW,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,kCAAkC,CAAC;AACvD,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACvC,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;AAClB,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,IAAI,CAAC,EAAE;AACL,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;AACzC,aAAA;SACF,CAAC,CACH,CAAA;KACJ;AAED,IAAA,MAAM,CAAC,MAAgB,EAAE,SAAS,GAAG,2BAA2B,EAAA;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,EAAE,SAAS,CAAC,CAAA;KACvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,IAAA,WAAW,CAAC,KAAwB,EAAA;QAC1C,IAAI,MAAM,GAAmB,EAAE,CAAA;AAC/B,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;AAE3C,QAAA,OAAO,MAAM,CAAA;KACd;AAED,IAAA,MAAM,CAAC,MAAiC,EAAA;AACtC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,YAAA,MAAM,GAAG,EAAC,IAAI,EAAE,MAAM,EAAC,CAAA;AACxB,SAAA;AACD,QAAA,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACtC,YAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;AACrB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,CAAC,MAAM,EACf,MAAM,EACN,qCAAqC,CACtC,CAAA;KACF;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KAC3E;IAED,MAAM,CAAC,IAAiB,EAAE,WAAqB,EAAA;AAC7C,QAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;AACrC,YAAA,IAAI,QAAQ,GAAQ;gBAClB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAA;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC1C,YAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;AAC/B,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;oBACjB,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;AACnE,iBAAA;AACF,aAAA;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EACzB,uCAAuC,GAAG,IAAI,CAAC,EAAE,CAClD,CAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;AAC9E,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AACd,SAAA;KACF;;;;;;;;;;;;;;;;;;;;;AAuBQ,IAAA,WAAW,CAAC,MAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YACpC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;AACvC,SAAA;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,MAAM,CAAC,MAAM,CAAA;AACrB,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAA;AACrC,SAAA;QAED,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;YACxD,OAAO,MAAM,CAAC,aAAa,CAAA;AAC5B,SAAA;KACF;;uGArNU,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAfhB,cAAc,EAAA,EAAA,EAAA,KAAA,EAMd,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAX,IAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAST,UAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFT,MAAM,EAAA,CAAA,CAAA;2FAEP,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;AAdM,SAAA,CAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,IAAA,EAAA,cAAc,YAMd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAAZ,IAAA,CAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAAY,wBAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;ACPtB;AACA;AACA;AACA;MAKa,MAAM,CAAA;IACjB,WACS,CAAA,IAAgB,EAChB,KAAkB,EAAA;QADlB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;KAE1B;;AALU,MAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAM,yCATZ,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AASL,MAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAM,cAFL,MAAM,EAAA,CAAA,CAAA;2FAEP,MAAM,EAAA,UAAA,EAAA,CAAA;kBAHlB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;gFARM,WAAW,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;ACFlB;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bx-rest",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "bitrix rest api",
5
5
  "keywords": [
6
6
  "bitrxi",
@@ -2,6 +2,7 @@ import iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX';
2
2
  import HttpBXServices from '../../services/http/HttpBX';
3
3
  import BXRestListsElementMap from '../../map/lists/element';
4
4
  import { iBXRestHttpListsElement, iBXRestParamListsElementGet } from '../../typification/rest/lists/element/get';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class BXRestListsElement {
6
7
  private http;
7
8
  private mapResult;
@@ -16,4 +17,6 @@ export declare class BXRestListsElement {
16
17
  get(pram: iBXRestParamListsElementGet): import("rxjs").Observable<(iHttpAnswerBX<iBXRestHttpListsElement[]> & {
17
18
  result: import("../../typification/rest/lists/element/get").iBXRestListsElement[];
18
19
  }) | undefined>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<BXRestListsElement, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<BXRestListsElement>;
19
22
  }
package/rest.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { BXRestUser } from './request/user';
2
2
  import BXRestLists from './request/lists';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class BXRest {
4
5
  user: BXRestUser;
5
6
  lists: BXRestLists;
6
7
  constructor(user: BXRestUser, lists: BXRestLists);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<BXRest, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<BXRest>;
7
10
  }