@mtgame/core 0.1.56 → 0.1.57
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.
- package/bundles/mtgame-core.umd.js +2 -0
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/bundles/mtgame-core.umd.min.js +1 -1
- package/bundles/mtgame-core.umd.min.js.map +1 -1
- package/esm2015/models/tournament.js +3 -1
- package/esm5/models/tournament.js +3 -1
- package/fesm2015/mtgame-core.js +2 -0
- package/fesm2015/mtgame-core.js.map +1 -1
- package/fesm5/mtgame-core.js +2 -0
- package/fesm5/mtgame-core.js.map +1 -1
- package/models/tournament.d.ts +1 -0
- package/mtgame-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtgame-core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@mtgame/core/localization/hockey-penalty-types.ts","ng://@mtgame/core/models/util.ts","ng://@mtgame/core/models/file.ts","ng://@mtgame/core/models/sport.ts","ng://@mtgame/core/models/user-profile.ts","ng://@mtgame/core/models/city.ts","ng://@mtgame/core/models/basketball-profile.ts","ng://@mtgame/core/models/volleyball-profile.ts","ng://@mtgame/core/models/hockey-profile.ts","ng://@mtgame/core/models/football-profile.ts","ng://@mtgame/core/models/handball-profile.ts","ng://@mtgame/core/models/rugby-profile.ts","ng://@mtgame/core/models/user.ts","ng://@mtgame/core/models/team.ts","ng://@mtgame/core/models/organization.ts","ng://@mtgame/core/models/league.ts","ng://@mtgame/core/models/tournament-season.ts","ng://@mtgame/core/models/tournament.ts","ng://@mtgame/core/models/basketball-game-config.ts","ng://@mtgame/core/models/volleyball-game-config.ts","ng://@mtgame/core/models/league-court.ts","ng://@mtgame/core/models/media-item.ts","ng://@mtgame/core/models/hockey-game-config.ts","ng://@mtgame/core/models/football-game-config.ts","ng://@mtgame/core/models/handball-game-config.ts","ng://@mtgame/core/utils/array.ts","ng://@mtgame/core/models/playoff.ts","ng://@mtgame/core/models/tournament-group.ts","ng://@mtgame/core/models/rugby-game-config.ts","ng://@mtgame/core/models/game.ts","ng://@mtgame/core/utils/data.ts","ng://@mtgame/core/storage/store.ts","ng://@mtgame/core/services/base.service.ts","ng://@mtgame/core/services/config.service.ts","ng://@mtgame/core/models/tournament-team.ts","ng://@mtgame/core/models/team-user.ts","ng://@mtgame/core/models/tournament-disqualification.ts","ng://@mtgame/core/models/league-player.ts","ng://@mtgame/core/models/tournament-team-user.ts","ng://@mtgame/core/models/basketball-statistic.ts","ng://@mtgame/core/models/basketball-game-team-statistic.ts","ng://@mtgame/core/models/basketball-game-statistic.ts","ng://@mtgame/core/models/basketball-game-log.ts","ng://@mtgame/core/models/game-user.ts","ng://@mtgame/core/models/game-user-limitation.ts","ng://@mtgame/core/api/game-base-api.ts","ng://@mtgame/core/api/basketball-game-api.ts","ng://@mtgame/core/models/feedback.ts","ng://@mtgame/core/api/feedback-api.ts","ng://@mtgame/core/api/file-api.ts","ng://@mtgame/core/models/hockey-game-log.ts","ng://@mtgame/core/models/hockey-game-statistic.ts","ng://@mtgame/core/models/hockey-statistic.ts","ng://@mtgame/core/models/hockey-game-team-statistic.ts","ng://@mtgame/core/api/hockey-game-api.ts","ng://@mtgame/core/models/football-game-log.ts","ng://@mtgame/core/models/football-game-statistic.ts","ng://@mtgame/core/models/football-statistic.ts","ng://@mtgame/core/models/football-game-team-statistic.ts","ng://@mtgame/core/api/football-game-api.ts","ng://@mtgame/core/models/handball-game-log.ts","ng://@mtgame/core/models/handball-game-statistic.ts","ng://@mtgame/core/models/handball-statistic.ts","ng://@mtgame/core/models/handball-game-team-statistic.ts","ng://@mtgame/core/api/handball-game-api.ts","ng://@mtgame/core/models/tournament-news.ts","ng://@mtgame/core/models/game-timeline-stages.ts","ng://@mtgame/core/models/tournament-stage.ts","ng://@mtgame/core/models/volleyball-statistic.ts","ng://@mtgame/core/models/tournament-stage-team.ts","ng://@mtgame/core/models/league-news.ts","ng://@mtgame/core/models/tournament-event.ts","ng://@mtgame/core/models/league-user.ts","ng://@mtgame/core/models/rugby-statistic.ts","ng://@mtgame/core/api/tournament-api.ts","ng://@mtgame/core/models/league-partner.ts","ng://@mtgame/core/models/league-banner.ts","ng://@mtgame/core/models/league-document.ts","ng://@mtgame/core/api/league-api.ts","ng://@mtgame/core/api/league-news-api.ts","ng://@mtgame/core/api/league-player-api.ts","ng://@mtgame/core/api/media-api.ts","ng://@mtgame/core/models/poll.ts","ng://@mtgame/core/models/team-invite.ts","ng://@mtgame/core/models/game-invite.ts","ng://@mtgame/core/models/team-event-type.ts","ng://@mtgame/core/localization/team-event-type.ts","ng://@mtgame/core/models/team-event.ts","ng://@mtgame/core/models/team-event-invite.ts","ng://@mtgame/core/models/tournament-team-user-invite.ts","ng://@mtgame/core/models/tournament-invite.ts","ng://@mtgame/core/models/notification.ts","ng://@mtgame/core/models/notification-settings.ts","ng://@mtgame/core/api/notification-base-api.ts","ng://@mtgame/core/api/notification-api.ts","ng://@mtgame/core/api/org-notification-api.ts","ng://@mtgame/core/api/reference-api.ts","ng://@mtgame/core/models/rugby-game-team-statistic.ts","ng://@mtgame/core/models/rugby-game-statistic.ts","ng://@mtgame/core/models/rugby-foul-type.ts","ng://@mtgame/core/models/rugby-game-log.ts","ng://@mtgame/core/api/rugby-game-api.ts","ng://@mtgame/core/models/team-invite-external.ts","ng://@mtgame/core/models/team-permission.ts","ng://@mtgame/core/models/team-access.ts","ng://@mtgame/core/api/team-api.ts","ng://@mtgame/core/api/team-event-api.ts","ng://@mtgame/core/models/tournament-join-team.ts","ng://@mtgame/core/api/tournament-join-api.ts","ng://@mtgame/core/api/tournament-season-api.ts","ng://@mtgame/core/api/tournament-stage-api.ts","ng://@mtgame/core/models/user-access.ts","ng://@mtgame/core/models/user-permission.ts","ng://@mtgame/core/api/user-api.ts","ng://@mtgame/core/models/volleyball-game-team-statistic.ts","ng://@mtgame/core/models/volleyball-game-statistic.ts","ng://@mtgame/core/models/volleyball-game-log.ts","ng://@mtgame/core/api/volleyball-game-api.ts","ng://@mtgame/core/api/public-team-api.ts","ng://@mtgame/core/api/public-user-api.ts","ng://@mtgame/core/localization/basketball-game-log-types.ts","ng://@mtgame/core/localization/hockey-game-log-types.ts","ng://@mtgame/core/localization/football-game-log-types.ts","ng://@mtgame/core/localization/handball-game-log-types.ts","ng://@mtgame/core/localization/overtime-types.ts","ng://@mtgame/core/localization/rugby-foul-sanction.ts","ng://@mtgame/core/localization/rugby-game-log-types.ts","ng://@mtgame/core/localization/team-user-role.ts","ng://@mtgame/core/localization/user-profile.ts","ng://@mtgame/core/localization/volleyball-game-log-types.ts","ng://@mtgame/core/models/league-playlist.ts","ng://@mtgame/core/services/centrifugo.service.ts","ng://@mtgame/core/storage/storage-engine.ts","ng://@mtgame/core/storage/local-storage-engine.ts","ng://@mtgame/core/utils/component-destroyed.ts","ng://@mtgame/core/utils/cookie.ts","ng://@mtgame/core/utils/device.ts","ng://@mtgame/core/utils/enum.ts","ng://@mtgame/core/utils/errors.ts","ng://@mtgame/core/utils/favicon.ts","ng://@mtgame/core/utils/form.ts","ng://@mtgame/core/utils/validators.ts","ng://@mtgame/core/http-cookie.interceptor.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const HockeyPenaltyTypes = [\n {id: 1, code: 'АГРЕС', title: 'Агрессор в драке'},\n {id: 2, code: 'АТ-В-ГОЛ', title: 'Атака в голову или шею'},\n {id: 3, code: 'АТ-ВР', title: 'Атака вратаря'},\n {id: 4, code: 'АТ-СЗ', title: 'Атака сзади'},\n {id: 5, code: 'БЛОК', title: 'Блокировка'},\n {id: 6, code: 'БР-КЛ', title: 'Бросок клюшки'},\n {id: 7, code: 'ВБ-ШБ', title: 'Выброс шайбы'},\n {id: 8, code: 'ГРУБ', title: 'Грубость'},\n {id: 9, code: 'ДИСЦ', title: 'Дисциплинарный штраф'},\n {id: 10, code: 'ДИС-КН', title: 'Дисциплинарный до конца матча'},\n {id: 11, code: 'ДРАКА', title: 'Драка'},\n {id: 12, code: 'ЗАЧИН', title: 'Зачинщик драки'},\n {id: 13, code: 'ЗД-ИГ', title: 'Задержка игры'},\n {id: 14, code: 'ЗД-КЛ-СП', title: 'Задержка клюшки соперника'},\n {id: 15, code: 'ЗД-КЛ', title: 'Задержка клюшкой'},\n {id: 16, code: 'ЗД-СП', title: 'Задержка соперника'},\n {id: 17, code: 'ЗД-ШБ', title: 'Задержка шайбы руками'},\n {id: 18, code: 'СЛ-КЛ', title: 'Игра со сломанной клюшкой'},\n {id: 19, code: 'ВП-КЛ', title: 'Игра высоко поднятой клюшкой'},\n {id: 20, code: 'КЛ-УД', title: 'Колющий удар'},\n {id: 21, code: 'СК-ШТ', title: 'Малый скамеечный штраф'},\n {id: 22, code: 'МШ', title: 'Матч-штраф'},\n {id: 23, code: 'НП-АТ', title: 'Неправильная атака'},\n {id: 24, code: 'ЧС-СТ', title: 'Нарушение численного состава'},\n {id: 25, code: 'НС-КЛ', title: 'Нестандартная клюшка'},\n {id: 26, code: 'НАР-ЭК', title: 'Опасное снаряжение'},\n {id: 27, code: 'НС-ПВ', title: 'Оскорбление судей и неспортивное поведение'},\n {id: 28, code: 'ОТ-ИГ', title: 'Отказ начать игру'},\n {id: 29, code: 'ОТСЧ', title: 'Отсечение'},\n {id: 30, code: 'ПЛЕВОК', title: 'Плевок'},\n {id: 31, code: 'ПОДН', title: 'Подножка'},\n {id: 32, code: 'ПОДС', title: 'Подсечка'},\n {id: 33, code: 'ПР-ИН', title: 'Предупреждение инфекций'},\n {id: 34, code: 'ПК-СК', title: 'Покидание скамейки во время конфликта'},\n {id: 35, code: 'СД-ВР', title: 'Сдвиг ворот'},\n {id: 36, code: 'СИМ', title: 'Симуляция'},\n {id: 37, code: 'ТЛ-БР', title: 'Толчок на борт'},\n {id: 38, code: 'ТЛ-КЛ', title: 'Толчок клюшкой'},\n {id: 39, code: 'УД-ГОЛ', title: 'Удар головой'},\n {id: 40, code: 'УД-КЛ', title: 'Удар клюшкой'},\n {id: 41, code: 'УД-К-КЛ', title: 'Удар концом клюшки'},\n {id: 42, code: 'УД-КОЛ', title: 'Удар коленом'},\n {id: 43, code: 'УД-ЛОК', title: 'Удар локтем'},\n {id: 44, code: 'УД-НГ', title: 'Удар ногой'},\n {id: 45, code: 'УКУС', title: 'Укус'},\n {id: 46, code: 'КН-ЗР', title: 'Физический контакт со зрителем'},\n {id: 47, code: 'ШТ-ВР', title: 'Штраф вратаря'}\n];\n","import { HockeyPenaltyTypes } from '../localization/hockey-penalty-types';\n\nexport const MODEL_MAPPING_FIELDS_KEY = '_mapping_fields_';\nexport const MODEL_RELATION_KEY = '_relation_';\nexport const MODEL_TO_FRONT_KEY = '_to_front_';\nexport const MODEL_TO_BACK_KEY = '_to_back_';\n\ntype ParserInterface = (dto: any, path?: GraphPathInterface) => any;\n\ninterface ModelTypeInterface {\n new(data?: any);\n}\n\nexport interface ModelInterface {\n toFront(dto: any): any;\n toBack(dto: any): any;\n}\n\nexport abstract class BaseModel {\n constructor(data?: {[key: string]: any}) {\n if (data) {\n for (const key of Object.keys(data)) {\n this[key] = data[key];\n }\n }\n }\n\n static toFront(dto: any): any {\n return undefined;\n }\n\n static toBack(dto: any): any {\n return undefined;\n }\n}\n\ninterface GraphPathInterface {\n [key: string]: any;\n}\n\nexport function enumField(enumClass) {\n return {\n toFront: (value) => {\n if (isNaN(+value)) {\n return enumClass[value];\n } else {\n return value;\n }\n },\n toBack: (value) => {\n if (isNaN(+value)) {\n return value;\n } else {\n return enumClass[value];\n }\n }\n };\n}\n\nexport function penaltyTypeField() {\n return {\n toFront: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data;\n }\n return HockeyPenaltyTypes.find(item => item.id === data);\n },\n toBack: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data.id;\n }\n return data;\n }\n };\n}\n\nexport function listField(modelClass) {\n return {\n toFront: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toFront(item));\n },\n toBack: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toBack(item));\n }\n };\n}\n\nexport class DateField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return dateUtc.toISOString().slice(0, 10);\n } else {\n return undefined;\n }\n }\n}\n\nexport class DateTimeField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return date.toISOString();\n } else {\n return undefined;\n }\n }\n}\n\nexport function ModelInstance(\n config: {\n mappingFields?: { [key: string]: string },\n relation?: { [key: string]: BaseModel }\n }\n) {\n return (target: ModelTypeInterface) => {\n if (config) {\n if (config.mappingFields) {\n target[MODEL_MAPPING_FIELDS_KEY] = config.mappingFields;\n }\n if (config.relation) {\n target[MODEL_RELATION_KEY] = config.relation;\n }\n target[MODEL_TO_FRONT_KEY] = (dto: any, path: GraphPathInterface) => {\n return toFront(target, dto, path);\n };\n target[MODEL_TO_BACK_KEY] = (dto: any, path: GraphPathInterface) => {\n return toBack(target, dto, path);\n };\n }\n };\n}\n\nexport const ToFrontHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_FRONT_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0], (args.length > 1 ? args[1] : undefined));\n }\n return undefined;\n }\n };\n};\n\nexport const ToBackHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_BACK_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0]);\n }\n return undefined;\n }\n };\n};\n\nfunction extractValue(key, data) {\n if (!data) {\n return undefined;\n }\n\n const keyParts = key.split('.');\n if (keyParts.length === 1) {\n if (key in data) {\n return data[key];\n } else {\n return undefined;\n }\n }\n\n for (const k of keyParts) {\n if (data && k in data) {\n data = data[k];\n } else {\n return undefined;\n }\n }\n\n return data;\n}\n\nfunction toFront(modelType: ModelTypeInterface, data: any, path?: GraphPathInterface): any {\n // Check if recursion is required\n if (Array.isArray(data)) {\n return data.map(item => {\n return toFront(modelType, item);\n });\n }\n\n const instance = new modelType();\n\n // Mapping fields\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n const value = extractValue(backField, data);\n if (relation && relation.hasOwnProperty(frontField)) {\n instance[frontField] = relation[frontField].toFront(value);\n } else {\n instance[frontField] = value;\n }\n }\n }\n\n return instance;\n}\n\nfunction toBack(modelType: ModelTypeInterface, instance: any, path?: GraphPathInterface): any {\n if (!instance) {\n return instance;\n }\n\n // Check if recursion is required\n if (Array.isArray(instance)) {\n return instance.map(item => {\n return toBack(modelType, item);\n });\n }\n\n const data = {};\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n if (relation && relation.hasOwnProperty(frontField) && instance[frontField] !== undefined) {\n data[backField] = relation[frontField].toBack(instance[frontField]);\n } else {\n data[backField] = instance[frontField];\n }\n }\n }\n\n return data;\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\n\nexport enum FileEngine {\n django = 1,\n s3\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n original_name: 'originalName',\n path: 'path',\n resized_path: 'resizedPath',\n mime_type: 'mimeType',\n size: 'size',\n engine: 'engine',\n created_at: 'createdAt',\n },\n relation: {\n engine: enumField(FileEngine),\n createdAt: DateTimeField,\n }\n})\nexport class File {\n id: number;\n name: string;\n _originalName: string;\n _path: string;\n resizedPath: string;\n mimeType: string;\n size: number;\n engine: FileEngine;\n createdAt: Date;\n\n set originalName(name: string) {\n this._originalName = name;\n }\n\n get originalName(): string {\n return this._originalName || this.name;\n }\n\n set path(filePath: string) {\n this._path = filePath;\n }\n\n get path(): string {\n return this.resizedPath || this._path;\n }\n\n @ToFrontHook\n static toFront(data: any): File {\n return null;\n }\n\n @ToBackHook\n static toBack(file: File): any {\n return null;\n }\n}\n","import {ModelInstance, ToFrontHook, ToBackHook, BaseModel} from './util';\n\nexport enum SportTypes {\n basketball = 1,\n volleyball = 2,\n classic_basketball = 3,\n streetball = 4,\n classic_volleyball = 5,\n beach_volleyball = 6,\n hockey = 7,\n ice_hockey = 8,\n ball_hockey = 9,\n football = 10,\n classic_football = 11,\n mini_football = 12,\n handball = 13,\n handball_classic = 14,\n rugby = 15,\n rugby7 = 16,\n rugby15 = 17,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n parent_id: 'parentId',\n sub_sports: 'subSports'\n }\n})\nexport class Sport extends BaseModel {\n id: number;\n name: string;\n parentId: number;\n subSports: Sport[];\n\n isBasketball() {\n return this.id === SportTypes.basketball || this.parentId === SportTypes.basketball;\n }\n\n isClassicBasketball() {\n return this.id === SportTypes.classic_basketball;\n }\n\n isStreetball() {\n return this.id === SportTypes.streetball;\n }\n\n isVolleyball() {\n return this.id === SportTypes.volleyball || this.parentId === SportTypes.volleyball;\n }\n\n isClassicVolleyball() {\n return this.id === SportTypes.classic_volleyball;\n }\n\n isBeachVolleyball() {\n return this.id === SportTypes.beach_volleyball;\n }\n\n isHockey(): boolean {\n return this.id === SportTypes.hockey || this.parentId === SportTypes.hockey;\n }\n\n isIceHockey(): boolean {\n return this.id === SportTypes.ice_hockey;\n }\n\n isBallHockey(): boolean {\n return this.id === SportTypes.ball_hockey;\n }\n\n isFootball() {\n return this.id === SportTypes.football || this.parentId === SportTypes.football;\n }\n\n isClassicFootball() {\n return this.id === SportTypes.classic_football;\n }\n\n isMiniFootball() {\n return this.id === SportTypes.mini_football;\n }\n\n isHandball() {\n return this.id === SportTypes.handball || this.parentId === SportTypes.handball;\n }\n\n isHandballClassic() {\n return this.id === SportTypes.handball_classic;\n }\n\n isRugby() {\n return this.id === SportTypes.rugby || this.parentId === SportTypes.rugby;\n }\n\n isRugby15() {\n return this.id === SportTypes.rugby15;\n }\n\n isRugby7() {\n return this.id === SportTypes.rugby7;\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(sport: Sport): any {\n return null;\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n height: 'height',\n weight: 'weight'\n }\n})\nexport class UserProfile {\n id: number;\n userId: number;\n height: number;\n weight: number;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name'\n }\n})\nexport class City extends BaseModel {\n id: number;\n name: string;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameBasketballPosition {\n point_guard = 1,\n shooting_guard,\n small_forward,\n power_forward,\n center\n}\n\nexport enum WorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameBasketballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class BasketballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameBasketballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameVolleyballPosition {\n setter = 1,\n libero,\n middle_player,\n receiver_attacker,\n dioganal\n}\n\nexport enum VolleyballWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameVolleyballPosition),\n workHand: enumField(VolleyballWorkHand)\n }\n})\nexport class VolleyballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameVolleyballPosition;\n workHand: VolleyballWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameHockeyPosition {\n defensemen = 1,\n forward,\n goaltender\n}\n\nexport enum HockeyWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHockeyPosition),\n workHand: enumField(HockeyWorkHand)\n }\n})\nexport class HockeyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHockeyPosition;\n workHand: HockeyWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameFootballPosition {\n defensemen = 1,\n midfielder,\n forward,\n goalkeeper\n}\n\nexport enum FootballWorkFoot {\n left = 1,\n right,\n both\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_foot: 'workFoot'\n },\n relation: {\n position: enumField(GameFootballPosition),\n workFoot: enumField(FootballWorkFoot)\n }\n})\nexport class FootballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameFootballPosition;\n workFoot: FootballWorkFoot;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { WorkHand } from './basketball-profile';\n\nexport enum GameHandballPosition {\n goalkeeper = 1,\n winger,\n pivot,\n centre_back,\n fullback\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHandballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class HandballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHandballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameRugbyPosition {\n front_line = 1,\n second_line,\n back_line,\n halfback,\n three_quarter,\n fullback,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position'\n },\n relation: {\n position: enumField(GameRugbyPosition),\n }\n})\nexport class RugbyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameRugbyPosition;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, DateField, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { UserProfile } from './user-profile';\nimport { File } from './file';\nimport { City } from './city';\nimport { BasketballProfile } from './basketball-profile';\nimport { VolleyballProfile } from './volleyball-profile';\nimport { HockeyProfile } from './hockey-profile';\nimport { FootballProfile } from './football-profile';\nimport { HandballProfile } from './handball-profile';\nimport { RugbyProfile } from './rugby-profile';\n\nexport enum UserGender {\n male = 1,\n female\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n last_name: 'lastName',\n first_name: 'firstName',\n middle_name: 'middleName',\n email: 'email',\n phone: 'phone',\n birth_date: 'birthDate',\n photo: 'photo',\n profile: 'profile',\n basketball_profile: 'basketballProfile',\n volleyball_profile: 'volleyballProfile',\n hockey_profile: 'hockeyProfile',\n football_profile: 'footballProfile',\n handball_profile: 'handballProfile',\n rugby_profile: 'rugbyProfile',\n wizards: 'wizards',\n city: 'city',\n gender: 'gender',\n is_active: 'isActive',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n profile: UserProfile,\n basketballProfile: BasketballProfile,\n volleyballProfile: VolleyballProfile,\n hockeyProfile: HockeyProfile,\n footballProfile: FootballProfile,\n handballProfile: HandballProfile,\n rugbyProfile: RugbyProfile,\n city: City,\n gender: enumField(UserGender)\n }\n})\nexport class User extends BaseModel {\n id: number;\n lastName: string;\n firstName: string;\n middleName: string;\n email: string;\n phone: string;\n birthDate: Date;\n profile: UserProfile;\n basketballProfile: BasketballProfile;\n volleyballProfile: VolleyballProfile;\n hockeyProfile: HockeyProfile;\n footballProfile: FootballProfile;\n handballProfile: HandballProfile;\n rugbyProfile: RugbyProfile;\n photo: File;\n wizards: string[];\n city: City;\n gender: UserGender;\n isActive: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(user: User): any {\n return null;\n }\n\n get fullName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateField } from './util';\nimport { File } from './file';\nimport { Sport } from './sport';\nimport { User } from './user';\nimport { City } from './city';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sport: 'sport',\n logo: 'logo',\n owner: 'owner',\n city: 'city',\n users_count: 'usersCount',\n won_games_count: 'wonGamesCount',\n games_count: 'gamesCount',\n score_sum: 'scoreSum',\n closest_game_datetime: 'closestGameDatetime',\n },\n relation: {\n sport: Sport,\n logo: File,\n owner: User,\n city: City,\n closestGameDatetime: DateField,\n }\n})\nexport class Team extends BaseModel {\n id: number;\n name: string;\n sport: Sport;\n logo: File;\n owner: User;\n city: City;\n usersCount: number;\n wonGamesCount: number;\n gamesCount: number;\n scoreSum: number;\n closestGameDatetime: Date;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n if (this.sport.isHandball()) {\n classList.push('empty-logo-handball');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(team: Team): any {\n return null;\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n owner_id: 'ownerId',\n owner: 'owner',\n },\n relation: {\n owner: User,\n }\n})\nexport class Organization extends BaseModel {\n id: number;\n ownerId: number;\n owner: User;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { Organization } from './organization';\nimport { File } from './file';\nimport { Sport } from './sport';\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n logo: 'logo',\n contact_email: 'contactEmail',\n contact_phone: 'contactPhone',\n name: 'name',\n alias: 'alias',\n sport: 'sport',\n description: 'description',\n social_links: 'socialLinks',\n links: 'links',\n organization: 'organization',\n tournaments_count: 'tournamentsCount',\n documents_count: 'documentsCount',\n closest_game_datetime: 'closestGameDatetime',\n cover: 'cover',\n about: 'about',\n },\n relation: {\n organization: Organization,\n logo: File,\n cover: File,\n sport: Sport,\n }\n})\nexport class League extends BaseModel {\n id: number;\n logo: File;\n contactEmail: string;\n contactPhone: string;\n name: string;\n alias: string;\n sport: Sport;\n description: string;\n socialLinks: string[];\n links: string[];\n organization: Organization;\n tournamentsCount: number;\n documentsCount: number;\n closestGameDatetime: string;\n cover: File;\n about: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get vkLink(): string {\n return this.socialLinks.find(link => link.indexOf('vk.com/') > -1);\n }\n\n get fbLink(): string {\n return this.socialLinks.find(link => link.indexOf('facebook.com/') > -1);\n }\n\n get instaLink(): string {\n return this.socialLinks.find(link => link.indexOf('instagram.com/') > -1);\n }\n\n get youtubeLink(): string {\n return this.socialLinks.find(link => link.indexOf('youtube.com/') > -1);\n }\n\n get telegramLink(): string {\n return this.socialLinks.find(link =>\n link.substr(0, 13) === 'https://t.me/' ||\n link.substr(0, 17) === 'https://www.t.me/'\n );\n }\n\n get tiktokLink(): string {\n return this.socialLinks.find(link => link.indexOf('tiktok.com/') > -1);\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, enumField, DateField } from './util';\nimport { File } from './file';\n\nexport enum TournamentSeasonStatuses {\n open,\n in_progress,\n closed,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n status: 'status',\n start_date: 'startDate',\n closed_date: 'closedDate',\n tournaments: 'tournaments',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n status: enumField(TournamentSeasonStatuses),\n startDate: DateField,\n closedDate: DateField,\n }\n})\nexport class TournamentSeason extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n status: TournamentSeasonStatuses;\n startDate: Date;\n closedDate: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { City } from './city';\nimport { File } from './file';\nimport { League } from './league';\nimport { Sport } from './sport';\nimport { Team } from './team';\nimport { TournamentSeason } from './tournament-season';\n\nexport enum TournamentTypes {\n group = 'group',\n elimination = 'elimination',\n fiba = 'fiba'\n}\n\nexport enum TournamentStatuses {\n open,\n in_progress,\n closed,\n}\n\nexport enum TournamentGender {\n male= 1,\n female,\n all\n}\n\nexport enum BasketballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum VolleyballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum RugbyStatisticTypes {\n light = 1,\n standard,\n}\n\nexport enum GameTimeTypes {\n clean = 1,\n dirty,\n}\n\nexport enum OvertimeTypes {\n to_score_total = 1,\n to_score_diff,\n time,\n without_overtime,\n to_first_goal,\n to_first_goal_and_bullitts,\n bullitts,\n penalties,\n time_and_penalties\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n gender: 'gender',\n age_from: 'ageFrom',\n age_to: 'ageTo',\n max_team_players: 'maxTeamPlayers',\n max_game_players: 'maxGamePlayers',\n type: 'type',\n tours_count: 'toursCount',\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n game_up_to_score: 'gameUpToScore',\n volleyball_score_in_set: 'volleyballScoreInSet',\n volleyball_score_in_last_set: 'volleyballScoreInLastSet',\n manage_team_application: 'manageTeamApplication',\n recruitment_is_open: 'recruitmentIsOpen',\n transfer_is_open: 'transferIsOpen',\n basketball_statistic_type: 'basketballStatisticType',\n volleyball_statistic_type: 'volleyballStatisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n with_result_table: 'withResultTable',\n free_substitute_enabled: 'freeSubstituteEnabled',\n substitute_manage_enabled: 'substituteManageEnabled',\n bonus_points_enabled: 'bonusPointsEnabled',\n },\n relation: {\n type: enumField(TournamentTypes),\n gender: enumField(TournamentGender),\n basketballStatisticType: enumField(BasketballStatisticTypes),\n volleyballStatisticType: enumField(VolleyballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n overtimeType: enumField(OvertimeTypes),\n }\n})\nexport class TournamentSettings extends BaseModel {\n id: number;\n gender: TournamentGender;\n ageFrom: number;\n ageTo: number;\n maxTeamPlayers: number;\n maxGamePlayers: number;\n type: TournamentTypes;\n toursCount: number;\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n gameType: string;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n gameUpToScore: number;\n volleyballScoreInSet: number;\n volleyballScoreInLastSet: number;\n manageTeamApplication: boolean;\n recruitmentIsOpen: boolean;\n transferIsOpen: boolean;\n basketballStatisticType: BasketballStatisticTypes;\n volleyballStatisticType: VolleyballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n withResultTable: boolean;\n freeSubstituteEnabled: boolean;\n bonusPointsEnabled: boolean;\n substituteManageEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n name: 'name',\n logo: 'logo',\n team: 'team',\n points: 'points',\n },\n relation: {\n logo: File,\n team: Team,\n }\n})\nexport class TournamentTeamWinner extends BaseModel {\n id: number;\n teamId: number;\n tournamentId: number;\n name: string;\n logo: File;\n team: Team;\n points: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n city: 'city',\n sport: 'sport',\n location: 'location',\n description: 'description',\n date: 'date',\n price: 'price',\n regulation_files: 'regulationFiles',\n settings: 'settings',\n league: 'league',\n teams_count: 'teamsCount',\n closest_game_datetime: 'closestGameDatetime',\n status: 'status',\n team_winner: 'teamWinner',\n team_second: 'teamSecond',\n team_third: 'teamThird',\n season: 'season',\n season_id: 'seasonId',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n city: City,\n sport: Sport,\n regulationFile: File,\n settings: TournamentSettings,\n date: DateTimeField,\n league: League,\n status: enumField(TournamentStatuses),\n teamWinner: TournamentTeamWinner,\n teamSecond: TournamentTeamWinner,\n teamThird: TournamentTeamWinner,\n season: TournamentSeason,\n }\n})\nexport class Tournament extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n city: City;\n sport: Sport;\n location: string;\n description: string;\n date: Date;\n price: number;\n regulationFiles: File[];\n settings: TournamentSettings;\n league: League;\n teamsCount: number;\n closestGameDatetime: string;\n status: TournamentStatuses;\n teamWinner: TournamentTeamWinner;\n teamSecond: TournamentTeamWinner;\n teamThird: TournamentTeamWinner;\n season: TournamentSeason;\n seasonId: number;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n game_up_to_score: 'gameUpToScore',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n statistic_type: 'statisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n statisticType: enumField(BasketballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class BasketballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n gameUpToScore: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n statisticType: BasketballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { VolleyballStatisticTypes } from './tournament';\n\nexport enum VolleyballGameTypes {\n best_of_five = 1,\n best_of_three\n}\n\n@ModelInstance({\n mappingFields: {\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n score_in_set: 'scoreInSet',\n score_in_last_set: 'scoreInLastSet',\n statistic_type: 'statisticType',\n libero_user_ids: 'liberoUserIds',\n },\n relation: {\n gameType: enumField(VolleyballGameTypes),\n statisticType: enumField(VolleyballStatisticTypes),\n }\n})\nexport class VolleyballGameConfig extends BaseModel {\n gameType: VolleyballGameTypes;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n scoreInSet: number;\n scoreInLastSet: number;\n statisticType: VolleyballStatisticTypes;\n liberoUserIds: number[];\n\n get setsCount(): number {\n return this.gameType === VolleyballGameTypes.best_of_three ? 3 : 5;\n }\n\n getSetMaxScore(set: number) {\n return set === this.setsCount ? this.scoreInLastSet : this.scoreInSet;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n address: 'address',\n league_id: 'leagueId'\n }\n})\nexport class LeagueCourt extends BaseModel {\n id: number;\n name: string;\n address: string;\n leagueId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n original_photo: 'originalPhoto',\n list_photo: 'listPhoto',\n detail_photo: 'detailPhoto',\n game: 'game',\n tournament: 'tournament',\n game_id: 'gameId',\n tournament_id: 'tournament_id',\n video_url: 'videoUrl',\n video_preview: 'videoPreview',\n is_live: 'isLive',\n },\n relation: {\n originalPhoto: File,\n listPhoto: File,\n detailPhoto: File,\n videoPreview: File\n }\n})\nexport class MediaItem extends BaseModel {\n id: number;\n originalPhoto: File;\n listPhoto: File;\n detailPhoto: File;\n gameId: number;\n tournamentId: number;\n videoUrl: string;\n videoPreview: File;\n isLive: boolean;\n\n get isVideo(): boolean {\n return Boolean(this.videoUrl);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_manage_enabled: 'substituteManageEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HockeyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteManageEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get overtimePeriod(): number {\n return this.periodsCount + 1;\n }\n\n get bullitsPeriod(): number {\n return this.periodsCount + 2;\n }\n\n get playoffBullitsPeriod(): number {\n return this.periodsCount + 3;\n }\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n substitute_manage_enabled: 'substituteManageEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class FootballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n substituteManageEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HandballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","export function generateArray(length: number): number[] {\n if (length <= 0) {\n return [];\n }\n return Array.apply(null, Array(length)).map((_, i) => i + 1);\n}\n\nexport function getArrayChunks(array: any[], length: number): any[][] {\n const chunks = [];\n const chunkLength = Math.ceil(array.length / length);\n if (chunkLength === 0) {\n return [array];\n }\n for (let i = 0; i < chunkLength; i++) {\n chunks.push(array.slice(i * length, (i + 1) * length));\n }\n return chunks;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { generateArray } from '../utils/array';\n\nexport enum PlayoffTypes {\n double_elimination = 'double_elimination',\n elimination = 'elimination'\n}\n\n@ModelInstance({\n mappingFields: {\n rounds: 'rounds',\n final_rounds: 'finalRounds',\n third_place_rounds: 'thirdPlaceRounds',\n teams_count: 'teamsCount',\n type: 'type',\n min_player_games_count: 'minPlayerGamesCount',\n min_player_time: 'minPlayerTime',\n },\n relation: {\n type: enumField(PlayoffTypes)\n }\n})\nexport class PlayoffSettings extends BaseModel {\n rounds: number;\n finalRounds: number;\n thirdPlaceRounds: number;\n teamsCount: number;\n type: PlayoffTypes;\n minPlayerGamesCount: number;\n minPlayerTime: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n settings: 'settings',\n tournament_id: 'tournamentId',\n tournament_stage_id: 'tournamentStageId',\n is_official: 'isOfficial'\n },\n relation: {\n settings: PlayoffSettings\n }\n})\nexport class Playoff extends BaseModel {\n id: number;\n name: string;\n settings: PlayoffSettings;\n tournamentId: number;\n tournamentStageId: number;\n isOfficial: boolean;\n private stages: {title: string, value: number}[] = [];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get stagesCount(): number {\n return Math.log(this.settings.teamsCount) / Math.log(2);\n }\n\n getPlayoffStages() {\n if (this.stages.length === 0 && this.settings.teamsCount) {\n const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);\n this.stages = generateArray(stagesCount).map(stage => {\n const playoffStage = this.settings.teamsCount / 2 ** stage;\n let title = '';\n if (playoffStage === 1) {\n title = 'Финал';\n } else {\n title = `1 / ${playoffStage}`;\n }\n return {\n value: stage,\n title\n };\n });\n }\n return this.stages;\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sort: 'sort',\n tournament_stage_id: 'tournamentStageId'\n }\n})\nexport class TournamentGroup extends BaseModel {\n id: number;\n name: string;\n sort: number;\n tournamentStageId: number;\n teams: TournamentTeam[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { GameTimeTypes, OvertimeTypes, RugbyStatisticTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n statistic_type: 'statisticType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n statisticType: enumField(RugbyStatisticTypes),\n }\n})\nexport class RugbyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n statisticType: RugbyStatisticTypes;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField, listField } from './util';\nimport { Team } from './team';\nimport { BasketballGameConfig } from './basketball-game-config';\nimport { VolleyballGameConfig } from './volleyball-game-config';\nimport { LeagueCourt } from './league-court';\nimport { MediaItem } from './media-item';\nimport { HockeyGameConfig } from './hockey-game-config';\nimport { Tournament } from './tournament';\nimport { FootballGameConfig } from './football-game-config';\nimport { HandballGameConfig } from './handball-game-config';\nimport { Playoff } from './playoff';\nimport { TournamentGroup } from './tournament-group';\nimport { File } from './file';\nimport { RugbyGameConfig } from \"./rugby-game-config\";\n\nexport enum GameStatuses {\n open = 1,\n in_progress,\n closed,\n archived,\n draft\n}\n\nexport enum GameResultTypes {\n team_won = 1,\n competitor_team_won,\n team_technical_defeat,\n competitor_team_technical_defeat\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n },\n relation: {\n logo: File\n }\n})\nexport class TournamentTeamShort extends BaseModel {\n id: number;\n name: string;\n logo: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n status: 'status',\n team: 'team',\n tournament_team: 'tournamentTeam',\n tournament_team_id: 'tournamentTeamId',\n team_id: 'teamId',\n competitor_team: 'competitorTeam',\n competitor_tournament_team: 'competitorTournamentTeam',\n competitor_tournament_team_id: 'competitorTournamentTeamId',\n competitor_team_id: 'competitorTeamId',\n competitor_team_name: 'competitorTeamName',\n datetime: 'datetime',\n location: 'location',\n team_score: 'teamScore',\n competitor_team_score: 'competitorTeamScore',\n result_type: 'resultType',\n playoff_number: 'playoffNumber',\n tournament_id: 'tournamentId',\n tournament_tour: 'tournamentTour',\n game_config: 'gameConfig',\n basketball_game_config: 'basketballGameConfig',\n volleyball_game_config: 'volleyballGameConfig',\n hockey_game_config: 'hockeyGameConfig',\n football_game_config: 'footballGameConfig',\n handball_game_config: 'handballGameConfig',\n rugby_game_config: 'rugbyGameConfig',\n score_by_period: 'scoreByPeriod',\n playoff_stage: 'playoffStage',\n playoff_round: 'playoffRound',\n tournament_stage_id: 'tournamentStageId',\n tournament_playoff_id: 'tournamentPlayoffId',\n tournament_playoff: 'tournamentPlayoff',\n tournament_court: 'tournamentCourt',\n media_count: 'mediaCount',\n media_live_count: 'mediaLiveCount',\n media: 'media',\n tournament: 'tournament',\n tournament_group: 'tournamentGroup',\n },\n relation: {\n status: enumField(GameStatuses),\n team: Team,\n tournamentTeam: TournamentTeamShort,\n competitorTeam: Team,\n competitorTournamentTeam: TournamentTeamShort,\n datetime: DateTimeField,\n resultType: enumField(GameResultTypes),\n basketballGameConfig: BasketballGameConfig,\n volleyballGameConfig: VolleyballGameConfig,\n hockeyGameConfig: HockeyGameConfig,\n footballGameConfig: FootballGameConfig,\n handballGameConfig: HandballGameConfig,\n tournamentPlayoff: Playoff,\n tournamentCourt: LeagueCourt,\n media: listField(MediaItem),\n tournament: Tournament,\n tournamentGroup: TournamentGroup,\n }\n})\nexport class Game extends BaseModel {\n private _basketballGameConfig: BasketballGameConfig;\n private _volleyballGameConfig: VolleyballGameConfig;\n private _hockeyGameConfig: HockeyGameConfig;\n private _footballGameConfig: FootballGameConfig;\n private _handballGameConfig: HandballGameConfig;\n private _rugbyGameConfig: RugbyGameConfig;\n\n id: number;\n status: GameStatuses;\n team: Team;\n tournamentTeam: TournamentTeamShort;\n teamId: number;\n tournamentTeamId: number;\n competitorTeam: Team;\n competitorTournamentTeam: TournamentTeamShort;\n competitorTeamId: number;\n competitorTournamentTeamId: number;\n competitorTeamName: string;\n gameConfig: any;\n datetime: Date;\n location: string;\n teamScore: number;\n competitorTeamScore: number;\n resultType: GameResultTypes;\n playoffNumber: string;\n tournamentId: number;\n tournamentTour: number;\n scoreByPeriod: any;\n playoffStage: string;\n playoffRound: number;\n tournamentStageId: number;\n tournamentPlayoffId: number;\n tournamentPlayoff: Playoff;\n tournamentCourt: LeagueCourt;\n mediaCount: number;\n mediaLiveCount: number;\n media: MediaItem[];\n tournament: Tournament;\n tournamentGroup: TournamentGroup;\n\n get basketballGameConfig(): BasketballGameConfig {\n if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {\n return this._basketballGameConfig;\n }\n if (this.gameConfig) {\n this._basketballGameConfig = BasketballGameConfig.toFront(this.gameConfig);\n }\n return this._basketballGameConfig;\n }\n\n set basketballGameConfig(value) {\n this._basketballGameConfig = value;\n }\n\n get volleyballGameConfig(): VolleyballGameConfig {\n if (this._volleyballGameConfig && this._volleyballGameConfig.setsCount) {\n return this._volleyballGameConfig;\n }\n if (this.gameConfig) {\n this._volleyballGameConfig = VolleyballGameConfig.toFront(this.gameConfig);\n }\n return this._volleyballGameConfig;\n }\n\n set volleyballGameConfig(value) {\n this._volleyballGameConfig = value;\n }\n\n get hockeyGameConfig(): HockeyGameConfig {\n if (this._hockeyGameConfig && this._hockeyGameConfig.periodsCount) {\n return this._hockeyGameConfig;\n }\n if (this.gameConfig) {\n this._hockeyGameConfig = HockeyGameConfig.toFront(this.gameConfig);\n }\n return this._hockeyGameConfig;\n }\n\n set hockeyGameConfig(value) {\n this._hockeyGameConfig = value;\n }\n\n get handballGameConfig(): HandballGameConfig {\n if (this._handballGameConfig && this._handballGameConfig.periodsCount) {\n return this._handballGameConfig;\n }\n if (this.gameConfig) {\n this._handballGameConfig = HandballGameConfig.toFront(this.gameConfig);\n }\n return this._handballGameConfig;\n }\n\n set handballGameConfig(value) {\n this._handballGameConfig = value;\n }\n\n get footballGameConfig(): FootballGameConfig {\n if (this._footballGameConfig && this._footballGameConfig.periodsCount) {\n return this._footballGameConfig;\n }\n if (this.gameConfig) {\n this._footballGameConfig = FootballGameConfig.toFront(this.gameConfig);\n }\n return this._footballGameConfig;\n }\n\n set footballGameConfig(value) {\n this._footballGameConfig = value;\n }\n\n get rugbyGameConfig(): RugbyGameConfig {\n if (this._rugbyGameConfig && this._rugbyGameConfig.periodsCount) {\n return this._rugbyGameConfig;\n }\n if (this.gameConfig) {\n this._rugbyGameConfig = RugbyGameConfig.toFront(this.gameConfig);\n }\n return this._rugbyGameConfig;\n }\n\n set rugbyGameConfig(value) {\n this._rugbyGameConfig = value;\n }\n\n get scoreByPeriodList(): {period: number, teamScore: number, competitorTeamScore: number}[] {\n if (!this.scoreByPeriod) {\n return [];\n }\n return Object.keys(this.scoreByPeriod).map(period => ({\n period: +period,\n teamScore: this.scoreByPeriod[period][0],\n competitorTeamScore: this.scoreByPeriod[period][1]\n }));\n }\n\n get isClosed(): boolean {\n return this.status === GameStatuses.closed;\n }\n\n get isTeamWon() {\n return [GameResultTypes.team_won, GameResultTypes.competitor_team_technical_defeat].includes(this.resultType);\n }\n\n get isCompetitorTeamWon() {\n return [GameResultTypes.competitor_team_won, GameResultTypes.team_technical_defeat].includes(this.resultType);\n }\n\n get teamWinnerId() {\n if (!this.isClosed) {\n return null;\n }\n if (this.isTeamWon) {\n return this.team.id || this.teamId;\n }\n if (this.isCompetitorTeamWon) {\n return this.competitorTeam.id || this.competitorTeamId;\n }\n return null;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export function updateItemInArray(data: any[], item: any, force = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n if (v.updatedAt && item.updatedAt && !force) {\n return v.updatedAt > item.updatedAt ? v : item;\n }\n return item;\n });\n}\n\nexport function updateItemsInArray(data: any[], items: any[], force: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n items.forEach(item => {\n data = updateItemInArray(data, item, force, checkFunction);\n });\n return data;\n}\n\nexport function patchItemInArray(data: any[], item: any, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n return Object.assign(v, item);\n });\n}\n\nexport function addItemInArray(data: any[], item: any, atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return [item];\n }\n if (data.find(i => isFunction(checkFunction) ? checkFunction(i) : i.id === item.id)) {\n return data;\n }\n\n return atEnd\n ? [...data, item]\n : [item, ...data];\n}\n\nexport function addItemsInArray(data: any[], items: any[], atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n (!atEnd\n ? Object.assign([], items).reverse()\n : items\n ).forEach(item => {\n data = addItemInArray(data, item, atEnd, checkFunction);\n });\n return data;\n}\n\nexport function deleteItemFromArray(data: any[], item: any): any[] {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isFunction(item)) {\n return data.filter(i => !item(i));\n } else {\n return data.filter(v => v.id !== item.id);\n }\n}\n\nfunction isFunction(functionToCheck) {\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { addItemInArray, addItemsInArray, deleteItemFromArray, updateItemInArray, updateItemsInArray } from '../utils/data';\nimport { StorageEngine } from './storage-engine';\n\nexport class Store {\n private data: {[key: string]: BehaviorSubject<any>} = {};\n\n constructor(private engine?: StorageEngine) {\n }\n\n get(key: string): Observable<any> {\n return this.getSubject(key).pipe(filter(item => item !== undefined));\n }\n\n value(key: string): any {\n return this.getSubject(key).value;\n }\n\n save(key: string, value: any): void {\n this.getSubject(key).next(value);\n if (this.engine) {\n this.engine.save(key, value);\n }\n }\n\n appendItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, true, checkFunction));\n }\n\n appendItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, true));\n }\n\n prependItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n prependItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n updateItem(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n updateItems(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemsInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n deleteItem(key: string, value: any): void {\n this.save(key, deleteItemFromArray(this.value(key) || [], value));\n }\n\n dispose(): void {\n for (const key of Object.keys(this.data)) {\n this.data[key].complete();\n delete this.data[key];\n }\n }\n\n clearStorageData(): void {\n if (this.engine) {\n this.engine.clear();\n }\n }\n\n getEngine(): StorageEngine {\n return this.engine;\n }\n\n private getSubject(key: string): BehaviorSubject<any> {\n if (!this.data[key]) {\n this.data[key] = new BehaviorSubject<any>(this.engine ? this.engine.get(key) : undefined);\n }\n return this.data[key];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '../storage/store';\n\n@Injectable({providedIn: 'root'})\nexport class BaseService {\n protected store = new Store();\n\n dispose(): void {\n this.store.dispose();\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BaseService } from './base.service';\n\nconst CONFIG_STORE_KEY = 'config';\n\nexport const CONFIG_DATA = 'mtg-core-config-data';\n\n@Injectable({providedIn: 'root'})\nexport class ConfigService extends BaseService {\n constructor(\n @Optional() @Inject(CONFIG_DATA) private configData: any\n ) {\n super();\n if (configData) {\n this.initialize(configData);\n }\n }\n\n get config$() {\n return this.store.get(CONFIG_STORE_KEY);\n }\n\n get config() {\n return this.store.value(CONFIG_STORE_KEY) || {};\n }\n\n initialize(data: any): void {\n this.store.save(CONFIG_STORE_KEY, data);\n }\n\n set(key: string, value: any): void {\n this.store.save(CONFIG_STORE_KEY, {\n ...this.config,\n [key]: value\n });\n }\n\n get(key: string): any {\n return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { TournamentGroup } from './tournament-group';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n tournament: 'tournament',\n team: 'team',\n group: 'group',\n final_standing: 'finalStanding',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n draw_games_count: 'drawGamesCount',\n lose_games_count: 'loseGamesCount',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n score_points_sum: 'scorePointsSum',\n missed_points_sum: 'missedPointsSum',\n points: 'points',\n users_count: 'usersCount',\n games: 'games',\n notifications_count: 'notificationsCount',\n win_normal_time_games_count: 'winNormalTimeGamesCount',\n lose_normal_time_games_count: 'loseNormalTimeGamesCount',\n win_overtime_games_count: 'winOvertimeGamesCount',\n lose_overtime_games_count: 'loseOvertimeGamesCount',\n last_five_games: 'lastFiveGames',\n tries_scored: 'triesScored',\n tries_missed: 'triesMissed',\n attack_bonuses: 'attackBonuses',\n defense_bonuses: 'defenseBonuses',\n },\n relation: {\n logo: File,\n tournament: Tournament,\n team: Team,\n group: TournamentGroup,\n games: Game,\n lastFiveGames: Game,\n }\n})\nexport class TournamentTeam extends BaseModel {\n id: number;\n name: string;\n logo: File;\n teamId: number;\n tournamentId: number;\n tournament: Tournament;\n team: Team;\n group: TournamentGroup;\n finalStanding: number;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n lastGamesCount: number;\n lastGamesWon: number;\n scoreSum: number;\n missedSum: number;\n scorePointsSum: number;\n missedPointsSum: number;\n points: number;\n usersCount: number;\n games: Game[];\n notificationsCount: number;\n winNormalTimeGamesCount: number;\n loseNormalTimeGamesCount: number;\n winOvertimeGamesCount: number;\n loseOvertimeGamesCount: number;\n lastFiveGames: Game[];\n triesScored: number;\n triesMissed: number;\n attackBonuses: number;\n defenseBonuses: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\nexport enum TeamUserRole {\n member = 1,\n moderator,\n admin,\n coach,\n head_coach,\n playing_coach,\n manager,\n head_manager,\n captain,\n assistant,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n user: 'user',\n role: 'role',\n number: 'number',\n team: 'team',\n },\n relation: {\n user: User,\n team: Team,\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamUser extends BaseModel {\n id: number;\n teamId: number;\n user: User;\n team: Team;\n number: number;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(teamPlayer: TeamUser): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_user_id: 'tournamentTeamUserId',\n date_from: 'dateFrom',\n date_to: 'dateTo',\n matches_count: 'matchesCount',\n },\n relation: {\n dateFrom: DateField,\n dateTo: DateField,\n }\n})\nexport class TournamentDisqualification extends BaseModel {\n id: number;\n tournamentTeamUserId: number;\n dateFrom: Date;\n dateTo: Date;\n matchesCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n league_id: 'leagueId',\n first_name: 'firstName',\n last_name: 'lastName',\n middle_name: 'middleName',\n birth_date: 'birthDate',\n photo: 'photo',\n user: 'user',\n has_changes: 'hasChanges',\n rating: 'rating',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n user: User,\n }\n})\nexport class LeaguePlayer extends BaseModel {\n id: number;\n userId: number;\n leagueId: number;\n firstName: string;\n lastName: string;\n middleName: string;\n birthDate: Date;\n photo: File;\n user: User;\n hasChanges: boolean;\n rating: number;\n\n get fullName(): string {\n return [this.lastName, this.firstName, this.middleName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TeamUser } from './team-user';\nimport { TournamentDisqualification } from './tournament-disqualification';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n team_user: 'teamUser',\n disqualified: 'disqualified',\n disqualification: 'disqualification',\n league_player: 'leaguePlayer',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n teamUser: TeamUser,\n disqualification: TournamentDisqualification,\n leaguePlayer: LeaguePlayer,\n }\n})\nexport class TournamentTeamUser extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n teamUser: TeamUser;\n disqualified: boolean;\n disqualification: TournamentDisqualification;\n leaguePlayer: LeaguePlayer;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n free_throws_made: 'freeThrowsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n two_point_percent: 'twoPointPercent',\n three_point_percent: 'threePointPercent',\n free_throw_percent: 'freeThrowPercent',\n one_point_percent: 'onePointPercent',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n game_time: 'gameTime',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class BasketballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n twoPointsMade: number;\n threePointsMade: number;\n freeThrowsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n twoPointPercent: number;\n threePointPercent: number;\n freeThrowPercent: number;\n onePointPercent: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n gameTime: number;\n newbie: boolean;\n rank: number;\n\n get totalFouls() {\n return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { BasketballStatistic } from './basketball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: BasketballStatistic,\n competitorTeam: BasketballStatistic\n }\n})\nexport class BasketballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: BasketballStatistic;\n competitorTeam: BasketballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n free_throws_made: 'freeThrowsMade',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n updated_at: 'updatedAt',\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class BasketballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n freeThrowsMade: number;\n twoPointsMade: number;\n threePointsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get totalFouls(): number {\n return (this.personalFouls || 0) + (this.technicalFouls || 0) + (this.unsportsmanlikeFouls || 0);\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum BasketballGameLogTypes {\n enter_game = 1,\n exit_game,\n remove_game,\n two_point_made,\n three_point_made,\n free_throw_made,\n two_point_attempt,\n three_point_attempt,\n free_throw_attempt,\n assist,\n block,\n rebound,\n offensive_rebound,\n defensive_rebound,\n steal,\n turnover,\n personal_foul,\n technical_foul,\n unsportsmanlike_foul,\n one_point_attempt,\n one_point_made,\n timeout,\n team_rebound,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(BasketballGameLogTypes),\n }\n})\nexport class BasketballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: BasketballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n combined: BasketballGameLog;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n\n isPointsType() {\n return [\n BasketballGameLogTypes.two_point_made,\n BasketballGameLogTypes.three_point_made,\n BasketballGameLogTypes.free_throw_made,\n BasketballGameLogTypes.one_point_made,\n ].indexOf(this.logType) > -1;\n }\n\n isReboundType() {\n return [\n BasketballGameLogTypes.rebound,\n BasketballGameLogTypes.offensive_rebound,\n BasketballGameLogTypes.defensive_rebound\n ].indexOf(this.logType) > -1;\n }\n\n isFoulType() {\n return [\n BasketballGameLogTypes.personal_foul,\n BasketballGameLogTypes.technical_foul,\n BasketballGameLogTypes.unsportsmanlike_foul\n ].indexOf(this.logType) > -1;\n }\n\n getScore() {\n const scoreMapping = {\n [BasketballGameLogTypes.one_point_made]: 1,\n [BasketballGameLogTypes.free_throw_made]: 1,\n [BasketballGameLogTypes.two_point_made]: 2,\n [BasketballGameLogTypes.three_point_made]: 3\n };\n return scoreMapping[this.logType];\n }\n\n compare(model: BasketballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { TeamUser } from './team-user';\nimport { TournamentTeamUser } from './tournament-team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game_id: 'gameId',\n team_user: 'teamUser',\n tournament_team_user: 'tournamentTeamUser',\n is_mvp: 'isMvp',\n updated_at: 'updatedAt'\n },\n relation: {\n teamUser: TeamUser,\n tournamentTeamUser: TournamentTeamUser,\n updatedAt: DateTimeField,\n }\n})\nexport class GameUser extends BaseModel {\n id: number;\n gameId: number;\n teamUser: TeamUser;\n tournamentTeamUser: TournamentTeamUser;\n isMvp: boolean;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, listField } from './util';\n\ninterface LimitationValue {\n current: number;\n required: number;\n}\n\n@ModelInstance({\n mappingFields: {\n min_user_games_count: 'minUserGamesCount',\n min_user_time: 'minUserTime',\n manual: 'manual',\n },\n})\nexport class GameUserLimitationTypes extends BaseModel {\n minUserGamesCount: LimitationValue;\n minUserTime: LimitationValue;\n manual: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user_id: 'tournamentTeamUserId',\n limitations: 'limitations'\n },\n relation: {\n limitations: GameUserLimitationTypes\n }\n})\nexport class GameUserLimitations extends BaseModel {\n tournamentTeamUserId: number;\n limitations: GameUserLimitationTypes;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { GameUser } from '../models/game-user';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { GameUserLimitations } from '../models/game-user-limitation';\n\n@Injectable({providedIn: 'root'})\nexport class GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService,\n ) {\n }\n\n async getUsers(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getMvp(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/mvp/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getUsersLimitation(gameId: number): Promise<GameUserLimitations[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users_limitation/`).pipe(\n map(result => GameUserLimitations.toFront(result))\n ).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/game_application/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { BasketballGameTeamStatistic } from '../models/basketball-game-team-statistic';\nimport { BasketballGameStatistic } from '../models/basketball-game-statistic';\nimport { BasketballGameLog } from '../models/basketball-game-log';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class BasketballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<BasketballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/team_statistic/`).pipe(\n map(result => BasketballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<BasketballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/user_statistic/`).pipe(\n map(result => BasketballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<BasketballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/logs/`).pipe(\n map(result => BasketballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n\n async downloadFibaProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol_fiba/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n theme: 'theme',\n message: 'message',\n files: 'files',\n email: 'email',\n captcha: 'captcha',\n },\n relation: {\n files: File\n }\n})\nexport class Feedback {\n id: number;\n theme: string;\n message: string;\n email: string;\n captcha: string;\n files: File[];\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(value: any): any {\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Feedback } from '../models/feedback';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class FeedbackApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async sendFeedback(data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n\n async sendLeagueFeedback(leagueId: number, data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { File } from '../models/file';\n\n@Injectable({providedIn: 'root'})\nexport class FileApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async upload(fileData: any, filename?: string, width?: number, height?: number): Promise<File> {\n let params = new HttpParams();\n if (width && height) {\n params = params.set('width', width.toString()).set('height', height.toString());\n }\n\n const formData = new FormData();\n formData.append('file', fileData, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/`, formData, {params})\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async createZipArchive(files: {file: any, filename: string}[]): Promise<any> {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file.file, file.filename);\n }\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/zip_archive/`, formData, {responseType: 'blob'})\n .toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum HockeyGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n shootout_attempt,\n shootout_goal,\n assist,\n block_shot ,\n minor_penalty ,\n major_penalty ,\n misconduct_penalty ,\n game_misconduct_penalty ,\n match_penalty ,\n penalty_shot ,\n face_off_lose ,\n face_off_win ,\n save ,\n timeout,\n penalty_start,\n penalty_end,\n after_game_shootout_attempt,\n after_game_shootout_goal,\n after_game_shootout_save,\n shootout_save,\n}\n\nexport enum HockeyAdvantageTypes {\n power_play = 1,\n shorthanded,\n even_strength\n}\n\nexport interface PenaltyType {\n id: number;\n code: string;\n title: string;\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n advantage: 'advantage',\n advantage_num: 'advantageNum',\n is_goalie: 'isGoalie',\n penalty_type: 'penaltyType',\n penalized_game_user_id: 'penalizedGameUserId',\n mutual_penalty: 'mutualPenalty',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HockeyGameLogTypes),\n advantage: enumField(HockeyAdvantageTypes),\n penaltyType: penaltyTypeField()\n }\n})\nexport class HockeyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HockeyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n advantage: HockeyAdvantageTypes;\n advantageNum: number;\n isGoalie: boolean;\n penaltyType: PenaltyType;\n _penalizedGameUserId: number;\n mutualPenalty: boolean;\n\n get penalizedGameUserId(): number {\n if (this._penalizedGameUserId) {\n return this._penalizedGameUserId;\n }\n return this.gameUserId;\n }\n\n set penalizedGameUserId(value: number) {\n this._penalizedGameUserId = value;\n }\n\n compare(model: HockeyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HockeyGameLogTypes.goal, HockeyGameLogTypes.shootout_goal, HockeyGameLogTypes.after_game_shootout_goal].indexOf(this.logType) > -1;\n }\n\n isPenaltyType(): boolean {\n return [\n HockeyGameLogTypes.minor_penalty, HockeyGameLogTypes.major_penalty,\n HockeyGameLogTypes.misconduct_penalty, HockeyGameLogTypes.game_misconduct_penalty,\n HockeyGameLogTypes.penalty_shot, HockeyGameLogTypes.match_penalty\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HockeyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals: 'ppGoals',\n ev_goals: 'evGoals',\n sh_goals: 'shGoals',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n saves: 'saves',\n shootout_save: 'shootoutSaves',\n after_game_shootout_saves: 'afterGameShootoutSaves',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class HockeyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoals: number;\n evGoals: number;\n shGoals: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n saves: number;\n shootoutSaves: number;\n afterGameShootoutSaves: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n afterGameShootoutGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shotsOnGoal(): number {\n return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0);\n }\n\n get shotsBlocked(): number {\n return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);\n }\n\n get shotMisses(): number {\n return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0);\n }\n\n get ppShots(): number {\n return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0);\n }\n\n get evShots(): number {\n return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0);\n }\n\n get shShots(): number {\n return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0);\n }\n\n get shots(): number {\n return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);\n }\n\n get totalShots(): number {\n return this.shots + (this.shootoutAttempts || 0);\n }\n\n get goals(): number {\n return (this.ppGoals || 0) + (this.shGoals || 0) + (this.evGoals || 0);\n }\n\n get totalGoals(): number {\n return this.goals + (this.shootoutGoals || 0);\n }\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);\n }\n\n get faceOffs(): number {\n return (this.faceOffWins || 0) + (this.faceOffLosses || 0);\n }\n\n get shootOuts(): number {\n return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get shootoutShotsAgainst(): number {\n return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get totalShotsAgainst(): number {\n return this.shotsAgainst + this.shootoutShotsAgainst;\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.shootoutSaves || 0);\n }\n\n get totalSavesPercent(): number {\n if (!this.totalShotsAgainst || !this.totalSaves) {\n return 0;\n }\n return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n points: 'points',\n pp_shots: 'ppShots',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shots: 'evShots',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shots: 'shShots',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals_percent: 'ppGoalsPercent',\n pp_goals: 'ppGoals',\n ev_goals_percent: 'evGoalsPercent',\n ev_goals: 'evGoals',\n sh_goals_percent: 'shGoalsPercent',\n goals: 'goals',\n total_goals: 'totalGoals',\n sh_goals: 'shGoals',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots: 'shots',\n total_shots: 'totalShots',\n goals_percent: 'goalsPercent',\n total_goals_percent: 'totalGoalsPercent',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n face_offs: 'faceOffs',\n face_off_percent: 'faceOffPercent',\n saves: 'saves',\n total_saves: 'totalSaves',\n shootout_saves: 'shootoutSaves',\n shots_against: 'shotsAgainst',\n shootout_shots_against: 'shootoutShotsAgainst',\n total_shots_against: 'totalShotsAgainst',\n saves_percent: 'savesPercent',\n total_saves_percent: 'totalSavesPercent',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HockeyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n points: number;\n ppShots: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShots: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShots: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoalsPercent: number;\n ppGoals: number;\n evGoalsPercent: number;\n evGoals: number;\n shGoalsPercent: number;\n shGoals: number;\n goals: number;\n totalGoals: number;\n totalGoalsPercent;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shots: number;\n totalShots: number;\n goalsPercent: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n faceOffs: number;\n faceOffPercent: number;\n savesPercent: number;\n totalSavesPercent: number;\n saves: number;\n shootoutSaves: number;\n totalSaves: number;\n shotsAgainst: number;\n shootoutShotsAgainst: number;\n totalShotsAgainst: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n totalGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n newbie: boolean;\n rank: number;\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);\n }\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HockeyStatistic } from './hockey-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HockeyStatistic,\n competitorTeam: HockeyStatistic\n }\n})\nexport class HockeyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HockeyStatistic;\n competitorTeam: HockeyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyGameLog } from '../models/hockey-game-log';\nimport { HockeyGameStatistic } from '../models/hockey-game-statistic';\nimport { HockeyGameTeamStatistic } from '../models/hockey-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HockeyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HockeyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/team_statistic/`).pipe(\n map(result => HockeyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HockeyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/user_statistic/`).pipe(\n map(result => HockeyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HockeyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(\n map(result => HockeyGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user'|'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum FootballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n penalty_attempt,\n penalty_goal,\n penalty_save,\n small_penalty_attempt,\n small_penalty_goal,\n small_penalty_save,\n assist,\n block_shot,\n corner,\n free_kick,\n foul,\n save,\n yellow_card,\n red_card,\n perfect_pass,\n loss,\n steal,\n out,\n timeout,\n auto_goal,\n end_game_penalty_miss,\n end_game_penalty_goal,\n end_game_penalty_save\n}\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(FootballGameLogTypes)\n }\n})\nexport class FootballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: FootballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: FootballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [\n FootballGameLogTypes.goal,\n FootballGameLogTypes.penalty_goal,\n FootballGameLogTypes.small_penalty_goal,\n FootballGameLogTypes.auto_goal,\n FootballGameLogTypes.end_game_penalty_goal,\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: FootballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n corners: 'corners',\n free_kicks: 'freeKicks',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_saves: 'penaltySaves',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_saves: 'smallPenaltySaves',\n saves: 'saves',\n goals_against: 'goalsAgainst',\n safety_rate: 'safetyRate',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class FootballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsAgainst: number;\n penaltySaves: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltySaves: number;\n saves: number;\n goalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0) + (this.smallPenaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penalties(): number {\n return (this.penaltyGoals || 0) + (this.penaltyAttempts || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyAttempts || !this.penaltyGoals) {\n return 0;\n }\n const penaltyShots = this.penaltyAttempts + this.penaltyGoals;\n return Math.round(1000 * this.penaltyGoals / penaltyShots) / 10;\n }\n\n get smallPenalties(): number {\n return (this.smallPenaltyGoals || 0) + (this.smallPenaltyAttempts || 0);\n }\n\n get smallPenaltyGoalsPercent(): number {\n if (!this.smallPenaltyAttempts || !this.smallPenaltyGoals) {\n return 0;\n }\n const smallPenaltyShots = this.smallPenaltyAttempts + this.smallPenaltyGoals;\n return Math.round(1000 * this.smallPenaltyGoals / smallPenaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get smallPenaltyShotsAgainst(): number {\n return (this.smallPenaltySaves || 0) + (this.smallPenaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0) + (this.smallPenaltyGoalsAgainst || 0) + (this.autoGoalsAgainst || 0);\n }\n\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0) + (this.smallPenaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get smallPenaltySavesPercent(): number {\n if (!this.smallPenaltyShotsAgainst || !this.smallPenaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.smallPenaltySaves / this.smallPenaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots_on_goal_percent: 'shotsOnGoalPercent',\n shots: 'shots',\n goals: 'goals',\n goals_percent: 'goalsPercent',\n total_goals: 'totalGoals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_percent: 'penaltyGoalsPercent',\n penalty_saves: 'penaltySaves',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_percent: 'smallPenaltyGoalsPercent',\n small_penalty_saves: 'smallPenaltySaves',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_shots_against: 'smallPenaltyShotsAgainst',\n small_penalty_saves_percent: 'smallPenaltySavesPercent',\n saves: 'saves',\n saves_percent: 'savesPercent',\n total_saves: 'totalSaves',\n goals_against: 'goalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n shots_against: 'shotsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n corners: 'corners',\n free_kicks: 'freeKicks',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class FootballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shotsOnGoalPercent: number;\n shots: number;\n goals: number;\n totalGoals: number;\n goalsPercent: number;\n assists: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsPercent: number;\n penaltySaves: number;\n penaltyGoalsAgainst: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsPercent: number;\n smallPenaltySaves: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltyShotsAgainst: number;\n smallPenaltySavesPercent: number;\n saves: number;\n savesPercent: number;\n totalSaves: number;\n goalsAgainst: number;\n totalGoalsAgainst: number;\n shotsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n newbie: boolean;\n rank: number;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get tournamentTeamGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.gamesCount;\n }\n\n get tournamentTeamWonGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamDrawGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.drawGamesCount;\n }\n\n get tournamentTeamLostGamesCount(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.gamesCount - this.tournamentTeam.drawGamesCount - this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamScoreSum(): number {\n return this.tournamentTeam && this.tournamentTeam.scoreSum;\n }\n\n get tournamentTeamMissedSum(): number {\n return this.tournamentTeam && this.tournamentTeam.missedSum;\n }\n\n get tournamentTeamPlusMinus(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.scoreSum - this.tournamentTeam.missedSum;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { FootballStatistic } from './football-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: FootballStatistic,\n competitorTeam: FootballStatistic\n }\n})\nexport class FootballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: FootballStatistic;\n competitorTeam: FootballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { FootballGameLog } from '../models/football-game-log';\nimport { FootballGameStatistic } from '../models/football-game-statistic';\nimport { FootballGameTeamStatistic } from '../models/football-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class FootballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<FootballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/team_statistic/`).pipe(\n map(result => FootballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<FootballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/user_statistic/`).pipe(\n map(result => FootballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<FootballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/logs/`).pipe(\n map(result => FootballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum HandballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n assist,\n penalty_miss,\n penalty_shot_on_goal,\n penalty_goal,\n save,\n penalty_save,\n foul,\n yellow_card,\n red_card,\n two_minute_foul,\n turnover,\n steal,\n block_shot,\n timeout\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HandballGameLogTypes)\n }\n})\nexport class HandballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HandballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: HandballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HandballGameLogTypes.goal, HandballGameLogTypes.penalty_goal].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HandballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [HandballGameLogTypes.foul, HandballGameLogTypes.yellow_card, HandballGameLogTypes.red_card].indexOf(this.logType) > -1;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellowCards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n }\n})\nexport class HandballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penaltyShots(): number {\n return (this.penaltyShotsOnGoal || 0) + (this.penaltyMisses || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyShots || !this.penaltyGoals) {\n return 0;\n }\n return Math.round(1000 * this.penaltyGoals / this.penaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n shots: 'shots',\n goals_percent: 'goalsPercent',\n penalty_shots: 'penaltyShots',\n penalty_goals_percent: 'penaltyGoalsPercent',\n shots_against: 'shotsAgainst',\n saves_percent: 'savesPercent',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n total_goals: 'totalGoals',\n total_saves: 'totalSaves',\n total_goals_against: 'totalGoalsAgainst',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HandballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n shots: number;\n goalsPercent: number;\n penaltyShots: number;\n penaltyGoalsPercent: number;\n shotsAgainst: number;\n savesPercent: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n totalGoals: number;\n totalSaves: number;\n totalGoalsAgainst: number;\n newbie: boolean;\n rank: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HandballStatistic } from './handball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HandballStatistic,\n competitorTeam: HandballStatistic\n }\n})\nexport class HandballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HandballStatistic;\n competitorTeam: HandballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HandballGameLog } from '../models/handball-game-log';\nimport { HandballGameStatistic } from '../models/handball-game-statistic';\nimport { HandballGameTeamStatistic } from '../models/handball-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HandballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HandballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/team_statistic/`).pipe(\n map(result => HandballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HandballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/user_statistic/`).pipe(\n map(result => HandballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HandballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/logs/`).pipe(\n map(result => HandballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n text: 'text',\n author: 'author',\n created_at: 'createdAt',\n },\n relation: {\n picture: File,\n author: User,\n createdAt: DateTimeField,\n }\n})\nexport class TournamentNews extends BaseModel {\n id: number;\n title: string;\n picture: File;\n text: string;\n author: User;\n createdAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\n\n@ModelInstance({\n mappingFields: {\n stage_id: 'stageId',\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n }\n})\nexport class GameTimelineStageItem {\n stageId: number;\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n current_tour: 'currentTour',\n current_playoff_stage: 'currentPlayoffStage',\n current_playoff_round: 'currentPlayoffRound',\n stages: 'stages',\n tournament_stage_id: 'tournamentStageId',\n },\n relation: {\n stages: listField(GameTimelineStageItem)\n }\n})\nexport class GameTimelineStages extends BaseModel {\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n currentTour: number;\n currentPlayoffStage: number;\n currentPlayoffRound: number;\n stages: GameTimelineStageItem[];\n tournamentStageId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateField } from './util';\n\nexport enum TournamentStageStatuses {\n open,\n in_progress,\n closed\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n date: 'date',\n tournament_id: 'tournamentId',\n status: 'status',\n },\n relation: {\n date: DateField,\n status: enumField(TournamentStageStatuses)\n }\n})\nexport class TournamentStage extends BaseModel {\n id: number;\n name: string;\n date: Date;\n tournamentId: number;\n status: TournamentStageStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { Team } from './team';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { TeamUser } from './team-user';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n team_user: 'teamUser',\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n tournament_team: 'tournamentTeam',\n user: 'user',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n serve_percent: 'servePercent',\n ace_percent: 'acePercent',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n block_percent: 'blockPercent',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n attack_percent: 'attackPercent',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n receive_percent: 'receivePercent',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n serve_receive_percent: 'serveReceivePercent',\n points: 'points',\n faults: 'faults',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n team: Team,\n teamUser: TeamUser,\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n tournamentTeam: TournamentTeam,\n user: User,\n month: DateField,\n }\n})\nexport class VolleyballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n newbie: boolean;\n rank: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n servePercent: number;\n acePercent: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n blockPercent: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n attackPercent: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n receivePercent: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n serveReceivePercent: number;\n points: number;\n faults: number;\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TournamentGroup } from './tournament-group';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n group: 'group',\n tournament_stage_id: 'tournamentStageId',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n points: 'points',\n final_standing: 'finalStanding',\n received_points: 'receivedPoints',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n group: TournamentGroup\n }\n})\nexport class TournamentStageTeam extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n group: TournamentGroup;\n tournamentStageId: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n missedSum: number;\n lastGamesCount: number;\n lastGamesWon: number;\n points: number;\n finalStanding: number;\n receivedPoints: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField, DateTimeField, enumField } from './util';\nimport { File } from './file';\nimport { Tournament } from './tournament';\n\nexport enum LeagueNewsType {\n text = 1,\n video\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n datetime: 'datetime',\n preview_text: 'previewText',\n detail_text: 'detailText',\n picture: 'picture',\n cover: 'cover',\n mobile_picture: 'mobilePicture',\n is_main: 'isMain',\n tournaments: 'tournaments',\n type: 'type',\n video_link: 'videoLink',\n tag: 'tag',\n },\n relation: {\n datetime: DateTimeField,\n picture: File,\n cover: File,\n mobilePicture: File,\n tournaments: listField(Tournament),\n type: enumField(LeagueNewsType),\n }\n})\nexport class LeagueNews extends BaseModel {\n id: number;\n title: string;\n datetime: Date;\n previewText: string;\n detailText: string;\n picture: File;\n cover: File;\n mobilePicture: File;\n isMain: boolean;\n tournaments: Tournament[];\n type: LeagueNewsType;\n videoLink: string;\n tag: string;\n\n @ToFrontHook\n static toFront(data: any): any {\n return undefined;\n }\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField, enumField, listField } from './util';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { League } from './league';\nimport { LeagueNews } from './league-news';\n\nexport enum TournamentEventTypes {\n game_closed = 1,\n media_added,\n news\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game: 'game',\n news: 'news',\n league: 'league',\n tournaments: 'tournaments',\n event: 'event',\n datetime: 'datetime'\n },\n relation: {\n game: Game,\n news: LeagueNews,\n league: League,\n tournaments: listField(Tournament),\n datetime: DateField,\n event: enumField(TournamentEventTypes)\n }\n})\nexport class TournamentEvent extends BaseModel {\n id: number;\n game: Game;\n news: LeagueNews;\n tournaments: Tournament[];\n event: TournamentEventTypes;\n datetime: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { User } from './user';\nimport { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n\nexport enum LeagueUserRoles {\n admin = 1,\n moderator,\n game_manager\n}\n\nexport enum LeagueUserPermissions {\n settings = 1,\n users,\n teams,\n media,\n news,\n game_export,\n schedule,\n game_management\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user: 'user',\n role: 'role',\n permissions: 'permissions'\n },\n relation: {\n user: User,\n permissions: listField(enumField(LeagueUserPermissions))\n }\n})\nexport class LeagueUser extends BaseModel {\n id: number;\n user: User;\n _role: LeagueUserRoles;\n permissions: LeagueUserPermissions[];\n\n set role(value: LeagueUserRoles|string) {\n this._role = LeagueUserRoles[value];\n }\n\n get role(): LeagueUserRoles|string {\n return this._role;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n draw_games_count: 'drawGamesCount',\n newbie: 'newbie',\n // User statistic\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_kicks: 'conversionKicks',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalties: 'penalties',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n tap_penalties: 'tapPenalties',\n penalty_kicks_to_touch: 'penaltyKicksToTouch',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n plus_minus: 'plusMinus',\n game_time: 'gameTime',\n\n // Team statistic\n scrums: 'scrums',\n scrums_won: 'scrumsWon',\n scrums_lost: 'scrumsLost',\n scrums_won_percent: 'scrumsWonPercent',\n scrums_won_free: 'scrumsWonFree',\n opponent_scrums_won: 'opponentScrumsWon',\n opponent_scrums_lost: 'opponentScrumsLost',\n lineouts: 'lineouts',\n lineouts_won: 'lineoutsWon',\n lineouts_lost: 'lineoutsLost',\n lineouts_steal: 'lineoutsSteal',\n opponent_lineouts_lost: 'opponentLineoutsLost',\n quick_throws: 'quickThrows',\n rucks: 'rucks',\n rucks_won: 'rucksWon',\n rucks_lost: 'rucksLost',\n rucks_won_percent: 'rucksWonPercent',\n opponent_rucks_won: 'opponentRucksWon',\n opponent_rucks_lost: 'opponentRucksLost',\n mauls: 'mauls',\n mauls_won: 'maulsWon',\n mauls_lost: 'maulsLost',\n mauls_won_percent: 'maulWonPercent',\n opponent_mauls_won: 'opponentMaulsWon',\n opponent_mauls_lost: 'opponentMaulsLost',\n fouls: 'fouls',\n team_fouls: 'teamFouls',\n },\n relation: {\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class RugbyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n tournamentTeamPoints: number;\n newbie: boolean;\n rank: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penalties: number;\n penaltyKicksOnGoal: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyGoalsPercent: number;\n tapPenalties: number;\n penaltyKicksToTouch: number;\n dropGoalKicks: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n plusMinus: number;\n gameTime: number;\n\n scrums: number;\n scrumsWon: number;\n scrumsLost: number;\n scrumsWonPercent: number;\n scrumsWonFree: number;\n opponentScrumsWon: number;\n opponentScrumsLost: number;\n lineouts: number;\n lineoutsWon: number;\n lineoutsLost: number;\n lineoutsSteal: number;\n opponentLineoutsLost: number;\n quickThrows: number;\n rucks: number;\n rucksWon: number;\n rucksLost: number;\n rucksWonPercent: number;\n opponentRucksWon: number;\n opponentRucksLost: number;\n mauls: number;\n maulsWon: number;\n maulsLost: number;\n maulWonPercent: number;\n opponentMaulsWon: number;\n opponentMaulsLost: number;\n fouls: number;\n teamFouls: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Tournament } from '../models/tournament';\nimport { map } from 'rxjs/operators';\nimport { TournamentNews } from '../models/tournament-news';\nimport { Game, GameStatuses } from '../models/game';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { Playoff } from '../models/playoff';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyStatistic } from '../models/hockey-statistic';\nimport { FootballStatistic } from '../models/football-statistic';\nimport { LeagueUserPermissions } from '../models/league-user';\nimport { HandballStatistic } from '../models/handball-statistic';\nimport { RugbyStatistic } from '../models/rugby-statistic';\nimport { TournamentGroup } from '../models/tournament-group';\n\nexport interface TournamentGamesFilters {\n tournamentIds?: number[];\n tournamentSeasonId?: number;\n tournamentStageId?: number;\n tournamentTour?: number;\n teamId?: number;\n playoffStage?: number;\n playoffRound?: number;\n playoffId?: number;\n isPlayoff?: boolean;\n status?: GameStatuses;\n statuses?: GameStatuses[];\n tournamentCourtId?: number;\n leaguePlayerId?: number;\n userId?: number;\n query?: string;\n}\n\nexport type StatisticGroupByTypes = 'team' | 'user' | 'team_user' | 'tournament_team' | 'league_player' | 'tournament_team_user'\n | 'month' | 'win_loses';\n\nexport interface StatisticFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n league_player_id?: number;\n tournament_team_user_id?: number;\n team_id?: number;\n team_user_id?: number;\n user_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_round?: number;\n playoff_id?: number;\n is_playoff?: boolean;\n date_from?: string;\n date_to?: string;\n query?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n order_by?: string;\n page?: number;\n size?: number;\n}\n\nexport interface StatisticLeadersFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n team_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_id?: number;\n date_from?: string;\n date_to?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n size?: number;\n fields: string[];\n}\n\nexport interface TournamentEventsListFilter {\n event?: TournamentEventTypes;\n search?: string;\n tournamentTour?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TournamentApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(tournamentId: number): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/${alias}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getNews(tournamentId: number): Promise<TournamentNews[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`)\n .pipe(map(result => TournamentNews.toFront(result)))\n .toPromise();\n }\n\n async getEvents(tournamentId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/events/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getTournamentStages(tournamentId: number): Promise<TournamentStage[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stages/`).pipe(\n map(data => TournamentStage.toFront(data))\n ).toPromise();\n }\n\n async getPlayoff(tournamentId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/playoff/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffGames(playoffId: number, playoffNumber?: string): Promise<Game[]> {\n let params = new HttpParams();\n if (playoffNumber) {\n params = params.set('playoff_number', playoffNumber);\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_playoff/${playoffId}/games/`,\n {params}\n ).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(tournamentId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n\n async getGames(tournamentId: number, page: number, size: number, filters: TournamentGamesFilters = {}): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))).toPromise();\n }\n\n async getGroups(tournamentId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getTeams(tournamentId: number, groupId?: number): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (groupId) {\n params = params.set('group_id', groupId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams/`, {params})\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getStageTeams(tournamentId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stage_teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n\n async getTeamById(tournamentTeamId: number): Promise<TournamentTeam> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/`)\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<TournamentTeamUser> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${userId}/`)\n .pipe(map(result => TournamentTeamUser.toFront(result)))\n .toPromise();\n }\n\n async getUserGames(tournamentUserId: number): Promise<Game[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentUserId}/games/`)\n .pipe(map(result => Game.toFront(result)))\n .toPromise();\n }\n\n async getBasketballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: BasketballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = BasketballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getVolleyballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: VolleyballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = VolleyballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHockeyStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HockeyStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HockeyStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getFootballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: FootballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = FootballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHandballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HandballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HandballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getBasketballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<BasketballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: BasketballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getVolleyballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<VolleyballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: VolleyballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHockeyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HockeyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HockeyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getFootballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<FootballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: FootballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHandballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HandballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HandballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getRugbyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<RugbyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/rugby_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: RugbyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentTeamUsers(tournamentTeamId: number): Promise<TournamentTeamUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n async myPermission(tournamentId: number): Promise<LeagueUserPermissions[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(\n map((data: any) => (data.permissions || []).map(item => LeagueUserPermissions[item]))\n ).toPromise();\n }\n\n async getTournamentTeamTournaments(tournamentTeamId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getTournamentUserTournaments(tournamentTeamUserId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentTeamUserId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n}\n\nexport function applyGamesFilters(filters: TournamentGamesFilters, params: HttpParams): HttpParams {\n if (filters.tournamentIds) {\n params = params.set('tournament_ids', filters.tournamentIds.join(','));\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.statuses) {\n const statuses = filters.statuses.map(i => GameStatuses[i]);\n params = params.set('statuses', statuses.join(','));\n }\n if (filters.tournamentCourtId) {\n params = params.set('tournament_court_id', filters.tournamentCourtId.toString());\n }\n if (filters.leaguePlayerId) {\n params = params.set('league_player_id', filters.leaguePlayerId.toString());\n }\n if (filters.userId) {\n params = params.set('user_id', filters.userId.toString());\n }\n if (filters.query) {\n params = params.set('query', filters.query);\n }\n if (filters.isPlayoff !== undefined && filters.isPlayoff !== null) {\n params = params.set('is_playoff', filters.isPlayoff ? '1' : '0');\n }\n return params;\n}\n\nexport function applyStatisticFilters(filters: StatisticFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n\n if (filters.is_playoff !== undefined && filters.is_playoff !== null) {\n params = params.set('is_playoff', filters.is_playoff ? '1' : '0');\n }\n\n return params;\n}\n\nexport function applyStatisticLeadersFilters(filters: StatisticLeadersFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n if (filters.fields) {\n params = params.set('fields', filters.fields.join(','));\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n },\n relation: {\n picture: File\n }\n})\nexport class LeaguePartner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import {ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField} from './util';\nimport {File} from './file';\n\nexport enum BannerLocation {\n slider = 'slider',\n central = 'central',\n media = 'media',\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n location: 'location',\n },\n relation: {\n picture: File,\n location: enumField(BannerLocation),\n }\n})\nexport class LeagueBanner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n location: BannerLocation;\n\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n file: 'file',\n },\n relation: {\n file: File,\n }\n})\nexport class LeagueDocument extends BaseModel {\n id: number;\n file: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { League } from '../models/league';\nimport { map } from 'rxjs/operators';\nimport { Tournament, TournamentStatuses } from '../models/tournament';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { GameMediaFilters } from './media-api';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { Game, GameStatuses } from '../models/game';\nimport { LeaguePartner } from '../models/league-partner';\nimport { LeagueCourt } from '../models/league-court';\nimport { BannerLocation, LeagueBanner } from '../models/league-banner';\nimport { LeagueDocument } from '../models/league-document';\n\nexport interface TournamentListFilters {\n statuses: TournamentStatuses[];\n}\n\n@Injectable({providedIn: 'root'})\nexport class LeagueApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getByAlias(alias: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${alias}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getByDomain(domain: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/by_domain/${domain}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(leagueId: number, filters?: TournamentListFilters): Promise<Tournament[]> {\n let params = new HttpParams();\n if (filters) {\n if (filters.statuses) {\n params = params.set('statuses', filters.statuses.map(s => TournamentStatuses[s]).join(','));\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getEvents(leagueId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/events/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentSeasons(leagueId: number): Promise<TournamentSeason[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getGames(leagueId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/games/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getSeasons(leagueId: number, page = 1, size = 20, notClosed?: boolean, include?: string[]): Promise<PaginatedResponse<TournamentSeason[]>> {\n const params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString())\n .set('not_closed', notClosed ? '1' : '')\n .set('include', include ? include.join(',') : '');\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentSeason.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getPartners(leagueId: number): Promise<LeaguePartner[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/partners/`).pipe(\n map(result => LeaguePartner.toFront(result))\n ).toPromise();\n }\n\n async getBanners(leagueId: number, location?: BannerLocation): Promise<LeagueBanner[]> {\n const params = location ? new HttpParams().set('location', location) : new HttpParams();\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/banners/`, {params}).pipe(\n map(result => LeagueBanner.toFront(result))\n ).toPromise();\n }\n\n async getCourts(leagueId: number): Promise<LeagueCourt[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/courts/`).pipe(\n map(result => LeagueCourt.toFront(result))\n ).toPromise();\n }\n\n async getGraphicSettings(leagueId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/graphic_settings/`)\n .toPromise();\n }\n\n async getDocuments(leagueId: number): Promise<LeagueDocument[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/documents/`).pipe(\n map(result => LeagueDocument.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { LeagueNews, LeagueNewsType } from '../models/league-news';\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class LeagueNewsApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getLeagueNewsList(leagueId: number, page: number, size: number, type: LeagueNewsType = LeagueNewsType.text): Promise<PaginatedResponse<LeagueNews[]>> {\n const params = new HttpParams().set('page', page.toString())\n .set('size', size.toString())\n .set('type', LeagueNewsType[type]);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n\n async getMainLeagueNews(leagueId: number): Promise<LeagueNews> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => response && response.length > 0 ? LeagueNews.toFront(response[0]) : null))\n .toPromise();\n }\n\n async getMainLeagueNewsList(leagueId: number): Promise<LeagueNews[]> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getNewsById(newsId: number): Promise<LeagueNews> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_news/${newsId}/`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getTournamentNewsList(tournamentId: number): Promise<PaginatedResponse<LeagueNews[]>> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`, {observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { LeaguePlayer } from '../models/league-player';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\n\n@Injectable({providedIn: 'root'})\nexport class LeaguePlayerApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(leaguePlayerId: number): Promise<LeaguePlayer> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/`).pipe(\n map(item => LeaguePlayer.toFront(item))\n ).toPromise();\n }\n\n getTournamentUsers(leaguePlayerId: number, seasonId?: number): Promise<TournamentTeamUser[]> {\n let params = new HttpParams();\n if (seasonId) {\n params = params.set('season_id', seasonId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/tournament_users/`, {params}).pipe(\n map(item => TournamentTeamUser.toFront(item))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { MediaItem } from '../models/media-item';\nimport { Game, GameStatuses } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentGamesFilters } from './tournament-api';\n\nexport interface GameMediaFilters extends TournamentGamesFilters {\n mediaCount?: number;\n}\n\nexport interface MediaFilters {\n mediaType?: 'photo' | 'video' | 'live_video';\n sort?: string;\n teamId?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class MediaApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getMedia(mediaId: number): Promise<MediaItem> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async getTournamentGameMedia(tournamentId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueGameMedia(leagueId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueMedia(leagueId: number, page: number, size: number, filters: MediaFilters = {}): Promise<PaginatedResponse<MediaItem[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n if (filters.mediaType) {\n params = params.set('media_type', filters.mediaType);\n }\n if (filters.sort) {\n params = params.set('sort', filters.sort);\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: MediaItem.toFront(response.body)\n }))).toPromise();\n }\n\n async getGameMediaById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGameMedia(gameId: number): Promise<MediaItem[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async createZip(mediaIds: number[]): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })\n .toPromise();\n }\n\n async downloadMedia(mediaId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`,{responseType: 'blob'})\n .toPromise();\n }\n}\n\nexport function applyGameMediaFilters(filters: GameMediaFilters, params: HttpParams, ): HttpParams {\n if (filters) {\n params = applyGamesFilters(filters, params);\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.playoffId) {\n params = params.set('playoff_id', filters.playoffId.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.mediaCount) {\n params = params.set('media_count', filters.mediaCount.toString());\n }\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { User } from './user';\n\nexport enum PollStatuses {\n open = 1,\n closed,\n archived,\n}\n\n@ModelInstance({\n mappingFields: {\n uuid: 'uuid',\n name: 'name'\n }\n})\nexport class PollVariant extends BaseModel {\n uuid: string;\n name: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n answer_uuid: 'answerUuid',\n user: 'user',\n poll_id: 'pollId',\n },\n relation: {\n user: User\n }\n})\nexport class PollAnswer extends BaseModel {\n id: number;\n answerUuid: string;\n user: User;\n pollId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n active: 'active',\n status: 'status',\n team_id: 'teamId',\n name: 'name',\n description: 'description',\n variants: 'variants',\n author: 'author',\n answers: 'answers',\n multiple_answer: 'multipleAnswer',\n anonymous: 'anonymous',\n created_at: 'createdAt'\n },\n relation: {\n status: enumField(PollStatuses),\n variants: PollVariant,\n author: User,\n answers: PollAnswer,\n createdAt: DateTimeField,\n }\n})\nexport class Poll extends BaseModel {\n id: number;\n active: boolean;\n teamId: number;\n status: PollStatuses;\n name: string;\n description: string;\n _variants: PollVariant[];\n author: User;\n _answers: PollAnswer[];\n multipleAnswer: boolean;\n anonymous: boolean;\n createdAt: Date;\n variantsWithAnswers: {variant: PollVariant, percent: number}[] = [];\n\n set variants(value: PollVariant[]) {\n this._variants = value || [];\n if (this._answers) {\n this.calculateAnswersPercentage();\n }\n }\n get variants(): PollVariant[] {\n return this._variants;\n }\n\n set answers(value: PollAnswer[]) {\n this._answers = value || [];\n if (this._variants) {\n this.calculateAnswersPercentage();\n }\n }\n get answers(): PollAnswer[] {\n return this._answers;\n }\n\n calculateAnswersPercentage() {\n if (!this._answers.length) {\n return;\n }\n\n const variants = this._variants.map(v => v.uuid);\n const answersByVariant = this._answers.reduce((acc, item) => {\n if (variants.indexOf(item.answerUuid) < 0) {\n return acc;\n }\n if (!acc[item.answerUuid]) {\n acc[item.answerUuid] = 0;\n }\n acc[item.answerUuid]++;\n return acc;\n }, {});\n this.variantsWithAnswers = this._variants.map(item => ({\n variant: item,\n percent: answersByVariant[item.uuid] ? Math.round(100 * answersByVariant[item.uuid] / this._answers.length) : 0\n }))\n .sort((a, b) => a.percent > b.percent ? -1 : 1);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n user: 'user',\n team: 'team',\n team_id: 'teamId',\n user_accept: 'userAccept',\n team_accept: 'teamAccept',\n users_count: 'usersCount',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n created_at: 'createdAt',\n updated_at: 'updatedAt',\n },\n relation: {\n user: User,\n team: Team,\n createdAt: DateTimeField,\n updateAt: DateTimeField,\n }\n})\nexport class TeamInvite extends BaseModel {\n id: number;\n userId: number;\n user: User;\n teamId: number;\n team: Team;\n userAccept: boolean;\n teamAccept: boolean;\n usersCount: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n createdAt: Date;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUser } from './team-user';\nimport { Game } from './game';\n\nexport enum GameInviteStatus {\n accepted = 1,\n declined,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_user: 'teamUser',\n game_id: 'gameId',\n game: 'game',\n status: 'status',\n },\n relation: {\n game: Game,\n teamUser: TeamUser,\n status: enumField(GameInviteStatus),\n }\n})\nexport class GameInvite extends BaseModel {\n id: number;\n teamUser: TeamUser;\n gameId: number;\n game: Game;\n status: GameInviteStatus;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export enum TeamEventTypes {\n training = 1,\n other = 2,\n}\n","import { TeamEventTypes } from '../models/team-event-type';\n\nexport const TeamEventTypeLocalization = {\n [TeamEventTypes.training]: 'Тренировка',\n [TeamEventTypes.other]: 'Другое'\n};\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { Team } from './team';\nimport { TeamEventTypeLocalization } from '../localization/team-event-type';\nimport { TeamEventTypes } from './team-event-type';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n team: 'team',\n event_type: 'eventType',\n event_custom_name: 'eventCustomName',\n description: 'description',\n datetime: 'datetime',\n location: 'location',\n },\n relation: {\n eventType: enumField(TeamEventTypes),\n team: Team,\n datetime: DateTimeField,\n }\n})\nexport class TeamEvent extends BaseModel {\n id: number;\n teamId: number;\n team: Team;\n eventType: TeamEventTypes;\n eventCustomName: string;\n description: string;\n datetime: Date;\n location: string;\n\n get name(): string {\n if (this.eventType === TeamEventTypes.other) {\n return this.eventCustomName;\n }\n return TeamEventTypeLocalization[this.eventType];\n }\n\n get isClosed(): boolean {\n return this.datetime.getTime() < new Date().getTime();\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum TeamEventInviteStatuses {\n accepted = 1,\n declined = 2\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_event_id: 'teamEventId',\n team_user_id: 'teamUserId',\n status: 'status',\n },\n relation: {\n status: enumField(TeamEventInviteStatuses)\n }\n})\nexport class TeamEventInvite {\n id: number;\n teamEventId: number;\n teamUserId: number;\n status: TeamEventInviteStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { TeamUser } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_invite_id: 'tournamentTeamInviteId',\n tournament_team_id: 'tournamentTeamId',\n team_user: 'teamUser',\n accepted: 'accepted'\n },\n relation: {\n teamUser: TeamUser\n }\n})\nexport class TournamentTeamUserInvite extends BaseModel {\n id: number;\n tournamentTeamInviteId: number;\n tournamentTeamId: number;\n teamUser: TeamUser;\n accepted: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { Tournament } from './tournament';\nimport { TournamentTeamUserInvite } from './tournament-team-user-invite';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team: 'team',\n tournament: 'tournament',\n team_accept: 'teamAccept',\n organization_accept: 'organizationAccept',\n user_invites_count: 'userInvitesCount',\n user_invites: 'userInvites',\n notifications_count: 'notificationsCount',\n },\n relation: {\n team: Team,\n tournament: Tournament,\n userInvites: TournamentTeamUserInvite,\n }\n})\nexport class TournamentInvite extends BaseModel {\n id: number;\n team: Team;\n tournament: Tournament;\n teamAccept: boolean;\n organizationAccept: boolean;\n userInvitesCount: number;\n userInvites: TournamentTeamUserInvite[];\n notificationsCount: number;\n\n get isOpen(): boolean {\n return (this.teamAccept === null || this.organizationAccept === null) && this.teamAccept !== false && this.organizationAccept !== false;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { Team } from './team';\nimport { Poll } from './poll';\nimport { Game } from './game';\nimport { TeamInvite } from './team-invite';\nimport { TeamUser } from './team-user';\nimport { GameInvite } from './game-invite';\nimport { TeamEvent } from './team-event';\nimport { TeamEventInvite } from './team-event-invite';\nimport { Tournament } from './tournament';\nimport { TournamentInvite } from './tournament-invite';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\n\nexport enum NotificationType {\n team_updated = 1,\n team_invited,\n team_join_request,\n team_join_declined_by_team,\n team_join_declined_by_user,\n team_join_canceled_by_team,\n team_join_canceled_by_user,\n team_joined_for_user,\n team_joined_for_team,\n team_user_role_changed_for_user,\n team_user_role_changed_for_team,\n team_user_number_changed,\n team_user_deleted_for_user,\n team_user_deleted_for_team,\n team_user_left,\n\n game_updated,\n game_invited,\n game_invite_accepted,\n game_invite_declined,\n game_remind,\n game_won,\n game_losing,\n game_tech_defeat,\n game_tech_victory,\n\n poll_created,\n poll_closed,\n\n team_event_invited,\n team_event_accepted,\n team_event_declined,\n team_event_remind,\n\n tournament_invited,\n tournament_joined,\n tournament_join_declined,\n tournament_join_canceled,\n tournament_user_invited,\n tournament_user_accepted_for_team,\n tournament_user_accepted_for_user,\n tournament_user_added,\n tournament_user_declined_for_team,\n tournament_user_declined_for_user,\n tournament_user_invite_deleted,\n tournament_user_deleted,\n tournament_user_disqualified_for_team,\n tournament_user_disqualified_for_user,\n tournament_user_disqualification_updated_for_team,\n tournament_user_disqualification_updated_for_user,\n tournament_team_deleted,\n\n org_tournament_invite_created,\n org_tournament_invite_declined,\n org_tournament_invite_deleted,\n org_tournament_invite_changed,\n org_tournament_user_deleted,\n org_tournament_user_invited,\n org_tournament_user_has_changes,\n org_tournament_team_leave,\n}\n\nexport enum NotificationServiceEnum {\n public = 1,\n org\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n event_type: 'event',\n data: 'data',\n initiator: 'initiator',\n team: 'team',\n team_invite: 'teamInvite',\n team_user: 'teamUser',\n poll: 'poll',\n game: 'game',\n game_invite: 'gameInvite',\n team_event: 'teamEvent',\n team_event_invite: 'teamEventInvite',\n tournament: 'tournament',\n tournament_invite: 'tournamentInvite',\n tournament_team: 'tournamentTeam',\n viewed: 'viewed',\n protected: 'protected',\n service: 'service',\n created_at: 'createdAt',\n },\n relation: {\n event: enumField(NotificationType),\n initiator: User,\n team: Team,\n teamInvite: TeamInvite,\n teamUser: TeamUser,\n poll: Poll,\n game: Game,\n gameInvite: GameInvite,\n teamEvent: TeamEvent,\n teamEventInvite: TeamEventInvite,\n tournament: Tournament,\n tournamentInvite: TournamentInvite,\n tournamentTeam: TournamentTeam,\n service: enumField(NotificationServiceEnum),\n createdAt: DateTimeField,\n }\n})\nexport class Notification extends BaseModel {\n id: number;\n event: NotificationType;\n data: any;\n initiator: User;\n team: Team;\n teamInvite: TeamInvite;\n teamUser: TeamUser;\n poll: Poll;\n game: Game;\n gameInvite: GameInvite;\n teamEvent: TeamEvent;\n teamEventInvite: TeamEventInvite;\n tournament: Tournament;\n tournamentInvite: TournamentInvite;\n tournamentTeam: TournamentTeam;\n viewed: boolean;\n protected: boolean;\n service: NotificationServiceEnum;\n createdAt: Date;\n\n get important(): boolean {\n return true;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum NotificationAllowTypes {\n all = 1,\n important,\n none\n}\n\n@ModelInstance({\n mappingFields: {\n user_id: 'userId',\n popup: 'popup',\n sound: 'sound',\n browser: 'browser',\n email: 'email'\n },\n relation: {\n sound: enumField(NotificationAllowTypes),\n browser: enumField(NotificationAllowTypes),\n }\n})\nexport class NotificationSettings extends BaseModel {\n userId: number;\n popup: boolean;\n sound: NotificationAllowTypes;\n browser: NotificationAllowTypes;\n email: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Notification } from '../models/notification';\nimport { NotificationSettings } from '../models/notification-settings';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\n\nexport interface NotificationFilters {\n protected?: boolean;\n not_viewed?: boolean;\n important?: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class NotificationBaseApi {\n protected apiUrl: string;\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCount(): Promise<number> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)\n .pipe(map(data => +data))\n .toPromise();\n }\n\n async getList(page: number, size: number, filters: NotificationFilters = {}): Promise<PaginatedResponse<Notification[]>> {\n let params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString());\n for (const key of Object.keys(filters)) {\n params = params.set(key, filters[key]);\n }\n\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, {params, observe: 'response'})\n .pipe(\n map(response => {\n const data: Notification[] = Notification.toFront(response.body);\n return {\n total: +response.headers.get('x-page-count'),\n data\n };\n }),\n ).toPromise();\n }\n\n async markViewed(notificationId: number, viewed: boolean): Promise<Notification> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, {viewed})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async markAllViewed(): Promise<Notification[]> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async getNotificationSettings(): Promise<NotificationSettings> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)\n .pipe(map(data => NotificationSettings.toFront(data)))\n .toPromise();\n }\n\n async updateNotificationSettings(data: NotificationSettings): Promise<NotificationSettings> {\n return this.httpClient.post(\n `${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`,\n NotificationSettings.toBack(data)\n )\n .pipe(map(result => NotificationSettings.toFront(result)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationApi extends NotificationBaseApi {\n protected apiUrl = '/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class OrgNotificationApi extends NotificationBaseApi {\n protected apiUrl = '/org/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { City } from '../models/city';\nimport { Sport } from '../models/sport';\n\n@Injectable({providedIn: 'root'})\nexport class ReferenceApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCities(): Promise<City[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)\n .pipe(\n map(data => City.toFront(data))\n ).toPromise();\n }\n\n async getSports(): Promise<Sport[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/sport/`)\n .pipe(\n map(data => Sport.toFront(data))\n ).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { RugbyStatistic } from './rugby-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: RugbyStatistic,\n competitorTeam: RugbyStatistic\n }\n})\nexport class RugbyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: RugbyStatistic;\n competitorTeam: RugbyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_kicks: 'conversionKicks',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class RugbyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyKicksOnGoal: number;\n penaltyGoalsPercent: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalKicks: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, listField, enumField } from './util';\n\nexport enum RugbyFoulSanctions {\n scrum = 1,\n lineout,\n free_kick,\n penalty_shot,\n yellow_card,\n red_card,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sanction: 'sanction',\n },\n relation: {\n sanction: listField(enumField(RugbyFoulSanctions))\n }\n})\nexport class RugbyFoulType extends BaseModel {\n id: number;\n name: string;\n sanction: RugbyFoulSanctions[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\nimport { RugbyFoulSanctions, RugbyFoulType } from './rugby-foul-type';\n\nexport enum RugbyGameLogTypes {\n enter_game = 1,\n exit_game,\n try,\n penalty_try,\n conversion_goal,\n conversion_miss,\n penalty_miss,\n penalty_goal,\n drop_goal,\n drop_goal_miss,\n free_kick,\n foul,\n yellow_card,\n red_card,\n offload,\n tackle,\n handling_error,\n carries_over_gainline,\n bleeding_injury,\n head_injury,\n end_game_penalty_miss,\n end_game_penalty_goal,\n\n // team actions\n timeout,\n tap_penalty,\n penalty_kick_to_touch,\n scrum_won,\n scrum_lost,\n scrum_won_free,\n lineout_won,\n lineout_lost,\n quick_throw,\n ruck_won,\n ruck_lost,\n maul_won,\n maul_lost,\n team_foul,\n}\n\nexport const RUGBY_GAME_LOG_TYPE_POINTS = {\n [RugbyGameLogTypes.penalty_try]: 7,\n [RugbyGameLogTypes.try]: 5,\n [RugbyGameLogTypes.conversion_goal]: 2,\n [RugbyGameLogTypes.penalty_goal]: 3,\n [RugbyGameLogTypes.drop_goal]: 3,\n [RugbyGameLogTypes.end_game_penalty_goal]: 1, // Не влияет на общий счет\n};\n\nexport const RUGBY_TEAM_LOG_TYPES = [\n RugbyGameLogTypes.timeout, RugbyGameLogTypes.scrum_won, RugbyGameLogTypes.scrum_lost, RugbyGameLogTypes.scrum_won_free,\n RugbyGameLogTypes.lineout_won, RugbyGameLogTypes.lineout_lost,\n RugbyGameLogTypes.quick_throw, RugbyGameLogTypes.ruck_won, RugbyGameLogTypes.ruck_lost,\n RugbyGameLogTypes.maul_won, RugbyGameLogTypes.maul_lost, RugbyGameLogTypes.team_foul,\n RugbyGameLogTypes.penalty_kick_to_touch, RugbyGameLogTypes.tap_penalty,\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n group: 'group',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n foul_type: 'foulType',\n foul_sanction: 'foulSanction',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(RugbyGameLogTypes),\n foulType: RugbyFoulType,\n foulSanction: enumField(RugbyFoulSanctions),\n }\n})\nexport class RugbyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n group: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: RugbyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n foulType: RugbyFoulType;\n foulSanction: RugbyFoulSanctions;\n\n compare(model: RugbyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType] !== undefined;\n }\n\n scorePoints(): number {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType];\n }\n\n isAfter(log: RugbyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [RugbyGameLogTypes.team_foul, RugbyGameLogTypes.foul].indexOf(this.logType) > -1;\n }\n\n isTeamType(): boolean {\n return RUGBY_TEAM_LOG_TYPES.includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\nimport { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';\nimport { RugbyGameStatistic } from '../models/rugby-game-statistic';\nimport { RugbyGameLog } from '../models/rugby-game-log';\nimport { RugbyFoulType } from '../models/rugby-foul-type';\n\n@Injectable({providedIn: 'root'})\nexport class RugbyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<RugbyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(\n map(result => RugbyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<RugbyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(\n map(result => RugbyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<RugbyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(\n map(result => RugbyGameLog.toFront(result))\n ).toPromise();\n }\n\n async getFoulTypes(): Promise<RugbyFoulType> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(\n map(result => RugbyFoulType.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', 'pdf'),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n email: 'email',\n first_name: 'firstName',\n last_name: 'lastName',\n },\n})\nexport class TeamInviteExternal extends BaseModel {\n id: number;\n teamId: number;\n email: string;\n firstName: string;\n lastName: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook, enumField } from './util';\n\nexport enum TeamPermissionTypes {\n for_all = 1,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n players: 'players',\n games: 'games',\n statistic: 'statistic',\n polls: 'polls',\n events: 'events'\n },\n relation: {\n players: enumField(TeamPermissionTypes),\n games: enumField(TeamPermissionTypes),\n statistic: enumField(TeamPermissionTypes),\n polls: enumField(TeamPermissionTypes),\n events: enumField(TeamPermissionTypes)\n }\n})\nexport class TeamPermission extends BaseModel {\n players: TeamPermissionTypes;\n games: TeamPermissionTypes;\n statistic: TeamPermissionTypes;\n polls: TeamPermissionTypes;\n events: TeamPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUserRole } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n can_edit: 'canEdit',\n can_view_users: 'canViewUsers',\n can_manage_permission: 'canManagePermission',\n can_change_owner: 'canChangeOwner',\n can_delete: 'canDelete',\n can_manage_invites: 'canManageInvites',\n can_view_invites: 'canViewInvites',\n can_manage_polls: 'canManagePolls',\n can_view_polls: 'canViewPolls',\n can_answer_poll: 'canAnswerPoll',\n can_manage_games: 'canManageGames',\n can_view_games: 'canViewGames',\n can_view_statistic: 'canViewStatistic',\n can_promote_users: 'canPromoteUsers',\n can_edit_users: 'canEditUsers',\n can_delete_users: 'canDeleteUsers',\n can_view_events: 'canViewEvents',\n can_manage_events: 'canManageEvents',\n can_view_tournaments: 'canViewTournaments',\n can_manage_tournaments: 'canManageTournaments',\n role: 'role'\n },\n relation: {\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamAccess extends BaseModel {\n canEdit: boolean;\n canViewUsers: boolean;\n canManagePermission: boolean;\n canChangeOwner: boolean;\n canDelete: boolean;\n canManageInvites: boolean;\n canViewInvites: boolean;\n canManagePolls: boolean;\n canViewPolls: boolean;\n canAnswerPoll: boolean;\n canManageGames: boolean;\n canViewGames: boolean;\n canViewStatistic: boolean;\n canPromoteUsers: boolean;\n canEditUsers: boolean;\n canDeleteUsers: boolean;\n canViewEvents: boolean;\n canManageEvents: boolean;\n canViewTournaments: boolean;\n canManageTournaments: boolean;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser, TeamUserRole } from '../models/team-user';\nimport { User } from '../models/user';\nimport { TeamInvite } from '../models/team-invite';\nimport { TeamInviteExternal } from '../models/team-invite-external';\nimport { Poll } from '../models/poll';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { TeamEvent } from '../models/team-event';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { TeamPermission } from '../models/team-permission';\nimport { TeamAccess } from '../models/team-access';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async search(query: string, sportId?: number): Promise<Team[]> {\n let params = (new HttpParams()).set('search', query);\n if (sportId) {\n params = params.set('sport', sportId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/`, {params})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async create(team: Team): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/`, Team.toBack(team))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getById(teamId: number): Promise<Team> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getTeamAccess(teamId: number): Promise<TeamAccess> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/access/`)\n .pipe(map(data => TeamAccess.toFront(data)))\n .toPromise();\n }\n\n async update(teamId: number, values: any): Promise<Team> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`, Team.toBack(values))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async delete(team: Team): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${team.id}/`)\n .toPromise();\n }\n\n async getPermission(teamId: number): Promise<TeamPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`)\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async updatePermission(teamId: number, permission: TeamPermission): Promise<TeamPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`, TeamPermission.toBack(permission))\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async getUsers(teamId: number, tournamentId?: number): Promise<TeamUser[]> {\n let params = new HttpParams();\n if (tournamentId) {\n params = params.set('tournament_id', tournamentId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`, {params})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserRole(teamId: number, teamUserId: number, role: TeamUserRole): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/role/`, {role: TeamUserRole[role]})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserNumber(teamId: number, teamUserId: number, gameNumber: number): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/number/`, {number: gameNumber.toString()})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteUser(teamUser: TeamUser): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${teamUser.teamId}/users/${teamUser.id}/`)\n .toPromise();\n }\n\n async changeOwner(teamId: number, user: User): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/owner/`, {id: user.id})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(teamId: number): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async sendInvite(teamId: number, user: User): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`, {user})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async resendInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getInvitesExternal(teamId: number): Promise<TeamInviteExternal[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`)\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async sendInviteExternal(teamId: number, invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`, TeamInviteExternal.toBack(invite))\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async deleteInviteExternal(invite: TeamInviteExternal): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/`)\n .toPromise();\n }\n\n async resendInviteExternal(invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async getPolls(teamId: number, archive: boolean = false): Promise<Poll[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async createPoll(teamId: number, poll: Poll): Promise<Poll> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/`, Poll.toBack(poll))\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async getUsersStatistic(teamId: number): Promise<BasketballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(teamId: number): Promise<VolleyballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async joinTeam(teamId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/join/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async leaveTeam(teamId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/leave/`, {})\n .toPromise();\n }\n\n async getGames(teamId: number, archive = false): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async createGame(teamId: number, game: Game): Promise<Game> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/`, Game.toBack(game))\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(teamId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async createTeamEvent(teamId: number, teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async getTournaments(teamId: number): Promise<Tournament[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/`)\n .pipe(map(data => Tournament.toFront(data)))\n .toPromise();\n }\n\n async getTournamentTeams(teamId: number): Promise<TournamentTeam[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_teams/`)\n .pipe(map(data => TournamentTeam.toFront(data)))\n .toPromise();\n }\n\n async getTournamentInvites(teamId: number): Promise<TournamentInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_invites/`)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async getTournamentGames(teamId: number, tournamentId: number, page: number, size?: number): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map((response: HttpResponse<any>) => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n }))\n .toPromise();\n }\n\n async acceptTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/accept/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/decline/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async registerLazyUser(teamId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/lazy_user/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async getLazyUser(teamUserId: number): Promise<TeamUser> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateLazyUser(teamUserId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteLazyUser(teamUserId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .toPromise();\n }\n\n async resendLazyUserEmail(teamUserId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/resend_email/`, {})\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { TeamEvent } from '../models/team-event';\nimport { TeamEventInvite } from '../models/team-event-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamEventApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getTeamEvent(teamEventId: number): Promise<TeamEvent> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async updateTeamEvent(teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEvent.id}/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async deleteTeamEvent(teamEventId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .toPromise();\n }\n\n async getTeamEventInvites(teamEventId: number): Promise<TeamEventInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`)\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async createTeamEventInvite(teamEventId: number, teamUserId: number): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`, {team_user_id: teamUserId})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/accept/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/decline/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n valid_users_count: 'validUsersCount',\n invalid_users_count: 'invalidUsersCount',\n has_access: 'hasAccess',\n invite_sent: 'inviteSent',\n already_in_tournament: 'alreadyInTournament'\n }\n})\nexport class TournamentJoinData extends BaseModel {\n validUsersCount: number;\n invalidUsersCount: number;\n hasAccess: boolean;\n inviteSent: boolean;\n alreadyInTournament: boolean;\n\n get usersCount(): number {\n return this.validUsersCount + this.invalidUsersCount;\n }\n\n get valid() {\n return this.hasAccess && !this.inviteSent && !this.alreadyInTournament;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n join_data: 'joinData'\n },\n relation: {\n team: Team,\n joinData: TournamentJoinData\n }\n})\nexport class TournamentJoinTeam extends BaseModel {\n team: Team;\n joinData: TournamentJoinData;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentJoinTeam } from '../models/tournament-join-team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser } from '../models/team-user';\nimport { TournamentTeamUserInvite } from '../models/tournament-team-user-invite';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentJoinApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getTeamsForJoin(tournamentId: number): Promise<TournamentJoinTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams_for_join/`).pipe(\n map(response => TournamentJoinTeam.toFront(response))\n ).toPromise();\n }\n\n async getTeamUsers(teamId: number): Promise<TeamUser[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`)\n .pipe(\n map(data => TeamUser.toFront(data))\n ).toPromise();\n }\n\n async joinTournament(tournamentId: number, teamId: number, invites: TournamentTeamUserInvite[]): Promise<TournamentInvite> {\n const body = {\n team: {id: teamId},\n user_invites: TournamentTeamUserInvite.toBack(invites)\n };\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/join/`, body)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { Game, GameStatuses } from '../models/game';\nimport { Tournament } from '../models/tournament';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { applyGameMediaFilters, GameMediaFilters } from './media-api';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { Playoff } from '../models/playoff';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentSeasonApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<TournamentSeason> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/${alias}/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(seasonId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getGames(seasonId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games/`,\n {params, observe: 'response'}\n ).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getEvents(seasonId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/events/`,\n {params, observe: 'response'}\n )\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getGameMedia(seasonId: number, page: number, size: number, filters: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/game_media/`,\n {observe: 'response', params})\n .pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getTeams(seasonId: number, short?: boolean): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (short) {\n params = params.set('short', '1');\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffs(seasonId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/playoffs/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(seasonId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { map } from 'rxjs/operators';\nimport { TournamentGroup } from '../models/tournament-group';\nimport { Playoff } from '../models/playoff';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentStageApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(id: number): Promise<TournamentStage> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${id}/`)\n .pipe(map(result => TournamentStage.toFront(result)))\n .toPromise();\n }\n\n async getGroups(stageId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getPlayoffs(stageId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/playoff/`)\n .pipe(map(result => Playoff.toFront(result)))\n .toPromise();\n }\n\n async getTeams(stageId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n edit: 'edit',\n personal_data: 'personalData',\n teams: 'teams',\n statistic: 'statistic',\n games: 'games'\n }\n})\nexport class UserAccess extends BaseModel {\n edit: boolean;\n personalData: boolean;\n teams: boolean;\n statistic: boolean;\n games: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum UserPermissionTypes {\n denied = 1,\n for_all,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n personal_data: 'personalData',\n games: 'games',\n teams: 'teams',\n statistic: 'statistic'\n },\n relation: {\n personalData: enumField(UserPermissionTypes),\n games: enumField(UserPermissionTypes),\n teams: enumField(UserPermissionTypes),\n statistic: enumField(UserPermissionTypes)\n }\n})\nexport class UserPermission extends BaseModel {\n id: number;\n personalData: UserPermissionTypes;\n games: UserPermissionTypes;\n teams: UserPermissionTypes;\n statistic: UserPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { User } from '../models/user';\nimport { File } from '../models/file';\nimport { map } from 'rxjs/operators';\nimport { UserProfile } from '../models/user-profile';\nimport { BasketballProfile } from '../models/basketball-profile';\nimport { VolleyballProfile } from '../models/volleyball-profile';\nimport { Team } from '../models/team';\nimport { TeamInvite } from '../models/team-invite';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { GameInvite } from '../models/game-invite';\nimport { TeamEvent } from '../models/team-event';\nimport { UserAccess } from '../models/user-access';\nimport { UserPermission } from '../models/user-permission';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class UserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCurrentUser(): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getAccess(userId?: number): Promise<UserAccess> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/access/`)\n .pipe(map(data => UserAccess.toFront(data)))\n .toPromise();\n }\n\n async updateUser(userId: number, data: any): Promise<User> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`, User.toBack(data))\n .pipe(map(result => User.toFront(result)))\n .toPromise();\n }\n\n async updateUserPhoto(file: any, filename?: string): Promise<File> {\n const formData = new FormData();\n formData.append('file', file, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/photo/`, formData)\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async changePassword(userId: number, oldPassword: string, password: string, passwordConfirm: string): Promise<any> {\n const payload = {\n old_password: oldPassword,\n password,\n password_confirm: passwordConfirm\n };\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_password/`, payload)\n .toPromise();\n }\n\n async changeEmail(userId: number, email: string, password: string): Promise<any> {\n const payload = {email, password};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email/`, payload)\n .toPromise();\n }\n\n async changeEmailConfirm(userId, email: string, password: string, token: number): Promise<any> {\n const payload = {email, password, token};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email_confirm/`, payload)\n .toPromise();\n }\n\n async getUserProfile(userId: number): Promise<UserProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/profile/`)\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async getBasketballProfile(userId: number): Promise<BasketballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/basketball_profile/`)\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballProfile(userId: number): Promise<VolleyballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_profile/`)\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserProfile(userProfile: UserProfile): Promise<UserProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userProfile.userId}/profile/`, UserProfile.toBack(userProfile))\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserBasketballProfile(basketballProfile: BasketballProfile): Promise<BasketballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${basketballProfile.userId}/basketball_profile/`, BasketballProfile.toBack(basketballProfile))\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserVolleyballProfile(volleyballProfile: VolleyballProfile): Promise<VolleyballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${volleyballProfile.userId}/volleyball_profile/`, VolleyballProfile.toBack(volleyballProfile))\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async getUserPermissions(userId?: number): Promise<UserPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/permission/`)\n .pipe(map(data => UserPermission.toFront(data)))\n .toPromise();\n }\n\n async updateUserPermission(data: any): Promise<UserPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/current/permission/`, UserPermission.toBack(data))\n .pipe(map(result => UserPermission.toFront(result)))\n .toPromise();\n }\n\n async getTeams(userId: number): Promise<Team[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/teams/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getStreetballStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/streetball_statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(userId: number): Promise<VolleyballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getGames(userId: number): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/games/`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getGameInvites(): Promise<GameInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/`)\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/accept/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async declineGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/decline/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async searchUsers(query: string): Promise<User[]> {\n const params = (new HttpParams()).set('search', query);\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/`, {params})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async setWizardShowed(wizard: string): Promise<User> {\n return this.httpClient\n .put(`${this.configService.get('apiUrl')}/api/v1/user/current/wizards/`, {wizard})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(userId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/team_events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook, BaseModel } from './util';\nimport { VolleyballStatistic } from './volleyball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam',\n },\n relation: {\n team: VolleyballStatistic,\n competitorTeam: VolleyballStatistic,\n }\n})\nexport class VolleyballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: VolleyballStatistic;\n competitorTeam: VolleyballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n points: 'points',\n faults: 'faults',\n yellow_cards: 'yellowCards',\n }\n})\nexport class VolleyballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n points: number;\n faults: number;\n yellowCards: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get attacks(): number {\n return this.attackSpikes + this.attackShots;\n }\n\n get blocks(): number {\n return this.stuffBlocks + this.blockRebounds;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum VolleyballGameLogType {\n enter_game = 1,\n exit_game,\n remove_game,\n serve_hit,\n serve_fault,\n serve_ace,\n stuff_block,\n block_fault,\n block_rebound,\n attack_spike,\n attack_fault,\n attack_shot,\n receive,\n receive_fault,\n excellent_receive,\n point,\n fault,\n serve_receive,\n serve_receive_fault,\n excellent_serve_receive,\n timeout,\n yellow_card,\n}\n\nexport const SCORE_LOG_TYPES = [\n VolleyballGameLogType.serve_ace, VolleyballGameLogType.stuff_block,\n VolleyballGameLogType.attack_spike, VolleyballGameLogType.point\n];\nexport const FAULT_LOG_TYPES = [\n VolleyballGameLogType.serve_fault, VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.block_fault, VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.fault, VolleyballGameLogType.serve_receive_fault\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n log_type: 'logType',\n set: 'set',\n rally: 'rally',\n position: 'position',\n team_id: 'teamId',\n datetime: 'datetime',\n is_highlight: 'isHighlight',\n group: 'group',\n },\n relation: {\n logType: enumField(VolleyballGameLogType),\n datetime: DateTimeField\n }\n})\nexport class VolleyballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n active = true;\n gameId: number;\n gameUserId: number;\n logType: VolleyballGameLogType;\n set: number;\n rally: number;\n position: number;\n teamId: number;\n datetime: Date;\n isHighlight: boolean;\n gameUser: GameUser;\n group: string;\n\n compare(model: VolleyballGameLog): number {\n if (this.rally === model.rally && this.set === model.set) {\n if (this.datetime && model.datetime) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n } else {\n return this.id < model.id ? 1 : -1;\n }\n }\n if (this.set === model.set) {\n return this.rally < model.rally ? 1 : -1;\n }\n return this.set < model.set ? 1 : -1;\n }\n\n isScoreType() {\n return SCORE_LOG_TYPES.includes(this.logType);\n }\n\n isFaultType() {\n return FAULT_LOG_TYPES.includes(this.logType);\n }\n\n isServe() {\n return [\n VolleyballGameLogType.serve_hit,\n VolleyballGameLogType.serve_ace,\n VolleyballGameLogType.serve_fault\n ].includes(this.logType);\n }\n\n isAttack() {\n return [\n VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.attack_spike,\n VolleyballGameLogType.attack_shot\n ].includes(this.logType);\n }\n\n isReceive() {\n return [\n VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.receive,\n VolleyballGameLogType.excellent_receive\n ].includes(this.logType);\n }\n\n isServeReceive() {\n return [\n VolleyballGameLogType.serve_receive_fault,\n VolleyballGameLogType.serve_receive,\n VolleyballGameLogType.excellent_serve_receive\n ].includes(this.logType);\n }\n\n isBlock() {\n return [\n VolleyballGameLogType.block_fault,\n VolleyballGameLogType.block_rebound,\n VolleyballGameLogType.stuff_block\n ].includes(this.logType);\n }\n\n isEnterExit() {\n return [\n VolleyballGameLogType.enter_game,\n VolleyballGameLogType.exit_game,\n VolleyballGameLogType.timeout\n ].includes(this.logType);\n }\n\n isComboType() {\n return ![\n VolleyballGameLogType.receive,\n VolleyballGameLogType.serve_receive\n ].includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Game } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { VolleyballGameTeamStatistic } from '../models/volleyball-game-team-statistic';\nimport { VolleyballGameStatistic } from '../models/volleyball-game-statistic';\nimport { VolleyballGameLog } from '../models/volleyball-game-log';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class VolleyballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<VolleyballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/team_statistic/`).pipe(\n map(result => VolleyballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<VolleyballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/user_statistic/`).pipe(\n map(result => VolleyballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<VolleyballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/logs/`).pipe(\n map(result => VolleyballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocolLight(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol_light/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeam } from '../models/tournament-team';\n\n@Injectable({providedIn: 'root'})\nexport class PublicTeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(teamId: number): Promise<Team> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(\n map(result => Team.toFront(result))\n ).toPromise();\n }\n\n getTournamentTeams(teamId: number, leagueId: number): Promise<TournamentTeam[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { User } from '../models/user';\nimport { map } from 'rxjs/operators';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { LeaguePlayer } from '../models/league-player';\n\n@Injectable({providedIn: 'root'})\nexport class PublicUserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(userId: number): Promise<User> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(\n map(result => User.toFront(result))\n ).toPromise();\n }\n\n getTournaments(userId: number, leagueId: number): Promise<Tournament[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n getTournamentUser(userId: number, seasonId: number): Promise<TournamentTeamUser> {\n const params = new HttpParams().set('season_id', seasonId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, {params}).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n getLeaguePlayer(userId: number, leagueId: number): Promise<LeaguePlayer> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, {params}).pipe(\n map(result => LeaguePlayer.toFront(result))\n ).toPromise();\n }\n}\n","import { BasketballGameLogTypes } from '../models/basketball-game-log';\n\nexport const BasketballGameLogTypeLocalization = {\n [BasketballGameLogTypes.enter_game]: 'Выход на площадку',\n [BasketballGameLogTypes.exit_game]: 'Ушел с площадки',\n [BasketballGameLogTypes.remove_game]: 'Удаление с площадки',\n [BasketballGameLogTypes.two_point_attempt]: 'Бросок 2 очка',\n [BasketballGameLogTypes.three_point_attempt]: 'Бросок 3 очка',\n [BasketballGameLogTypes.free_throw_attempt]: 'Штрафной бросок',\n [BasketballGameLogTypes.one_point_attempt]: 'Бросок 1 очко',\n [BasketballGameLogTypes.two_point_made]: '2 очка',\n [BasketballGameLogTypes.three_point_made]: '3 очка',\n [BasketballGameLogTypes.free_throw_made]: '1 очко, штрафной',\n [BasketballGameLogTypes.one_point_made]: '1 очко',\n [BasketballGameLogTypes.assist]: 'Передача',\n [BasketballGameLogTypes.block]: 'Блокшот',\n [BasketballGameLogTypes.rebound]: 'Подбор',\n [BasketballGameLogTypes.offensive_rebound]: 'Подбор в нападении',\n [BasketballGameLogTypes.defensive_rebound]: 'Подбор в защите',\n [BasketballGameLogTypes.steal]: 'Перехват',\n [BasketballGameLogTypes.turnover]: 'Потеря',\n [BasketballGameLogTypes.personal_foul]: 'Фол',\n [BasketballGameLogTypes.technical_foul]: 'Технический фол',\n [BasketballGameLogTypes.unsportsmanlike_foul]: 'Неспортиный фол',\n [BasketballGameLogTypes.timeout]: 'Таймаут',\n [BasketballGameLogTypes.team_rebound]: 'Командный подбор',\n};\n","import { HockeyGameLogTypes } from '../models/hockey-game-log';\n\nexport const HockeyGameLogTypeLocalization = {\n [HockeyGameLogTypes.enter_game]: 'Выход на площадку',\n [HockeyGameLogTypes.exit_game]: 'Ушел с площадки',\n [HockeyGameLogTypes.shot_miss]: 'Бросок мимо',\n [HockeyGameLogTypes.shot_on_goal]: 'Бросок по воротам',\n [HockeyGameLogTypes.shot_blocked]: 'Заблокированный бросок',\n [HockeyGameLogTypes.goal]: 'Гол',\n [HockeyGameLogTypes.shootout_attempt]: 'Буллит промах',\n [HockeyGameLogTypes.shootout_goal]: 'Буллит гол',\n [HockeyGameLogTypes.after_game_shootout_attempt]: 'Буллит промах',\n [HockeyGameLogTypes.after_game_shootout_goal]: 'Буллит гол',\n [HockeyGameLogTypes.assist]: 'Передача',\n [HockeyGameLogTypes.block_shot]: 'Блокировка броска',\n [HockeyGameLogTypes.minor_penalty]: 'Малый штраф',\n [HockeyGameLogTypes.major_penalty]: 'Большой штраф',\n [HockeyGameLogTypes.misconduct_penalty]: 'Дисциплинарный штраф',\n [HockeyGameLogTypes.game_misconduct_penalty]: 'Дисциплинарный штраф до конца игры',\n [HockeyGameLogTypes.match_penalty]: 'Матч-штраф',\n [HockeyGameLogTypes.penalty_shot]: 'Штрафной бросок',\n [HockeyGameLogTypes.face_off_lose]: 'Проигрыш в вбрасывании',\n [HockeyGameLogTypes.face_off_win]: 'Победа в вбрасывании',\n [HockeyGameLogTypes.save]: 'Отражен бросок',\n [HockeyGameLogTypes.shootout_save]: 'Отражен бросок',\n [HockeyGameLogTypes.after_game_shootout_save]: 'Отражен бросок',\n [HockeyGameLogTypes.timeout]: 'Таймаут',\n [HockeyGameLogTypes.penalty_start]: 'Начало штрафного времени',\n [HockeyGameLogTypes.penalty_end]: 'Конец штрафного времени'\n};\n","import { FootballGameLogTypes } from '../models/football-game-log';\n\nexport const FootballGameLogTypeLocalization = {\n [FootballGameLogTypes.enter_game]: 'Выход на поле',\n [FootballGameLogTypes.exit_game]: 'Ушел с поля',\n [FootballGameLogTypes.shot_miss]: 'Удар мимо',\n [FootballGameLogTypes.shot_on_goal]: 'Удар в створ',\n [FootballGameLogTypes.shot_blocked]: 'Заблокированный удар',\n [FootballGameLogTypes.goal]: 'Гол',\n [FootballGameLogTypes.assist]: 'Передача',\n [FootballGameLogTypes.penalty_attempt]: 'Пенальти промах',\n [FootballGameLogTypes.penalty_goal]: 'Пенальти гол',\n [FootballGameLogTypes.small_penalty_attempt]: '10-метровый промах',\n [FootballGameLogTypes.small_penalty_goal]: '10-метровый гол',\n [FootballGameLogTypes.block_shot]: 'Блокировка удара',\n [FootballGameLogTypes.corner]: 'Угловой',\n [FootballGameLogTypes.free_kick]: 'Штрафной удар',\n [FootballGameLogTypes.save]: 'Отражен удар',\n [FootballGameLogTypes.penalty_save]: 'Отражен пенальти',\n [FootballGameLogTypes.small_penalty_save]: 'Отражен 10 метровый',\n [FootballGameLogTypes.foul]: 'Фол',\n [FootballGameLogTypes.yellow_card]: 'Желтая карточка',\n [FootballGameLogTypes.red_card]: 'Красная карточка',\n [FootballGameLogTypes.perfect_pass]: 'Пас',\n [FootballGameLogTypes.loss]: 'Потеря',\n [FootballGameLogTypes.steal]: 'Перехват',\n [FootballGameLogTypes.out]: 'Аут',\n [FootballGameLogTypes.timeout]: 'Таймаут',\n [FootballGameLogTypes.auto_goal]: 'Автогол',\n [FootballGameLogTypes.end_game_penalty_goal]: 'Пенальти гол',\n [FootballGameLogTypes.end_game_penalty_miss]: 'Пенальти промах',\n [FootballGameLogTypes.end_game_penalty_save]: 'Отражен пенальти',\n};\n","import { HandballGameLogTypes } from '../models/handball-game-log';\n\nexport const HandballGameLogTypeLocalization = {\n [HandballGameLogTypes.enter_game]: 'Выход на поле',\n [HandballGameLogTypes.exit_game]: 'Ушел с поля',\n [HandballGameLogTypes.shot_miss]: 'Бросок мимо',\n [HandballGameLogTypes.shot_on_goal]: 'Бросок в створ',\n [HandballGameLogTypes.shot_blocked]: 'Заблокированный бросок',\n [HandballGameLogTypes.goal]: 'Гол',\n [HandballGameLogTypes.assist]: 'Передача',\n [HandballGameLogTypes.penalty_miss]: '7м промах',\n [HandballGameLogTypes.penalty_shot_on_goal]: '7м в створ',\n [HandballGameLogTypes.penalty_goal]: '7м гол',\n [HandballGameLogTypes.save]: 'Сэйв',\n [HandballGameLogTypes.penalty_save]: 'Сэйв 7м',\n [HandballGameLogTypes.foul]: 'Фол',\n [HandballGameLogTypes.yellow_card]: 'Желлтая карточка',\n [HandballGameLogTypes.red_card]: 'Красная карточка',\n [HandballGameLogTypes.two_minute_foul]: '2х минутный штраф',\n [HandballGameLogTypes.turnover]: 'Потеря',\n [HandballGameLogTypes.steal]: 'Перехват',\n [HandballGameLogTypes.block_shot]: 'Блок броска',\n [HandballGameLogTypes.timeout]: 'Таймаут'\n};\n","import { OvertimeTypes } from '../models/tournament';\n\nexport const OvertimeTypeLocalization = {\n [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',\n [OvertimeTypes.to_score_total]: 'До N очков',\n [OvertimeTypes.time]: 'По времени',\n [OvertimeTypes.without_overtime]: 'Без овертайма',\n [OvertimeTypes.to_first_goal]: 'На N минут до первой шайбы',\n [OvertimeTypes.to_first_goal_and_bullitts]: 'На N минут до первой шайбы + буллиты',\n [OvertimeTypes.bullitts]: 'Буллиты',\n [OvertimeTypes.penalties]: 'Пенальти',\n [OvertimeTypes.time_and_penalties]: 'Дополнительное время + пенальти'\n};\n","import { RugbyFoulSanctions } from '../models/rugby-foul-type';\n\nexport const RugbyFoulSanctionLocalization = {\n [RugbyFoulSanctions.scrum]: 'Схватка',\n [RugbyFoulSanctions.lineout]: 'Корридор',\n [RugbyFoulSanctions.free_kick]: 'Свободный удар',\n [RugbyFoulSanctions.penalty_shot]: 'Штрафной удар',\n [RugbyFoulSanctions.yellow_card]: 'Желтая карточка',\n [RugbyFoulSanctions.red_card]: 'Красная карточка',\n};\n","import { RugbyGameLogTypes } from '../models/rugby-game-log';\n\nexport const RugbyGameLogTypeLocalization = {\n [RugbyGameLogTypes.enter_game]: 'Выход на площадку',\n [RugbyGameLogTypes.exit_game]: 'Ушел с площадки',\n [RugbyGameLogTypes.try]: 'Попытка',\n [RugbyGameLogTypes.penalty_try]: 'Штрафная попытка',\n [RugbyGameLogTypes.conversion_goal]: 'Реализация',\n [RugbyGameLogTypes.conversion_miss]: 'Реализация промах',\n [RugbyGameLogTypes.penalty_miss]: 'Штрафной промах',\n [RugbyGameLogTypes.penalty_goal]: 'Штрафной гол',\n [RugbyGameLogTypes.penalty_kick_to_touch]: 'Штрафной в аут',\n [RugbyGameLogTypes.tap_penalty]: 'Штрафной розыгран',\n [RugbyGameLogTypes.drop_goal]: 'Дроп-гол',\n [RugbyGameLogTypes.drop_goal_miss]: 'Дроп-гол промах',\n [RugbyGameLogTypes.free_kick]: 'Свободный удар',\n [RugbyGameLogTypes.foul]: 'Фол',\n [RugbyGameLogTypes.yellow_card]: 'Желтая карточка',\n [RugbyGameLogTypes.red_card]: 'Красная карточка',\n [RugbyGameLogTypes.offload]: 'Скидка при завхвате',\n [RugbyGameLogTypes.tackle]: 'Успешный захват',\n [RugbyGameLogTypes.handling_error]: 'Ошибка приема',\n [RugbyGameLogTypes.carries_over_gainline]: 'Прорыв линии',\n [RugbyGameLogTypes.bleeding_injury]: 'Кровоточащая травма',\n [RugbyGameLogTypes.head_injury]: 'Травма головы',\n [RugbyGameLogTypes.end_game_penalty_miss]: 'Штрафной промах',\n [RugbyGameLogTypes.end_game_penalty_goal]: 'Штрафной гол',\n\n [RugbyGameLogTypes.timeout]: 'Таймаут',\n [RugbyGameLogTypes.scrum_won]: 'Схватка выиграна',\n [RugbyGameLogTypes.scrum_lost]: 'Схватка проиграна',\n [RugbyGameLogTypes.scrum_won_free]: 'Схватка выиграна без сопротивления',\n [RugbyGameLogTypes.lineout_won]: 'Корридор выиграно',\n [RugbyGameLogTypes.lineout_lost]: 'Корридор проиграно',\n [RugbyGameLogTypes.quick_throw]: 'Быстрый вброс',\n [RugbyGameLogTypes.ruck_won]: 'Рак выиграно',\n [RugbyGameLogTypes.ruck_lost]: 'Рак проиграно',\n [RugbyGameLogTypes.maul_won]: 'Мол выиграно',\n [RugbyGameLogTypes.maul_lost]: 'Мол проиграно',\n [RugbyGameLogTypes.team_foul]: 'Фол',\n};\n","import { TeamUserRole } from '../models/team-user';\n\nexport const TeamUserRoleLocalization = {\n [TeamUserRole.member]: 'Пользователь',\n [TeamUserRole.moderator]: 'Модератор',\n [TeamUserRole.admin]: 'Владелец',\n [TeamUserRole.coach]: 'Тренер',\n [TeamUserRole.head_coach]: 'Главный тренер',\n [TeamUserRole.playing_coach]: 'Играющий тренер',\n [TeamUserRole.manager]: 'Менеджер',\n [TeamUserRole.head_manager]: 'Генеральный менеджер',\n [TeamUserRole.captain]: 'Капитан',\n [TeamUserRole.assistant]: 'Ассистент',\n};\n","import { GameBasketballPosition, WorkHand } from '../models/basketball-profile';\nimport { GameVolleyballPosition, VolleyballWorkHand } from '../models/volleyball-profile';\nimport { GameHockeyPosition } from '../models/hockey-profile';\nimport { FootballWorkFoot, GameFootballPosition } from '../models/football-profile';\nimport { GameHandballPosition } from '../models/handball-profile';\nimport { GameRugbyPosition } from '../models/rugby-profile';\n\nexport const GameBasketballPositionLocalization = {\n [GameBasketballPosition.point_guard]: 'Разыгрывающий защитник',\n [GameBasketballPosition.shooting_guard]: 'Атакующий защитник',\n [GameBasketballPosition.small_forward]: 'Легкий форвард',\n [GameBasketballPosition.power_forward]: 'Мощный форвард',\n [GameBasketballPosition.center]: 'Центровой',\n};\n\nexport const GameBasketballPositionShortLocalization = {\n [GameBasketballPosition.point_guard]: 'PG',\n [GameBasketballPosition.shooting_guard]: 'SG',\n [GameBasketballPosition.small_forward]: 'SF',\n [GameBasketballPosition.power_forward]: 'PF',\n [GameBasketballPosition.center]: 'C',\n};\n\nexport const WorkHandLocalization = {\n [WorkHand.left]: 'Левая',\n [WorkHand.right]: 'Правая'\n};\n\nexport const GameVolleyballPositionLocalization = {\n [GameVolleyballPosition.setter]: 'Связующий',\n [GameVolleyballPosition.libero]: 'Либеро',\n [GameVolleyballPosition.middle_player]: 'Центральный блокирующий',\n [GameVolleyballPosition.receiver_attacker]: 'Доигровщик',\n [GameVolleyballPosition.dioganal]: 'Диагональный',\n};\n\nexport const GameVolleyballPositionShortLocalization = {\n [GameVolleyballPosition.setter]: 'S',\n [GameVolleyballPosition.libero]: 'L',\n [GameVolleyballPosition.middle_player]: 'MP',\n [GameVolleyballPosition.receiver_attacker]: 'RA',\n [GameVolleyballPosition.dioganal]: 'D',\n};\n\nexport const GameVolleyballPositionShortRuLocalization = {\n [GameVolleyballPosition.setter]: 'связ.',\n [GameVolleyballPosition.libero]: 'либеро',\n [GameVolleyballPosition.middle_player]: 'блок.',\n [GameVolleyballPosition.receiver_attacker]: 'доигр.',\n [GameVolleyballPosition.dioganal]: 'диаг.',\n};\n\nexport const VolleyballWorkHandLocalization = {\n [VolleyballWorkHand.left]: 'Левая',\n [VolleyballWorkHand.right]: 'Правая'\n};\n\nexport const GameHockeyPositionLocalization = {\n [GameHockeyPosition.goaltender]: 'Вратарь',\n [GameHockeyPosition.defensemen]: 'Защитник',\n [GameHockeyPosition.forward]: 'Нападающий'\n};\n\nexport const GameFootballPositionLocalization = {\n [GameFootballPosition.goalkeeper]: 'Вратарь',\n [GameFootballPosition.defensemen]: 'Защитник',\n [GameFootballPosition.midfielder]: 'Полузащитник',\n [GameFootballPosition.forward]: 'Нападающий'\n};\n\nexport const FootballWorkFootLocalization = {\n [FootballWorkFoot.left]: 'Левая',\n [FootballWorkFoot.right]: 'Правая',\n [FootballWorkFoot.both]: 'Обе'\n};\n\nexport const GameHandballPositionLocalization = {\n [GameHandballPosition.goalkeeper]: 'Вратарь',\n [GameHandballPosition.winger]: 'Крайний',\n [GameHandballPosition.pivot]: 'Линейный',\n [GameHandballPosition.centre_back]: 'Центральный',\n [GameHandballPosition.fullback]: 'Полусредний',\n};\n\nexport const GameRugbyPositionLocalization = {\n [GameRugbyPosition.front_line]: 'Надающий первой линии',\n [GameRugbyPosition.second_line]: 'Нападающий второй линии',\n [GameRugbyPosition.back_line]: 'Нападающий задней линии',\n [GameRugbyPosition.halfback]: 'Полузащитник',\n [GameRugbyPosition.three_quarter]: 'Трехчетвертный',\n [GameRugbyPosition.fullback]: 'Замыкающий'\n};\n\n","import { VolleyballGameLogType } from '../models/volleyball-game-log';\n\nexport const VolleyballGameLogTypeLocalization = {\n [VolleyballGameLogType.enter_game]: 'Выход на площадку',\n [VolleyballGameLogType.exit_game]: 'Уход с площадки',\n [VolleyballGameLogType.remove_game]: 'Удаление с площадки',\n [VolleyballGameLogType.serve_ace]: 'Эйс',\n [VolleyballGameLogType.serve_hit]: 'Подача',\n [VolleyballGameLogType.serve_fault]: 'Ошибка на подаче',\n [VolleyballGameLogType.attack_spike]: 'Результативная атака',\n [VolleyballGameLogType.attack_shot]: 'Атака',\n [VolleyballGameLogType.attack_fault]: 'Ошибка атаки',\n [VolleyballGameLogType.stuff_block]: 'Результативный блок',\n [VolleyballGameLogType.block_rebound]: 'Блок',\n [VolleyballGameLogType.block_fault]: 'Ошибка на блоке',\n [VolleyballGameLogType.excellent_receive]: 'Отличный прием',\n [VolleyballGameLogType.receive]: 'Прием',\n [VolleyballGameLogType.receive_fault]: 'Ошибка на приеме',\n [VolleyballGameLogType.serve_receive]: 'Прием подачи',\n [VolleyballGameLogType.excellent_serve_receive]: 'Отличный прием подачи',\n [VolleyballGameLogType.serve_receive_fault]: 'Ошибка приема подачи',\n [VolleyballGameLogType.point]: 'Очко',\n [VolleyballGameLogType.fault]: 'Ошибка',\n [VolleyballGameLogType.timeout]: 'Таймаут',\n [VolleyballGameLogType.yellow_card]: 'Предупреждение',\n};\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n files: 'files',\n key_code: 'keyCode',\n },\n relation: {\n files: listField(File)\n }\n})\nexport class LeaguePlaylist extends BaseModel {\n id: number;\n name: string;\n files: File[];\n keyCode: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Subject } from 'rxjs/internal/Subject';\nimport { ReplaySubject } from 'rxjs/internal/ReplaySubject';\n\nimport * as Centrifuge from 'centrifuge';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ConfigService } from './config.service';\n\ninterface CentrifugoConfig {\n user: string;\n timestamp: string;\n token: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class CentrifugoService {\n private channels$: { [key: string]: Subject<any> } = {};\n private subscriptions: { [key: string]: any } = {};\n private centrifuge;\n private initializeEngineSubject: ReplaySubject<boolean>;\n private connectedSubject = new BehaviorSubject<boolean>(false);\n\n get connected$(): Observable<boolean> {\n return this.connectedSubject;\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) { }\n\n listen(channel): Observable<any> {\n if (channel in this.channels$) {\n return this.channels$[channel];\n }\n\n this.channels$[channel] = new Subject<any>();\n const subscription = this.connect().subscribe(connected => {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n setTimeout(() => {\n subscription.unsubscribe();\n });\n });\n\n return this.channels$[channel];\n }\n\n unsubscribe(channel): void {\n if (this.subscriptions[channel]) {\n this.subscriptions[channel].unsubscribe();\n delete this.subscriptions[channel];\n }\n if (this.channels$[channel]) {\n this.channels$[channel].complete();\n delete this.channels$[channel];\n }\n }\n\n connect(): Observable<boolean> {\n if (!this.initializeEngineSubject) {\n this.initializeEngineSubject = new ReplaySubject(1);\n\n this.httpClient.get<CentrifugoConfig>(`${this.configService.get('apiUrl')}/api/v1/centrifugo/`)\n .subscribe(config => {\n this.initializeEngine({\n url: this.configService.get('centrifugoUrl'),\n user: config.user,\n timestamp: config.timestamp,\n token: config.token,\n transports: ['websocket']\n });\n this.centrifuge.connect();\n this.centrifuge.on('connect', () => {\n this.initializeEngineSubject.next(true);\n this.connectedSubject.next(true);\n });\n this.centrifuge.on('disconnect', () => {\n this.connectedSubject.next(false);\n });\n });\n }\n\n return this.initializeEngineSubject;\n }\n\n publish(channel: string, message: any): Observable<any> {\n return new Observable<any>(observer => {\n this.connect().subscribe(() => {\n if (!this.subscriptions[channel]) {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n }\n this.subscriptions[channel].publish(message).then(res => {\n observer.next(res);\n observer.complete();\n }, error => {\n throw error;\n });\n });\n });\n }\n\n disconnect(): void {\n this.centrifuge.disconnect();\n this.initializeEngineSubject = undefined;\n this.channels$ = {};\n this.subscriptions = {};\n }\n\n private initializeEngine(config: {\n url: string,\n user: string,\n timestamp: string,\n token: string,\n transports: string[]\n }): void {\n this.centrifuge = new Centrifuge(config);\n }\n\n private addEngineSubscription(channel: string): Observable<any> {\n return this.centrifuge.subscribe(channel, this.resolveMessage.bind(this));\n }\n\n private resolveMessage(response: any): void {\n const channel = response.channel;\n if (!this.channels$[channel]) {\n return;\n }\n\n this.channels$[channel].next(response.data);\n }\n}\n","import { ModelInterface } from '../models/util';\n\nexport class StorageEngineField {\n defaultValue: any;\n\n constructor(defaultValue?: any, protected modelClass?: ModelInterface) {\n this.defaultValue = defaultValue;\n }\n\n toFront(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toFront(value);\n }\n return value;\n }\n\n toBack(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toBack(value);\n }\n return value;\n }\n}\n\nexport abstract class StorageEngine {\n constructor(protected name: string, protected fields: {[key: string]: StorageEngineField}) {\n }\n\n addField(key: string, field: StorageEngineField): void {\n this.fields[key] = field;\n }\n\n save(key: string, value: any): void {\n if (!this.fields[key]) {\n return;\n }\n this.setItem(`${this.name}_${key}`, this.fields[key].toBack(value));\n }\n\n get(key: string): any {\n if (!this.fields[key]) {\n return;\n }\n let value = this.getItem(`${this.name}_${key}`);\n if (value === null) {\n value = this.fields[key].defaultValue;\n }\n if (value === null || value === undefined) {\n return value;\n }\n return this.fields[key].toFront(value);\n }\n\n clear(): void {\n for (const field of Object.keys(this.fields)) {\n this.removeItem(field);\n }\n }\n\n protected getItem(key: string): any {\n throw new Error(`Function getItem for store engine ${typeof this} not implemented`);\n }\n\n protected setItem(key: string, value: any): any {\n throw new Error(`Function setItem for store engine ${typeof this} not implemented`);\n }\n\n protected removeItem(key: string): void {\n throw new Error(`Function deleteItem for store engine ${typeof this} not implemented`);\n }\n}\n","import { StorageEngine } from './storage-engine';\n\nexport class LocalStorageEngine extends StorageEngine {\n protected setItem(key: string, value: any) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n protected getItem(key: string): any {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch (e) {\n return;\n }\n }\n\n protected removeItem(key: string): void {\n localStorage.removeItem(key);\n }\n}\n","import {\n ɵComponentType as ComponentType,\n ɵDirectiveType as DirectiveType,\n ɵComponentDef as ComponentDef,\n ɵDirectiveDef as DirectiveDef\n} from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Subject } from 'rxjs/internal/Subject';\n\nexport interface OnDestroyLike {\n ngOnDestroy(): void;\n [key: string]: any;\n}\n\nexport function componentDestroyed(component: OnDestroyLike): Observable<void> {\n if ((component.constructor as any).__componentDestroyed$) {\n return (component.constructor as any).__componentDestroyed$;\n }\n throw new Error('Use @UntilDestroy decorator in class');\n}\n\nexport function UntilDestroy(cmpType: any) {\n const def = getDef(cmpType as any);\n const original = (def as any).onDestroy;\n cmpType.__componentDestroyed$ = new Subject<void>();\n (def as any).onDestroy = function() {\n cmpType.__componentDestroyed$.next();\n cmpType.__componentDestroyed$.complete();\n original.apply(this);\n };\n}\n\nfunction getDef<T>(\n type: DirectiveType<T> | ComponentType<T>\n): DirectiveDef<T> | ComponentDef<T> {\n return (type as ComponentType<T>).ɵcmp || (type as DirectiveType<T>).ɵdir;\n}\n","export function getCookie(name: string): string {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop().split(';').shift();\n }\n return null;\n}\n","export function isTouchDevice() {\n const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n const mq = (q) => {\n return window.matchMedia(q).matches;\n };\n\n if (('ontouchstart' in window) || (window as any).DocumentTouch && document instanceof (window as any).DocumentTouch) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n}\n","export function getEnumOptions(enumClass): number[] {\n return Object.keys(enumClass)\n .map(v => enumClass[v])\n .filter(v => isNaN(+v) === false)\n .map(v => +v);\n}\n\n","import { captureException } from '@sentry/angular';\n\nexport function handleError(error, force = false, production = true) {\n if (!(error && (error.status === 0 || error.status === 404)) || (force && error.status !== 0)) {\n captureException(error);\n }\n\n if (!production) {\n console.error(error);\n }\n}\n","export interface LinkFavicon {\n rel: string;\n sizes?: string;\n href: string;\n type?: string;\n color?: string;\n}\n\nexport function getIconsData(folder: string): LinkFavicon[] {\n return [\n {rel: 'apple-touch-icon', sizes: '180x180', href: `/assets/favicon/${folder}apple-touch-icon.png`},\n {rel: 'icon', type: 'image/png', sizes: '32x32', href: `/assets/favicon/${folder}favicon-32x32.png`},\n {rel: 'icon', type: 'image/png', sizes: '16x16', href: `/assets/favicon/${folder}favicon-16x16.png`},\n {rel: 'shortcut icon', href: `/assets/favicon/${folder}favicon.ico`},\n {rel: 'manifest', href: `/assets/favicon/${folder}site.webmanifest`},\n {rel: 'mask-icon', href: `/assets/favicon/${folder}safari-pinned-tab.svg`, color: '#ff0000'}\n ];\n}\n\nexport function changeFavicons(document: Document, leagueAlias: string): void {\n let folder = '';\n if (leagueAlias === 'ablmoscow') {\n folder = 'abl/';\n }\n const data = getIconsData(folder);\n for (const item of data) {\n const link = document.createElement('link');\n for (const key of Object.keys(item)) {\n link.setAttribute(key, item[key]);\n }\n document.head.appendChild(link);\n }\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function markFormGroupTouched(formGroup: FormGroup) {\n (Object as any).values(formGroup.controls).forEach(control => {\n control.markAsTouched();\n control.markAsDirty();\n\n if (control instanceof FormGroup) {\n markFormGroupTouched(control);\n } else if (control.controls) {\n control.controls.forEach(c => {\n if (c instanceof FormGroup) {\n markFormGroupTouched(c);\n } else {\n c.markAsTouched();\n c.markAsDirty();\n }\n });\n }\n });\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { debounceTime, delay, map, switchMap } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\n\nexport interface CheckEmailServiceInterface {\n checkEmail(value: string, selfCheck: boolean): Observable<boolean>;\n}\n\nexport const minLengthArrayValidator = (minLength: number) => {\n return (c: AbstractControl) => {\n return c.value.length < minLength\n ? {minLengthArray: {valid: false}}\n : null;\n };\n};\n\nexport const validatePhone = (control: AbstractControl) => {\n if (!control.value) {\n return null;\n }\n const value = `${control.value}`.replace(/\\D/gi, '');\n return value.length === 11 ? null : {invalidPhone: {valid: false}};\n};\n\nexport const validateDate = (control: AbstractControl) => {\n const re = /\\d{2}\\.\\d{2}\\.\\d{4}/gi;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidDate: {valid: false}};\n};\n\nexport const validateEmail = (authService: CheckEmailServiceInterface, selfCheck = true, ignore = []) => {\n const subject = of(null).pipe(\n delay(500)\n );\n return (control: AbstractControl) => {\n if (ignore.indexOf(control.value) > -1) {\n return of(null);\n }\n return subject.pipe(\n switchMap(() => authService.checkEmail(control.value, selfCheck).pipe(\n map(valid => valid ? null : {emailTaken: true})\n ))\n );\n };\n};\n\nexport const validateUrl = (control: AbstractControl) => {\n const re = /^(?:http(s)?:\\/\\/)[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidUrl: true};\n};\n\nexport function fileSizeValidator(maxFileSize: number): ValidatorFn {\n return (control: AbstractControl): {[key: string]: any} | null => {\n if (!control.value) {\n return null;\n }\n };\n}\n","import { Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { getCookie } from './utils/cookie';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ConfigService } from './services/config.service';\n\n@Injectable()\nexport class HttpCookieInterceptor implements HttpInterceptor {\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor(\n private injector: Injector,\n private configService: ConfigService,\n @Inject(PLATFORM_ID) private platformId: string,\n ) {\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (!this.isBrowser) {\n return next.handle(req);\n }\n const apiUrl = this.configService.get('apiUrl');\n if (apiUrl === req.url.substr(0, apiUrl.length)) {\n req = req.clone({withCredentials: true});\n }\n const csrf = getCookie('csrftoken');\n if (csrf) {\n req = req.clone({\n setHeaders: {'X-CSRFToken': csrf}\n });\n }\n return next.handle(req);\n }\n}\n"],"names":["FileEngine","SportTypes","GameBasketballPosition","WorkHand","GameVolleyballPosition","VolleyballWorkHand","GameHockeyPosition","HockeyWorkHand","GameFootballPosition","FootballWorkFoot","GameHandballPosition","GameRugbyPosition","UserGender","TournamentSeasonStatuses","TournamentTypes","TournamentStatuses","TournamentGender","BasketballStatisticTypes","VolleyballStatisticTypes","RugbyStatisticTypes","GameTimeTypes","OvertimeTypes","VolleyballGameTypes","PlayoffTypes","GameStatuses","GameResultTypes","filter","BehaviorSubject","Injectable","Optional","Inject","TeamUserRole","BasketballGameLogTypes","map","HttpParams","HttpClient","HockeyGameLogTypes","HockeyAdvantageTypes","FootballGameLogTypes","HandballGameLogTypes","TournamentStageStatuses","LeagueNewsType","TournamentEventTypes","BannerLocation","PollStatuses","GameInviteStatus","TeamEventTypes","TeamEventInviteStatuses","NotificationType","NotificationServiceEnum","NotificationAllowTypes","RugbyFoulSanctions","RugbyGameLogTypes","_a","TeamPermissionTypes","UserPermissionTypes","VolleyballGameLogType","Subject","ReplaySubject","Observable","captureException","FormGroup","of","delay","switchMap","isPlatformBrowser","Injector","PLATFORM_ID"],"mappings":";;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;AACF;IACO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;AACD;IACO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;AACD;IACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;AACD;IACO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;AACD;IACO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;AACD;IACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;AACD;IACO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACD;IACO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;AACD;IACO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;AACD;IACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;AACD;IACO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;AACF;IACO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;AACD;IACO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;AACD;IACO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;AACD;IACO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACF;IACO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;AACD;IACO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB;;QCzNa,kBAAkB,GAAG;QAChC,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAC;QACjD,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,wBAAwB,EAAC;QAC1D,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAC;QAC9C,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC;QAC5C,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAC;QAC1C,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAC;QAC9C,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC;QAC7C,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAC;QACxC,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAC;QACpD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,+BAA+B,EAAC;QAChE,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC;QACvC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAC;QAChD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAC;QAC/C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAC;QAC9D,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAC;QAClD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAC;QACpD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAC;QACvD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAC;QAC3D,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAC;QAC9D,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC;QAC9C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAC;QACxD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAC;QACzC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAC;QACpD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAC;QAC9D,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAC;QACtD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAC;QACrD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,4CAA4C,EAAC;QAC5E,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAC;QACnD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAC;QAC1C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC;QACzC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAC;QACzC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAC;QACzC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAC;QACzD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,uCAAuC,EAAC;QACvE,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC;QAC7C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAC;QACzC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAC;QAChD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAC;QAChD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;QAC/C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAC;QAC9C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAC;QACtD,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAC;QAC/C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC;QAC9C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAC;QAC5C,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC;QACrC,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAC;QAChE,EAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAC;;;QC7CpC,wBAAwB,GAAG,mBAAmB;QAC9C,kBAAkB,GAAG,aAAa;QAClC,kBAAkB,GAAG,aAAa;QAClC,iBAAiB,GAAG,YAAY;;QAc3C,mBAAY,IAA2B;;YACrC,IAAI,IAAI,EAAE;;oBACR,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,gBAAA,4BAAE;wBAAhC,IAAM,GAAG,WAAA;wBACZ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;qBACvB;;;;;;;;;aACF;SACF;QAEM,iBAAO,GAAd,UAAe,GAAQ;YACrB,OAAO,SAAS,CAAC;SAClB;QAEM,gBAAM,GAAb,UAAc,GAAQ;YACpB,OAAO,SAAS,CAAC;SAClB;QACH,gBAAC;IAAD,CAAC,IAAA;aAMe,SAAS,CAAC,SAAS;QACjC,OAAO;YACL,OAAO,EAAE,UAAC,KAAK;gBACb,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE;oBACjB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;iBACzB;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aACF;YACD,MAAM,EAAE,UAAC,KAAK;gBACZ,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE;oBACjB,OAAO,KAAK,CAAC;iBACd;qBAAM;oBACL,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;iBACzB;aACF;SACF,CAAC;IACJ,CAAC;aAEe,gBAAgB;QAC9B,OAAO;YACL,OAAO,EAAE,UAAC,IAAI;gBACZ,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,IAAI,GAAA,CAAC,CAAC;aAC1D;YACD,MAAM,EAAE,UAAC,IAAI;gBACX,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC,EAAE,CAAC;iBAChB;gBACD,OAAO,IAAI,CAAC;aACb;SACF,CAAC;IACJ,CAAC;aAEe,SAAS,CAAC,UAAU;QAClC,OAAO;YACL,OAAO,EAAE,UAAC,KAAK;gBACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO,EAAE,CAAC;iBACX;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;aACpD;YACD,MAAM,EAAE,UAAC,KAAK;gBACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO,EAAE,CAAC;iBACX;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;aACnD;SACF,CAAC;IACJ,CAAC;;QAE8B,6BAAS;QAAxC;;SAuBC;QAtBQ,iBAAO,GAAd,UAAe,IAAS;YACtB,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;QACM,gBAAM,GAAb,UAAc,IAAU;YACtB,IAAI,IAAI,EAAE;gBACR,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,CAAC,CACnB,CAAC;gBACF,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC3C;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;QACH,gBAAC;IAAD,CAvBA,CAA+B,SAAS,GAuBvC;;QAEkC,iCAAS;QAA5C;;SAuBC;QAtBQ,qBAAO,GAAd,UAAe,IAAS;YACtB,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;QACM,oBAAM,GAAb,UAAc,IAAU;YACtB,IAAI,IAAI,EAAE;gBACR,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/B,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,CAAC,CACnB,CAAC;gBACF,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;aAC3B;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;QACH,oBAAC;IAAD,CAvBA,CAAmC,SAAS,GAuB3C;aAEe,aAAa,CAC3B,MAGC;QAED,OAAO,UAAC,MAA0B;YAChC,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,CAAC,aAAa,EAAE;oBACxB,MAAM,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;iBACzD;gBACD,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACnB,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;iBAC9C;gBACD,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAC,GAAQ,EAAE,IAAwB;oBAC9D,OAAO,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBACnC,CAAC;gBACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,UAAC,GAAQ,EAAE,IAAwB;oBAC7D,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAClC,CAAC;aACH;SACF,CAAC;IACJ,CAAC;QAEY,WAAW,GAAG,UAAC,MAA0B,EAAE,GAAoB,EAAE,UAA6C;QACzH,OAAO;YACL,KAAK,EAAE;gBAAC,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBACpB,IAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAoB,CAAC;gBAClE,IAAI,WAAW,EAAE;oBACf,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;iBACtE;gBACD,OAAO,SAAS,CAAC;aAClB;SACF,CAAC;IACJ,EAAE;QAEW,UAAU,GAAG,UAAC,MAA0B,EAAE,GAAoB,EAAE,UAA6C;QACxH,OAAO;YACL,KAAK,EAAE;gBAAC,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBACpB,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAoB,CAAC;gBACjE,IAAI,WAAW,EAAE;oBACf,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7B;gBACD,OAAO,SAAS,CAAC;aAClB;SACF,CAAC;IACJ,EAAE;IAEF,SAAS,YAAY,CAAC,GAAG,EAAE,IAAI;;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,SAAS,CAAC;SAClB;QAED,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;;YAED,KAAgB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE;gBAArB,IAAM,CAAC,qBAAA;gBACV,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChB;qBAAM;oBACL,OAAO,SAAS,CAAC;iBAClB;aACF;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,OAAO,CAAC,SAA6B,EAAE,IAAS,EAAE,IAAyB;;;QAElF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAA,IAAI;gBAClB,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACjC,CAAC,CAAC;SACJ;QAED,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;;QAGjC,IAAM,aAAa,GAAG,SAAS,CAAC,wBAAwB,CAAa,CAAC;QACtE,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAsC,CAAC;QACpF,IAAI,aAAa,EAAE;;gBACjB,KAAwB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,gBAAA,4BAAE;oBAA/C,IAAM,SAAS,WAAA;oBAClB,IAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;wBACnD,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC5D;yBAAM;wBACL,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;qBAC9B;iBACF;;;;;;;;;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,MAAM,CAAC,SAA6B,EAAE,QAAa,EAAE,IAAyB;;QACrF,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,QAAQ,CAAC;SACjB;;QAGD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAA,IAAI;gBACtB,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;QAED,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAM,aAAa,GAAG,SAAS,CAAC,wBAAwB,CAAa,CAAC;QACtE,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAsC,CAAC;QACpF,IAAI,aAAa,EAAE;;gBACjB,KAAwB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,gBAAA,4BAAE;oBAA/C,IAAM,SAAS,WAAA;oBAClB,IAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;wBACzF,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;qBACrE;yBAAM;wBACL,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;qBACxC;iBACF;;;;;;;;;SACF;QAED,OAAO,IAAI,CAAC;IACd;;;ICnRA,WAAY,UAAU;QACpB,+CAAU,CAAA;QACV,uCAAE,CAAA;IACJ,CAAC,EAHWA,kBAAU,KAAVA,kBAAU,QAGrB;;QAmBD;SAoCC;QAzBC,sBAAI,8BAAY;iBAIhB;gBACE,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;aACxC;iBAND,UAAiB,IAAY;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;;;WAAA;QAMD,sBAAI,sBAAI;iBAIR;gBACE,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;aACvC;iBAND,UAAS,QAAgB;gBACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;aACvB;;;WAAA;QAOM,YAAO,GAAd,UAAe,IAAS;YACtB,OAAO,IAAI,CAAC;SACb;QAGM,WAAM,GAAb,UAAc,IAAU;YACtB,OAAO,IAAI,CAAC;SACb;QAPD;YADC,WAAW;iCAGX;QAGD;YADC,UAAU;gCAGV;QAnCU,IAAI;YAjBhB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,cAAc;oBAC7B,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAACA,kBAAU,CAAC;oBAC7B,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,IAAI,CAoChB;QAAD,WAAC;KApCD;;;ICtBA,WAAY,UAAU;QACpB,uDAAc,CAAA;QACd,uDAAc,CAAA;QACd,uEAAsB,CAAA;QACtB,uDAAc,CAAA;QACd,uEAAsB,CAAA;QACtB,mEAAoB,CAAA;QACpB,+CAAU,CAAA;QACV,uDAAc,CAAA;QACd,yDAAe,CAAA;QACf,oDAAa,CAAA;QACb,oEAAqB,CAAA;QACrB,8DAAkB,CAAA;QAClB,oDAAa,CAAA;QACb,oEAAqB,CAAA;QACrB,8CAAU,CAAA;QACV,gDAAW,CAAA;QACX,kDAAY,CAAA;IACd,CAAC,EAlBWC,kBAAU,KAAVA,kBAAU,QAkBrB;;QAU0B,yBAAS;QAApC;;SAmFC;QA7EC,4BAAY,GAAZ;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,UAAU,CAAC;SACrF;QAED,mCAAmB,GAAnB;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,kBAAkB,CAAC;SAClD;QAED,4BAAY,GAAZ;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,UAAU,CAAC;SAC1C;QAED,4BAAY,GAAZ;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,UAAU,CAAC;SACrF;QAED,mCAAmB,GAAnB;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,kBAAkB,CAAC;SAClD;QAED,iCAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,gBAAgB,CAAC;SAChD;QAED,wBAAQ,GAAR;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,MAAM,CAAC;SAC7E;QAED,2BAAW,GAAX;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,UAAU,CAAC;SAC1C;QAED,4BAAY,GAAZ;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,WAAW,CAAC;SAC3C;QAED,0BAAU,GAAV;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,QAAQ,CAAC;SACjF;QAED,iCAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,gBAAgB,CAAC;SAChD;QAED,8BAAc,GAAd;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,aAAa,CAAC;SAC7C;QAED,0BAAU,GAAV;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,QAAQ,CAAC;SACjF;QAED,iCAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,gBAAgB,CAAC;SAChD;QAED,uBAAO,GAAP;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAKA,kBAAU,CAAC,KAAK,CAAC;SAC3E;QAED,yBAAS,GAAT;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,OAAO,CAAC;SACvC;QAED,wBAAQ,GAAR;YACE,OAAO,IAAI,CAAC,EAAE,KAAKA,kBAAU,CAAC,MAAM,CAAC;SACtC;QAGM,aAAO,GAAd,UAAe,IAAS;YACtB,OAAO,IAAI,CAAC;SACb;QAGM,YAAM,GAAb,UAAc,KAAY;YACxB,OAAO,IAAI,CAAC;SACb;QAPD;YADC,WAAW;kCAGX;QAGD;YADC,UAAU;iCAGV;QAlFU,KAAK;YARjB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;iBACxB;aACF,CAAC;WACW,KAAK,CAmFjB;QAAD,YAAC;KAAA,CAnF0B,SAAS;;;QCpBpC;SAWC;QAJQ,mBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,kBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;wCACsB;QAGlC;YADC,UAAU;uCACsB;QAVtB,WAAW;YARvB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;WACW,WAAW,CAWvB;QAAD,kBAAC;KAXD;;;QCF0B,wBAAS;QAAnC;;SASC;QAJQ,YAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,WAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;iCACsB;QAGlC;YADC,UAAU;gCACsB;QARtB,IAAI;YANhB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;iBACb;aACF,CAAC;WACW,IAAI,CAShB;QAAD,WAAC;KAAA,CATyB,SAAS;;;ICNnC,WAAY,sBAAsB;QAChC,iFAAe,CAAA;QACf,uFAAc,CAAA;QACd,qFAAa,CAAA;QACb,qFAAa,CAAA;QACb,uEAAM,CAAA;IACR,CAAC,EANWC,8BAAsB,KAAtBA,8BAAsB,QAMjC;;IAED,WAAY,QAAQ;QAClB,uCAAQ,CAAA;QACR,yCAAK,CAAA;IACP,CAAC,EAHWC,gBAAQ,KAARA,gBAAQ,QAGnB;;QAcsC,qCAAS;QAAhD;;SAaC;QANQ,yBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,wBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;8CAEX;QAGD;YADC,UAAU;6CAEV;QAZU,iBAAiB;YAZ7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACD,8BAAsB,CAAC;oBAC3C,QAAQ,EAAE,SAAS,CAACC,gBAAQ,CAAC;iBAC9B;aACF,CAAC;WACW,iBAAiB,CAa7B;QAAD,wBAAC;KAAA,CAbsC,SAAS;;;ICzBhD,WAAY,sBAAsB;QAChC,uEAAU,CAAA;QACV,uEAAM,CAAA;QACN,qFAAa,CAAA;QACb,6FAAiB,CAAA;QACjB,2EAAQ,CAAA;IACV,CAAC,EANWC,8BAAsB,KAAtBA,8BAAsB,QAMjC;;IAED,WAAY,kBAAkB;QAC5B,2DAAQ,CAAA;QACR,6DAAK,CAAA;IACP,CAAC,EAHWC,0BAAkB,KAAlBA,0BAAkB,QAG7B;;QAcsC,qCAAS;QAAhD;;SAaC;QANQ,yBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,wBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;8CAEX;QAGD;YADC,UAAU;6CAEV;QAZU,iBAAiB;YAZ7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACD,8BAAsB,CAAC;oBAC3C,QAAQ,EAAE,SAAS,CAACC,0BAAkB,CAAC;iBACxC;aACF,CAAC;WACW,iBAAiB,CAa7B;QAAD,wBAAC;KAAA,CAbsC,SAAS;;;ICzBhD,WAAY,kBAAkB;QAC5B,uEAAc,CAAA;QACd,iEAAO,CAAA;QACP,uEAAU,CAAA;IACZ,CAAC,EAJWC,0BAAkB,KAAlBA,0BAAkB,QAI7B;;IAED,WAAY,cAAc;QACxB,mDAAQ,CAAA;QACR,qDAAK,CAAA;IACP,CAAC,EAHWC,sBAAc,KAAdA,sBAAc,QAGzB;;QAckC,iCAAS;QAA5C;;SAaC;QANQ,qBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,oBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;0CAEX;QAGD;YADC,UAAU;yCAEV;QAZU,aAAa;YAZzB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACD,0BAAkB,CAAC;oBACvC,QAAQ,EAAE,SAAS,CAACC,sBAAc,CAAC;iBACpC;aACF,CAAC;WACW,aAAa,CAazB;QAAD,oBAAC;KAAA,CAbkC,SAAS;;;ICvB5C,WAAY,oBAAoB;QAC9B,2EAAc,CAAA;QACd,2EAAU,CAAA;QACV,qEAAO,CAAA;QACP,2EAAU,CAAA;IACZ,CAAC,EALWC,4BAAoB,KAApBA,4BAAoB,QAK/B;;IAED,WAAY,gBAAgB;QAC1B,uDAAQ,CAAA;QACR,yDAAK,CAAA;QACL,uDAAI,CAAA;IACN,CAAC,EAJWC,wBAAgB,KAAhBA,wBAAgB,QAI3B;;QAcoC,mCAAS;QAA9C;;SAaC;QANQ,uBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,sBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;4CAEX;QAGD;YADC,UAAU;2CAEV;QAZU,eAAe;YAZ3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACD,4BAAoB,CAAC;oBACzC,QAAQ,EAAE,SAAS,CAACC,wBAAgB,CAAC;iBACtC;aACF,CAAC;WACW,eAAe,CAa3B;QAAD,sBAAC;KAAA,CAboC,SAAS;;;ICxB9C,WAAY,oBAAoB;QAC9B,2EAAc,CAAA;QACd,mEAAM,CAAA;QACN,iEAAK,CAAA;QACL,6EAAW,CAAA;QACX,uEAAQ,CAAA;IACV,CAAC,EANWC,4BAAoB,KAApBA,4BAAoB,QAM/B;;QAcoC,mCAAS;QAA9C;;SAaC;QANQ,uBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,sBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;4CAEX;QAGD;YADC,UAAU;2CAEV;QAZU,eAAe;YAZ3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACA,4BAAoB,CAAC;oBACzC,QAAQ,EAAE,SAAS,CAACP,gBAAQ,CAAC;iBAC9B;aACF,CAAC;WACW,eAAe,CAa3B;QAAD,sBAAC;KAAA,CAboC,SAAS;;;ICrB9C,WAAY,iBAAiB;QAC3B,qEAAc,CAAA;QACd,uEAAW,CAAA;QACX,mEAAS,CAAA;QACT,iEAAQ,CAAA;QACR,2EAAa,CAAA;QACb,iEAAQ,CAAA;IACV,CAAC,EAPWQ,yBAAiB,KAAjBA,yBAAiB,QAO5B;;QAYiC,gCAAS;QAA3C;;SAYC;QANQ,oBAAO,GAAd,UAAe,KAAU;SACxB;QAGM,mBAAM,GAAb,UAAc,KAAU;SACvB;QALD;YADC,WAAW;yCAEX;QAGD;YADC,UAAU;wCAEV;QAXU,YAAY;YAVxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACA,yBAAiB,CAAC;iBACvC;aACF,CAAC;WACW,YAAY,CAYxB;QAAD,mBAAC;KAAA,CAZiC,SAAS;;;ICV3C,WAAY,UAAU;QACpB,2CAAQ,CAAA;QACR,+CAAM,CAAA;IACR,CAAC,EAHWC,kBAAU,KAAVA,kBAAU,QAGrB;;QAsCyB,wBAAS;QAAnC;;SAkDC;QA5BQ,YAAO,GAAd,UAAe,IAAS;YACtB,OAAO,IAAI,CAAC;SACb;QAGM,WAAM,GAAb,UAAc,IAAU;YACtB,OAAO,IAAI,CAAC;SACb;QAED,sBAAI,0BAAQ;iBAAZ;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjE;;;WAAA;QAED,sBAAI,2BAAS;iBAAb;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjE;;;WAAA;QAED,sBAAI,0BAAQ;iBAAZ;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzF;;;WAAA;QAED,sBAAI,qBAAG;iBAAP;gBACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACb;gBACD,IAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;aAChD;;;WAAA;QA3BD;YADC,WAAW;iCAGX;QAGD;YADC,UAAU;gCAGV;QA7BU,IAAI;YApChB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,YAAY;oBACzB,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,kBAAkB,EAAE,mBAAmB;oBACvC,kBAAkB,EAAE,mBAAmB;oBACvC,cAAc,EAAE,eAAe;oBAC/B,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,iBAAiB;oBACnC,aAAa,EAAE,cAAc;oBAC7B,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,WAAW;oBACpB,iBAAiB,EAAE,iBAAiB;oBACpC,iBAAiB,EAAE,iBAAiB;oBACpC,aAAa,EAAE,aAAa;oBAC5B,eAAe,EAAE,eAAe;oBAChC,eAAe,EAAE,eAAe;oBAChC,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,SAAS,CAACA,kBAAU,CAAC;iBAC9B;aACF,CAAC;WACW,IAAI,CAkDhB;QAAD,WAAC;KAAA,CAlDyB,SAAS;;;QCxBT,wBAAS;QAAnC;;SA0CC;QA7BC,gCAAiB,GAAjB;YACE,IAAM,SAAS,GAAG,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACzC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACzC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;gBACzB,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;gBAC3B,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;gBAC3B,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACvC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QAGM,YAAO,GAAd,UAAe,IAAS;YACtB,OAAO,IAAI,CAAC;SACb;QAGM,WAAM,GAAb,UAAc,IAAU;YACtB,OAAO,IAAI,CAAC;SACb;QAPD;YADC,WAAW;iCAGX;QAGD;YADC,UAAU;gCAGV;QAzCU,IAAI;YAtBhB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,UAAU;oBACrB,qBAAqB,EAAE,qBAAqB;iBAC7C;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,mBAAmB,EAAE,SAAS;iBAC/B;aACF,CAAC;WACW,IAAI,CA0ChB;QAAD,WAAC;KAAA,CA1CyB,SAAS;;;QCfD,gCAAS;QAA3C;;SAUC;QAJQ,oBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,mBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;yCACqB;QAGjC;YADC,UAAU;wCACqB;QATrB,YAAY;YAVxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,OAAO;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC;WACW,YAAY,CAUxB;QAAD,mBAAC;KAAA,CAViC,SAAS;;;QCmBf,0BAAS;QAArC;;SAkDC;QA/BQ,cAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,aAAM,GAAb,UAAc,IAAS,KAAS;QAEhC,sBAAI,0BAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC,CAAC;aACpE;;;WAAA;QAED,sBAAI,0BAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC,CAAC;aAC1E;;;WAAA;QAED,sBAAI,6BAAS;iBAAb;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC,CAAC;aAC3E;;;WAAA;QAED,sBAAI,+BAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC,CAAC;aACzE;;;WAAA;QAED,sBAAI,gCAAY;iBAAhB;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI;oBAC/B,OAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,eAAe;wBACtC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,mBAAmB;iBAAA,CAC3C,CAAC;aACH;;;WAAA;QAED,sBAAI,8BAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC,CAAC;aACxE;;;WAAA;QA9BD;YADC,WAAW;mCACqB;QAGjC;YADC,UAAU;kCACqB;QAtBrB,MAAM;YA1BlB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,aAAa;oBAC1B,YAAY,EAAE,aAAa;oBAC3B,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,cAAc;oBAC5B,iBAAiB,EAAE,kBAAkB;oBACrC,eAAe,EAAE,gBAAgB;oBACjC,qBAAqB,EAAE,qBAAqB;oBAC5C,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;iBACf;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,KAAK;iBACb;aACF,CAAC;WACW,MAAM,CAkDlB;QAAD,aAAC;KAAA,CAlD2B,SAAS;;;IC7BrC,WAAY,wBAAwB;QAClC,uEAAI,CAAA;QACJ,qFAAW,CAAA;QACX,2EAAM,CAAA;IACR,CAAC,EAJWC,gCAAwB,KAAxBA,gCAAwB,QAInC;;QAwBqC,oCAAS;QAA/C;;SAgBC;QAJQ,wBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,uBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;6CACqB;QAGjC;YADC,UAAU;4CACqB;QAfrB,gBAAgB;YAtB5B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,aAAa;iBAC3B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,SAAS,CAACA,gCAAwB,CAAC;oBAC3C,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,SAAS;iBACtB;aACF,CAAC;WACW,gBAAgB,CAgB5B;QAAD,uBAAC;KAAA,CAhBqC,SAAS;;;ICvB/C,WAAY,eAAe;QACzB,kCAAe,CAAA;QACf,8CAA2B,CAAA;QAC3B,gCAAa,CAAA;IACf,CAAC,EAJWC,uBAAe,KAAfA,uBAAe,QAI1B;;IAED,WAAY,kBAAkB;QAC5B,2DAAI,CAAA;QACJ,yEAAW,CAAA;QACX,+DAAM,CAAA;IACR,CAAC,EAJWC,0BAAkB,KAAlBA,0BAAkB,QAI7B;;IAED,WAAY,gBAAgB;QAC1B,uDAAO,CAAA;QACP,2DAAM,CAAA;QACN,qDAAG,CAAA;IACL,CAAC,EAJWC,wBAAgB,KAAhBA,wBAAgB,QAI3B;;IAED,WAAY,wBAAwB;QAClC,+EAAY,CAAA;QACZ,yEAAK,CAAA;QACL,+EAAQ,CAAA;IACV,CAAC,EAJWC,gCAAwB,KAAxBA,gCAAwB,QAInC;;IAED,WAAY,wBAAwB;QAClC,+EAAY,CAAA;QACZ,yEAAK,CAAA;QACL,+EAAQ,CAAA;IACV,CAAC,EAJWC,gCAAwB,KAAxBA,gCAAwB,QAInC;;IAED,WAAY,mBAAmB;QAC7B,+DAAS,CAAA;QACT,qEAAQ,CAAA;IACV,CAAC,EAHWC,2BAAmB,KAAnBA,2BAAmB,QAG9B;;IAED,WAAY,aAAa;QACvB,mDAAS,CAAA;QACT,mDAAK,CAAA;IACP,CAAC,EAHWC,qBAAa,KAAbA,qBAAa,QAGxB;;IAED,WAAY,aAAa;QACvB,qEAAkB,CAAA;QAClB,mEAAa,CAAA;QACb,iDAAI,CAAA;QACJ,yEAAgB,CAAA;QAChB,mEAAa,CAAA;QACb,6FAA0B,CAAA;QAC1B,yDAAQ,CAAA;QACR,2DAAS,CAAA;QACT,6EAAkB,CAAA;IACpB,CAAC,EAVWC,qBAAa,KAAbA,qBAAa,QAUxB;;QA6CuC,sCAAS;QAAjD;;SAsCC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QArCrB,kBAAkB;YA3C9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,OAAO;oBACf,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,cAAc,EAAE,eAAe;oBAC/B,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,cAAc;oBAC7B,YAAY,EAAE,aAAa;oBAC3B,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,eAAe;oBACjC,uBAAuB,EAAE,sBAAsB;oBAC/C,4BAA4B,EAAE,0BAA0B;oBACxD,uBAAuB,EAAE,uBAAuB;oBAChD,mBAAmB,EAAE,mBAAmB;oBACxC,gBAAgB,EAAE,gBAAgB;oBAClC,yBAAyB,EAAE,yBAAyB;oBACpD,yBAAyB,EAAE,yBAAyB;oBACpD,kBAAkB,EAAE,kBAAkB;oBACtC,cAAc,EAAE,cAAc;oBAC9B,iBAAiB,EAAE,iBAAiB;oBACpC,uBAAuB,EAAE,uBAAuB;oBAChD,yBAAyB,EAAE,yBAAyB;oBACpD,oBAAoB,EAAE,oBAAoB;iBAC3C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS,CAACP,uBAAe,CAAC;oBAChC,MAAM,EAAE,SAAS,CAACE,wBAAgB,CAAC;oBACnC,uBAAuB,EAAE,SAAS,CAACC,gCAAwB,CAAC;oBAC5D,uBAAuB,EAAE,SAAS,CAACC,gCAAwB,CAAC;oBAC5D,YAAY,EAAE,SAAS,CAACE,qBAAa,CAAC;oBACtC,YAAY,EAAE,SAAS,CAACC,qBAAa,CAAC;iBACvC;aACF,CAAC;WACW,kBAAkB,CAsC9B;QAAD,yBAAC;KAAA,CAtCuC,SAAS,GAsChD;;QAiByC,wCAAS;QAAnD;;SAcC;QAJQ,4BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,2BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iDACqB;QAGjC;YADC,UAAU;gDACqB;QAbrB,oBAAoB;YAfhC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,aAAa,EAAE,cAAc;oBAC7B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACX;aACF,CAAC;WACW,oBAAoB,CAchC;QAAD,2BAAC;KAAA,CAdyC,SAAS,GAclD;;QA6C+B,8BAAS;QAAzC;;SA+CC;QAtBC,sCAAiB,GAAjB;YACE,IAAM,SAAS,GAAG,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACzC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACzC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;gBACzB,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;gBAC3B,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACvC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QAGM,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QA9CrB,UAAU;YA3CtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,gBAAgB,EAAE,iBAAiB;oBACnC,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,qBAAqB,EAAE,qBAAqB;oBAC5C,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;oBACZ,cAAc,EAAE,IAAI;oBACpB,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,SAAS,CAACN,0BAAkB,CAAC;oBACrC,UAAU,EAAE,oBAAoB;oBAChC,UAAU,EAAE,oBAAoB;oBAChC,SAAS,EAAE,oBAAoB;oBAC/B,MAAM,EAAE,gBAAgB;iBACzB;aACF,CAAC;WACW,UAAU,CA+CtB;QAAD,iBAAC;KAAA,CA/C+B,SAAS;;;QChMC,wCAAS;QAAnD;;SAoBC;QAJQ,4BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,2BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iDACqB;QAGjC;YADC,UAAU;gDACqB;QAnBrB,oBAAoB;YAtBhC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,gBAAgB,EAAE,eAAe;oBACjC,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,cAAc,EAAE,eAAe;oBAC/B,gBAAgB,EAAE,gBAAgB;oBAClC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,eAAe;oBAC/B,kBAAkB,EAAE,kBAAkB;oBACtC,cAAc,EAAE,cAAc;iBAC/B;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACM,qBAAa,CAAC;oBACtC,aAAa,EAAE,SAAS,CAACJ,gCAAwB,CAAC;oBAClD,YAAY,EAAE,SAAS,CAACG,qBAAa,CAAC;iBACvC;aACF,CAAC;WACW,oBAAoB,CAoBhC;QAAD,2BAAC;KAAA,CApByC,SAAS;;;ICtBnD,WAAY,mBAAmB;QAC7B,6EAAgB,CAAA;QAChB,+EAAa,CAAA;IACf,CAAC,EAHWE,2BAAmB,KAAnBA,2BAAmB,QAG9B;;QAkByC,wCAAS;QAAnD;;SAuBC;QAbC,sBAAI,2CAAS;iBAAb;gBACE,OAAO,IAAI,CAAC,QAAQ,KAAKA,2BAAmB,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;aACpE;;;WAAA;QAED,6CAAc,GAAd,UAAe,GAAW;YACxB,OAAO,GAAG,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;SACvE;QAGM,4BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,2BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iDACqB;QAGjC;YADC,UAAU;gDACqB;QAtBrB,oBAAoB;YAhBhC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,cAAc;oBAC7B,YAAY,EAAE,aAAa;oBAC3B,gBAAgB,EAAE,iBAAiB;oBACnC,YAAY,EAAE,YAAY;oBAC1B,iBAAiB,EAAE,gBAAgB;oBACnC,cAAc,EAAE,eAAe;oBAC/B,eAAe,EAAE,eAAe;iBACjC;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACxC,aAAa,EAAE,SAAS,CAACJ,gCAAwB,CAAC;iBACnD;aACF,CAAC;WACW,oBAAoB,CAuBhC;QAAD,2BAAC;KAAA,CAvByC,SAAS;;;QCdlB,+BAAS;QAA1C;;SAWC;QAJQ,mBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,kBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;wCACqB;QAGjC;YADC,UAAU;uCACqB;QAVrB,WAAW;YARvB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,UAAU;iBACtB;aACF,CAAC;WACW,WAAW,CAWvB;QAAD,kBAAC;KAAA,CAXgC,SAAS;;;QCcX,6BAAS;QAAxC;;SAoBC;QATC,sBAAI,8BAAO;iBAAX;gBACE,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;;;WAAA;QAGM,iBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,gBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;sCACqB;QAGjC;YADC,UAAU;qCACqB;QAnBrB,SAAS;YArBrB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,YAAY;oBACxB,OAAO,EAAE,QAAQ;oBACjB,aAAa,EAAE,eAAe;oBAC9B,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,cAAc;oBAC7B,OAAO,EAAE,QAAQ;iBAClB;gBACD,QAAQ,EAAE;oBACR,aAAa,EAAE,IAAI;oBACnB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;iBACnB;aACF,CAAC;WACW,SAAS,CAoBrB;QAAD,gBAAC;KAAA,CApB8B,SAAS;;;QCHF,oCAAS;QAA/C;;SA6BC;QAhBQ,wBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,uBAAM,GAAb,UAAc,IAAS,KAAS;QAEhC,sBAAI,4CAAc;iBAAlB;gBACE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAC9B;;;WAAA;QAED,sBAAI,2CAAa;iBAAjB;gBACE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAC9B;;;WAAA;QAED,sBAAI,kDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAC9B;;;WAAA;QAfD;YADC,WAAW;6CACqB;QAGjC;YADC,UAAU;4CACqB;QAhBrB,gBAAgB;YAlB5B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,gBAAgB;oBAClC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,cAAc;oBAC9B,yBAAyB,EAAE,yBAAyB;iBACrD;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACG,qBAAa,CAAC;oBACtC,YAAY,EAAE,SAAS,CAACD,qBAAa,CAAC;iBACvC;aACF,CAAC;WACW,gBAAgB,CA6B5B;QAAD,uBAAC;KAAA,CA7BqC,SAAS;;;QCGP,sCAAS;QAAjD;;SA2BC;QAZC,sBAAI,6CAAa;iBAAjB;gBACE,IAAI,IAAI,CAAC,YAAY,KAAKC,qBAAa,CAAC,kBAAkB,EAAE;oBAC1D,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;aACtD;;;WAAA;QAGM,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QA1BrB,kBAAkB;YArB9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,gBAAgB;oBAClC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,iBAAiB;oBACnC,uBAAuB,EAAE,uBAAuB;oBAChD,yBAAyB,EAAE,yBAAyB;iBACrD;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACA,qBAAa,CAAC;oBACtC,YAAY,EAAE,SAAS,CAACD,qBAAa,CAAC;iBACvC;aACF,CAAC;WACW,kBAAkB,CA2B9B;QAAD,yBAAC;KAAA,CA3BuC,SAAS;;;QCJT,sCAAS;QAAjD;;SAgBC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAfrB,kBAAkB;YAjB9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,gBAAgB;oBAClC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,cAAc;iBAC/B;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACC,qBAAa,CAAC;oBACtC,YAAY,EAAE,SAAS,CAACD,qBAAa,CAAC;iBACvC;aACF,CAAC;WACW,kBAAkB,CAgB9B;QAAD,yBAAC;KAAA,CAhBuC,SAAS;;aCpBjC,aAAa,CAAC,MAAc;QAC1C,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,OAAO,EAAE,CAAC;SACX;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;IAC/D,CAAC;aAEe,cAAc,CAAC,KAAY,EAAE,MAAc;QACzD,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,CAAC,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;SACxD;QACD,OAAO,MAAM,CAAC;IAChB;;;ICdA,WAAY,YAAY;QACtB,yDAAyC,CAAA;QACzC,2CAA2B,CAAA;IAC7B,CAAC,EAHWG,oBAAY,KAAZA,oBAAY,QAGvB;;QAgBoC,mCAAS;QAA9C;;SAcC;QAJQ,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAbrB,eAAe;YAd3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;oBAC3B,kBAAkB,EAAE,kBAAkB;oBACtC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,MAAM;oBACZ,sBAAsB,EAAE,qBAAqB;oBAC7C,eAAe,EAAE,eAAe;iBACjC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS,CAACA,oBAAY,CAAC;iBAC9B;aACF,CAAC;WACW,eAAe,CAc3B;QAAD,sBAAC;KAAA,CAdoC,SAAS,GAc7C;;QAe4B,2BAAS;QAAtC;YAAA,qEAsCC;YA/BS,YAAM,GAAqC,EAAE,CAAC;;SA+BvD;QA5BQ,eAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,cAAM,GAAb,UAAc,IAAS,KAAS;QAEhC,sBAAI,gCAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzD;;;WAAA;QAED,kCAAgB,GAAhB;YAAA,iBAkBC;YAjBC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACxD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAA,KAAK;oBAChD,IAAM,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,SAAA,CAAC,EAAI,KAAK,CAAA,CAAC;oBAC3D,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,YAAY,KAAK,CAAC,EAAE;wBACtB,KAAK,GAAG,OAAO,CAAC;qBACjB;yBAAM;wBACL,KAAK,GAAG,SAAO,YAAc,CAAC;qBAC/B;oBACD,OAAO;wBACL,KAAK,EAAE,KAAK;wBACZ,KAAK,OAAA;qBACN,CAAC;iBACH,CAAC,CAAC;aACJ;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QA3BD;YADC,WAAW;oCACqB;QAGjC;YADC,UAAU;mCACqB;QAbrB,OAAO;YAbnB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,UAAU;oBACpB,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,WAAW,EAAE,YAAY;iBAC1B;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,eAAe;iBAC1B;aACF,CAAC;WACW,OAAO,CAsCnB;QAAD,cAAC;KAAA,CAtC4B,SAAS;;;QCxCD,mCAAS;QAA9C;;SAYC;QAJQ,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAXrB,eAAe;YAR3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,mBAAmB,EAAE,mBAAmB;iBACzC;aACF,CAAC;WACW,eAAe,CAY3B;QAAD,sBAAC;KAAA,CAZoC,SAAS;;;QCWT,mCAAS;QAA9C;;SAwBC;QAZC,sBAAI,0CAAa;iBAAjB;gBACE,IAAI,IAAI,CAAC,YAAY,KAAKF,qBAAa,CAAC,kBAAkB,EAAE;oBAC1D,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;aACtD;;;WAAA;QAGM,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAvBrB,eAAe;YAnB3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,iBAAiB;oBACnC,uBAAuB,EAAE,uBAAuB;oBAChD,cAAc,EAAE,eAAe;iBAChC;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACA,qBAAa,CAAC;oBACtC,YAAY,EAAE,SAAS,CAACD,qBAAa,CAAC;oBACtC,aAAa,EAAE,SAAS,CAACD,2BAAmB,CAAC;iBAC9C;aACF,CAAC;WACW,eAAe,CAwB3B;QAAD,sBAAC;KAAA,CAxBoC,SAAS;;;ICP9C,WAAY,YAAY;QACtB,+CAAQ,CAAA;QACR,6DAAW,CAAA;QACX,mDAAM,CAAA;QACN,uDAAQ,CAAA;QACR,iDAAK,CAAA;IACP,CAAC,EANWK,oBAAY,KAAZA,oBAAY,QAMvB;;IAED,WAAY,eAAe;QACzB,6DAAY,CAAA;QACZ,mFAAmB,CAAA;QACnB,uFAAqB,CAAA;QACrB,6GAAgC,CAAA;IAClC,CAAC,EALWC,uBAAe,KAAfA,uBAAe,QAK1B;;QAYwC,uCAAS;QAAlD;;SAUC;QAJQ,2BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,0BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;gDACqB;QAGjC;YADC,UAAU;+CACqB;QATrB,mBAAmB;YAV/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;iBACX;aACF,CAAC;WACW,mBAAmB,CAU/B;QAAD,0BAAC;KAAA,CAVwC,SAAS,GAUjD;;QA+DyB,wBAAS;QAAnC;;SAsKC;QA7HC,sBAAI,sCAAoB;iBAAxB;gBACE,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE;oBACzE,OAAO,IAAI,CAAC,qBAAqB,CAAC;iBACnC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC5E;gBACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACnC;iBAED,UAAyB,KAAK;gBAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;;;WAJA;QAMD,sBAAI,sCAAoB;iBAAxB;gBACE,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE;oBACtE,OAAO,IAAI,CAAC,qBAAqB,CAAC;iBACnC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC5E;gBACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACnC;iBAED,UAAyB,KAAK;gBAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;;;WAJA;QAMD,sBAAI,kCAAgB;iBAApB;gBACE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;oBACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC;iBAC/B;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACpE;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;iBAED,UAAqB,KAAK;gBACxB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAChC;;;WAJA;QAMD,sBAAI,oCAAkB;iBAAtB;gBACE,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;oBACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC;iBACjC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxE;gBACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;iBAED,UAAuB,KAAK;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAClC;;;WAJA;QAMD,sBAAI,oCAAkB;iBAAtB;gBACE,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;oBACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC;iBACjC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxE;gBACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;iBAED,UAAuB,KAAK;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAClC;;;WAJA;QAMD,sBAAI,iCAAe;iBAAnB;gBACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;oBAC/D,OAAO,IAAI,CAAC,gBAAgB,CAAC;iBAC9B;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAClE;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC9B;iBAED,UAAoB,KAAK;gBACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;;;WAJA;QAMD,sBAAI,mCAAiB;iBAArB;gBAAA,iBASC;gBARC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACvB,OAAO,EAAE,CAAC;iBACX;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,QAAC;oBACpD,MAAM,EAAE,CAAC,MAAM;oBACf,SAAS,EAAE,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxC,mBAAmB,EAAE,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACnD,IAAC,CAAC,CAAC;aACL;;;WAAA;QAED,sBAAI,0BAAQ;iBAAZ;gBACE,OAAO,IAAI,CAAC,MAAM,KAAKD,oBAAY,CAAC,MAAM,CAAC;aAC5C;;;WAAA;QAED,sBAAI,2BAAS;iBAAb;gBACE,OAAO,CAACC,uBAAe,CAAC,QAAQ,EAAEA,uBAAe,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/G;;;WAAA;QAED,sBAAI,qCAAmB;iBAAvB;gBACE,OAAO,CAACA,uBAAe,CAAC,mBAAmB,EAAEA,uBAAe,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/G;;;WAAA;QAED,sBAAI,8BAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;iBACpC;gBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC;iBACxD;gBACD,OAAO,IAAI,CAAC;aACb;;;WAAA;QAGM,YAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,WAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iCACqB;QAGjC;YADC,UAAU;gCACqB;QArKrB,IAAI;YA7DhB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,kBAAkB,EAAE,kBAAkB;oBACtC,OAAO,EAAE,QAAQ;oBACjB,eAAe,EAAE,gBAAgB;oBACjC,0BAA0B,EAAE,0BAA0B;oBACtD,6BAA6B,EAAE,4BAA4B;oBAC3D,kBAAkB,EAAE,kBAAkB;oBACtC,oBAAoB,EAAE,oBAAoB;oBAC1C,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,WAAW;oBACvB,qBAAqB,EAAE,qBAAqB;oBAC5C,WAAW,EAAE,YAAY;oBACzB,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,eAAe,EAAE,gBAAgB;oBACjC,WAAW,EAAE,YAAY;oBACzB,sBAAsB,EAAE,sBAAsB;oBAC9C,sBAAsB,EAAE,sBAAsB;oBAC9C,kBAAkB,EAAE,kBAAkB;oBACtC,oBAAoB,EAAE,oBAAoB;oBAC1C,oBAAoB,EAAE,oBAAoB;oBAC1C,iBAAiB,EAAE,iBAAiB;oBACpC,eAAe,EAAE,eAAe;oBAChC,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,qBAAqB,EAAE,qBAAqB;oBAC5C,kBAAkB,EAAE,mBAAmB;oBACvC,gBAAgB,EAAE,iBAAiB;oBACnC,WAAW,EAAE,YAAY;oBACzB,gBAAgB,EAAE,gBAAgB;oBAClC,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,gBAAgB,EAAE,iBAAiB;iBACpC;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAACD,oBAAY,CAAC;oBAC/B,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,mBAAmB;oBACnC,cAAc,EAAE,IAAI;oBACpB,wBAAwB,EAAE,mBAAmB;oBAC7C,QAAQ,EAAE,aAAa;oBACvB,UAAU,EAAE,SAAS,CAACC,uBAAe,CAAC;oBACtC,oBAAoB,EAAE,oBAAoB;oBAC1C,oBAAoB,EAAE,oBAAoB;oBAC1C,gBAAgB,EAAE,gBAAgB;oBAClC,kBAAkB,EAAE,kBAAkB;oBACtC,kBAAkB,EAAE,kBAAkB;oBACtC,iBAAiB,EAAE,OAAO;oBAC1B,eAAe,EAAE,WAAW;oBAC5B,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC;oBAC3B,UAAU,EAAE,UAAU;oBACtB,eAAe,EAAE,eAAe;iBACjC;aACF,CAAC;WACW,IAAI,CAsKhB;QAAD,WAAC;KAAA,CAtKyB,SAAS;;aCjHnB,iBAAiB,CAAC,IAAW,EAAE,IAAS,EAAE,KAAa,EAAE,aAAsC;QAArD,sBAAA,EAAA,aAAa;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC;YACf,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;gBAC9C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;oBACrB,OAAO,CAAC,CAAC;iBACV;aACF;iBAAM,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE;gBAC3C,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC;aAChD;YACD,OAAO,IAAI,CAAC;SACb,CAAC,CAAC;IACL,CAAC;aAEe,kBAAkB,CAAC,IAAW,EAAE,KAAY,EAAE,KAAsB,EAAE,aAAsC;QAA9D,sBAAA,EAAA,aAAsB;QAClF,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;YAChB,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;SAC5D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;aAEe,gBAAgB,CAAC,IAAW,EAAE,IAAS,EAAE,aAAsC;QAC7F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC;YACf,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;gBAC9C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;oBACrB,OAAO,CAAC,CAAC;iBACV;aACF;iBAAM,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;aAEe,cAAc,CAAC,IAAW,EAAE,IAAS,EAAE,KAAsB,EAAE,aAAsC;QAA9D,sBAAA,EAAA,aAAsB;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,GAAA,CAAC,EAAE;YACnF,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK;uBACJ,IAAI,GAAE,IAAI,eACb,IAAI,GAAK,IAAI,CAAC,CAAC;IACtB,CAAC;aAEe,eAAe,CAAC,IAAW,EAAE,KAAY,EAAE,KAAsB,EAAE,aAAsC;QAA9D,sBAAA,EAAA,aAAsB;QAC/E,CAAC,CAAC,KAAK;cACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;cAClC,KAAK,EACP,OAAO,CAAC,UAAA,IAAI;YACZ,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;SACzD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;aAEe,mBAAmB,CAAC,IAAW,EAAE,IAAS;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;SACnC;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,GAAA,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,SAAS,UAAU,CAAC,eAAe;QACjC,OAAO,eAAe,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,mBAAmB,CAAC;IACtF;;;QCtEE,eAAoB,MAAsB;YAAtB,WAAM,GAAN,MAAM,CAAgB;YAFlC,SAAI,GAA0C,EAAE,CAAC;SAGxD;QAED,mBAAG,GAAH,UAAI,GAAW;YACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAACC,gBAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,SAAS,GAAA,CAAC,CAAC,CAAC;SACtE;QAED,qBAAK,GAAL,UAAM,GAAW;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;SACnC;QAED,oBAAI,GAAJ,UAAK,GAAW,EAAE,KAAU;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC9B;SACF;QAED,0BAAU,GAAV,UAAW,GAAW,EAAE,KAAU,EAAE,aAAsC;YACxE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;SACnF;QAED,2BAAW,GAAX,UAAY,GAAW,EAAE,KAAY,EAAE,aAAsC;YAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SACrE;QAED,2BAAW,GAAX,UAAY,GAAW,EAAE,KAAU,EAAE,aAAsC;YACzE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;SACpF;QAED,4BAAY,GAAZ,UAAa,GAAW,EAAE,KAAY,EAAE,aAAsC;YAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;SACrF;QAED,0BAAU,GAAV,UAAW,GAAW,EAAE,KAAU,EAAE,KAAe,EAAE,aAAsC;YACzF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;SACvF;QAED,2BAAW,GAAX,UAAY,GAAW,EAAE,KAAU,EAAE,KAAe,EAAE,aAAsC;YAC1F,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;SACxF;QAED,0BAAU,GAAV,UAAW,GAAW,EAAE,KAAU;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;SACnE;QAED,uBAAO,GAAP;;;gBACE,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,gBAAA,4BAAE;oBAArC,IAAM,GAAG,WAAA;oBACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACvB;;;;;;;;;SACF;QAED,gCAAgB,GAAhB;YACE,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;aACrB;SACF;QAED,yBAAS,GAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QAEO,0BAAU,GAAlB,UAAmB,GAAW;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAIC,oBAAe,CAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;aAC3F;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;QACH,YAAC;IAAD,CAAC;;;QCzED;YACY,UAAK,GAAG,IAAI,KAAK,EAAE,CAAC;SAK/B;QAHC,6BAAO,GAAP;YACE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SACtB;;QALU,WAAW;YADvBC,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,WAAW,CAMvB;0BAVD;KAIA;;ICDA,IAAM,gBAAgB,GAAG,QAAQ,CAAC;QAErB,WAAW,GAAG,uBAAuB;;QAGf,iCAAW;QAC5C,uBAC2C,UAAe;YAD1D,YAGE,iBAAO,SAIR;YAN0C,gBAAU,GAAV,UAAU,CAAK;YAGxD,IAAI,UAAU,EAAE;gBACd,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC7B;;SACF;QAED,sBAAI,kCAAO;iBAAX;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aACzC;;;WAAA;QAED,sBAAI,iCAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aACjD;;;WAAA;QAED,kCAAU,GAAV,UAAW,IAAS;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;SACzC;QAED,2BAAG,GAAH,UAAI,GAAW,EAAE,KAAU;;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,wBAC3B,IAAI,CAAC,MAAM,gBACb,GAAG,IAAG,KAAK,OACZ,CAAC;SACJ;QAED,2BAAG,GAAH,UAAI,GAAW;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;SACtF;;oDA7BEC,aAAQ,YAAIC,WAAM,SAAC,WAAW;;;QAFtB,aAAa;YADzBF,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;YAG5B,WAAAC,aAAQ,EAAE,CAAA,EAAE,WAAAC,WAAM,CAAC,WAAW,CAAC,CAAA;WAFvB,aAAa,CAgCzB;4BAxCD;KAwCC,CAhCkC,WAAW;;;QC2CV,kCAAS;QAA7C;;SA8CC;QAZC,sBAAI,2CAAe;iBAAnB;gBACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aACrE;;;WAAA;QAGM,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QA7CrB,cAAc;YA5C1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,QAAQ;oBACjB,aAAa,EAAE,cAAc;oBAC7B,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,cAAc,EAAE,eAAe;oBAC/B,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,gBAAgB,EAAE,gBAAgB;oBAClC,iBAAiB,EAAE,iBAAiB;oBACpC,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,KAAK,EAAE,OAAO;oBACd,mBAAmB,EAAE,oBAAoB;oBACzC,2BAA2B,EAAE,yBAAyB;oBACtD,4BAA4B,EAAE,0BAA0B;oBACxD,wBAAwB,EAAE,uBAAuB;oBACjD,yBAAyB,EAAE,wBAAwB;oBACnD,eAAe,EAAE,eAAe;oBAChC,YAAY,EAAE,aAAa;oBAC3B,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,eAAe;oBAC/B,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,IAAI;oBACX,aAAa,EAAE,IAAI;iBACpB;aACF,CAAC;WACW,cAAc,CA8C1B;QAAD,qBAAC;KAAA,CA9CmC,SAAS;;;IC/C7C,WAAY,YAAY;QACtB,mDAAU,CAAA;QACV,yDAAS,CAAA;QACT,iDAAK,CAAA;QACL,iDAAK,CAAA;QACL,2DAAU,CAAA;QACV,iEAAa,CAAA;QACb,qDAAO,CAAA;QACP,+DAAY,CAAA;QACZ,qDAAO,CAAA;QACP,0DAAS,CAAA;IACX,CAAC,EAXWC,oBAAY,KAAZA,oBAAY,QAWvB;;QAiB6B,4BAAS;QAAvC;;SAeC;QANQ,gBAAO,GAAd,UAAe,IAAS;SACvB;QAGM,eAAM,GAAb,UAAc,UAAoB;SACjC;QALD;YADC,WAAW;qCAEX;QAGD;YADC,UAAU;oCAEV;QAdU,QAAQ;YAfpB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,SAAS,CAACA,oBAAY,CAAC;iBAC9B;aACF,CAAC;WACW,QAAQ,CAepB;QAAD,eAAC;KAAA,CAf6B,SAAS;;;QCjBS,8CAAS;QAAzD;;SAYC;QAJQ,kCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iCAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uDACqB;QAGjC;YADC,UAAU;sDACqB;QAXrB,0BAA0B;YAbtC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,uBAAuB,EAAE,sBAAsB;oBAC/C,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,aAAa,EAAE,cAAc;iBAC9B;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC;WACW,0BAA0B,CAYtC;QAAD,iCAAC;KAAA,CAZ+C,SAAS;;;QCSvB,gCAAS;QAA3C;;SAwCC;QA3BC,sBAAI,kCAAQ;iBAAZ;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClF;;;WAAA;QAED,sBAAI,mCAAS;iBAAb;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjE;;;WAAA;QAED,sBAAI,kCAAQ;iBAAZ;gBACE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzF;;;WAAA;QAED,sBAAI,6BAAG;iBAAP;gBACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACb;gBACD,IAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;aAChD;;;WAAA;QAGM,oBAAO,GAAd,UAAe,IAAS;SACvB;QAGM,mBAAM,GAAb,UAAc,IAAS;SACtB;QALD;YADC,WAAW;yCAEX;QAGD;YADC,UAAU;wCAEV;QAvCU,YAAY;YApBxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;oBACrB,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;iBACX;aACF,CAAC;WACW,YAAY,CAwCxB;QAAD,mBAAC;KAAA,CAxCiC,SAAS;;;QCFH,sCAAS;QAAjD;;SAaC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAZrB,kBAAkB;YAhB9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,eAAe,EAAE,gBAAgB;oBACjC,SAAS,EAAE,UAAU;oBACrB,YAAY,EAAE,cAAc;oBAC5B,gBAAgB,EAAE,kBAAkB;oBACpC,aAAa,EAAE,cAAc;iBAC9B;gBACD,QAAQ,EAAE;oBACR,cAAc,EAAE,cAAc;oBAC9B,QAAQ,EAAE,QAAQ;oBAClB,gBAAgB,EAAE,0BAA0B;oBAC5C,YAAY,EAAE,YAAY;iBAC3B;aACF,CAAC;WACW,kBAAkB,CAa9B;QAAD,yBAAC;KAAA,CAbuC,SAAS;;;QCoCR,uCAAS;QAAlD;;SAuDC;QAjBC,sBAAI,2CAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC7E;;;WAAA;QAED,sBAAI,4CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;aACvC;;;WAAA;QAED,sBAAI,qDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1D;;;WAAA;QAGM,2BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,0BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;gDACqB;QAGjC;YADC,UAAU;+CACqB;QAtDrB,mBAAmB;YAjD/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,oBAAoB,EAAE,oBAAoB;oBAC1C,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,MAAM,EAAE,QAAQ;oBAChB,eAAe,EAAE,eAAe;oBAChC,iBAAiB,EAAE,iBAAiB;oBACpC,gBAAgB,EAAE,gBAAgB;oBAClC,eAAe,EAAE,eAAe;oBAChC,kBAAkB,EAAE,kBAAkB;oBACtC,oBAAoB,EAAE,oBAAoB;oBAC1C,mBAAmB,EAAE,mBAAmB;oBACxC,kBAAkB,EAAE,kBAAkB;oBACtC,iBAAiB,EAAE,iBAAiB;oBACpC,mBAAmB,EAAE,mBAAmB;oBACxC,kBAAkB,EAAE,kBAAkB;oBACtC,iBAAiB,EAAE,iBAAiB;oBACpC,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,UAAU;oBACpB,kBAAkB,EAAE,mBAAmB;oBACvC,kBAAkB,EAAE,mBAAmB;oBACvC,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;oBACtB,cAAc,EAAE,eAAe;oBAC/B,eAAe,EAAE,gBAAgB;oBACjC,qBAAqB,EAAE,sBAAsB;oBAC7C,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,YAAY;oBAC1B,kBAAkB,EAAE,kBAAkB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,mBAAmB,CAuD/B;QAAD,0BAAC;KAAA,CAvDwC,SAAS;;;QC5CD,+CAAS;QAA1D;;SASC;QAJQ,mCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,kCAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;wDACqB;QAGjC;YADC,UAAU;uDACqB;QARrB,2BAA2B;YAVvC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,mBAAmB;oBACzB,cAAc,EAAE,mBAAmB;iBACpC;aACF,CAAC;WACW,2BAA2B,CASvC;QAAD,kCAAC;KAAA,CATgD,SAAS;;;QCiBb,2CAAS;QAAtD;;SAoCC;QAbC,sBAAI,uCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAGM,+BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,8BAAM,GAAb,UAAc,IAAS,KAAS;QAEhC,sBAAI,+CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;aAClG;;;WAAA;QAPD;YADC,WAAW;oDACqB;QAGjC;YADC,UAAU;mDACqB;QA/BrB,uBAAuB;YA5BnC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,QAAQ;oBAChB,gBAAgB,EAAE,gBAAgB;oBAClC,eAAe,EAAE,eAAe;oBAChC,iBAAiB,EAAE,iBAAiB;oBACpC,eAAe,EAAE,eAAe;oBAChC,kBAAkB,EAAE,kBAAkB;oBACtC,oBAAoB,EAAE,oBAAoB;oBAC1C,mBAAmB,EAAE,mBAAmB;oBACxC,kBAAkB,EAAE,kBAAkB;oBACtC,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,UAAU;oBACpB,kBAAkB,EAAE,mBAAmB;oBACvC,kBAAkB,EAAE,mBAAmB;oBACvC,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;oBACtB,cAAc,EAAE,eAAe;oBAC/B,eAAe,EAAE,gBAAgB;oBACjC,qBAAqB,EAAE,sBAAsB;oBAC7C,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,uBAAuB,CAoCnC;QAAD,8BAAC;KAAA,CApC4C,SAAS;;;IC3BtD,WAAY,sBAAsB;QAChC,+EAAc,CAAA;QACd,6EAAS,CAAA;QACT,iFAAW,CAAA;QACX,uFAAc,CAAA;QACd,2FAAgB,CAAA;QAChB,yFAAe,CAAA;QACf,6FAAiB,CAAA;QACjB,iGAAmB,CAAA;QACnB,+FAAkB,CAAA;QAClB,wEAAM,CAAA;QACN,sEAAK,CAAA;QACL,0EAAO,CAAA;QACP,8FAAiB,CAAA;QACjB,8FAAiB,CAAA;QACjB,sEAAK,CAAA;QACL,4EAAQ,CAAA;QACR,sFAAa,CAAA;QACb,wFAAc,CAAA;QACd,oGAAoB,CAAA;QACpB,8FAAiB,CAAA;QACjB,wFAAc,CAAA;QACd,0EAAO,CAAA;QACP,oFAAY,CAAA;IACd,CAAC,EAxBWC,8BAAsB,KAAtBA,8BAAsB,QAwBjC;;QAqBsC,qCAAS;QAAhD;YAAA,qEAyEC;YA9DC,YAAM,GAAG,IAAI,CAAC;;SA8Df;QAxDC,wCAAY,GAAZ;YACE,OAAO;gBACLA,8BAAsB,CAAC,cAAc;gBACrCA,8BAAsB,CAAC,gBAAgB;gBACvCA,8BAAsB,CAAC,eAAe;gBACtCA,8BAAsB,CAAC,cAAc;aACtC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,yCAAa,GAAb;YACE,OAAO;gBACLA,8BAAsB,CAAC,OAAO;gBAC9BA,8BAAsB,CAAC,iBAAiB;gBACxCA,8BAAsB,CAAC,iBAAiB;aACzC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,sCAAU,GAAV;YACE,OAAO;gBACLA,8BAAsB,CAAC,aAAa;gBACpCA,8BAAsB,CAAC,cAAc;gBACrCA,8BAAsB,CAAC,oBAAoB;aAC5C,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,oCAAQ,GAAR;;YACE,IAAM,YAAY;gBAChB,GAACA,8BAAsB,CAAC,cAAc,IAAG,CAAC;gBAC1C,GAACA,8BAAsB,CAAC,eAAe,IAAG,CAAC;gBAC3C,GAACA,8BAAsB,CAAC,cAAc,IAAG,CAAC;gBAC1C,GAACA,8BAAsB,CAAC,gBAAgB,IAAG,CAAC;mBAC7C,CAAC;YACF,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;QAED,mCAAO,GAAP,UAAQ,KAAwB;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAI,4CAAa;iBAAjB;gBACE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBACzC,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAS,CAAC;aACpF;;;WAAA;QAGM,yBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,wBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;8CACsB;QAGlC;YADC,UAAU;6CACsB;QAxEtB,iBAAiB;YAnB7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;iBAC5B;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,SAAS,CAACA,8BAAsB,CAAC;iBAC3C;aACF,CAAC;WACW,iBAAiB,CAyE7B;QAAD,wBAAC;KAAA,CAzEsC,SAAS;;;QC9BlB,4BAAS;QAAvC;;SAaC;QAJQ,gBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,eAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;qCACqB;QAGjC;YADC,UAAU;oCACqB;QAZrB,QAAQ;YAfpB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,SAAS,EAAE,UAAU;oBACrB,oBAAoB,EAAE,oBAAoB;oBAC1C,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ;oBAClB,kBAAkB,EAAE,kBAAkB;oBACtC,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,QAAQ,CAapB;QAAD,eAAC;KAAA,CAb6B,SAAS;;;QCLM,2CAAS;QAAtD;;SAYC;QANQ,+BAAO,GAAd,UAAe,IAAS;SACvB;QAGM,8BAAM,GAAb,UAAc,IAAS;SACtB;QALD;YADC,WAAW;oDAEX;QAGD;YADC,UAAU;mDAEV;QAXU,uBAAuB;YAPnC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,oBAAoB,EAAE,mBAAmB;oBACzC,aAAa,EAAE,aAAa;oBAC5B,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;WACW,uBAAuB,CAYnC;QAAD,8BAAC;KAAA,CAZ4C,SAAS,GAYrD;;QAYwC,uCAAS;QAAlD;;SAWC;QANQ,2BAAO,GAAd,UAAe,IAAS;SACvB;QAGM,0BAAM,GAAb,UAAc,IAAS;SACtB;QALD;YADC,WAAW;gDAEX;QAGD;YADC,UAAU;+CAEV;QAVU,mBAAmB;YAT/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,uBAAuB,EAAE,sBAAsB;oBAC/C,WAAW,EAAE,aAAa;iBAC3B;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,uBAAuB;iBACrC;aACF,CAAC;WACW,mBAAmB,CAW/B;QAAD,0BAAC;KAAA,CAXwC,SAAS;;;QC7BhD,qBACY,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAEvC;QAEK,8BAAQ,GAAd,UAAe,MAAc;;;oBAC3B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,MAAM,YAAS,CAAC,CAAC,IAAI,CAC5GC,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACxC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4BAAM,GAAZ,UAAa,MAAc;;;oBACzB,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,MAAM,UAAO,CAAC,CAAC,IAAI,CAC1GA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACxC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAkB,GAAxB,UAAyB,MAAc;;;oBACrC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,MAAM,uBAAoB,CAAC,CAAC,IAAI,CACvHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACnD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,yCAAmB,GAAzB,UAA0B,MAAc,EAAE,MAA+B,EAAE,IAAqC;;;oBAC9G,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,MAAM,uBAAoB,EAAE;4BACnH,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC;4BAC/E,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBA5BuBC,eAAU;oBACP,aAAa;;;QAH7B,WAAW;YADvBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,WAAW,CA+BvB;0BAvCD;KAQA;;;QCGuC,qCAAW;QAChD,2BACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,mCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,MAAG,CAAC,CAAC,IAAI,CACjHK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAChIA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC3D,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAChIA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACvD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,mCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,WAAQ,CAAC,CAAC,IAAI,CACtHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACjD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAgB,GAAtB,UAAuB,MAAc,EAAE,QAAiC;;;oBACtE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,kCAA6B,QAAU,EACtH,EAAC,YAAY,EAAE,MAAM,EAAC,CACrB;6BACA,SAAS,EAAE,EAAC;;;SAChB;QAEK,gDAAoB,GAA1B,UAA2B,MAAc,EAAE,QAAiC;;;oBAC1E,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,uCAAkC,QAAU,EAC3H,EAAC,YAAY,EAAE,MAAM,EAAC,CACvB;6BACE,SAAS,EAAE,EAAC;;;SAChB;;oBA5CuBE,eAAU;oBACP,aAAa;;;QAH7B,iBAAiB;YAD7BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,iBAAiB,CA+C7B;gCA1DD;KA0DC,CA/CsC,WAAW;;;QCKlD;SAiBC;QARQ,gBAAO,GAAd,UAAe,IAAS;YACtB,OAAO,IAAI,CAAC;SACb;QAGM,eAAM,GAAb,UAAc,KAAU;YACtB,OAAO,IAAI,CAAC;SACb;QAPD;YADC,WAAW;qCAGX;QAGD;YADC,UAAU;oCAGV;QAhBU,QAAQ;YAbpB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;iBACnB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC;WACW,QAAQ,CAiBpB;QAAD,eAAC;KAjBD;;;QCRE,qBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,kCAAY,GAAlB,UAAmB,IAAS;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BACvG,IAAI,CAACK,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;QAEK,wCAAkB,GAAxB,UAAyB,QAAgB,EAAE,IAAS;;;oBAClD,sBAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,eAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC1H,IAAI,CAACA,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;;oBAfqBE,eAAU;oBACP,aAAa;;;QAH3B,WAAW;YADvBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,WAAW,CAkBvB;0BAzBD;KAOA;;;QCCE,iBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,wBAAM,GAAZ,UAAa,QAAa,EAAE,QAAiB,EAAE,KAAc,EAAE,MAAe;;;;oBACxE,MAAM,GAAG,IAAIM,eAAU,EAAE,CAAC;oBAC9B,IAAI,KAAK,IAAI,MAAM,EAAE;wBACnB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACjF;oBAEK,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC5C,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAe,EAAE,QAAQ,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BAC5E,IAAI,CAACD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAgB,GAAtB,UAAuB,KAAsC;;;;;oBACrD,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;;wBAChC,KAAmB,UAAA,SAAA,KAAK,CAAA,2EAAE;4BAAf,IAAI;4BACb,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACpD;;;;;;;;;oBACD,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA2B,EAAE,QAAQ,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC;6BACtG,SAAS,EAAE,EAAC;;;SAChB;;oBA1BqBE,eAAU;oBACP,aAAa;;;QAH3B,OAAO;YADnBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,OAAO,CA6BnB;sBApCD;KAOA;;;ICHA,WAAY,kBAAkB;QAC5B,uEAAc,CAAA;QACd,qEAAS,CAAA;QACT,qEAAS,CAAA;QACT,2EAAY,CAAA;QACZ,2EAAY,CAAA;QACZ,2DAAI,CAAA;QACJ,mFAAgB,CAAA;QAChB,6EAAa,CAAA;QACb,+DAAM,CAAA;QACN,wEAAU,CAAA;QACV,8EAAa,CAAA;QACb,8EAAa,CAAA;QACb,wFAAkB,CAAA;QAClB,kGAAuB,CAAA;QACvB,8EAAa,CAAA;QACb,4EAAY,CAAA;QACZ,8EAAa,CAAA;QACb,4EAAY,CAAA;QACZ,4DAAI,CAAA;QACJ,kEAAO,CAAA;QACP,8EAAa,CAAA;QACb,0EAAW,CAAA;QACX,0GAA2B,CAAA;QAC3B,oGAAwB,CAAA;QACxB,oGAAwB,CAAA;QACxB,8EAAa,CAAA;IACf,CAAC,EA3BWQ,0BAAkB,KAAlBA,0BAAkB,QA2B7B;;IAED,WAAY,oBAAoB;QAC9B,2EAAe,CAAA;QACf,6EAAW,CAAA;QACX,iFAAa,CAAA;IACf,CAAC,EAJWC,4BAAoB,KAApBA,4BAAoB,QAI/B;;QAmCkC,iCAAS;QAA5C;YAAA,qEA4EC;YAjEC,YAAM,GAAG,IAAI,CAAC;;SAiEf;QAtDC,sBAAI,8CAAmB;iBAAvB;gBACE,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;iBAClC;gBACD,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;iBAED,UAAwB,KAAa;gBACnC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;;;WAJA;QAMD,+BAAO,GAAP,UAAQ,KAAoB;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAI,wCAAa;iBAAjB;gBACE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBACzC,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAS,CAAC;aACpF;;;WAAA;QAED,mCAAW,GAAX;YACE,OAAO,CAACD,0BAAkB,CAAC,IAAI,EAAEA,0BAAkB,CAAC,aAAa,EAAEA,0BAAkB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5I;QAED,qCAAa,GAAb;YACE,OAAO;gBACLA,0BAAkB,CAAC,aAAa,EAAEA,0BAAkB,CAAC,aAAa;gBAClEA,0BAAkB,CAAC,kBAAkB,EAAEA,0BAAkB,CAAC,uBAAuB;gBACjFA,0BAAkB,CAAC,YAAY,EAAEA,0BAAkB,CAAC,aAAa;aAClE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,+BAAO,GAAP,UAAQ,GAAkB;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxD,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC9B,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;SACjC;QAGM,qBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,oBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;0CACsB;QAGlC;YADC,UAAU;yCACsB;QA3EtB,aAAa;YA3BzB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,WAAW;oBACtB,aAAa,EAAE,cAAc;oBAC7B,SAAS,EAAE,UAAU;oBACrB,YAAY,EAAE,aAAa;oBAC3B,sBAAsB,EAAE,qBAAqB;oBAC7C,cAAc,EAAE,eAAe;iBAChC;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,SAAS,CAACA,0BAAkB,CAAC;oBACtC,SAAS,EAAE,SAAS,CAACC,4BAAoB,CAAC;oBAC1C,WAAW,EAAE,gBAAgB,EAAE;iBAChC;aACF,CAAC;WACW,aAAa,CA4EzB;QAAD,oBAAC;KAAA,CA5EkC,SAAS;;;QC3BH,uCAAS;QAAlD;;SAwIC;QAnGC,sBAAI,mCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,4CAAW;iBAAf;gBACE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aAC1F;;;WAAA;QAED,sBAAI,6CAAY;iBAAhB;gBACE,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;aAC7F;;;WAAA;QAED,sBAAI,2CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACvF;;;WAAA;QAED,sBAAI,wCAAO;iBAAX;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;aAC1F;;;WAAA;QAED,sBAAI,wCAAO;iBAAX;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;aAC1F;;;WAAA;QAED,sBAAI,wCAAO;iBAAX;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;aAC1F;;;WAAA;QAED,sBAAI,sCAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;aAClF;;;WAAA;QAED,sBAAI,2CAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;aAClD;;;WAAA;QAED,sBAAI,sCAAK;iBAAT;gBACE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;aACxE;;;WAAA;QAED,sBAAI,2CAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aAC/C;;;WAAA;QAED,sBAAI,wCAAO;iBAAX;gBACE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;aAC9E;;;WAAA;QAED,sBAAI,yCAAQ;iBAAZ;gBACE,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aAC5D;;;WAAA;QAED,sBAAI,0CAAS;iBAAb;gBACE,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aACjE;;;WAAA;QAED,sBAAI,6CAAY;iBAAhB;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACrD;;;WAAA;QAED,sBAAI,qDAAoB;iBAAxB;gBACE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;aACrE;;;WAAA;QAED,sBAAI,kDAAiB;iBAArB;gBACE,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;aACtD;;;WAAA;QAED,sBAAI,6CAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACrC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aAC/D;;;WAAA;QAED,sBAAI,2CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aACtD;;;WAAA;QAED,sBAAI,kDAAiB;iBAArB;gBACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC/C,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;aACzE;;;WAAA;QAED,sBAAI,kDAAiB;iBAArB;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;aACpE;;;WAAA;QAED,sBAAI,4CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;aACvC;;;WAAA;QAGM,2BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,0BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;gDACqB;QAGjC;YADC,UAAU;+CACqB;QAvIrB,mBAAmB;YA1C/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;oBACnB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,kBAAkB;oBACrC,cAAc,EAAE,eAAe;oBAC/B,4BAA4B,EAAE,2BAA2B;oBACzD,yBAAyB,EAAE,wBAAwB;oBACnD,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,aAAa,EAAE,aAAa;oBAC5B,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,eAAe;oBAC9B,yBAAyB,EAAE,wBAAwB;oBACnD,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,iCAAiC,EAAE,+BAA+B;oBAClE,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,gBAAgB;oBACjC,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,mBAAmB,CAwI/B;QAAD,0BAAC;KAAA,CAxIwC,SAAS;;;QC6Cb,mCAAS;QAA9C;;SAmGC;QA7BC,sBAAI,oCAAO;iBAAX;gBACE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;aAC9E;;;WAAA;QAED,sBAAI,wCAAW;iBAAf;gBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,OAAO,CAAC;iBAChB;gBACD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAS,CAAC;aAChF;;;WAAA;QAED,sBAAI,4CAAe;iBAAnB;gBACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aACrE;;;WAAA;QAED,sBAAI,iDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1D;;;WAAA;QAGM,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAlGrB,eAAe;YAjF3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,oBAAoB,EAAE,oBAAoB;oBAC1C,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,gBAAgB,EAAE,gBAAgB;oBAClC,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,SAAS;oBACnB,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,SAAS;oBACnB,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,SAAS;oBACnB,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,eAAe;oBACjC,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,SAAS;oBACnB,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,SAAS;oBACnB,gBAAgB,EAAE,gBAAgB;oBAClC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,YAAY;oBACzB,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,kBAAkB;oBACrC,cAAc,EAAE,eAAe;oBAC/B,4BAA4B,EAAE,2BAA2B;oBACzD,yBAAyB,EAAE,wBAAwB;oBACnD,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,aAAa,EAAE,aAAa;oBAC5B,SAAS,EAAE,UAAU;oBACrB,gBAAgB,EAAE,gBAAgB;oBAClC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,YAAY;oBACzB,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,mBAAmB,EAAE,mBAAmB;oBACxC,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,sBAAsB;oBAC9C,mBAAmB,EAAE,mBAAmB;oBACxC,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,gBAAgB;oBACjC,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,YAAY;oBAC1B,kBAAkB,EAAE,kBAAkB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,eAAe,CAmG3B;QAAD,sBAAC;KAAA,CAnGoC,SAAS;;;QC5ED,2CAAS;QAAtD;;SASC;QAJQ,+BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,8BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;oDACqB;QAGjC;YADC,UAAU;mDACqB;QARrB,uBAAuB;YAVnC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,eAAe;oBACrB,cAAc,EAAE,eAAe;iBAChC;aACF,CAAC;WACW,uBAAuB,CASnC;QAAD,8BAAC;KAAA,CAT4C,SAAS;;;QCHnB,iCAAW;QAC5C,uBACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,+BAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,MAAG,CAAC,CAAC,IAAI,CAC7GJ,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC5HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACvD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC5HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACnD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,+BAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,WAAQ,CAAC,CAAC,IAAI,CAClHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC7C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAgB,GAAtB,UAAuB,MAAc,EAAE,MAA+B;;;oBACpE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,oBAAiB,EAAE;4BACvH,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;4BACjD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;QAEK,2CAAmB,GAAzB,UAA0B,MAAc,EAAE,MAA+B,EAAE,IAAmC;;;oBAC5G,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAkC,MAAM,4BAAyB,EAAE;4BAC/H,MAAM,EAAE,IAAIA,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC;4BAC/E,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBA1CuBC,eAAU;oBACP,aAAa;;;QAH7B,aAAa;YADzBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,aAAa,CA6CzB;4BAxDD;KAwDC,CA7CkC,WAAW;;;ICP9C,WAAY,oBAAoB;QAC9B,2EAAc,CAAA;QACd,yEAAS,CAAA;QACT,yEAAS,CAAA;QACT,+EAAY,CAAA;QACZ,+EAAY,CAAA;QACZ,+DAAI,CAAA;QACJ,qFAAe,CAAA;QACf,+EAAY,CAAA;QACZ,+EAAY,CAAA;QACZ,kGAAqB,CAAA;QACrB,4FAAkB,CAAA;QAClB,4FAAkB,CAAA;QAClB,oEAAM,CAAA;QACN,4EAAU,CAAA;QACV,oEAAM,CAAA;QACN,0EAAS,CAAA;QACT,gEAAI,CAAA;QACJ,gEAAI,CAAA;QACJ,8EAAW,CAAA;QACX,wEAAQ,CAAA;QACR,gFAAY,CAAA;QACZ,gEAAI,CAAA;QACJ,kEAAK,CAAA;QACL,8DAAG,CAAA;QACH,sEAAO,CAAA;QACP,0EAAS,CAAA;QACT,kGAAqB,CAAA;QACrB,kGAAqB,CAAA;QACrB,kGAAqB,CAAA;IACvB,CAAC,EA9BWU,4BAAoB,KAApBA,4BAAoB,QA8B/B;;QAuBoC,mCAAS;QAA9C;YAAA,qEA0DC;YA/CC,YAAM,GAAG,IAAI,CAAC;;SA+Cf;QAzCC,iCAAO,GAAP,UAAQ,KAAsB;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAI,0CAAa;iBAAjB;gBACE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBACzC,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAS,CAAC;aACpF;;;WAAA;QAED,qCAAW,GAAX;YACE,OAAO;gBACLA,4BAAoB,CAAC,IAAI;gBACzBA,4BAAoB,CAAC,YAAY;gBACjCA,4BAAoB,CAAC,kBAAkB;gBACvCA,4BAAoB,CAAC,SAAS;gBAC9BA,4BAAoB,CAAC,qBAAqB;aAC3C,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,iCAAO,GAAP,UAAQ,GAAoB;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxD,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC9B,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;SACjC;QAGM,uBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,sBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;4CACsB;QAGlC;YADC,UAAU;2CACsB;QAzDtB,eAAe;YApB3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,SAAS,CAACA,4BAAoB,CAAC;iBACzC;aACF,CAAC;WACW,eAAe,CA0D3B;QAAD,sBAAC;KAAA,CA1DoC,SAAS;;;QCXH,yCAAS;QAApD;;SA4IC;QAtGC,sBAAI,qCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,wCAAK;iBAAT;gBACE,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACpF;;;WAAA;QAGD,sBAAI,6CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;aACrF;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACnC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC7D;;;WAAA;QAED,sBAAI,qDAAkB;iBAAtB;gBACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACpC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC9D;;;WAAA;QAED,sBAAI,4CAAS;iBAAb;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;aAC/D;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC/C,OAAO,CAAC,CAAC;iBACV;gBACD,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;aACjE;;;WAAA;QAED,sBAAI,iDAAc;iBAAlB;gBACE,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;aACzE;;;WAAA;QAED,sBAAI,2DAAwB;iBAA5B;gBACE,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACzD,OAAO,CAAC,CAAC;iBACV;gBACD,IAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC;aAC3E;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACrD;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;aACnE;;;WAAA;QAED,sBAAI,2DAAwB;iBAA5B;gBACE,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,IAAI,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC;aAC7E;;;WAAA;QAED,sBAAI,oDAAiB;iBAArB;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;aACzI;;;WAAA;QAGD,sBAAI,6CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;aACrF;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACrC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aAC/D;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACnD,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;aAC7E;;;WAAA;QAED,sBAAI,2DAAwB;iBAA5B;gBACE,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC7D,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC;aACvF;;;WAAA;QAED,sBAAI,8CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;aACvC;;;WAAA;QAGM,6BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,4BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;kDACqB;QAGjC;YADC,UAAU;iDACqB;QA3IrB,qBAAqB;YA3CjC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,WAAW;oBACvB,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,qBAAqB,EAAE,qBAAqB;oBAC5C,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,sBAAsB,EAAE,sBAAsB;oBAC9C,2BAA2B,EAAE,0BAA0B;oBACvD,mBAAmB,EAAE,mBAAmB;oBACxC,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,cAAc,EAAE,eAAe;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,WAAW;oBACvB,kBAAkB,EAAE,kBAAkB;oBACtC,sBAAsB,EAAE,qBAAqB;oBAC7C,uBAAuB,EAAE,sBAAsB;oBAC/C,sBAAsB,EAAE,qBAAqB;iBAC9C;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,qBAAqB,CA4IjC;QAAD,4BAAC;KAAA,CA5I0C,SAAS;;;QCoCb,qCAAS;QAAhD;;SAkHC;QApDC,sBAAI,0CAAW;iBAAf;gBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,OAAO,CAAC;iBAChB;gBACD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAS,CAAC;aAChF;;;WAAA;QAED,sBAAI,mDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1D;;;WAAA;QAED,sBAAI,uDAAwB;iBAA5B;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;aAC9D;;;WAAA;QAED,sBAAI,0DAA2B;iBAA/B;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;aACjE;;;WAAA;QAED,sBAAI,2DAA4B;iBAAhC;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;aAClE;;;WAAA;QAED,sBAAI,2DAA4B;iBAAhC;gBACE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACxB,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;aAChH;;;WAAA;QAED,sBAAI,qDAAsB;iBAA1B;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC5D;;;WAAA;QAED,sBAAI,sDAAuB;iBAA3B;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;aAC7D;;;WAAA;QAED,sBAAI,sDAAuB;iBAA3B;gBACE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACxB,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;aACrE;;;WAAA;QAGM,yBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,wBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;8CACqB;QAGjC;YADC,UAAU;6CACqB;QAjHrB,iBAAiB;YAzE7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,oBAAoB,EAAE,oBAAoB;oBAC1C,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,oBAAoB;oBAC3C,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,SAAS;oBAClB,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,qBAAqB,EAAE,qBAAqB;oBAC5C,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,qBAAqB;oBAC5C,qBAAqB,EAAE,qBAAqB;oBAC5C,qBAAqB,EAAE,qBAAqB;oBAC5C,mBAAmB,EAAE,mBAAmB;oBACxC,sBAAsB,EAAE,sBAAsB;oBAC9C,2BAA2B,EAAE,0BAA0B;oBACvD,mBAAmB,EAAE,mBAAmB;oBACxC,2BAA2B,EAAE,0BAA0B;oBACvD,2BAA2B,EAAE,0BAA0B;oBACvD,2BAA2B,EAAE,0BAA0B;oBACvD,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,cAAc;oBAC7B,mBAAmB,EAAE,mBAAmB;oBACxC,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,cAAc,EAAE,eAAe;oBAC/B,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,WAAW;oBACvB,kBAAkB,EAAE,kBAAkB;oBACtC,sBAAsB,EAAE,qBAAqB;oBAC7C,uBAAuB,EAAE,sBAAsB;oBAC/C,sBAAsB,EAAE,qBAAqB;iBAC9C;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,YAAY;oBAC1B,kBAAkB,EAAE,kBAAkB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,iBAAiB,CAkH7B;QAAD,wBAAC;KAAA,CAlHsC,SAAS;;;QCpED,6CAAS;QAAxD;;SASC;QAJQ,iCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,gCAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;sDACqB;QAGjC;YADC,UAAU;qDACqB;QARrB,yBAAyB;YAVrC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,iBAAiB;oBACvB,cAAc,EAAE,iBAAiB;iBAClC;aACF,CAAC;WACW,yBAAyB,CASrC;QAAD,gCAAC;KAAA,CAT8C,SAAS;;;QCHnB,mCAAW;QAC9C,yBACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,iCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,MAAG,CAAC,CAAC,IAAI,CAC/GL,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC9HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACzD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC9HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACrD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,iCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,WAAQ,CAAC,CAAC,IAAI,CACpHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC/C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc,EAAE,MAA+B;;;oBACpE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,oBAAiB,EAAE;4BACzH,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;4BACjD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAAmB,GAAzB,UAA0B,MAAc,EAAE,MAA+B,EAAE,IAAqC;;;oBAC9G,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,4BAAyB,EAAE;4BACjI,MAAM,EAAE,IAAIA,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC;4BAC/E,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBA1CuBC,eAAU;oBACP,aAAa;;;QAH7B,eAAe;YAD3BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,eAAe,CA6C3B;8BAxDD;KAwDC,CA7CoC,WAAW;;;ICPhD,WAAY,oBAAoB;QAC9B,2EAAc,CAAA;QACd,yEAAS,CAAA;QACT,yEAAS,CAAA;QACT,+EAAY,CAAA;QACZ,+EAAY,CAAA;QACZ,+DAAI,CAAA;QACJ,mEAAM,CAAA;QACN,+EAAY,CAAA;QACZ,+FAAoB,CAAA;QACpB,gFAAY,CAAA;QACZ,gEAAI,CAAA;QACJ,gFAAY,CAAA;QACZ,gEAAI,CAAA;QACJ,8EAAW,CAAA;QACX,wEAAQ,CAAA;QACR,sFAAe,CAAA;QACf,wEAAQ,CAAA;QACR,kEAAK,CAAA;QACL,4EAAU,CAAA;QACV,sEAAO,CAAA;IACT,CAAC,EArBWW,4BAAoB,KAApBA,4BAAoB,QAqB/B;;QAsBoC,mCAAS;QAA9C;YAAA,qEAwDC;YA7CC,YAAM,GAAG,IAAI,CAAC;;SA6Cf;QAvCC,iCAAO,GAAP,UAAQ,KAAsB;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAI,0CAAa;iBAAjB;gBACE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBACzC,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAS,CAAC;aACpF;;;WAAA;QAED,qCAAW,GAAX;YACE,OAAO,CAACA,4BAAoB,CAAC,IAAI,EAAEA,4BAAoB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAClG;QAED,iCAAO,GAAP,UAAQ,GAAoB;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxD,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC9B,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;SACjC;QAED,oCAAU,GAAV;YACE,OAAO,CAACA,4BAAoB,CAAC,IAAI,EAAEA,4BAAoB,CAAC,WAAW,EAAEA,4BAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SAChI;QAGM,uBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,sBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;4CACsB;QAGlC;YADC,UAAU;2CACsB;QAvDtB,eAAe;YApB3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,SAAS,CAACA,4BAAoB,CAAC;iBACzC;aACF,CAAC;WACW,eAAe,CAwD3B;QAAD,sBAAC;KAAA,CAxDoC,SAAS;;;QChBH,yCAAS;QAApD;;SAuGC;QA7EC,sBAAI,qCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,wCAAK;iBAAT;gBACE,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACpF;;;WAAA;QAGD,sBAAI,6CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACrD;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACnC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC7D;;;WAAA;QAED,sBAAI,qDAAkB;iBAAtB;gBACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACpC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC9D;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;aACnE;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC5C,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aACtE;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACrD;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;aACnE;;;WAAA;QAED,sBAAI,oDAAiB;iBAArB;gBACE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;aACnE;;;WAAA;QAED,sBAAI,6CAAU;iBAAd;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aACrD;;;WAAA;QAED,sBAAI,+CAAY;iBAAhB;gBACE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACrC,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aAC/D;;;WAAA;QAED,sBAAI,sDAAmB;iBAAvB;gBACE,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACnD,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;aAC7E;;;WAAA;QAED,sBAAI,8CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;aACvC;;;WAAA;QAGM,6BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,4BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;kDACqB;QAGjC;YADC,UAAU;iDACqB;QAtGrB,qBAAqB;YA5BjC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,aAAa,EAAE,cAAc;oBAC7B,cAAc,EAAE,eAAe;oBAC/B,qBAAqB,EAAE,oBAAoB;oBAC3C,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,qBAAqB;oBAC5C,WAAW,EAAE,YAAY;oBACzB,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,aAAa;oBAC1B,SAAS,EAAE,UAAU;oBACrB,gBAAgB,EAAE,gBAAgB;oBAClC,SAAS,EAAE,WAAW;oBACtB,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;iBACxB;aACF,CAAC;WACW,qBAAqB,CAuGjC;QAAD,4BAAC;KAAA,CAvG0C,SAAS;;;QCqCb,qCAAS;QAAhD;;SAkEC;QAlBC,sBAAI,0CAAW;iBAAf;gBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,OAAO,CAAC;iBAChB;gBACD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAS,CAAC;aAChF;;;WAAA;QAED,sBAAI,mDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1D;;;WAAA;QAGM,yBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,wBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;8CACqB;QAGjC;YADC,UAAU;6CACqB;QAjErB,iBAAiB;YA3D7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,aAAa,EAAE,cAAc;oBAC7B,oBAAoB,EAAE,oBAAoB;oBAC1C,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,aAAa,EAAE,cAAc;oBAC7B,cAAc,EAAE,eAAe;oBAC/B,qBAAqB,EAAE,oBAAoB;oBAC3C,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,qBAAqB;oBAC5C,WAAW,EAAE,YAAY;oBACzB,KAAK,EAAE,OAAO;oBACd,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,gBAAgB,EAAE,gBAAgB;oBAClC,SAAS,EAAE,WAAW;oBACtB,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,qBAAqB;oBAC5C,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,qBAAqB;oBAC5C,qBAAqB,EAAE,qBAAqB;oBAC5C,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,YAAY;oBACzB,mBAAmB,EAAE,mBAAmB;oBACxC,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,YAAY;oBAC1B,kBAAkB,EAAE,kBAAkB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,iBAAiB,CAkE7B;QAAD,wBAAC;KAAA,CAlEsC,SAAS;;;QCtDD,6CAAS;QAAxD;;SASC;QAJQ,iCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,gCAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;sDACqB;QAGjC;YADC,UAAU;qDACqB;QARrB,yBAAyB;YAVrC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,iBAAiB;oBACvB,cAAc,EAAE,iBAAiB;iBAClC;aACF,CAAC;WACW,yBAAyB,CASrC;QAAD,gCAAC;KAAA,CAT8C,SAAS;;;QCHnB,mCAAW;QAC9C,yBACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,iCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,MAAG,CAAC,CAAC,IAAI,CAC/GN,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC9HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACzD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC9HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACrD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,iCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,WAAQ,CAAC,CAAC,IAAI,CACpHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC/C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAgB,GAAtB,UAAuB,MAAc,EAAE,MAA+B;;;oBACpE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,oBAAiB,EAAE;4BACzH,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;4BACjD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAAmB,GAAzB,UAA0B,MAAc,EAAE,MAA+B,EAAE,IAAqC;;;oBAC9G,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,yCAAoC,MAAM,4BAAyB,EAAE;4BACjI,MAAM,EAAE,IAAIA,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC;4BAC/E,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBA1CuBC,eAAU;oBACP,aAAa;;;QAH7B,eAAe;YAD3BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,eAAe,CA6C3B;8BAxDD;KAwDC,CA7CoC,WAAW;;;QCQZ,kCAAS;QAA7C;;SAaC;QAJQ,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QAZrB,cAAc;YAf1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,cAAc,CAa1B;QAAD,qBAAC;KAAA,CAbmC,SAAS;;;QCT7C;SAWC;QAJQ,6BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,4BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;kDACqB;QAGjC;YADC,UAAU;iDACqB;QAVrB,qBAAqB;YARjC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,oBAAoB,EAAE,oBAAoB;oBAC1C,mBAAmB,EAAE,mBAAmB;iBACzC;aACF,CAAC;WACW,qBAAqB,CAWjC;QAAD,4BAAC;KAXD,IAWC;;QAiBuC,sCAAS;QAAjD;;SAeC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAdrB,kBAAkB;YAf9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,WAAW,EAAE,YAAY;oBACzB,oBAAoB,EAAE,oBAAoB;oBAC1C,mBAAmB,EAAE,mBAAmB;oBACxC,YAAY,EAAE,aAAa;oBAC3B,qBAAqB,EAAE,qBAAqB;oBAC5C,qBAAqB,EAAE,qBAAqB;oBAC5C,MAAM,EAAE,QAAQ;oBAChB,mBAAmB,EAAE,mBAAmB;iBACzC;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC;iBACzC;aACF,CAAC;WACW,kBAAkB,CAe9B;QAAD,yBAAC;KAAA,CAfuC,SAAS;;;ICpCjD,WAAY,uBAAuB;QACjC,qEAAI,CAAA;QACJ,mFAAW,CAAA;QACX,yEAAM,CAAA;IACR,CAAC,EAJWY,+BAAuB,KAAvBA,+BAAuB,QAIlC;;QAeoC,mCAAS;QAA9C;;SAYC;QAJQ,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAXrB,eAAe;YAb3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,cAAc;oBAC7B,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,SAAS,CAACA,+BAAuB,CAAC;iBAC3C;aACF,CAAC;WACW,eAAe,CAY3B;QAAD,sBAAC;KAAA,CAZoC,SAAS;;;QCoCL,uCAAS;QAAlD;;SAkDC;QAbC,sBAAI,qDAAoB;iBAAxB;gBACE,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;aAC1D;;;WAAA;QAED,sBAAI,8CAAa;iBAAjB;gBACE,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAC/C;;;WAAA;QAGM,2BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,0BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;gDACqB;QAGjC;YADC,UAAU;+CACqB;QAjDrB,mBAAmB;YAhD/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,cAAc;oBAC7B,oBAAoB,EAAE,oBAAoB;oBAC1C,eAAe,EAAE,gBAAgB;oBACjC,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,WAAW;oBACvB,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,YAAY;oBACzB,YAAY,EAAE,aAAa;oBAC3B,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,eAAe;oBAC/B,QAAQ,EAAE,UAAU;oBACpB,cAAc,EAAE,eAAe;oBAC/B,kBAAkB,EAAE,mBAAmB;oBACvC,eAAe,EAAE,gBAAgB;oBACjC,cAAc,EAAE,eAAe;oBAC/B,oBAAoB,EAAE,oBAAoB;oBAC1C,wBAAwB,EAAE,wBAAwB;oBAClD,qBAAqB,EAAE,qBAAqB;oBAC5C,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,YAAY;oBAC1B,kBAAkB,EAAE,kBAAkB;oBACtC,cAAc,EAAE,cAAc;oBAC9B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,mBAAmB,CAkD/B;QAAD,0BAAC;KAAA,CAlDwC,SAAS;;;QChCT,uCAAS;QAAlD;;SA2BC;QAZC,sBAAI,gDAAe;iBAAnB;gBACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,CAAC;iBACV;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aACrE;;;WAAA;QAGM,2BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,0BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;gDACqB;QAGjC;YADC,UAAU;+CACqB;QA1BrB,mBAAmB;YArB/B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,mBAAmB,EAAE,mBAAmB;oBACxC,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,eAAe;oBAC/B,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,eAAe;iBACvB;aACF,CAAC;WACW,mBAAmB,CA2B/B;QAAD,0BAAC;KAAA,CA3BwC,SAAS;;;ICrBlD,WAAY,cAAc;QACxB,mDAAQ,CAAA;QACR,qDAAK,CAAA;IACP,CAAC,EAHWC,sBAAc,KAAdA,sBAAc,QAGzB;;QA2B+B,8BAAS;QAAzC;;SAsBC;QANQ,kBAAO,GAAd,UAAe,IAAS;YACtB,OAAO,SAAS,CAAC;SAClB;QAGM,iBAAM,GAAb,UAAc,IAAS,KAAS;QALhC;YADC,WAAW;uCAGX;QAGD;YADC,UAAU;sCACqB;QArBrB,UAAU;YAzBtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,UAAU;oBACpB,YAAY,EAAE,aAAa;oBAC3B,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,OAAO;oBACd,cAAc,EAAE,eAAe;oBAC/B,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,WAAW;oBACvB,GAAG,EAAE,KAAK;iBACX;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,aAAa,EAAE,IAAI;oBACnB,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC;oBAClC,IAAI,EAAE,SAAS,CAACA,sBAAc,CAAC;iBAChC;aACF,CAAC;WACW,UAAU,CAsBtB;QAAD,iBAAC;KAAA,CAtB+B,SAAS;;;IC5BzC,WAAY,oBAAoB;QAC9B,6EAAe,CAAA;QACf,6EAAW,CAAA;QACX,+DAAI,CAAA;IACN,CAAC,EAJWC,4BAAoB,KAApBA,4BAAoB,QAI/B;;QAqBoC,mCAAS;QAA9C;;SAaC;QAJQ,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAZrB,eAAe;YAnB3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC;oBAClC,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,SAAS,CAACA,4BAAoB,CAAC;iBACvC;aACF,CAAC;WACW,eAAe,CAa3B;QAAD,sBAAC;KAAA,CAboC,SAAS;;IC3B9C,IAAY,eAIX;IAJD,WAAY,eAAe;QACzB,uDAAS,CAAA;QACT,+DAAS,CAAA;QACT,qEAAY,CAAA;IACd,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;IAED,IAAY,qBASX;IATD,WAAY,qBAAqB;QAC/B,yEAAY,CAAA;QACZ,mEAAK,CAAA;QACL,mEAAK,CAAA;QACL,mEAAK,CAAA;QACL,iEAAI,CAAA;QACJ,+EAAW,CAAA;QACX,yEAAQ,CAAA;QACR,uFAAe,CAAA;IACjB,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC;IAcD;QAAgC,8BAAS;QAAzC;;SAmBC;QAbC,sBAAI,4BAAI;iBAIR;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;iBAND,UAAS,KAA6B;gBACpC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;aACrC;;;WAAA;QAOM,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QAlBrB,UAAU;YAZtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,aAAa;iBAC3B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;iBACzD;aACF,CAAC;WACW,UAAU,CAmBtB;QAAD,iBAAC;KAAA,CAnB+B,SAAS;;;QCyDL,kCAAS;QAA7C;;SAsFC;QAdC,sBAAI,uCAAW;iBAAf;gBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,OAAO,CAAC;iBAChB;gBACD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;gBAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAG,OAAS,CAAC;aAChF;;;WAAA;QAGM,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QArFrB,cAAc;YAjF1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,oBAAoB,EAAE,oBAAoB;oBAC1C,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;oBACjC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,MAAM,EAAE,QAAQ;;oBAEhB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,iBAAiB;oBACnC,iBAAiB,EAAE,kBAAkB;oBACrC,wBAAwB,EAAE,wBAAwB;oBAClD,SAAS,EAAE,WAAW;oBACtB,qBAAqB,EAAE,oBAAoB;oBAC3C,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,sBAAsB,EAAE,qBAAqB;oBAC7C,qBAAqB,EAAE,qBAAqB;oBAC5C,eAAe,EAAE,eAAe;oBAChC,UAAU,EAAE,WAAW;oBACvB,gBAAgB,EAAE,gBAAgB;oBAClC,kBAAkB,EAAE,kBAAkB;oBACtC,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,gBAAgB;oBACjC,qBAAqB,EAAE,qBAAqB;oBAC5C,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;;oBAGrB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,YAAY;oBACzB,kBAAkB,EAAE,kBAAkB;oBACtC,eAAe,EAAE,eAAe;oBAChC,mBAAmB,EAAE,mBAAmB;oBACxC,oBAAoB,EAAE,oBAAoB;oBAC1C,QAAQ,EAAE,UAAU;oBACpB,YAAY,EAAE,aAAa;oBAC3B,aAAa,EAAE,cAAc;oBAC7B,cAAc,EAAE,eAAe;oBAC/B,sBAAsB,EAAE,sBAAsB;oBAC9C,YAAY,EAAE,aAAa;oBAC3B,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,iBAAiB;oBACpC,kBAAkB,EAAE,kBAAkB;oBACtC,mBAAmB,EAAE,mBAAmB;oBACxC,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,gBAAgB;oBACnC,kBAAkB,EAAE,kBAAkB;oBACtC,mBAAmB,EAAE,mBAAmB;oBACxC,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,kBAAkB,EAAE,kBAAkB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC;WACW,cAAc,CAsF1B;QAAD,qBAAC;KAAA,CAtFmC,SAAS;;;QCO3C,uBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,+BAAO,GAAb,UAAc,YAAoB;;;oBAChC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,MAAG,CAAC;6BACjG,IAAI,CAACT,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAU,GAAhB,UAAiB,QAAgB,EAAE,KAAa;;;oBAC9C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,qBAAgB,KAAK,MAAG,CAAC;6BAC9G,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAO,GAAb,UAAc,YAAoB;;;oBAChC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,WAAQ,CAAC;6BACtG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,iCAAS,GAAf,UAAgB,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAoC;;;;oBAChG,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACvD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChC,IAAI,OAAO,EAAE;wBACX,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAEQ,4BAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;yBACnE;wBACD,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/C;wBACD,IAAI,OAAO,CAAC,cAAc,EAAE;4BAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC3E;qBACF;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,aAAU,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BACvI,IAAI,CAACT,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACnB,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC3C,IAAC,CAAC,CAAC;6BACH,SAAS,EAAE,EAAC;;;SAChB;QAEK,2CAAmB,GAAzB,UAA0B,YAAoB;;;oBAC5C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,aAAU,CAAC,CAAC,IAAI,CAC9GA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAC3C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,kCAAU,GAAhB,UAAiB,YAAoB;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,cAAW,CAAC,CAAC,IAAI,CAC/GA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACvC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,uCAAe,GAArB,UAAsB,SAAiB,EAAE,aAAsB;;;;oBACzD,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,IAAI,aAAa,EAAE;wBACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;qBACtD;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAA8B,SAAS,YAAS,EAC5G,EAAC,MAAM,QAAA,EAAC,CACT,CAAC,IAAI,CACJD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,sCAAc,GAApB,UAAqB,YAAoB;;;oBACvC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,mBAAgB,CAAC;6BAC9G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAQ,GAAd,UAAe,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAoC;YAApC,wBAAA,EAAA,YAAoC;;;;oBAC/F,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE;wBACR,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC9C;oBACD,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,YAAS,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BACtI,IAAI,CAACD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACnB,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAChC,IAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAC;;;SACpB;QAEK,iCAAS,GAAf,UAAgB,YAAoB;;;oBAClC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,aAAU,CAAC;6BACxG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAQ,GAAd,UAAe,YAAoB,EAAE,OAAgB;;;;oBAC/C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,IAAI,OAAO,EAAE;wBACX,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACrD;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,YAAS,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BACjH,IAAI,CAACD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,qCAAa,GAAnB,UAAoB,YAAoB;;;oBACtC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,kBAAe,CAAC;6BAC7G,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACxD,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAW,GAAjB,UAAkB,gBAAwB;;;oBACxC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,gBAAgB,MAAG,CAAC;6BAC1G,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAW,GAAjB,UAAkB,MAAc;;;oBAC9B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAgC,MAAM,MAAG,CAAC;6BACrG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACvD,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAY,GAAlB,UAAmB,gBAAwB;;;oBACzC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAgC,gBAAgB,YAAS,CAAC;6BACrH,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,qDAA6B,GAAnC,UAAoC,OAAgC;;;;oBAC9D,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAuC,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACnHD,aAAG,CAAC,UAAC,MAA8B;;;gCACjC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oCAAlC,IAAM,GAAG,WAAA;oCACZ,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iCACxD;;;;;;;;;4BACD,OAAO,MAAM,CAAC;yBACf,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,qDAA6B,GAAnC,UAAoC,OAAgC;;;;oBAC9D,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAuC,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACnHD,aAAG,CAAC,UAAC,MAA8B;;;gCACjC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oCAAlC,IAAM,GAAG,WAAA;oCACZ,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iCACxD;;;;;;;;;4BACD,OAAO,MAAM,CAAC;yBACf,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,iDAAyB,GAA/B,UAAgC,OAAgC;;;;oBAC1D,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAmC,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC/GD,aAAG,CAAC,UAAC,MAA8B;;;gCACjC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oCAAlC,IAAM,GAAG,WAAA;oCACZ,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iCACpD;;;;;;;;;4BACD,OAAO,MAAM,CAAC;yBACf,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,mDAA2B,GAAjC,UAAkC,OAAgC;;;;oBAC5D,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,wCAAqC,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACjHD,aAAG,CAAC,UAAC,MAA8B;;;gCACjC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oCAAlC,IAAM,GAAG,WAAA;oCACZ,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iCACtD;;;;;;;;;4BACD,OAAO,MAAM,CAAC;yBACf,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,mDAA2B,GAAjC,UAAkC,OAAgC;;;;oBAC5D,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,wCAAqC,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACjHD,aAAG,CAAC,UAAC,MAA8B;;;gCACjC,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oCAAlC,IAAM,GAAG,WAAA;oCACZ,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iCACtD;;;;;;;;;4BACD,OAAO,MAAM,CAAC;yBACf,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8CAAsB,GAA5B,UAA6B,OAA0B;;;;oBACjD,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA+B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAChID,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC/C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8CAAsB,GAA5B,UAA6B,OAA0B;;;;oBACjD,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA+B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAChID,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC/C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,0CAAkB,GAAxB,UAAyB,OAA0B;;;;oBAC7C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA2B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAC5HD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC3C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAoB,GAA1B,UAA2B,OAA0B;;;;oBAC/C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA6B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAC9HD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC7C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAoB,GAA1B,UAA2B,OAA0B;;;;oBAC/C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA6B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAC9HD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC7C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,yCAAiB,GAAvB,UAAwB,OAA0B;;;;oBAC5C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,6BAA0B,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CAC3HD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC1C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8CAAsB,GAA5B,UAA6B,gBAAwB;;;oBACnD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,gBAAgB,YAAS,CAAC,CAAC,IAAI,CACtHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAClD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,oCAAY,GAAlB,UAAmB,YAAoB;;;oBACrC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,iBAAc,CAAC,CAAC,IAAI,CAClHA,aAAG,CAAC,UAAC,IAAS,IAAK,OAAA,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,qBAAqB,CAAC,IAAI,CAAC,GAAA,CAAC,GAAA,CAAC,CACtF,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,oDAA4B,GAAlC,UAAmC,gBAAwB;;;oBACzD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,gBAAgB,kBAAe,CAAC,CAAC,IAAI,CAC5HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC1C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,oDAA4B,GAAlC,UAAmC,oBAA4B;;;oBAC7D,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAgC,oBAAoB,kBAAe,CAAC,CAAC,IAAI,CACrIA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC1C,CAAC,SAAS,EAAE,EAAC;;;SACf;;oBA/RqBE,eAAU;oBACP,aAAa;;;QAH3B,aAAa;YADzBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,aAAa,CAkSzB;4BAlYD;KAgGA,IAkSC;aAEe,iBAAiB,CAAC,OAA+B,EAAE,MAAkB;QACnF,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClF;QACD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAEJ,oBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAAA,oBAAY,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;YAC5D,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClF;QACD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5E;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3D;QACD,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;YACjE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SAClE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;aAEe,qBAAqB,CAAC,OAAyB,EAAE,MAAkB;;;YACjF,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE;gBAAnC,IAAM,GAAG,WAAA;gBACZ,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;oBAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxC;aACF;;;;;;;;;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SAC/D;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACzE;QAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SACnE;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;aAEe,4BAA4B,CAAC,OAAgC,EAAE,MAAkB;;;YAC/F,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE;gBAAnC,IAAM,GAAG,WAAA;gBACZ,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;oBAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxC;aACF;;;;;;;;;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YAClC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;SAC/D;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACzD;QACD,OAAO,MAAM,CAAC;IAChB;;;QCzcmC,iCAAS;QAA5C;;SAYC;QAJQ,qBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,oBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;0CACqB;QAGjC;YADC,UAAU;yCACqB;QAXrB,aAAa;YAZzB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;WACW,aAAa,CAYzB;QAAD,oBAAC;KAAA,CAZkC,SAAS;;;ICZ5C,WAAY,cAAc;QACxB,mCAAiB,CAAA;QACjB,qCAAmB,CAAA;QACnB,iCAAe,CAAA;IACjB,CAAC,EAJWmB,sBAAc,KAAdA,sBAAc,QAIzB;;QAgBiC,gCAAS;QAA3C;;SAgBC;QANQ,oBAAO,GAAd,UAAe,IAAS;SACvB;QAGM,mBAAM,GAAb,UAAc,IAAS;SACtB;QALD;YADC,WAAW;yCAEX;QAGD;YADC,UAAU;wCAEV;QAfU,YAAY;YAdxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,SAAS,CAACA,sBAAc,CAAC;iBACpC;aACF,CAAC;WACW,YAAY,CAgBxB;QAAD,mBAAC;KAAA,CAhBiC,SAAS;;;QCXP,kCAAS;QAA7C;;SASC;QAJQ,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QARrB,cAAc;YAT1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;iBACX;aACF,CAAC;WACW,cAAc,CAS1B;QAAD,qBAAC;KAAA,CATmC,SAAS;;;QCW3C,mBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,8BAAU,GAAhB,UAAiB,KAAa;;;oBAC5B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,KAAK,MAAG,CAAC,CAAC,IAAI,CAC5FV,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACtC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,+BAAW,GAAjB,UAAkB,MAAc;;;oBAC9B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,MAAM,MAAG,CAAC,CAAC,IAAI,CACvGA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACtC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,kCAAc,GAApB,UAAqB,QAAgB,EAAE,OAA+B;;;;oBAChE,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,IAAI,OAAO,EAAE;wBACX,IAAI,OAAO,CAAC,QAAQ,EAAE;4BACpB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAAnB,0BAAkB,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;yBAC7F;qBACF;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,kBAAe,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACrHkB,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC1C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,6BAAS,GAAf,UAAgB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAoC;;;;oBAC5F,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACvD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChC,IAAI,OAAO,EAAE;wBACX,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAEQ,4BAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;yBACnE;wBACD,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/C;wBACD,IAAI,OAAO,CAAC,cAAc,EAAE;4BAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC3E;qBACF;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,aAAU,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CACrIT,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC3C,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAoB,GAA1B,UAA2B,QAAgB;;;oBACzC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,yBAAsB,CAAC,CAAC,IAAI,CAClHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAChD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4BAAQ,GAAd,UAAe,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAA+B;;;;oBACtF,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE;wBACR,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC9C;oBACD,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,YAAS,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,IAAI,CACpID,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAChC,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8BAAU,GAAhB,UAAiB,QAAgB,EAAE,IAAQ,EAAE,IAAS,EAAE,SAAmB,EAAE,OAAkB;YAA5D,qBAAA,EAAA,QAAQ;YAAE,qBAAA,EAAA,SAAS;;;;oBAC9C,MAAM,GAAG,IAAIC,eAAU,EAAE;yBAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBAC5B,GAAG,CAAC,YAAY,EAAE,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;yBACvC,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;oBACpD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,yBAAsB,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BAC3I,IAAI,CAACD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACnB,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC5C,IAAC,CAAC,CAAC;6BACH,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAW,GAAjB,UAAkB,QAAgB;;;oBAChC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,eAAY,CAAC,CAAC,IAAI,CACxGA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC7C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8BAAU,GAAhB,UAAiB,QAAgB,EAAE,QAAyB;;;;oBACpD,MAAM,GAAG,QAAQ,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAIA,eAAU,EAAE,CAAC;oBAExF,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,cAAW,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACjHD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC5C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,6BAAS,GAAf,UAAgB,QAAgB;;;oBAC9B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,aAAU,CAAC,CAAC,IAAI,CACtGA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC3C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,sCAAkB,GAAxB,UAAyB,QAAgB;;;oBACvC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,uBAAoB,CAAC;6BAC1G,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAY,GAAlB,UAAmB,QAAgB;;;oBACjC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,gBAAa,CAAC,CAAC,IAAI,CACzGA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC9C,CAAC,SAAS,EAAE,EAAC;;;SACf;;oBAlHqBE,eAAU;oBACP,aAAa;;;QAH3B,SAAS;YADrBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,SAAS,CAqHrB;wBA3ID;KAsBA;;;QCbE,uBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,yCAAiB,GAAvB,UAAwB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,IAA0C;YAA1C,qBAAA,EAAA,OAAuBa,sBAAc,CAAC,IAAI;;;;oBACxG,MAAM,GAAG,IAAIP,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACzD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBAC5B,GAAG,CAAC,MAAM,EAAEO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,WAAQ,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BAC7H,IAAI,CAACR,aAAG,CAAC,UAAA,QAAQ,IAAI,QAAC;4BACrB,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC5C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;yBACxC,IAAC,CAAC,CAAC;6BACH,SAAS,EAAE,EAAC;;;SAChB;QAEK,yCAAiB,GAAvB,UAAwB,QAAgB;;;oBACtC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,wBAAqB,CAAC;6BAClH,IAAI,CAACA,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAA,CAAC,CAAC;6BAC/F,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAAqB,GAA3B,UAA4B,QAAgB;;;oBAC1C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,wBAAqB,CAAC;6BAClH,IAAI,CAACA,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAW,GAAjB,UAAkB,MAAc;;;oBAC9B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,MAAG,CAAC;6BAC5F,IAAI,CAACA,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAAqB,GAA3B,UAA4B,YAAoB;;;oBAC9C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,WAAQ,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC;6BAC7H,IAAI,CAACA,aAAG,CAAC,UAAA,QAAQ,IAAI,QAAC;4BACrB,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC5C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;yBACxC,IAAC,CAAC,CAAC;6BACH,SAAS,EAAE,EAAC;;;SAChB;;oBA1CqBE,eAAU;oBACP,aAAa;;;QAH3B,aAAa;YADzBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,aAAa,CA6CzB;4BArDD;KAQA;;;QCCE,yBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAED,iCAAO,GAAP,UAAQ,cAAsB;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAAyB,cAAc,MAAG,CAAC,CAAC,IAAI,CAC5GK,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CACxC,CAAC,SAAS,EAAE,CAAC;SACf;QAED,4CAAkB,GAAlB,UAAmB,cAAsB,EAAE,QAAiB;YAC1D,IAAI,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;YAC9B,IAAI,QAAQ,EAAE;gBACZ,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvD;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAAyB,cAAc,uBAAoB,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACvID,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAC9C,CAAC,SAAS,EAAE,CAAC;SACf;;oBAnBqBE,eAAU;oBACP,aAAa;;;QAH3B,eAAe;YAD3BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,eAAe,CAsB3B;8BA9BD;KAQA;;;QCaE,kBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,2BAAQ,GAAd,UAAe,OAAe;;;oBAC5B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAiB,OAAO,MAAG,CAAC,CAAC,IAAI,CAC7FK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACzC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,yCAAsB,GAA5B,UAA6B,YAAoB,EAAE,IAAY,EAAE,IAAY,EAAE,OAA0B;;;;oBACnG,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxF,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,iBAAc,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACjJD,aAAG,CAAC,UAAA,QAAQ;4BACV,OAAO;gCACL,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gCAC5C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAClC,CAAC;yBACH,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,qCAAkB,GAAxB,UAAyB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAA0B;;;;oBAC3F,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxF,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,iBAAc,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACzID,aAAG,CAAC,UAAA,QAAQ;4BACV,OAAO;gCACL,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gCAC5C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAClC,CAAC;yBACH,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,iCAAc,GAApB,UAAqB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAA0B;YAA1B,wBAAA,EAAA,YAA0B;;;;oBACvF,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxF,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;qBACtD;oBACD,IAAI,OAAO,CAAC,IAAI,EAAE;wBAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC3C;oBACD,IAAI,OAAO,CAAC,MAAM,EAAE;wBAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC3D;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,YAAS,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BAC9H,IAAI,CAACD,aAAG,CAAC,UAAA,QAAQ,IAAI,QAAC;4BACrB,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC5C,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;yBACvC,IAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAC;;;SACpB;QAEK,mCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,MAAM,MAAG,CAAC,CAAC,IAAI,CACjGA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,+BAAY,GAAlB,UAAmB,MAAc;;;oBAC/B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA2B,MAAM,sBAAmB,CAAC,CAAC,IAAI,CACtHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACzC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4BAAS,GAAf,UAAgB,QAAkB;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAoB,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;6BACjG,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAa,GAAnB,UAAoB,OAAe;;;oBACjC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAiB,OAAO,eAAY,EAAC,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC;6BACvH,SAAS,EAAE,EAAC;;;SAChB;;oBA9EqBE,eAAU;oBACP,aAAa;;;QAH3B,QAAQ;YADpBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,QAAQ,CAiFpB;uBArGD;KAoBA,IAiFC;aAEe,qBAAqB,CAAC,OAAyB,EAAE,MAAkB;QACjF,IAAI,OAAO,EAAE;YACX,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,cAAc,EAAE;gBAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC3E;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC3D;YACD,IAAI,OAAO,CAAC,iBAAiB,EAAE;gBAC7B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;aAClF;YACD,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACjE;YACD,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;YACD,IAAI,OAAO,CAAC,YAAY,EAAE;gBACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAEJ,oBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;aAC7D;YACD,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aACnE;SACF;QACD,OAAO,MAAM,CAAC;IAChB;;;ICjIA,WAAY,YAAY;QACtB,+CAAQ,CAAA;QACR,mDAAM,CAAA;QACN,uDAAQ,CAAA;IACV,CAAC,EAJWoB,oBAAY,KAAZA,oBAAY,QAIvB;;QAQgC,+BAAS;QAA1C;;SASC;QAJQ,mBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,kBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;wCACqB;QAGjC;YADC,UAAU;uCACqB;QARrB,WAAW;YANvB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;iBACb;aACF,CAAC;WACW,WAAW,CASvB;QAAD,kBAAC;KAAA,CATgC,SAAS,GASzC;;QAa+B,8BAAS;QAAzC;;SAWC;QAJQ,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QAVrB,UAAU;YAXtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,QAAQ;iBAClB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;iBACX;aACF,CAAC;WACW,UAAU,CAWtB;QAAD,iBAAC;KAAA,CAX+B,SAAS,GAWxC;;QAyByB,wBAAS;QAAnC;YAAA,qEA+DC;YAlDC,yBAAmB,GAA8C,EAAE,CAAC;;SAkDrE;QAhDC,sBAAI,0BAAQ;iBAMZ;gBACE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBARD,UAAa,KAAoB;gBAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,0BAA0B,EAAE,CAAC;iBACnC;aACF;;;WAAA;QAKD,sBAAI,yBAAO;iBAMX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;iBARD,UAAY,KAAmB;gBAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC,0BAA0B,EAAE,CAAC;iBACnC;aACF;;;WAAA;QAKD,yCAA0B,GAA1B;YAAA,iBAqBC;YApBC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACzB,OAAO;aACR;YAED,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,GAAA,CAAC,CAAC;YACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI;gBACtD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACzC,OAAO,GAAG,CAAC;iBACZ;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACzB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC1B;gBACD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC;aACZ,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,QAAC;gBACrD,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;aAChH,IAAC,CAAC;iBACA,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;SACnD;QAGM,YAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,WAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iCACqB;QAGjC;YADC,UAAU;gCACqB;QA9DrB,IAAI;YAvBhB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,aAAa;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,gBAAgB;oBACjC,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAACA,oBAAY,CAAC;oBAC/B,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,IAAI,CA+DhB;QAAD,WAAC;KAAA,CA/DyB,SAAS;;;QC9CH,8BAAS;QAAzC;;SAoBC;QAJQ,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QAnBrB,UAAU;YAvBtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,YAAY;oBACzB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,eAAe;oBAChC,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,aAAa;iBACxB;aACF,CAAC;WACW,UAAU,CAoBtB;QAAD,iBAAC;KAAA,CApB+B,SAAS;;;ICvBzC,WAAY,gBAAgB;QAC1B,+DAAY,CAAA;QACZ,+DAAQ,CAAA;IACV,CAAC,EAHWC,wBAAgB,KAAhBA,wBAAgB,QAG3B;;QAgB+B,8BAAS;QAAzC;;SAYC;QAJQ,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QAXrB,UAAU;YAdtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,SAAS,CAACA,wBAAgB,CAAC;iBACpC;aACF,CAAC;WACW,UAAU,CAYtB;QAAD,iBAAC;KAAA,CAZ+B,SAAS;;;ICvBzC,WAAY,cAAc;QACxB,2DAAY,CAAA;QACZ,qDAAS,CAAA;IACX,CAAC,EAHWC,sBAAc,KAAdA,sBAAc;;;QCEb,yBAAyB;QACpC,GAACA,sBAAc,CAAC,QAAQ,IAAG,YAAY;QACvC,GAACA,sBAAc,CAAC,KAAK,IAAG,QAAQ;;;;QCkBH,6BAAS;QAAxC;;SA0BC;QAhBC,sBAAI,2BAAI;iBAAR;gBACE,IAAI,IAAI,CAAC,SAAS,KAAKA,sBAAc,CAAC,KAAK,EAAE;oBAC3C,OAAO,IAAI,CAAC,eAAe,CAAC;iBAC7B;gBACD,OAAO,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClD;;;WAAA;QAED,sBAAI,+BAAQ;iBAAZ;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;aACvD;;;WAAA;QAGM,iBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,gBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;sCACqB;QAGjC;YADC,UAAU;qCACqB;QAzBrB,SAAS;YAjBrB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,iBAAiB;oBACpC,WAAW,EAAE,aAAa;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,SAAS,CAACA,sBAAc,CAAC;oBACpC,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,aAAa;iBACxB;aACF,CAAC;WACW,SAAS,CA0BrB;QAAD,gBAAC;KAAA,CA1B8B,SAAS;;;ICpBxC,WAAY,uBAAuB;QACjC,6EAAY,CAAA;QACZ,6EAAY,CAAA;IACd,CAAC,EAHWC,+BAAuB,KAAvBA,+BAAuB,QAGlC;;QAaD;SAWC;QAJQ,uBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,sBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;4CACqB;QAGjC;YADC,UAAU;2CACqB;QAVrB,eAAe;YAX3B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,aAAa,EAAE,aAAa;oBAC5B,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAACA,+BAAuB,CAAC;iBAC3C;aACF,CAAC;WACW,eAAe,CAW3B;QAAD,sBAAC;KAXD;;;QCH8C,4CAAS;QAAvD;;SAYC;QAJQ,gCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,+BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;qDACqB;QAGjC;YADC,UAAU;oDACqB;QAXrB,wBAAwB;YAZpC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,yBAAyB,EAAE,wBAAwB;oBACnD,kBAAkB,EAAE,kBAAkB;oBACtC,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ;iBACnB;aACF,CAAC;WACW,wBAAwB,CAYpC;QAAD,+BAAC;KAAA,CAZ6C,SAAS;;;QCOjB,oCAAS;QAA/C;;SAmBC;QATC,sBAAI,oCAAM;iBAAV;gBACE,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,KAAK,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;aACzI;;;WAAA;QAGM,wBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,uBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;6CACqB;QAGjC;YADC,UAAU;4CACqB;QAlBrB,gBAAgB;YAjB5B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,YAAY;oBACxB,WAAW,EAAE,YAAY;oBACzB,mBAAmB,EAAE,oBAAoB;oBACzC,kBAAkB,EAAE,kBAAkB;oBACtC,YAAY,EAAE,aAAa;oBAC3B,mBAAmB,EAAE,oBAAoB;iBAC1C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,wBAAwB;iBACtC;aACF,CAAC;WACW,gBAAgB,CAmB5B;QAAD,uBAAC;KAAA,CAnBqC,SAAS;;;ICR/C,WAAY,gBAAgB;QAC1B,uEAAgB,CAAA;QAChB,uEAAY,CAAA;QACZ,iFAAiB,CAAA;QACjB,mGAA0B,CAAA;QAC1B,mGAA0B,CAAA;QAC1B,mGAA0B,CAAA;QAC1B,mGAA0B,CAAA;QAC1B,uFAAoB,CAAA;QACpB,uFAAoB,CAAA;QACpB,8GAA+B,CAAA;QAC/B,8GAA+B,CAAA;QAC/B,gGAAwB,CAAA;QACxB,oGAA0B,CAAA;QAC1B,oGAA0B,CAAA;QAC1B,4EAAc,CAAA;QAEd,wEAAY,CAAA;QACZ,wEAAY,CAAA;QACZ,wFAAoB,CAAA;QACpB,wFAAoB,CAAA;QACpB,sEAAW,CAAA;QACX,gEAAQ,CAAA;QACR,sEAAW,CAAA;QACX,gFAAgB,CAAA;QAChB,kFAAiB,CAAA;QAEjB,wEAAY,CAAA;QACZ,sEAAW,CAAA;QAEX,oFAAkB,CAAA;QAClB,sFAAmB,CAAA;QACnB,sFAAmB,CAAA;QACnB,kFAAiB,CAAA;QAEjB,oFAAkB,CAAA;QAClB,kFAAiB,CAAA;QACjB,gGAAwB,CAAA;QACxB,gGAAwB,CAAA;QACxB,8FAAuB,CAAA;QACvB,kHAAiC,CAAA;QACjC,kHAAiC,CAAA;QACjC,0FAAqB,CAAA;QACrB,kHAAiC,CAAA;QACjC,kHAAiC,CAAA;QACjC,4GAA8B,CAAA;QAC9B,8FAAuB,CAAA;QACvB,0HAAqC,CAAA;QACrC,0HAAqC,CAAA;QACrC,kJAAiD,CAAA;QACjD,kJAAiD,CAAA;QACjD,8FAAuB,CAAA;QAEvB,0GAA6B,CAAA;QAC7B,4GAA8B,CAAA;QAC9B,0GAA6B,CAAA;QAC7B,0GAA6B,CAAA;QAC7B,sGAA2B,CAAA;QAC3B,sGAA2B,CAAA;QAC3B,8GAA+B,CAAA;QAC/B,kGAAyB,CAAA;IAC3B,CAAC,EA7DWC,wBAAgB,KAAhBA,wBAAgB,QA6D3B;;IAED,WAAY,uBAAuB;QACjC,yEAAU,CAAA;QACV,mEAAG,CAAA;IACL,CAAC,EAHWC,+BAAuB,KAAvBA,+BAAuB,QAGlC;;QA0CiC,gCAAS;QAA3C;;SA8BC;QATC,sBAAI,mCAAS;iBAAb;gBACE,OAAO,IAAI,CAAC;aACb;;;WAAA;QAGM,oBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,mBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;yCACsB;QAGlC;YADC,UAAU;wCACsB;QA7BtB,YAAY;YAxCxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,UAAU,EAAE,OAAO;oBACnB,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,WAAW;oBACvB,iBAAiB,EAAE,iBAAiB;oBACpC,UAAU,EAAE,YAAY;oBACxB,iBAAiB,EAAE,kBAAkB;oBACrC,eAAe,EAAE,gBAAgB;oBACjC,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;oBACtB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,SAAS,CAACD,wBAAgB,CAAC;oBAClC,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE,SAAS;oBACpB,eAAe,EAAE,eAAe;oBAChC,UAAU,EAAE,UAAU;oBACtB,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,OAAO,EAAE,SAAS,CAACC,+BAAuB,CAAC;oBAC3C,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,YAAY,CA8BxB;QAAD,mBAAC;KAAA,CA9BiC,SAAS;;;ICxH3C,WAAY,sBAAsB;QAChC,iEAAO,CAAA;QACP,6EAAS,CAAA;QACT,mEAAI,CAAA;IACN,CAAC,EAJWC,8BAAsB,KAAtBA,8BAAsB,QAIjC;;QAeyC,wCAAS;QAAnD;;SAYC;QAJQ,4BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,2BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;iDACqB;QAGjC;YADC,UAAU;gDACqB;QAXrB,oBAAoB;YAbhC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,OAAO;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,SAAS,CAACA,8BAAsB,CAAC;oBACxC,OAAO,EAAE,SAAS,CAACA,8BAAsB,CAAC;iBAC3C;aACF,CAAC;WACW,oBAAoB,CAYhC;QAAD,2BAAC;KAAA,CAZyC,SAAS;;;QCFjD,6BACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,sCAAQ,GAAd;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAC,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,yBAAsB,CAAC;6BAC5E,IAAI,CAACjB,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,GAAA,CAAC,CAAC;6BACxB,SAAS,EAAE,EAAC;;;SAChB;QAEK,qCAAO,GAAb,UAAc,IAAY,EAAE,IAAY,EAAE,OAAiC;YAAjC,wBAAA,EAAA,YAAiC;;;;;oBACrE,MAAM,GAAG,IAAIC,eAAU,EAAE;yBAC1B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;;wBAChC,KAAkB,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,4CAAE;4BAA7B,GAAG;4BACZ,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;yBACxC;;;;;;;;;oBAED,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAC,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,mBAAgB,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BACrG,IAAI,CACHD,aAAG,CAAC,UAAA,QAAQ;4BACV,IAAM,IAAI,GAAmB,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACjE,OAAO;gCACL,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gCAC5C,IAAI,MAAA;6BACL,CAAC;yBACH,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACjB;QAEK,wCAAU,GAAhB,UAAiB,cAAsB,EAAE,MAAe;;;oBACtD,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAC,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,sBAAiB,cAAc,aAAU,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BAC1G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC7C,SAAS,EAAE,EAAC;;;SAChB;QAEK,2CAAa,GAAnB;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAC,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,0BAAuB,EAAE,EAAE,CAAC;6BAClF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC7C,SAAS,EAAE,EAAC;;;SAChB;QAEK,qDAAuB,GAA7B;;;oBACE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,4BAAyB,CAAC;6BACnG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrD,SAAS,EAAE,EAAC;;;SAChB;QAEK,wDAA0B,GAAhC,UAAiC,IAA0B;;;oBACzD,sBAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,KAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,4BAAyB,EAC1E,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAClC;6BACE,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACzD,SAAS,EAAE,EAAC;;;SAChB;;oBA3DqBE,eAAU;oBACP,aAAa;;;QAL3B,mBAAmB;YAD/BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,mBAAmB,CAgE/B;kCAhFD;KAgBA;;;QCZqC,mCAAmB;QAAxD;YAAA,qEAEC;YADW,YAAM,GAAG,SAAS,CAAC;;SAC9B;;QAFY,eAAe;YAD3BA,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,eAAe,CAE3B;8BAND;KAMC,CAFoC,mBAAmB;;;QCAhB,sCAAmB;QAA3D;YAAA,qEAEC;YADW,YAAM,GAAG,aAAa,CAAC;;SAClC;;QAFY,kBAAkB;YAD9BA,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,kBAAkB,CAE9B;iCAND;KAMC,CAFuC,mBAAmB;;;QCKzD,sBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,gCAAS,GAAf;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8BAA2B,CAAC;6BACnE,IAAI,CACHK,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAChC,CAAC,SAAS,EAAE,EAAC;;;SACjB;QAEK,gCAAS,GAAf;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAgB,CAAC;6BACxD,IAAI,CACHA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CACjC,CAAC,SAAS,EAAE,EAAC;;;SACjB;;oBAlBqBE,eAAU;oBACP,aAAa;;;QAH3B,YAAY;YADxBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,YAAY,CAqBxB;2BA7BD;KAQA;;;QCM4C,0CAAS;QAArD;;SASC;QAJQ,8BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,6BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;mDACqB;QAGjC;YADC,UAAU;kDACqB;QARrB,sBAAsB;YAVlC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,cAAc;oBACpB,cAAc,EAAE,cAAc;iBAC/B;aACF,CAAC;WACW,sBAAsB,CASlC;QAAD,6BAAC;KAAA,CAT2C,SAAS;;;QCsBb,sCAAS;QAAjD;;SAyCC;QAbC,sBAAI,kCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,2CAAW;iBAAf;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;aACvC;;;WAAA;QAGM,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAxCrB,kBAAkB;YAjC9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,cAAc;oBAC7B,gBAAgB,EAAE,iBAAiB;oBACnC,iBAAiB,EAAE,kBAAkB;oBACrC,gBAAgB,EAAE,iBAAiB;oBACnC,wBAAwB,EAAE,wBAAwB;oBAClD,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,qBAAqB,EAAE,oBAAoB;oBAC3C,qBAAqB,EAAE,qBAAqB;oBAC5C,UAAU,EAAE,WAAW;oBACvB,gBAAgB,EAAE,gBAAgB;oBAClC,eAAe,EAAE,eAAe;oBAChC,kBAAkB,EAAE,kBAAkB;oBACtC,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,gBAAgB;oBACjC,qBAAqB,EAAE,qBAAqB;oBAC5C,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC;WACW,kBAAkB,CAyC9B;QAAD,yBAAC;KAAA,CAzCuC,SAAS;;;IClCjD,WAAY,kBAAkB;QAC5B,6DAAS,CAAA;QACT,iEAAO,CAAA;QACP,qEAAS,CAAA;QACT,2EAAY,CAAA;QACZ,yEAAW,CAAA;QACX,mEAAQ,CAAA;IACV,CAAC,EAPWuB,0BAAkB,KAAlBA,0BAAkB,QAO7B;;QAYkC,iCAAS;QAA5C;;SAUC;QAJQ,qBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,oBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;0CACqB;QAGjC;YADC,UAAU;yCACqB;QATrB,aAAa;YAVzB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,UAAU;iBACrB;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,SAAS,CAAC,SAAS,CAACA,0BAAkB,CAAC,CAAC;iBACnD;aACF,CAAC;WACW,aAAa,CAUzB;QAAD,oBAAC;KAAA,CAVkC,SAAS;;;;IChB5C,WAAY,iBAAiB;QAC3B,qEAAc,CAAA;QACd,mEAAS,CAAA;QACT,uDAAG,CAAA;QACH,uEAAW,CAAA;QACX,+EAAe,CAAA;QACf,+EAAe,CAAA;QACf,yEAAY,CAAA;QACZ,yEAAY,CAAA;QACZ,mEAAS,CAAA;QACT,8EAAc,CAAA;QACd,oEAAS,CAAA;QACT,0DAAI,CAAA;QACJ,wEAAW,CAAA;QACX,kEAAQ,CAAA;QACR,gEAAO,CAAA;QACP,8DAAM,CAAA;QACN,8EAAc,CAAA;QACd,4FAAqB,CAAA;QACrB,gFAAe,CAAA;QACf,wEAAW,CAAA;QACX,4FAAqB,CAAA;QACrB,4FAAqB,CAAA;;QAGrB,gEAAO,CAAA;QACP,wEAAW,CAAA;QACX,4FAAqB,CAAA;QACrB,oEAAS,CAAA;QACT,sEAAU,CAAA;QACV,8EAAc,CAAA;QACd,wEAAW,CAAA;QACX,0EAAY,CAAA;QACZ,wEAAW,CAAA;QACX,kEAAQ,CAAA;QACR,oEAAS,CAAA;QACT,kEAAQ,CAAA;QACR,oEAAS,CAAA;QACT,oEAAS,CAAA;IACX,CAAC,EAvCWC,yBAAiB,KAAjBA,yBAAiB,QAuC5B;QAEY,0BAA0B;QACrCC,KAACD,yBAAiB,CAAC,WAAW,IAAG,CAAC;QAClCC,KAACD,yBAAiB,CAAC,GAAG,IAAG,CAAC;QAC1BC,KAACD,yBAAiB,CAAC,eAAe,IAAG,CAAC;QACtCC,KAACD,yBAAiB,CAAC,YAAY,IAAG,CAAC;QACnCC,KAACD,yBAAiB,CAAC,SAAS,IAAG,CAAC;QAChCC,KAACD,yBAAiB,CAAC,qBAAqB,IAAG,CAAC;cAC5C;QAEW,oBAAoB,GAAG;QAClCA,yBAAiB,CAAC,OAAO,EAAEA,yBAAiB,CAAC,SAAS,EAAEA,yBAAiB,CAAC,UAAU,EAAEA,yBAAiB,CAAC,cAAc;QACtHA,yBAAiB,CAAC,WAAW,EAAEA,yBAAiB,CAAC,YAAY;QAC7DA,yBAAiB,CAAC,WAAW,EAAEA,yBAAiB,CAAC,QAAQ,EAAEA,yBAAiB,CAAC,SAAS;QACtFA,yBAAiB,CAAC,QAAQ,EAAEA,yBAAiB,CAAC,SAAS,EAAEA,yBAAiB,CAAC,SAAS;QACpFA,yBAAiB,CAAC,qBAAqB,EAAEA,yBAAiB,CAAC,WAAW;MACtE;;QA0BgC,gCAAS;QAA3C;YAAA,qEAkEC;YAtDC,YAAM,GAAG,IAAI,CAAC;;SAsDf;QA/CC,8BAAO,GAAP,UAAQ,KAAmB;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAI,uCAAa;iBAAjB;gBACE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;gBACzC,OAAO,MAAG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAO,UAAI,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAG,OAAS,CAAC;aACpF;;;WAAA;QAED,kCAAW,GAAX;YACE,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;SAC/D;QAED,kCAAW,GAAX;YACE,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;QAED,8BAAO,GAAP,UAAQ,GAAiB;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBACxD,OAAO,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;gBAC9B,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;SACjC;QAED,iCAAU,GAAV;YACE,OAAO,CAACA,yBAAiB,CAAC,SAAS,EAAEA,yBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACzF;QAED,iCAAU,GAAV;YACE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpD;QAGM,oBAAO,GAAd,UAAe,KAAU,KAAS;QAG3B,mBAAM,GAAb,UAAc,KAAU,KAAS;QAHjC;YADC,WAAW;yCACsB;QAGlC;YADC,UAAU;wCACsB;QAjEtB,YAAY;YAxBxB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;oBAC3B,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,cAAc;iBAC9B;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,SAAS,CAACA,yBAAiB,CAAC;oBACrC,QAAQ,EAAE,aAAa;oBACvB,YAAY,EAAE,SAAS,CAACD,0BAAkB,CAAC;iBAC5C;aACF,CAAC;WACW,YAAY,CAkExB;QAAD,mBAAC;KAAA,CAlEiC,SAAS;;;QC3ET,gCAAW;QAC3C,sBACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,8BAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAiC,MAAM,MAAG,CAAC,CAAC,IAAI,CAC5GlB,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,uCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAiC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC3HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACtD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,uCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAiC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAC3HA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAClD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,8BAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAiC,MAAM,WAAQ,CAAC,CAAC,IAAI,CACjHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC5C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,mCAAY,GAAlB;;;oBACE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,8CAA2C,CAAC,CAAC,IAAI,CAC7GA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC7C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,uCAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAiC,MAAM,oBAAiB,EAAE;4BACtH,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;4BAChD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBAzCuBC,eAAU;oBACP,aAAa;;;QAH7B,YAAY;YADxBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,YAAY,CA4CxB;2BAxDD;KAwDC,CA5CiC,WAAW;;;QCDL,sCAAS;QAAjD;;SAYC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAXrB,kBAAkB;YAT9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;iBACtB;aACF,CAAC;WACW,kBAAkB,CAY9B;QAAD,yBAAC;KAAA,CAZuC,SAAS;;;ICTjD,WAAY,mBAAmB;QAC7B,mEAAW,CAAA;QACX,uEAAS,CAAA;QACT,qEAAQ,CAAA;IACV,CAAC,EAJW0B,2BAAmB,KAAnBA,2BAAmB,QAI9B;;QAkBmC,kCAAS;QAA7C;;SAYC;QAJQ,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QAXrB,cAAc;YAhB1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,WAAW;oBACtB,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACvC,KAAK,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACrC,SAAS,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACzC,KAAK,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACrC,MAAM,EAAE,SAAS,CAACA,2BAAmB,CAAC;iBACvC;aACF,CAAC;WACW,cAAc,CAY1B;QAAD,qBAAC;KAAA,CAZmC,SAAS;;;QCOb,8BAAS;QAAzC;;SA4BC;QAJQ,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QA3BrB,UAAU;YA5BtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,QAAQ,EAAE,SAAS;oBACnB,cAAc,EAAE,cAAc;oBAC9B,qBAAqB,EAAE,qBAAqB;oBAC5C,gBAAgB,EAAE,gBAAgB;oBAClC,UAAU,EAAE,WAAW;oBACvB,kBAAkB,EAAE,kBAAkB;oBACtC,gBAAgB,EAAE,gBAAgB;oBAClC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,eAAe,EAAE,eAAe;oBAChC,gBAAgB,EAAE,gBAAgB;oBAClC,cAAc,EAAE,cAAc;oBAC9B,kBAAkB,EAAE,kBAAkB;oBACtC,iBAAiB,EAAE,iBAAiB;oBACpC,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,gBAAgB;oBAClC,eAAe,EAAE,eAAe;oBAChC,iBAAiB,EAAE,iBAAiB;oBACpC,oBAAoB,EAAE,oBAAoB;oBAC1C,sBAAsB,EAAE,sBAAsB;oBAC9C,IAAI,EAAE,MAAM;iBACb;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS,CAACvB,oBAAY,CAAC;iBAC9B;aACF,CAAC;WACW,UAAU,CA4BtB;QAAD,iBAAC;KAAA,CA5B+B,SAAS;;;QCRvC,iBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,wBAAM,GAAZ,UAAa,KAAa,EAAE,OAAgB;;;;oBACtC,MAAM,GAAG,CAAC,IAAIG,eAAU,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACrD,IAAI,OAAO,EAAE;wBACX,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAClD;oBACD,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAe,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BACjE,IAAI,CAACD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,wBAAM,GAAZ,UAAa,IAAU;;;oBACrB,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAe,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC3E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,yBAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,MAAG,CAAC;6BACjE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAc;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,aAAU,CAAC;6BACxE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,wBAAM,GAAZ,UAAa,MAAc,EAAE,MAAW;;;oBACtC,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,MAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BACxF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,wBAAM,GAAZ,UAAa,IAAU;;;oBACrB,sBAAO,IAAI,CAAC,UAAU;6BACnB,MAAM,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,IAAI,CAAC,EAAE,MAAG,CAAC;6BACrE,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAc;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,iBAAc,CAAC;6BAC5E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAgB,GAAtB,UAAuB,MAAc,EAAE,UAA0B;;;oBAC/D,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,iBAAc,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;6BACjH,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc,EAAE,YAAqB;;;;oBAC9C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,IAAI,YAAY,EAAE;wBAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC/D;oBACD,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BACjF,IAAI,CAACD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,MAAc,EAAE,UAAkB,EAAE,IAAkB;;;oBACzE,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,eAAU,UAAU,WAAQ,EAAE,EAAC,IAAI,EAAEF,oBAAY,CAAC,IAAI,CAAC,EAAC,CAAC;6BACxH,IAAI,CAACE,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAgB,GAAtB,UAAuB,MAAc,EAAE,UAAkB,EAAE,UAAkB;;;oBAC3E,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,eAAU,UAAU,aAAU,EAAE,EAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAC,CAAC;6BAC/H,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,QAAkB;;;oBACjC,sBAAO,IAAI,CAAC,UAAU;6BACnB,MAAM,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,QAAQ,CAAC,MAAM,eAAU,QAAQ,CAAC,EAAE,MAAG,CAAC;6BAClG,SAAS,EAAE,EAAC;;;SAChB;QAEK,6BAAW,GAAjB,UAAkB,MAAc,EAAE,IAAU;;;oBAC1C,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,MAAc;;;oBAC7B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,cAAW,CAAC;6BACzE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,MAAc,EAAE,IAAU;;;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,cAAW,EAAE,EAAC,IAAI,MAAA,EAAC,CAAC;6BAClF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,8BAAY,GAAlB,UAAmB,MAAkB;;;oBACnC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,CAAC,EAAE,aAAU,EAAE,EAAE,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAkB;;;oBACpC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,CAAC,EAAE,cAAW,EAAE,EAAE,CAAC;6BACxF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,8BAAY,GAAlB,UAAmB,MAAkB;;;oBACnC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,CAAC,EAAE,aAAU,EAAE,EAAE,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAc;;;oBACrC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,uBAAoB,CAAC;6BAClF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAc,EAAE,MAA0B;;;oBACjE,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,uBAAoB,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BACtH,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,MAA0B;;;oBACnD,sBAAO,IAAI,CAAC,UAAU;6BACnB,MAAM,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,MAAM,CAAC,EAAE,MAAG,CAAC;6BACnF,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,MAA0B;;;oBACnD,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,MAAM,CAAC,EAAE,aAAU,EAAE,EAAE,CAAC;6BAC5F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc,EAAE,OAAwB;YAAxB,wBAAA,EAAA,eAAwB;;;oBACrD,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,gBAAU,OAAO,GAAG,YAAY,GAAG,EAAE,CAAE,CAAC;6BACrG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,MAAc,EAAE,IAAU;;;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC3F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAiB,GAAvB,UAAwB,MAAc;;;oBACpC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,iBAAc,CAAC;6BAC5E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,wCAAsB,GAA5B,UAA6B,MAAc;;;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,4BAAyB,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc;;;oBAC3B,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,WAAQ,EAAE,EAAE,CAAC;6BAC3E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,2BAAS,GAAf,UAAgB,MAAc;;;oBAC5B,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,EAAE,EAAE,CAAC;6BAC5E,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc,EAAE,OAAe;YAAf,wBAAA,EAAA,eAAe;;;oBAC5C,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,gBAAU,OAAO,GAAG,YAAY,GAAG,EAAE,CAAE,CAAC;6BACrG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,MAAc,EAAE,IAAU;;;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC3F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAc;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,aAAU,CAAC;6BACxE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC1C,SAAS,EAAE,EAAC;;;SAChB;QAEK,iCAAe,GAArB,UAAsB,MAAc,EAAE,SAAoB;;;oBACxD,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,aAAU,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;6BACtG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC1C,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,MAAc;;;oBACjC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,kBAAe,CAAC;6BAC7E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAc;;;oBACrC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,uBAAoB,CAAC;6BAClF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,MAAc;;;oBACvC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,yBAAsB,CAAC;6BACpF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAc,EAAE,YAAoB,EAAE,IAAY,EAAE,IAAa;;;;oBACpF,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE;wBACR,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC9C;oBACD,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,qBAAgB,YAAY,YAAS,EAAE,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;6BAClI,IAAI,CAACD,aAAG,CAAC,UAAC,QAA2B;4BACpC,OAAO;gCACL,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gCAC5C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAClC,CAAC;yBACH,CAAC,CAAC;6BACF,SAAS,EAAE,EAAC;;;SAChB;QAEK,wCAAsB,GAA5B,UAA6B,QAAgB;;;oBAC3C,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,aAAU,EAAE,EAAE,CAAC;6BAC5F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;QAEK,yCAAuB,GAA7B,UAA8B,QAAgB;;;oBAC5C,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,cAAW,EAAE,EAAE,CAAC;6BAC7F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAgB,GAAtB,UAAuB,MAAc,EAAE,QAAc;;;oBACnD,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,gBAAa,EAAG,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAC,CAAC;6BAC5G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,6BAAW,GAAjB,UAAkB,UAAkB;;;oBAClC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAAqB,UAAU,MAAG,CAAC;6BAC1E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,UAAkB,EAAE,QAAc;;;oBACrD,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAAqB,UAAU,MAAG,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAC,CAAC;6BAC3G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,UAAkB;;;oBACrC,sBAAO,IAAI,CAAC,UAAU;6BACnB,MAAM,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAAqB,UAAU,MAAG,CAAC;6BAC7E,SAAS,EAAE,EAAC;;;SAChB;QAEK,qCAAmB,GAAzB,UAA0B,UAAkB;;;oBAC1C,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAAqB,UAAU,mBAAgB,EAAE,EAAE,CAAC;6BAC5F,SAAS,EAAE,EAAC;;;SAChB;;oBA1TqBE,eAAU;oBACP,aAAa;;;QAH3B,OAAO;YADnBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,OAAO,CA6TnB;sBAnVD;KAsBA;;;QCbE,sBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,mCAAY,GAAlB,UAAmB,WAAmB;;;oBACpC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,WAAW,MAAG,CAAC;6BAC5E,IAAI,CAACK,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC1C,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAe,GAArB,UAAsB,SAAoB;;;oBACxC,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,SAAS,CAAC,EAAE,MAAG,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;6BAC5G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC1C,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAe,GAArB,UAAsB,WAAmB;;;oBACvC,sBAAO,IAAI,CAAC,UAAU;6BACnB,MAAM,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,WAAW,MAAG,CAAC;6BAC/E,SAAS,EAAE,EAAC;;;SAChB;QAEK,0CAAmB,GAAzB,UAA0B,WAAmB;;;oBAC3C,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,WAAW,cAAW,CAAC;6BACpF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAChD,SAAS,EAAE,EAAC;;;SAChB;QAEK,4CAAqB,GAA3B,UAA4B,WAAmB,EAAE,UAAkB;;;oBACjE,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,WAAW,cAAW,EAAE,EAAC,YAAY,EAAE,UAAU,EAAC,CAAC;6BACjH,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAChD,SAAS,EAAE,EAAC;;;SAChB;QAEK,4CAAqB,GAA3B,UAA4B,eAAgC;;;oBAC1D,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,eAAe,CAAC,EAAE,aAAU,EAAE,EAAE,CAAC;6BACtG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAChD,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAAsB,GAA5B,UAA6B,eAAgC;;;oBAC3D,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,eAAe,CAAC,EAAE,cAAW,EAAE,EAAE,CAAC;6BACvG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAChD,SAAS,EAAE,EAAC;;;SAChB;;oBAlDqBE,eAAU;oBACP,aAAa;;;QAH3B,YAAY;YADxBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,YAAY,CAqDxB;2BA7DD;KAQA;;;QCIwC,sCAAS;QAAjD;;SAoBC;QAbC,sBAAI,0CAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC;aACtD;;;WAAA;QAED,sBAAI,qCAAK;iBAAT;gBACE,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACxE;;;WAAA;QAGM,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QAnBrB,kBAAkB;YAT9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,iBAAiB,EAAE,iBAAiB;oBACpC,mBAAmB,EAAE,mBAAmB;oBACxC,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,YAAY;oBACzB,qBAAqB,EAAE,qBAAqB;iBAC7C;aACF,CAAC;WACW,kBAAkB,CAoB9B;QAAD,yBAAC;KAAA,CApBuC,SAAS,GAoBhD;;QAYuC,sCAAS;QAAjD;;SASC;QAJQ,0BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,yBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;+CACqB;QAGjC;YADC,UAAU;8CACqB;QARrB,kBAAkB;YAV9B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,UAAU;iBACtB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC;WACW,kBAAkB,CAS9B;QAAD,yBAAC;KAAA,CATuC,SAAS;;;QCjC/C,2BACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,2CAAe,GAArB,UAAsB,YAAoB;;;oBACxC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,qBAAkB,CAAC,CAAC,IAAI,CACtHK,aAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAA,CAAC,CACtD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,wCAAY,GAAlB,UAAmB,MAAc;;;oBAC/B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,CAAC;6BACvE,IAAI,CACHA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACjB;QAEK,0CAAc,GAApB,UAAqB,YAAoB,EAAE,MAAc,EAAE,OAAmC;;;;oBACtF,IAAI,GAAG;wBACX,IAAI,EAAE,EAAC,EAAE,EAAE,MAAM,EAAC;wBAClB,YAAY,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC;qBACvD,CAAC;oBACF,sBAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAAsB,YAAY,WAAQ,EAAE,IAAI,CAAC;6BAC7G,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACjD,SAAS,EAAE,EAAC;;;SAChB;;oBA3BqBE,eAAU;oBACP,aAAa;;;QAH3B,iBAAiB;YAD7BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,iBAAiB,CA8B7B;gCAxCD;KAUA;;;QCOE,6BACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,wCAAU,GAAhB,UAAiB,QAAgB,EAAE,KAAa;;;oBAC9C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAkB,QAAQ,4BAAuB,KAAK,MAAG,CAAC,CAAC,IAAI,CAC3HK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAChD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAc,GAApB,UAAqB,QAAgB;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,kBAAe,CAAC,CAAC,IAAI,CACtHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC1C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,sCAAQ,GAAd,UAAe,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAA+B;;;;oBACtF,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE;wBACR,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC9C;oBACD,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,YAAS,EACjF,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAC9B,CAAC,IAAI,CACJD,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACb,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAChC,IAAC,CAAC,CACJ,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,uCAAS,GAAf,UAAgB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAoC;;;;oBAC5F,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;yBACvD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChC,IAAI,OAAO,EAAE;wBACX,IAAI,OAAO,CAAC,KAAK,EAAE;4BACjB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAEQ,4BAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;yBACnE;wBACD,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;yBAC/C;wBACD,IAAI,OAAO,CAAC,cAAc,EAAE;4BAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC3E;qBACF;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,aAAU,EAClF,EAAC,MAAM,QAAA,EAAE,OAAO,EAAE,UAAU,EAAC,CAC9B;6BACE,IAAI,CAACT,aAAG,CAAC,UAAA,MAAM,IAAI,QAAC;4BACnB,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;4BAC1C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;yBAC3C,IAAC,CAAC,CAAC;6BACH,SAAS,EAAE,EAAC;;;SAChB;QAEK,0CAAY,GAAlB,UAAmB,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAyB;;;;oBACpF,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxF,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEhD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,iBAAc,EACtF,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAA,EAAC,CAAC;6BAC7B,IAAI,CACHD,aAAG,CAAC,UAAA,QAAQ;4BACV,OAAO;gCACL,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gCAC5C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAClC,CAAC;yBACH,CAAC,CACH,CAAC,SAAS,EAAE,EAAC;;;SACjB;QAEK,sCAAQ,GAAd,UAAe,QAAgB,EAAE,KAAe;;;;oBAC1C,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC;oBAC9B,IAAI,KAAK,EAAE;wBACT,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;qBACnC;oBACD,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,YAAS,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC1HD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC9C,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,yCAAW,GAAjB,UAAkB,QAAgB;;;oBAChC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,eAAY,CAAC,CAAC,IAAI,CACnHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACvC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAc,GAApB,UAAqB,QAAgB;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA6B,QAAQ,mBAAgB,CAAC;6BACjH,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;;oBAhGqBE,eAAU;oBACP,aAAa;;;QAH3B,mBAAmB;YAD/BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,mBAAmB,CAmG/B;kCAnHD;KAgBA;;;QCLE,4BACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAEK,oCAAO,GAAb,UAAc,EAAU;;;oBACtB,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,EAAE,MAAG,CAAC;6BAC7F,IAAI,CAACK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAS,GAAf,UAAgB,OAAe;;;oBAC7B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,OAAO,aAAU,CAAC;6BACzG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,wCAAW,GAAjB,UAAkB,OAAe;;;oBAC/B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,OAAO,cAAW,CAAC;6BAC1G,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BAC5C,SAAS,EAAE,EAAC;;;SAChB;QAEK,qCAAQ,GAAd,UAAe,OAAe;;;oBAC5B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAA4B,OAAO,YAAS,CAAC;6BACxG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACxD,SAAS,EAAE,EAAC;;;SAChB;;oBA3BqBE,eAAU;oBACP,aAAa;;;QAH3B,kBAAkB;YAD9BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,kBAAkB,CA8B9B;iCAxCD;KAUA;;;QCCgC,8BAAS;QAAzC;;SAYC;QAJQ,kBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,iBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;uCACqB;QAGjC;YADC,UAAU;sCACqB;QAXrB,UAAU;YATtB,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,WAAW;oBACtB,KAAK,EAAE,OAAO;iBACf;aACF,CAAC;WACW,UAAU,CAYtB;QAAD,iBAAC;KAAA,CAZ+B,SAAS;;;ICTzC,WAAY,mBAAmB;QAC7B,iEAAU,CAAA;QACV,mEAAO,CAAA;QACP,uEAAS,CAAA;QACT,qEAAQ,CAAA;IACV,CAAC,EALW2B,2BAAmB,KAAnBA,2BAAmB,QAK9B;;QAiBmC,kCAAS;QAA7C;;SAYC;QAJQ,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QAXrB,cAAc;YAf1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,aAAa,EAAE,cAAc;oBAC7B,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,WAAW;iBACvB;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBAC5C,KAAK,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACrC,KAAK,EAAE,SAAS,CAACA,2BAAmB,CAAC;oBACrC,SAAS,EAAE,SAAS,CAACA,2BAAmB,CAAC;iBAC1C;aACF,CAAC;WACW,cAAc,CAY1B;QAAD,qBAAC;KAAA,CAZmC,SAAS;;;QCH3C,iBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEE,gCAAc,GAApB;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0BAAuB,CAAC;6BAC/D,IAAI,CAACtB,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,6BAAW,GAAjB,UAAkB,MAAc;;;oBAC9B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,MAAG,CAAC;6BACjE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,2BAAS,GAAf,UAAgB,MAAe;;;oBAC7B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAgB,MAAM,IAAI,SAAS,cAAU,CAAC;6BACzG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB,UAAiB,MAAc,EAAE,IAAS;;;oBACxC,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,MAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BACtF,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACzC,SAAS,EAAE,EAAC;;;SAChB;QAEK,iCAAe,GAArB,UAAsB,IAAS,EAAE,QAAiB;;;;oBAC1C,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACxC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,gCAA6B,EAAE,QAAQ,CAAC;6BAChF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,MAAc,EAAE,WAAmB,EAAE,QAAgB,EAAE,eAAuB;;;;oBAC3F,OAAO,GAAG;wBACd,YAAY,EAAE,WAAW;wBACzB,QAAQ,UAAA;wBACR,gBAAgB,EAAE,eAAe;qBAClC,CAAC;oBACF,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,sBAAmB,EAAE,OAAO,CAAC;6BAC3F,SAAS,EAAE,EAAC;;;SAChB;QAEK,6BAAW,GAAjB,UAAkB,MAAc,EAAE,KAAa,EAAE,QAAgB;;;;oBACzD,OAAO,GAAG,EAAC,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAC,CAAC;oBAClC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,mBAAgB,EAAE,OAAO,CAAC;6BACxF,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAM,EAAE,KAAa,EAAE,QAAgB,EAAE,KAAa;;;;oBACvE,OAAO,GAAG,EAAC,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAC,CAAC;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,2BAAwB,EAAE,OAAO,CAAC;6BAChG,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB,UAAqB,MAAc;;;oBACjC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,cAAW,CAAC;6BACzE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC5C,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,MAAc;;;oBACvC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,yBAAsB,CAAC;6BACpF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAClD,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,MAAc;;;oBACvC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,yBAAsB,CAAC;6BACpF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAClD,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAiB,GAAvB,UAAwB,WAAwB;;;oBAC9C,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,WAAW,CAAC,MAAM,cAAW,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;6BACxH,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC5C,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAA2B,GAAjC,UAAkC,iBAAoC;;;oBACpE,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,iBAAiB,CAAC,MAAM,yBAAsB,EAAE,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;6BACrJ,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAClD,SAAS,EAAE,EAAC;;;SAChB;QAEK,6CAA2B,GAAjC,UAAkC,iBAAoC;;;oBACpE,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,iBAAiB,CAAC,MAAM,yBAAsB,EAAE,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;6BACrJ,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAClD,SAAS,EAAE,EAAC;;;SAChB;QAEK,oCAAkB,GAAxB,UAAyB,MAAe;;;oBACtC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAgB,MAAM,IAAI,SAAS,kBAAc,CAAC;6BACzF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC/C,SAAS,EAAE,EAAC;;;SAChB;QAEK,sCAAoB,GAA1B,UAA2B,IAAS;;;oBAClC,sBAAO,IAAI,CAAC,UAAU;6BACnB,KAAK,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAkC,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BACzG,IAAI,CAACA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAAC;6BACnD,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc;;;oBAC3B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,CAAC;6BACvE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4BAAU,GAAhB;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA+B,CAAC;6BACvE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,8BAAY,GAAlB,UAAmB,QAAgB;;;oBACjC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAgC,QAAQ,aAAU,EAAE,EAAE,CAAC;6BAC/F,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,QAAgB;;;oBAClC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qCAAgC,QAAQ,cAAW,EAAE,EAAE,CAAC;6BAChG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAc;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,iBAAc,CAAC;6BAC5E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,yCAAuB,GAA7B,UAA8B,MAAc;;;oBAC1C,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,4BAAyB,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,wCAAsB,GAA5B,UAA6B,MAAc;;;oBACzC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,4BAAyB,CAAC;6BACvF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACpD,SAAS,EAAE,EAAC;;;SAChB;QAEK,0BAAQ,GAAd,UAAe,MAAc;;;oBAC3B,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAgB,MAAM,YAAS,CAAC;6BACvE,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,gCAAc,GAApB;;;oBACE,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAoC,CAAC;6BAC5E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,kCAAgB,GAAtB,UAAuB,QAAgB;;;oBACrC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAqC,QAAQ,aAAU,EAAE,EAAE,CAAC;6BACpG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,mCAAiB,GAAvB,UAAwB,QAAgB;;;oBACtC,sBAAO,IAAI,CAAC,UAAU;6BACnB,IAAI,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAqC,QAAQ,cAAW,EAAE,EAAE,CAAC;6BACrG,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC3C,SAAS,EAAE,EAAC;;;SAChB;QAEK,6BAAW,GAAjB,UAAkB,KAAa;;;;oBACvB,MAAM,GAAG,CAAC,IAAIC,eAAU,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACvD,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAe,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BACjE,IAAI,CAACD,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,iCAAe,GAArB,UAAsB,MAAc;;;oBAClC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAA+B,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC;6BACjF,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BACrC,SAAS,EAAE,EAAC;;;SAChB;QAEK,+BAAa,GAAnB,UAAoB,MAAc;;;oBAChC,sBAAO,IAAI,CAAC,UAAU;6BACnB,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,sCAAmC,CAAC;6BAC3E,IAAI,CAACA,aAAG,CAAC,UAAA,IAAI,IAAI,OAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;6BAC1C,SAAS,EAAE,EAAC;;;SAChB;;oBA1NqBE,eAAU;oBACP,aAAa;;;QAH3B,OAAO;YADnBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,OAAO,CA6NnB;sBAjPD;KAoBA;;;QCNiD,+CAAS;QAA1D;;SASC;QAJQ,mCAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,kCAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;wDACqB;QAGjC;YADC,UAAU;uDACqB;QARrB,2BAA2B;YAVvC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,gBAAgB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,mBAAmB;oBACzB,cAAc,EAAE,mBAAmB;iBACpC;aACF,CAAC;WACW,2BAA2B,CASvC;QAAD,kCAAC;KAAA,CATgD,SAAS;;;QCYb,2CAAS;QAAtD;;SA0CC;QArBC,sBAAI,uCAAE;iBAAN;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC;aACxB;;;WAAA;QAED,sBAAI,4CAAO;iBAAX;gBACE,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;aAC7C;;;WAAA;QAED,sBAAI,2CAAM;iBAAV;gBACE,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;aAC9C;;;WAAA;QAED,sBAAI,kDAAa;iBAAjB;gBACE,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAC/C;;;WAAA;QAGM,+BAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,8BAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;oDACqB;QAGjC;YADC,UAAU;mDACqB;QAzCrB,uBAAuB;YAvBnC,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,aAAa;oBAC3B,YAAY,EAAE,aAAa;oBAC3B,cAAc,EAAE,eAAe;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,aAAa,EAAE,cAAc;oBAC7B,YAAY,EAAE,aAAa;oBAC3B,QAAQ,EAAE,UAAU;oBACpB,cAAc,EAAE,eAAe;oBAC/B,kBAAkB,EAAE,mBAAmB;oBACvC,cAAc,EAAE,eAAe;oBAC/B,oBAAoB,EAAE,oBAAoB;oBAC1C,wBAAwB,EAAE,wBAAwB;oBAClD,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa;iBAC5B;aACF,CAAC;WACW,uBAAuB,CA0CnC;QAAD,8BAAC;KAAA,CA1C4C,SAAS;;;ICtBtD,WAAY,qBAAqB;QAC/B,6EAAc,CAAA;QACd,2EAAS,CAAA;QACT,+EAAW,CAAA;QACX,2EAAS,CAAA;QACT,+EAAW,CAAA;QACX,2EAAS,CAAA;QACT,+EAAW,CAAA;QACX,+EAAW,CAAA;QACX,mFAAa,CAAA;QACb,kFAAY,CAAA;QACZ,kFAAY,CAAA;QACZ,gFAAW,CAAA;QACX,wEAAO,CAAA;QACP,oFAAa,CAAA;QACb,4FAAiB,CAAA;QACjB,oEAAK,CAAA;QACL,oEAAK,CAAA;QACL,oFAAa,CAAA;QACb,gGAAmB,CAAA;QACnB,wGAAuB,CAAA;QACvB,wEAAO,CAAA;QACP,gFAAW,CAAA;IACb,CAAC,EAvBW4B,6BAAqB,KAArBA,6BAAqB,QAuBhC;QAEY,eAAe,GAAG;QAC7BA,6BAAqB,CAAC,SAAS,EAAEA,6BAAqB,CAAC,WAAW;QAClEA,6BAAqB,CAAC,YAAY,EAAEA,6BAAqB,CAAC,KAAK;MAC/D;QACW,eAAe,GAAG;QAC7BA,6BAAqB,CAAC,WAAW,EAAEA,6BAAqB,CAAC,YAAY;QACrEA,6BAAqB,CAAC,WAAW,EAAEA,6BAAqB,CAAC,aAAa;QACtEA,6BAAqB,CAAC,KAAK,EAAEA,6BAAqB,CAAC,mBAAmB;MACtE;;QAsBqC,qCAAS;QAAhD;YAAA,qEAkGC;YA/FC,YAAM,GAAG,IAAI,CAAC;;SA+Ff;QAlFC,mCAAO,GAAP,UAAQ,KAAwB;YAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE;gBACxD,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpE;qBAAM;oBACL,OAAO,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpC;aACF;YACD,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE;gBAC1B,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QAED,uCAAW,GAAX;YACE,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC/C;QAED,uCAAW,GAAX;YACE,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC/C;QAED,mCAAO,GAAP;YACE,OAAO;gBACLA,6BAAqB,CAAC,SAAS;gBAC/BA,6BAAqB,CAAC,SAAS;gBAC/BA,6BAAqB,CAAC,WAAW;aAClC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,oCAAQ,GAAR;YACE,OAAO;gBACLA,6BAAqB,CAAC,YAAY;gBAClCA,6BAAqB,CAAC,YAAY;gBAClCA,6BAAqB,CAAC,WAAW;aAClC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,qCAAS,GAAT;YACE,OAAO;gBACLA,6BAAqB,CAAC,aAAa;gBACnCA,6BAAqB,CAAC,OAAO;gBAC7BA,6BAAqB,CAAC,iBAAiB;aACxC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,0CAAc,GAAd;YACE,OAAO;gBACLA,6BAAqB,CAAC,mBAAmB;gBACzCA,6BAAqB,CAAC,aAAa;gBACnCA,6BAAqB,CAAC,uBAAuB;aAC9C,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,mCAAO,GAAP;YACE,OAAO;gBACLA,6BAAqB,CAAC,WAAW;gBACjCA,6BAAqB,CAAC,aAAa;gBACnCA,6BAAqB,CAAC,WAAW;aAClC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,uCAAW,GAAX;YACE,OAAO;gBACLA,6BAAqB,CAAC,UAAU;gBAChCA,6BAAqB,CAAC,SAAS;gBAC/BA,6BAAqB,CAAC,OAAO;aAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,uCAAW,GAAX;YACE,OAAO,CAAC;gBACNA,6BAAqB,CAAC,OAAO;gBAC7BA,6BAAqB,CAAC,aAAa;aACpC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QAGM,yBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,wBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;8CACqB;QAGjC;YADC,UAAU;6CACqB;QAjGrB,iBAAiB;YApB7B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,YAAY,EAAE,YAAY;oBAC1B,QAAQ,EAAE,SAAS;oBACnB,GAAG,EAAE,KAAK;oBACV,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,UAAU;oBACpB,YAAY,EAAE,aAAa;oBAC3B,KAAK,EAAE,OAAO;iBACf;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,SAAS,CAACA,6BAAqB,CAAC;oBACzC,QAAQ,EAAE,aAAa;iBACxB;aACF,CAAC;WACW,iBAAiB,CAkG7B;QAAD,wBAAC;KAAA,CAlGsC,SAAS;;;QChDT,qCAAW;QAChD,2BACY,UAAsB,EACtB,aAA4B;YAFxC,YAIE,kBAAM,UAAU,EAAE,aAAa,CAAC,SACjC;YAJW,gBAAU,GAAV,UAAU,CAAY;YACtB,mBAAa,GAAb,aAAa,CAAe;;SAGvC;QAEK,mCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,MAAG,CAAC,CAAC,IAAI,CACjHvB,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAChIA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC3D,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,4CAAgB,GAAtB,UAAuB,MAAc;;;oBACnC,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,qBAAkB,CAAC,CAAC,IAAI,CAChIA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACvD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,mCAAO,GAAb,UAAc,MAAc;;;oBAC1B,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,WAAQ,CAAC,CAAC,IAAI,CACtHA,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACjD,CAAC,SAAS,EAAE,EAAC;;;SACf;QAEK,iDAAqB,GAA3B,UAA4B,MAAc,EAAE,MAA+B;;;oBACzE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,0BAAuB,EAAE;4BACjI,MAAM,EAAE,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;4BACjD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;QAEK,4CAAgB,GAAtB,UAAuB,MAAc,EAAE,MAA+B;;;oBACpE,sBAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,2CAAsC,MAAM,oBAAiB,EAAE;4BAC3H,MAAM,EAAE,IAAIA,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;4BACjD,YAAY,EAAE,MAAM;yBACrB,CAAC,CAAC,SAAS,EAAE,EAAC;;;SAChB;;oBA1CuBC,eAAU;oBACP,aAAa;;;QAH7B,iBAAiB;YAD7BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,iBAAiB,CA6C7B;gCAxDD;KAwDC,CA7CsC,WAAW;;;QCFhD,uBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAED,+BAAO,GAAP,UAAQ,MAAc;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,MAAG,CAAC,CAAC,IAAI,CAClGK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,CAAC;SACf;QAED,0CAAkB,GAAlB,UAAmB,MAAc,EAAE,QAAgB;YACjD,IAAM,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,uBAAoB,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC7HD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC9C,CAAC,SAAS,EAAE,CAAC;SACf;;oBAhBqBE,eAAU;oBACP,aAAa;;;QAH3B,aAAa;YADzBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,aAAa,CAmBzB;4BA3BD;KAQA;;;QCGE,uBACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;SAErC;QAED,+BAAO,GAAP,UAAQ,MAAc;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,MAAG,CAAC,CAAC,IAAI,CAClGK,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CACpC,CAAC,SAAS,EAAE,CAAC;SACf;QAED,sCAAc,GAAd,UAAe,MAAc,EAAE,QAAgB;YAC7C,IAAM,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,kBAAe,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CACxHD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC1C,CAAC,SAAS,EAAE,CAAC;SACf;QAED,yCAAiB,GAAjB,UAAkB,MAAc,EAAE,QAAgB;YAChD,IAAM,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,sBAAmB,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC5HD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAClD,CAAC,SAAS,EAAE,CAAC;SACf;QAED,uCAAe,GAAf,UAAgB,MAAc,EAAE,QAAgB;YAC9C,IAAM,MAAM,GAAG,IAAIC,eAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,4BAAuB,MAAM,oBAAiB,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC1HD,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAA,CAAC,CAC5C,CAAC,SAAS,EAAE,CAAC;SACf;;oBA9BqBE,eAAU;oBACP,aAAa;;;QAH3B,aAAa;YADzBP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,aAAa,CAiCzB;4BA3CD;KAUA;;;QCRa,iCAAiC;QAC5CyB,KAACrB,8BAAsB,CAAC,UAAU,IAAG,mBAAmB;QACxDqB,KAACrB,8BAAsB,CAAC,SAAS,IAAG,iBAAiB;QACrDqB,KAACrB,8BAAsB,CAAC,WAAW,IAAG,qBAAqB;QAC3DqB,KAACrB,8BAAsB,CAAC,iBAAiB,IAAG,eAAe;QAC3DqB,KAACrB,8BAAsB,CAAC,mBAAmB,IAAG,eAAe;QAC7DqB,KAACrB,8BAAsB,CAAC,kBAAkB,IAAG,iBAAiB;QAC9DqB,KAACrB,8BAAsB,CAAC,iBAAiB,IAAG,eAAe;QAC3DqB,KAACrB,8BAAsB,CAAC,cAAc,IAAG,QAAQ;QACjDqB,KAACrB,8BAAsB,CAAC,gBAAgB,IAAG,QAAQ;QACnDqB,KAACrB,8BAAsB,CAAC,eAAe,IAAG,kBAAkB;QAC5DqB,KAACrB,8BAAsB,CAAC,cAAc,IAAG,QAAQ;QACjDqB,KAACrB,8BAAsB,CAAC,MAAM,IAAG,UAAU;QAC3CqB,KAACrB,8BAAsB,CAAC,KAAK,IAAG,SAAS;QACzCqB,KAACrB,8BAAsB,CAAC,OAAO,IAAG,QAAQ;QAC1CqB,KAACrB,8BAAsB,CAAC,iBAAiB,IAAG,oBAAoB;QAChEqB,KAACrB,8BAAsB,CAAC,iBAAiB,IAAG,iBAAiB;QAC7DqB,KAACrB,8BAAsB,CAAC,KAAK,IAAG,UAAU;QAC1CqB,KAACrB,8BAAsB,CAAC,QAAQ,IAAG,QAAQ;QAC3CqB,KAACrB,8BAAsB,CAAC,aAAa,IAAG,KAAK;QAC7CqB,KAACrB,8BAAsB,CAAC,cAAc,IAAG,iBAAiB;QAC1DqB,KAACrB,8BAAsB,CAAC,oBAAoB,IAAG,iBAAiB;QAChEqB,KAACrB,8BAAsB,CAAC,OAAO,IAAG,SAAS;QAC3CqB,KAACrB,8BAAsB,CAAC,YAAY,IAAG,kBAAkB;;;;QCvB9C,6BAA6B;QACxCqB,KAACjB,0BAAkB,CAAC,UAAU,IAAG,mBAAmB;QACpDiB,KAACjB,0BAAkB,CAAC,SAAS,IAAG,iBAAiB;QACjDiB,KAACjB,0BAAkB,CAAC,SAAS,IAAG,aAAa;QAC7CiB,KAACjB,0BAAkB,CAAC,YAAY,IAAG,mBAAmB;QACtDiB,KAACjB,0BAAkB,CAAC,YAAY,IAAG,wBAAwB;QAC3DiB,KAACjB,0BAAkB,CAAC,IAAI,IAAG,KAAK;QAChCiB,KAACjB,0BAAkB,CAAC,gBAAgB,IAAG,eAAe;QACtDiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,YAAY;QAChDiB,KAACjB,0BAAkB,CAAC,2BAA2B,IAAG,eAAe;QACjEiB,KAACjB,0BAAkB,CAAC,wBAAwB,IAAG,YAAY;QAC3DiB,KAACjB,0BAAkB,CAAC,MAAM,IAAG,UAAU;QACvCiB,KAACjB,0BAAkB,CAAC,UAAU,IAAG,mBAAmB;QACpDiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,aAAa;QACjDiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,eAAe;QACnDiB,KAACjB,0BAAkB,CAAC,kBAAkB,IAAG,sBAAsB;QAC/DiB,KAACjB,0BAAkB,CAAC,uBAAuB,IAAG,oCAAoC;QAClFiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,YAAY;QAChDiB,KAACjB,0BAAkB,CAAC,YAAY,IAAG,iBAAiB;QACpDiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,wBAAwB;QAC5DiB,KAACjB,0BAAkB,CAAC,YAAY,IAAG,sBAAsB;QACzDiB,KAACjB,0BAAkB,CAAC,IAAI,IAAG,gBAAgB;QAC3CiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,gBAAgB;QACpDiB,KAACjB,0BAAkB,CAAC,wBAAwB,IAAG,gBAAgB;QAC/DiB,KAACjB,0BAAkB,CAAC,OAAO,IAAG,SAAS;QACvCiB,KAACjB,0BAAkB,CAAC,aAAa,IAAG,0BAA0B;QAC9DiB,KAACjB,0BAAkB,CAAC,WAAW,IAAG,yBAAyB;;;;QC1BhD,+BAA+B;QAC1CiB,KAACf,4BAAoB,CAAC,UAAU,IAAG,eAAe;QAClDe,KAACf,4BAAoB,CAAC,SAAS,IAAG,aAAa;QAC/Ce,KAACf,4BAAoB,CAAC,SAAS,IAAG,WAAW;QAC7Ce,KAACf,4BAAoB,CAAC,YAAY,IAAG,cAAc;QACnDe,KAACf,4BAAoB,CAAC,YAAY,IAAG,sBAAsB;QAC3De,KAACf,4BAAoB,CAAC,IAAI,IAAG,KAAK;QAClCe,KAACf,4BAAoB,CAAC,MAAM,IAAG,UAAU;QACzCe,KAACf,4BAAoB,CAAC,eAAe,IAAG,iBAAiB;QACzDe,KAACf,4BAAoB,CAAC,YAAY,IAAG,cAAc;QACnDe,KAACf,4BAAoB,CAAC,qBAAqB,IAAG,oBAAoB;QAClEe,KAACf,4BAAoB,CAAC,kBAAkB,IAAG,iBAAiB;QAC5De,KAACf,4BAAoB,CAAC,UAAU,IAAG,kBAAkB;QACrDe,KAACf,4BAAoB,CAAC,MAAM,IAAG,SAAS;QACxCe,KAACf,4BAAoB,CAAC,SAAS,IAAG,eAAe;QACjDe,KAACf,4BAAoB,CAAC,IAAI,IAAG,cAAc;QAC3Ce,KAACf,4BAAoB,CAAC,YAAY,IAAG,kBAAkB;QACvDe,KAACf,4BAAoB,CAAC,kBAAkB,IAAG,qBAAqB;QAChEe,KAACf,4BAAoB,CAAC,IAAI,IAAG,KAAK;QAClCe,KAACf,4BAAoB,CAAC,WAAW,IAAG,iBAAiB;QACrDe,KAACf,4BAAoB,CAAC,QAAQ,IAAG,kBAAkB;QACnDe,KAACf,4BAAoB,CAAC,YAAY,IAAG,KAAK;QAC1Ce,KAACf,4BAAoB,CAAC,IAAI,IAAG,QAAQ;QACrCe,KAACf,4BAAoB,CAAC,KAAK,IAAG,UAAU;QACxCe,KAACf,4BAAoB,CAAC,GAAG,IAAG,KAAK;QACjCe,KAACf,4BAAoB,CAAC,OAAO,IAAG,SAAS;QACzCe,KAACf,4BAAoB,CAAC,SAAS,IAAG,SAAS;QAC3Ce,KAACf,4BAAoB,CAAC,qBAAqB,IAAG,cAAc;QAC5De,KAACf,4BAAoB,CAAC,qBAAqB,IAAG,iBAAiB;QAC/De,KAACf,4BAAoB,CAAC,qBAAqB,IAAG,kBAAkB;;;;QC7BrD,+BAA+B;QAC1Ce,KAACd,4BAAoB,CAAC,UAAU,IAAG,eAAe;QAClDc,KAACd,4BAAoB,CAAC,SAAS,IAAG,aAAa;QAC/Cc,KAACd,4BAAoB,CAAC,SAAS,IAAG,aAAa;QAC/Cc,KAACd,4BAAoB,CAAC,YAAY,IAAG,gBAAgB;QACrDc,KAACd,4BAAoB,CAAC,YAAY,IAAG,wBAAwB;QAC7Dc,KAACd,4BAAoB,CAAC,IAAI,IAAG,KAAK;QAClCc,KAACd,4BAAoB,CAAC,MAAM,IAAG,UAAU;QACzCc,KAACd,4BAAoB,CAAC,YAAY,IAAG,WAAW;QAChDc,KAACd,4BAAoB,CAAC,oBAAoB,IAAG,YAAY;QACzDc,KAACd,4BAAoB,CAAC,YAAY,IAAG,QAAQ;QAC7Cc,KAACd,4BAAoB,CAAC,IAAI,IAAG,MAAM;QACnCc,KAACd,4BAAoB,CAAC,YAAY,IAAG,SAAS;QAC9Cc,KAACd,4BAAoB,CAAC,IAAI,IAAG,KAAK;QAClCc,KAACd,4BAAoB,CAAC,WAAW,IAAG,kBAAkB;QACtDc,KAACd,4BAAoB,CAAC,QAAQ,IAAG,kBAAkB;QACnDc,KAACd,4BAAoB,CAAC,eAAe,IAAG,mBAAmB;QAC3Dc,KAACd,4BAAoB,CAAC,QAAQ,IAAG,QAAQ;QACzCc,KAACd,4BAAoB,CAAC,KAAK,IAAG,UAAU;QACxCc,KAACd,4BAAoB,CAAC,UAAU,IAAG,aAAa;QAChDc,KAACd,4BAAoB,CAAC,OAAO,IAAG,SAAS;;;;QCpB9B,wBAAwB;QACnCc,KAAChC,qBAAa,CAAC,aAAa,IAAG,sBAAsB;QACrDgC,KAAChC,qBAAa,CAAC,cAAc,IAAG,YAAY;QAC5CgC,KAAChC,qBAAa,CAAC,IAAI,IAAG,YAAY;QAClCgC,KAAChC,qBAAa,CAAC,gBAAgB,IAAG,eAAe;QACjDgC,KAAChC,qBAAa,CAAC,aAAa,IAAG,4BAA4B;QAC3DgC,KAAChC,qBAAa,CAAC,0BAA0B,IAAG,sCAAsC;QAClFgC,KAAChC,qBAAa,CAAC,QAAQ,IAAG,SAAS;QACnCgC,KAAChC,qBAAa,CAAC,SAAS,IAAG,UAAU;QACrCgC,KAAChC,qBAAa,CAAC,kBAAkB,IAAG,iCAAiC;;;;QCT1D,6BAA6B;QACxCgC,KAACF,0BAAkB,CAAC,KAAK,IAAG,SAAS;QACrCE,KAACF,0BAAkB,CAAC,OAAO,IAAG,UAAU;QACxCE,KAACF,0BAAkB,CAAC,SAAS,IAAG,gBAAgB;QAChDE,KAACF,0BAAkB,CAAC,YAAY,IAAG,eAAe;QAClDE,KAACF,0BAAkB,CAAC,WAAW,IAAG,iBAAiB;QACnDE,KAACF,0BAAkB,CAAC,QAAQ,IAAG,kBAAkB;;;;QCNtC,4BAA4B;QACvCE,KAACD,yBAAiB,CAAC,UAAU,IAAG,mBAAmB;QACnDC,KAACD,yBAAiB,CAAC,SAAS,IAAG,iBAAiB;QAChDC,KAACD,yBAAiB,CAAC,GAAG,IAAG,SAAS;QAClCC,KAACD,yBAAiB,CAAC,WAAW,IAAG,kBAAkB;QACnDC,KAACD,yBAAiB,CAAC,eAAe,IAAG,YAAY;QACjDC,KAACD,yBAAiB,CAAC,eAAe,IAAG,mBAAmB;QACxDC,KAACD,yBAAiB,CAAC,YAAY,IAAG,iBAAiB;QACnDC,KAACD,yBAAiB,CAAC,YAAY,IAAG,cAAc;QAChDC,KAACD,yBAAiB,CAAC,qBAAqB,IAAG,gBAAgB;QAC3DC,KAACD,yBAAiB,CAAC,WAAW,IAAG,mBAAmB;QACpDC,KAACD,yBAAiB,CAAC,SAAS,IAAG,UAAU;QACzCC,KAACD,yBAAiB,CAAC,cAAc,IAAG,iBAAiB;QACrDC,KAACD,yBAAiB,CAAC,SAAS,IAAG,gBAAgB;QAC/CC,KAACD,yBAAiB,CAAC,IAAI,IAAG,KAAK;QAC/BC,KAACD,yBAAiB,CAAC,WAAW,IAAG,iBAAiB;QAClDC,KAACD,yBAAiB,CAAC,QAAQ,IAAG,kBAAkB;QAChDC,KAACD,yBAAiB,CAAC,OAAO,IAAG,qBAAqB;QAClDC,KAACD,yBAAiB,CAAC,MAAM,IAAG,iBAAiB;QAC7CC,KAACD,yBAAiB,CAAC,cAAc,IAAG,eAAe;QACnDC,KAACD,yBAAiB,CAAC,qBAAqB,IAAG,cAAc;QACzDC,KAACD,yBAAiB,CAAC,eAAe,IAAG,qBAAqB;QAC1DC,KAACD,yBAAiB,CAAC,WAAW,IAAG,eAAe;QAChDC,KAACD,yBAAiB,CAAC,qBAAqB,IAAG,iBAAiB;QAC5DC,KAACD,yBAAiB,CAAC,qBAAqB,IAAG,cAAc;QAEzDC,KAACD,yBAAiB,CAAC,OAAO,IAAG,SAAS;QACtCC,KAACD,yBAAiB,CAAC,SAAS,IAAG,kBAAkB;QACjDC,KAACD,yBAAiB,CAAC,UAAU,IAAG,mBAAmB;QACnDC,KAACD,yBAAiB,CAAC,cAAc,IAAG,oCAAoC;QACxEC,KAACD,yBAAiB,CAAC,WAAW,IAAG,mBAAmB;QACpDC,KAACD,yBAAiB,CAAC,YAAY,IAAG,oBAAoB;QACtDC,KAACD,yBAAiB,CAAC,WAAW,IAAG,eAAe;QAChDC,KAACD,yBAAiB,CAAC,QAAQ,IAAG,cAAc;QAC5CC,KAACD,yBAAiB,CAAC,SAAS,IAAG,eAAe;QAC9CC,KAACD,yBAAiB,CAAC,QAAQ,IAAG,cAAc;QAC5CC,KAACD,yBAAiB,CAAC,SAAS,IAAG,eAAe;QAC9CC,KAACD,yBAAiB,CAAC,SAAS,IAAG,KAAK;;;;QCrCzB,wBAAwB;QACnCC,KAACtB,oBAAY,CAAC,MAAM,IAAG,cAAc;QACrCsB,KAACtB,oBAAY,CAAC,SAAS,IAAG,WAAW;QACrCsB,KAACtB,oBAAY,CAAC,KAAK,IAAG,UAAU;QAChCsB,KAACtB,oBAAY,CAAC,KAAK,IAAG,QAAQ;QAC9BsB,KAACtB,oBAAY,CAAC,UAAU,IAAG,gBAAgB;QAC3CsB,KAACtB,oBAAY,CAAC,aAAa,IAAG,iBAAiB;QAC/CsB,KAACtB,oBAAY,CAAC,OAAO,IAAG,UAAU;QAClCsB,KAACtB,oBAAY,CAAC,YAAY,IAAG,sBAAsB;QACnDsB,KAACtB,oBAAY,CAAC,OAAO,IAAG,SAAS;QACjCsB,KAACtB,oBAAY,CAAC,SAAS,IAAG,WAAW;;;;QCL1B,kCAAkC;QAC7CsB,KAACnD,8BAAsB,CAAC,WAAW,IAAG,wBAAwB;QAC9DmD,KAACnD,8BAAsB,CAAC,cAAc,IAAG,oBAAoB;QAC7DmD,KAACnD,8BAAsB,CAAC,aAAa,IAAG,gBAAgB;QACxDmD,KAACnD,8BAAsB,CAAC,aAAa,IAAG,gBAAgB;QACxDmD,KAACnD,8BAAsB,CAAC,MAAM,IAAG,WAAW;cAC5C;QAEW,uCAAuC;QAClD,GAACA,8BAAsB,CAAC,WAAW,IAAG,IAAI;QAC1C,GAACA,8BAAsB,CAAC,cAAc,IAAG,IAAI;QAC7C,GAACA,8BAAsB,CAAC,aAAa,IAAG,IAAI;QAC5C,GAACA,8BAAsB,CAAC,aAAa,IAAG,IAAI;QAC5C,GAACA,8BAAsB,CAAC,MAAM,IAAG,GAAG;YACpC;QAEW,oBAAoB;QAC/B,GAACC,gBAAQ,CAAC,IAAI,IAAG,OAAO;QACxB,GAACA,gBAAQ,CAAC,KAAK,IAAG,QAAQ;YAC1B;QAEW,kCAAkC;QAC7C,GAACC,8BAAsB,CAAC,MAAM,IAAG,WAAW;QAC5C,GAACA,8BAAsB,CAAC,MAAM,IAAG,QAAQ;QACzC,GAACA,8BAAsB,CAAC,aAAa,IAAG,yBAAyB;QACjE,GAACA,8BAAsB,CAAC,iBAAiB,IAAG,YAAY;QACxD,GAACA,8BAAsB,CAAC,QAAQ,IAAG,cAAc;YACjD;QAEW,uCAAuC;QAClD,GAACA,8BAAsB,CAAC,MAAM,IAAG,GAAG;QACpC,GAACA,8BAAsB,CAAC,MAAM,IAAG,GAAG;QACpC,GAACA,8BAAsB,CAAC,aAAa,IAAG,IAAI;QAC5C,GAACA,8BAAsB,CAAC,iBAAiB,IAAG,IAAI;QAChD,GAACA,8BAAsB,CAAC,QAAQ,IAAG,GAAG;YACtC;QAEW,yCAAyC;QACpD,GAACA,8BAAsB,CAAC,MAAM,IAAG,OAAO;QACxC,GAACA,8BAAsB,CAAC,MAAM,IAAG,QAAQ;QACzC,GAACA,8BAAsB,CAAC,aAAa,IAAG,OAAO;QAC/C,GAACA,8BAAsB,CAAC,iBAAiB,IAAG,QAAQ;QACpD,GAACA,8BAAsB,CAAC,QAAQ,IAAG,OAAO;YAC1C;QAEW,8BAA8B;QACzC,GAACC,0BAAkB,CAAC,IAAI,IAAG,OAAO;QAClC,GAACA,0BAAkB,CAAC,KAAK,IAAG,QAAQ;YACpC;QAEW,8BAA8B;QACzC,GAACC,0BAAkB,CAAC,UAAU,IAAG,SAAS;QAC1C,GAACA,0BAAkB,CAAC,UAAU,IAAG,UAAU;QAC3C,GAACA,0BAAkB,CAAC,OAAO,IAAG,YAAY;YAC1C;QAEW,gCAAgC;QAC3C,GAACE,4BAAoB,CAAC,UAAU,IAAG,SAAS;QAC5C,GAACA,4BAAoB,CAAC,UAAU,IAAG,UAAU;QAC7C,GAACA,4BAAoB,CAAC,UAAU,IAAG,cAAc;QACjD,GAACA,4BAAoB,CAAC,OAAO,IAAG,YAAY;YAC5C;QAEW,4BAA4B;QACvC,GAACC,wBAAgB,CAAC,IAAI,IAAG,OAAO;QAChC,GAACA,wBAAgB,CAAC,KAAK,IAAG,QAAQ;QAClC,GAACA,wBAAgB,CAAC,IAAI,IAAG,KAAK;YAC9B;QAEW,gCAAgC;QAC3C,GAACC,4BAAoB,CAAC,UAAU,IAAG,SAAS;QAC5C,GAACA,4BAAoB,CAAC,MAAM,IAAG,SAAS;QACxC,GAACA,4BAAoB,CAAC,KAAK,IAAG,UAAU;QACxC,GAACA,4BAAoB,CAAC,WAAW,IAAG,aAAa;QACjD,GAACA,4BAAoB,CAAC,QAAQ,IAAG,aAAa;YAC9C;QAEW,6BAA6B;QACxC,GAACC,yBAAiB,CAAC,UAAU,IAAG,uBAAuB;QACvD,GAACA,yBAAiB,CAAC,WAAW,IAAG,yBAAyB;QAC1D,GAACA,yBAAiB,CAAC,SAAS,IAAG,yBAAyB;QACxD,GAACA,yBAAiB,CAAC,QAAQ,IAAG,cAAc;QAC5C,GAACA,yBAAiB,CAAC,aAAa,IAAG,gBAAgB;QACnD,GAACA,yBAAiB,CAAC,QAAQ,IAAG,YAAY;;;;QCxF/B,iCAAiC;QAC5C0C,KAACG,6BAAqB,CAAC,UAAU,IAAG,mBAAmB;QACvDH,KAACG,6BAAqB,CAAC,SAAS,IAAG,iBAAiB;QACpDH,KAACG,6BAAqB,CAAC,WAAW,IAAG,qBAAqB;QAC1DH,KAACG,6BAAqB,CAAC,SAAS,IAAG,KAAK;QACxCH,KAACG,6BAAqB,CAAC,SAAS,IAAG,QAAQ;QAC3CH,KAACG,6BAAqB,CAAC,WAAW,IAAG,kBAAkB;QACvDH,KAACG,6BAAqB,CAAC,YAAY,IAAG,sBAAsB;QAC5DH,KAACG,6BAAqB,CAAC,WAAW,IAAG,OAAO;QAC5CH,KAACG,6BAAqB,CAAC,YAAY,IAAG,cAAc;QACpDH,KAACG,6BAAqB,CAAC,WAAW,IAAG,qBAAqB;QAC1DH,KAACG,6BAAqB,CAAC,aAAa,IAAG,MAAM;QAC7CH,KAACG,6BAAqB,CAAC,WAAW,IAAG,iBAAiB;QACtDH,KAACG,6BAAqB,CAAC,iBAAiB,IAAG,gBAAgB;QAC3DH,KAACG,6BAAqB,CAAC,OAAO,IAAG,OAAO;QACxCH,KAACG,6BAAqB,CAAC,aAAa,IAAG,kBAAkB;QACzDH,KAACG,6BAAqB,CAAC,aAAa,IAAG,cAAc;QACrDH,KAACG,6BAAqB,CAAC,uBAAuB,IAAG,uBAAuB;QACxEH,KAACG,6BAAqB,CAAC,mBAAmB,IAAG,sBAAsB;QACnEH,KAACG,6BAAqB,CAAC,KAAK,IAAG,MAAM;QACrCH,KAACG,6BAAqB,CAAC,KAAK,IAAG,QAAQ;QACvCH,KAACG,6BAAqB,CAAC,OAAO,IAAG,SAAS;QAC1CH,KAACG,6BAAqB,CAAC,WAAW,IAAG,gBAAgB;;;;QCVnB,kCAAS;QAA7C;;SAWC;QAJQ,sBAAO,GAAd,UAAe,IAAS,KAAS;QAG1B,qBAAM,GAAb,UAAc,IAAS,KAAS;QAHhC;YADC,WAAW;2CACqB;QAGjC;YADC,UAAU;0CACqB;QAVrB,cAAc;YAX1B,aAAa,CAAC;gBACb,aAAa,EAAE;oBACb,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,SAAS;iBACpB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;iBACvB;aACF,CAAC;WACW,cAAc,CAW1B;QAAD,qBAAC;KAAA,CAXmC,SAAS;;;QCc3C,2BACU,UAAsB,EACtB,aAA4B;YAD5B,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;YAZ9B,cAAS,GAAoC,EAAE,CAAC;YAChD,kBAAa,GAA2B,EAAE,CAAC;YAG3C,qBAAgB,GAAG,IAAI7B,oBAAe,CAAU,KAAK,CAAC,CAAC;SAS1D;QAPL,sBAAI,yCAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC9B;;;WAAA;QAOD,kCAAM,GAAN,UAAO,OAAO;YAAd,iBAcC;YAbC,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI8B,eAAO,EAAO,CAAC;YAC7C,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,UAAA,SAAS;gBACrD,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBAClE,UAAU,CAAC;oBACT,YAAY,CAAC,WAAW,EAAE,CAAC;iBAC5B,CAAC,CAAC;aACJ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAChC;QAED,uCAAW,GAAX,UAAY,OAAO;YACjB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aACpC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;QAED,mCAAO,GAAP;YAAA,iBAyBC;YAxBC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,IAAI,CAAC,uBAAuB,GAAG,IAAIC,2BAAa,CAAC,CAAC,CAAC,CAAC;gBAEpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAsB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,wBAAqB,CAAC;qBAC5F,SAAS,CAAC,UAAA,MAAM;oBACf,KAAI,CAAC,gBAAgB,CAAC;wBACpB,GAAG,EAAE,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;wBAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,UAAU,EAAE,CAAC,WAAW,CAAC;qBAC1B,CAAC,CAAC;oBACH,KAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC1B,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;wBAC5B,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClC,CAAC,CAAC;oBACH,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE;wBAC/B,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACnC,CAAC,CAAC;iBACJ,CAAC,CAAC;aACN;YAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;SACrC;QAED,mCAAO,GAAP,UAAQ,OAAe,EAAE,OAAY;YAArC,iBAcC;YAbC,OAAO,IAAIC,eAAU,CAAM,UAAA,QAAQ;gBACjC,KAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;oBACvB,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;wBAChC,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;qBACnE;oBACD,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;wBACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACnB,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB,EAAE,UAAA,KAAK;wBACN,MAAM,KAAK,CAAC;qBACb,CAAC,CAAC;iBACJ,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ;QAED,sCAAU,GAAV;YACE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAEO,4CAAgB,GAAxB,UAAyB,MAMxB;YACC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SAC1C;QAEO,iDAAqB,GAA7B,UAA8B,OAAe;YAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3E;QAEO,0CAAc,GAAtB,UAAuB,QAAa;YAClC,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO;aACR;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7C;;oBAtGqBxB,eAAU;oBACP,aAAa;;;QAb3B,iBAAiB;YAD7BP,eAAU,CAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;WACpB,iBAAiB,CAmH7B;gCApID;KAiBA;;;QCZE,4BAAY,YAAkB,EAAY,UAA2B;YAA3B,eAAU,GAAV,UAAU,CAAiB;YACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SAClC;QAED,oCAAO,GAAP,UAAQ,KAAU;YAChB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACvC;YACD,OAAO,KAAK,CAAC;SACd;QAED,mCAAM,GAAN,UAAO,KAAU;YACf,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACtC;YACD,OAAO,KAAK,CAAC;SACd;QACH,yBAAC;IAAD,CAAC,IAAA;;QAGC,uBAAsB,IAAY,EAAY,MAA2C;YAAnE,SAAI,GAAJ,IAAI,CAAQ;YAAY,WAAM,GAAN,MAAM,CAAqC;SACxF;QAED,gCAAQ,GAAR,UAAS,GAAW,EAAE,KAAyB;YAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC1B;QAED,4BAAI,GAAJ,UAAK,GAAW,EAAE,KAAU;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACrB,OAAO;aACR;YACD,IAAI,CAAC,OAAO,CAAI,IAAI,CAAC,IAAI,SAAI,GAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACrE;QAED,2BAAG,GAAH,UAAI,GAAW;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACrB,OAAO;aACR;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAI,IAAI,CAAC,IAAI,SAAI,GAAK,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;aACvC;YACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;gBACzC,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACxC;QAED,6BAAK,GAAL;;;gBACE,KAAoB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;oBAAzC,IAAM,KAAK,WAAA;oBACd,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBACxB;;;;;;;;;SACF;QAES,+BAAO,GAAjB,UAAkB,GAAW;YAC3B,MAAM,IAAI,KAAK,CAAC,uCAAqC,OAAO,IAAI,qBAAkB,CAAC,CAAC;SACrF;QAES,+BAAO,GAAjB,UAAkB,GAAW,EAAE,KAAU;YACvC,MAAM,IAAI,KAAK,CAAC,uCAAqC,OAAO,IAAI,qBAAkB,CAAC,CAAC;SACrF;QAES,kCAAU,GAApB,UAAqB,GAAW;YAC9B,MAAM,IAAI,KAAK,CAAC,0CAAwC,OAAO,IAAI,qBAAkB,CAAC,CAAC;SACxF;QACH,oBAAC;IAAD,CAAC;;;QCpEuC,sCAAa;QAArD;;SAgBC;QAfW,oCAAO,GAAjB,UAAkB,GAAW,EAAE,KAAU;YACvC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;QAES,oCAAO,GAAjB,UAAkB,GAAW;YAC3B,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aAC9C;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO;aACR;SACF;QAES,uCAAU,GAApB,UAAqB,GAAW;YAC9B,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9B;QACH,yBAAC;IAAD,CAhBA,CAAwC,aAAa;;aCYrC,kBAAkB,CAAC,SAAwB;QACzD,IAAK,SAAS,CAAC,WAAmB,CAAC,qBAAqB,EAAE;YACxD,OAAQ,SAAS,CAAC,WAAmB,CAAC,qBAAqB,CAAC;SAC7D;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;aAEe,YAAY,CAAC,OAAY;QACvC,IAAM,GAAG,GAAG,MAAM,CAAC,OAAc,CAAC,CAAC;QACnC,IAAM,QAAQ,GAAI,GAAW,CAAC,SAAS,CAAC;QACxC,OAAO,CAAC,qBAAqB,GAAG,IAAI6B,eAAO,EAAQ,CAAC;QACnD,GAAW,CAAC,SAAS,GAAG;YACvB,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YACzC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACtB,CAAC;IACJ,CAAC;IAED,SAAS,MAAM,CACb,IAAyC;QAEzC,OAAQ,IAAyB,CAAC,IAAI,IAAK,IAAyB,CAAC,IAAI,CAAC;IAC5E;;aCpCgB,SAAS,CAAC,IAAY;QACpC,IAAM,KAAK,GAAG,OAAK,QAAQ,CAAC,MAAQ,CAAC;QACrC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAK,IAAI,MAAG,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IACd;;aCPgB,aAAa;QAC3B,IAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,IAAM,EAAE,GAAG,UAAC,CAAC;YACX,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SACrC,CAAC;QAEF,IAAI,CAAC,cAAc,IAAI,MAAM,KAAM,MAAc,CAAC,aAAa,IAAI,QAAQ,YAAa,MAAc,CAAC,aAAa,EAAE;YACpH,OAAO,IAAI,CAAC;SACb;;;QAID,IAAM,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB;;aCdgB,cAAc,CAAC,SAAS;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aAC1B,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,SAAS,CAAC,CAAC,CAAC,GAAA,CAAC;aACtB,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAA,CAAC;aAChC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAA,CAAC,CAAC;IAClB;;aCHgB,WAAW,CAAC,KAAK,EAAE,KAAa,EAAE,UAAiB;QAAhC,sBAAA,EAAA,aAAa;QAAE,2BAAA,EAAA,iBAAiB;QACjE,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YAC7FG,wBAAgB,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;IACH;;aCFgB,YAAY,CAAC,MAAc;QACzC,OAAO;YACL,EAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAmB,MAAM,yBAAsB,EAAC;YAClG,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAmB,MAAM,sBAAmB,EAAC;YACpG,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAmB,MAAM,sBAAmB,EAAC;YACpG,EAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAmB,MAAM,gBAAa,EAAC;YACpE,EAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAmB,MAAM,qBAAkB,EAAC;YACpE,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAmB,MAAM,0BAAuB,EAAE,KAAK,EAAE,SAAS,EAAC;SAC7F,CAAC;IACJ,CAAC;aAEe,cAAc,CAAC,QAAkB,EAAE,WAAmB;;QACpE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,WAAW,KAAK,WAAW,EAAE;YAC/B,MAAM,GAAG,MAAM,CAAC;SACjB;QACD,IAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;;YAClC,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;oBAC5C,KAAkB,IAAA,oBAAA,SAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,gBAAA,4BAAE;wBAAhC,IAAM,GAAG,WAAA;wBACZ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;qBACnC;;;;;;;;;gBACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACjC;;;;;;;;;IACH;;aC9BgB,oBAAoB,CAAC,SAAoB;QACtD,MAAc,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,OAAO;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,WAAW,EAAE,CAAC;YAEtB,IAAI,OAAO,YAAYC,eAAS,EAAE;gBAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;aAC/B;iBAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;gBAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC;oBACxB,IAAI,CAAC,YAAYA,eAAS,EAAE;wBAC1B,oBAAoB,CAAC,CAAC,CAAC,CAAC;qBACzB;yBAAM;wBACL,CAAC,CAAC,aAAa,EAAE,CAAC;wBAClB,CAAC,CAAC,WAAW,EAAE,CAAC;qBACjB;iBACF,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;IACL;;QCZa,uBAAuB,GAAG,UAAC,SAAiB;QACvD,OAAO,UAAC,CAAkB;YACxB,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS;kBAC7B,EAAC,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAC;kBAChC,IAAI,CAAC;SACV,CAAC;IACJ,EAAE;QAEW,aAAa,GAAG,UAAC,OAAwB;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,IAAM,KAAK,GAAG,CAAA,KAAG,OAAO,CAAC,KAAO,EAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,GAAG,IAAI,GAAG,EAAC,YAAY,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAC,CAAC;IACrE,EAAE;QAEW,YAAY,GAAG,UAAC,OAAwB;QACnD,IAAM,EAAE,GAAG,uBAAuB,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,EAAC,WAAW,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAC,CAAC;IACvC,EAAE;QAEW,aAAa,GAAG,UAAC,WAAuC,EAAE,SAAgB,EAAE,MAAW;QAA7B,0BAAA,EAAA,gBAAgB;QAAE,uBAAA,EAAA,WAAW;QAClG,IAAM,OAAO,GAAGC,OAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAC3BC,eAAK,CAAC,GAAG,CAAC,CACX,CAAC;QACF,OAAO,UAAC,OAAwB;YAC9B,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtC,OAAOD,OAAE,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,OAAO,OAAO,CAAC,IAAI,CACjBE,mBAAS,CAAC,cAAM,OAAA,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CACnE/B,aAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,GAAG,IAAI,GAAG,EAAC,UAAU,EAAE,IAAI,EAAC,GAAA,CAAC,CAChD,GAAA,CAAC,CACH,CAAC;SACH,CAAC;IACJ,EAAE;QAEW,WAAW,GAAG,UAAC,OAAwB;QAClD,IAAM,EAAE,GAAG,+EAA+E,CAAC;QAC3F,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC;IAC5B,EAAE;aAEc,iBAAiB,CAAC,WAAmB;QACnD,OAAO,UAAC,OAAwB;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBAClB,OAAO,IAAI,CAAC;aACb;SACF,CAAC;IACJ;;;QCnDE,+BACU,QAAkB,EAClB,aAA4B,EACP,UAAkB;YAFvC,aAAQ,GAAR,QAAQ,CAAU;YAClB,kBAAa,GAAb,aAAa,CAAe;YACP,eAAU,GAAV,UAAU,CAAQ;YALzC,cAAS,GAAGgC,wBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAOtD;QAED,yCAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;YAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;YACD,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC/C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;aAC1C;YACD,IAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;oBACd,UAAU,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC;iBAClC,CAAC,CAAC;aACJ;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACzB;;oBArBmBC,aAAQ;oBACH,aAAa;iDACnCpC,WAAM,SAACqC,gBAAW;;QANV,qBAAqB;YADjCvC,eAAU,EAAE;YAOR,WAAAE,WAAM,CAACqC,gBAAW,CAAC,CAAA;WANX,qBAAqB,CA0BjC;QAAD,4BAAC;KA1BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"mtgame-core.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@mtgame/core/localization/hockey-penalty-types.ts","ng://@mtgame/core/models/util.ts","ng://@mtgame/core/models/file.ts","ng://@mtgame/core/models/sport.ts","ng://@mtgame/core/models/user-profile.ts","ng://@mtgame/core/models/city.ts","ng://@mtgame/core/models/basketball-profile.ts","ng://@mtgame/core/models/volleyball-profile.ts","ng://@mtgame/core/models/hockey-profile.ts","ng://@mtgame/core/models/football-profile.ts","ng://@mtgame/core/models/handball-profile.ts","ng://@mtgame/core/models/rugby-profile.ts","ng://@mtgame/core/models/user.ts","ng://@mtgame/core/models/team.ts","ng://@mtgame/core/models/organization.ts","ng://@mtgame/core/models/league.ts","ng://@mtgame/core/models/tournament-season.ts","ng://@mtgame/core/models/tournament.ts","ng://@mtgame/core/models/basketball-game-config.ts","ng://@mtgame/core/models/volleyball-game-config.ts","ng://@mtgame/core/models/league-court.ts","ng://@mtgame/core/models/media-item.ts","ng://@mtgame/core/models/hockey-game-config.ts","ng://@mtgame/core/models/football-game-config.ts","ng://@mtgame/core/models/handball-game-config.ts","ng://@mtgame/core/utils/array.ts","ng://@mtgame/core/models/playoff.ts","ng://@mtgame/core/models/tournament-group.ts","ng://@mtgame/core/models/rugby-game-config.ts","ng://@mtgame/core/models/game.ts","ng://@mtgame/core/utils/data.ts","ng://@mtgame/core/storage/store.ts","ng://@mtgame/core/services/base.service.ts","ng://@mtgame/core/services/config.service.ts","ng://@mtgame/core/models/tournament-team.ts","ng://@mtgame/core/models/team-user.ts","ng://@mtgame/core/models/tournament-disqualification.ts","ng://@mtgame/core/models/league-player.ts","ng://@mtgame/core/models/tournament-team-user.ts","ng://@mtgame/core/models/basketball-statistic.ts","ng://@mtgame/core/models/basketball-game-team-statistic.ts","ng://@mtgame/core/models/basketball-game-statistic.ts","ng://@mtgame/core/models/basketball-game-log.ts","ng://@mtgame/core/models/game-user.ts","ng://@mtgame/core/models/game-user-limitation.ts","ng://@mtgame/core/api/game-base-api.ts","ng://@mtgame/core/api/basketball-game-api.ts","ng://@mtgame/core/models/feedback.ts","ng://@mtgame/core/api/feedback-api.ts","ng://@mtgame/core/api/file-api.ts","ng://@mtgame/core/models/hockey-game-log.ts","ng://@mtgame/core/models/hockey-game-statistic.ts","ng://@mtgame/core/models/hockey-statistic.ts","ng://@mtgame/core/models/hockey-game-team-statistic.ts","ng://@mtgame/core/api/hockey-game-api.ts","ng://@mtgame/core/models/football-game-log.ts","ng://@mtgame/core/models/football-game-statistic.ts","ng://@mtgame/core/models/football-statistic.ts","ng://@mtgame/core/models/football-game-team-statistic.ts","ng://@mtgame/core/api/football-game-api.ts","ng://@mtgame/core/models/handball-game-log.ts","ng://@mtgame/core/models/handball-game-statistic.ts","ng://@mtgame/core/models/handball-statistic.ts","ng://@mtgame/core/models/handball-game-team-statistic.ts","ng://@mtgame/core/api/handball-game-api.ts","ng://@mtgame/core/models/tournament-news.ts","ng://@mtgame/core/models/game-timeline-stages.ts","ng://@mtgame/core/models/tournament-stage.ts","ng://@mtgame/core/models/volleyball-statistic.ts","ng://@mtgame/core/models/tournament-stage-team.ts","ng://@mtgame/core/models/league-news.ts","ng://@mtgame/core/models/tournament-event.ts","ng://@mtgame/core/models/league-user.ts","ng://@mtgame/core/models/rugby-statistic.ts","ng://@mtgame/core/api/tournament-api.ts","ng://@mtgame/core/models/league-partner.ts","ng://@mtgame/core/models/league-banner.ts","ng://@mtgame/core/models/league-document.ts","ng://@mtgame/core/api/league-api.ts","ng://@mtgame/core/api/league-news-api.ts","ng://@mtgame/core/api/league-player-api.ts","ng://@mtgame/core/api/media-api.ts","ng://@mtgame/core/models/poll.ts","ng://@mtgame/core/models/team-invite.ts","ng://@mtgame/core/models/game-invite.ts","ng://@mtgame/core/models/team-event-type.ts","ng://@mtgame/core/localization/team-event-type.ts","ng://@mtgame/core/models/team-event.ts","ng://@mtgame/core/models/team-event-invite.ts","ng://@mtgame/core/models/tournament-team-user-invite.ts","ng://@mtgame/core/models/tournament-invite.ts","ng://@mtgame/core/models/notification.ts","ng://@mtgame/core/models/notification-settings.ts","ng://@mtgame/core/api/notification-base-api.ts","ng://@mtgame/core/api/notification-api.ts","ng://@mtgame/core/api/org-notification-api.ts","ng://@mtgame/core/api/reference-api.ts","ng://@mtgame/core/models/rugby-game-team-statistic.ts","ng://@mtgame/core/models/rugby-game-statistic.ts","ng://@mtgame/core/models/rugby-foul-type.ts","ng://@mtgame/core/models/rugby-game-log.ts","ng://@mtgame/core/api/rugby-game-api.ts","ng://@mtgame/core/models/team-invite-external.ts","ng://@mtgame/core/models/team-permission.ts","ng://@mtgame/core/models/team-access.ts","ng://@mtgame/core/api/team-api.ts","ng://@mtgame/core/api/team-event-api.ts","ng://@mtgame/core/models/tournament-join-team.ts","ng://@mtgame/core/api/tournament-join-api.ts","ng://@mtgame/core/api/tournament-season-api.ts","ng://@mtgame/core/api/tournament-stage-api.ts","ng://@mtgame/core/models/user-access.ts","ng://@mtgame/core/models/user-permission.ts","ng://@mtgame/core/api/user-api.ts","ng://@mtgame/core/models/volleyball-game-team-statistic.ts","ng://@mtgame/core/models/volleyball-game-statistic.ts","ng://@mtgame/core/models/volleyball-game-log.ts","ng://@mtgame/core/api/volleyball-game-api.ts","ng://@mtgame/core/api/public-team-api.ts","ng://@mtgame/core/api/public-user-api.ts","ng://@mtgame/core/localization/basketball-game-log-types.ts","ng://@mtgame/core/localization/hockey-game-log-types.ts","ng://@mtgame/core/localization/football-game-log-types.ts","ng://@mtgame/core/localization/handball-game-log-types.ts","ng://@mtgame/core/localization/overtime-types.ts","ng://@mtgame/core/localization/rugby-foul-sanction.ts","ng://@mtgame/core/localization/rugby-game-log-types.ts","ng://@mtgame/core/localization/team-user-role.ts","ng://@mtgame/core/localization/user-profile.ts","ng://@mtgame/core/localization/volleyball-game-log-types.ts","ng://@mtgame/core/models/league-playlist.ts","ng://@mtgame/core/services/centrifugo.service.ts","ng://@mtgame/core/storage/storage-engine.ts","ng://@mtgame/core/storage/local-storage-engine.ts","ng://@mtgame/core/utils/component-destroyed.ts","ng://@mtgame/core/utils/cookie.ts","ng://@mtgame/core/utils/device.ts","ng://@mtgame/core/utils/enum.ts","ng://@mtgame/core/utils/errors.ts","ng://@mtgame/core/utils/favicon.ts","ng://@mtgame/core/utils/form.ts","ng://@mtgame/core/utils/validators.ts","ng://@mtgame/core/http-cookie.interceptor.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const HockeyPenaltyTypes = [\n {id: 1, code: 'АГРЕС', title: 'Агрессор в драке'},\n {id: 2, code: 'АТ-В-ГОЛ', title: 'Атака в голову или шею'},\n {id: 3, code: 'АТ-ВР', title: 'Атака вратаря'},\n {id: 4, code: 'АТ-СЗ', title: 'Атака сзади'},\n {id: 5, code: 'БЛОК', title: 'Блокировка'},\n {id: 6, code: 'БР-КЛ', title: 'Бросок клюшки'},\n {id: 7, code: 'ВБ-ШБ', title: 'Выброс шайбы'},\n {id: 8, code: 'ГРУБ', title: 'Грубость'},\n {id: 9, code: 'ДИСЦ', title: 'Дисциплинарный штраф'},\n {id: 10, code: 'ДИС-КН', title: 'Дисциплинарный до конца матча'},\n {id: 11, code: 'ДРАКА', title: 'Драка'},\n {id: 12, code: 'ЗАЧИН', title: 'Зачинщик драки'},\n {id: 13, code: 'ЗД-ИГ', title: 'Задержка игры'},\n {id: 14, code: 'ЗД-КЛ-СП', title: 'Задержка клюшки соперника'},\n {id: 15, code: 'ЗД-КЛ', title: 'Задержка клюшкой'},\n {id: 16, code: 'ЗД-СП', title: 'Задержка соперника'},\n {id: 17, code: 'ЗД-ШБ', title: 'Задержка шайбы руками'},\n {id: 18, code: 'СЛ-КЛ', title: 'Игра со сломанной клюшкой'},\n {id: 19, code: 'ВП-КЛ', title: 'Игра высоко поднятой клюшкой'},\n {id: 20, code: 'КЛ-УД', title: 'Колющий удар'},\n {id: 21, code: 'СК-ШТ', title: 'Малый скамеечный штраф'},\n {id: 22, code: 'МШ', title: 'Матч-штраф'},\n {id: 23, code: 'НП-АТ', title: 'Неправильная атака'},\n {id: 24, code: 'ЧС-СТ', title: 'Нарушение численного состава'},\n {id: 25, code: 'НС-КЛ', title: 'Нестандартная клюшка'},\n {id: 26, code: 'НАР-ЭК', title: 'Опасное снаряжение'},\n {id: 27, code: 'НС-ПВ', title: 'Оскорбление судей и неспортивное поведение'},\n {id: 28, code: 'ОТ-ИГ', title: 'Отказ начать игру'},\n {id: 29, code: 'ОТСЧ', title: 'Отсечение'},\n {id: 30, code: 'ПЛЕВОК', title: 'Плевок'},\n {id: 31, code: 'ПОДН', title: 'Подножка'},\n {id: 32, code: 'ПОДС', title: 'Подсечка'},\n {id: 33, code: 'ПР-ИН', title: 'Предупреждение инфекций'},\n {id: 34, code: 'ПК-СК', title: 'Покидание скамейки во время конфликта'},\n {id: 35, code: 'СД-ВР', title: 'Сдвиг ворот'},\n {id: 36, code: 'СИМ', title: 'Симуляция'},\n {id: 37, code: 'ТЛ-БР', title: 'Толчок на борт'},\n {id: 38, code: 'ТЛ-КЛ', title: 'Толчок клюшкой'},\n {id: 39, code: 'УД-ГОЛ', title: 'Удар головой'},\n {id: 40, code: 'УД-КЛ', title: 'Удар клюшкой'},\n {id: 41, code: 'УД-К-КЛ', title: 'Удар концом клюшки'},\n {id: 42, code: 'УД-КОЛ', title: 'Удар коленом'},\n {id: 43, code: 'УД-ЛОК', title: 'Удар локтем'},\n {id: 44, code: 'УД-НГ', title: 'Удар ногой'},\n {id: 45, code: 'УКУС', title: 'Укус'},\n {id: 46, code: 'КН-ЗР', title: 'Физический контакт со зрителем'},\n {id: 47, code: 'ШТ-ВР', title: 'Штраф вратаря'}\n];\n","import { HockeyPenaltyTypes } from '../localization/hockey-penalty-types';\n\nexport const MODEL_MAPPING_FIELDS_KEY = '_mapping_fields_';\nexport const MODEL_RELATION_KEY = '_relation_';\nexport const MODEL_TO_FRONT_KEY = '_to_front_';\nexport const MODEL_TO_BACK_KEY = '_to_back_';\n\ntype ParserInterface = (dto: any, path?: GraphPathInterface) => any;\n\ninterface ModelTypeInterface {\n new(data?: any);\n}\n\nexport interface ModelInterface {\n toFront(dto: any): any;\n toBack(dto: any): any;\n}\n\nexport abstract class BaseModel {\n constructor(data?: {[key: string]: any}) {\n if (data) {\n for (const key of Object.keys(data)) {\n this[key] = data[key];\n }\n }\n }\n\n static toFront(dto: any): any {\n return undefined;\n }\n\n static toBack(dto: any): any {\n return undefined;\n }\n}\n\ninterface GraphPathInterface {\n [key: string]: any;\n}\n\nexport function enumField(enumClass) {\n return {\n toFront: (value) => {\n if (isNaN(+value)) {\n return enumClass[value];\n } else {\n return value;\n }\n },\n toBack: (value) => {\n if (isNaN(+value)) {\n return value;\n } else {\n return enumClass[value];\n }\n }\n };\n}\n\nexport function penaltyTypeField() {\n return {\n toFront: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data;\n }\n return HockeyPenaltyTypes.find(item => item.id === data);\n },\n toBack: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data.id;\n }\n return data;\n }\n };\n}\n\nexport function listField(modelClass) {\n return {\n toFront: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toFront(item));\n },\n toBack: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toBack(item));\n }\n };\n}\n\nexport class DateField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return dateUtc.toISOString().slice(0, 10);\n } else {\n return undefined;\n }\n }\n}\n\nexport class DateTimeField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return date.toISOString();\n } else {\n return undefined;\n }\n }\n}\n\nexport function ModelInstance(\n config: {\n mappingFields?: { [key: string]: string },\n relation?: { [key: string]: BaseModel }\n }\n) {\n return (target: ModelTypeInterface) => {\n if (config) {\n if (config.mappingFields) {\n target[MODEL_MAPPING_FIELDS_KEY] = config.mappingFields;\n }\n if (config.relation) {\n target[MODEL_RELATION_KEY] = config.relation;\n }\n target[MODEL_TO_FRONT_KEY] = (dto: any, path: GraphPathInterface) => {\n return toFront(target, dto, path);\n };\n target[MODEL_TO_BACK_KEY] = (dto: any, path: GraphPathInterface) => {\n return toBack(target, dto, path);\n };\n }\n };\n}\n\nexport const ToFrontHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_FRONT_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0], (args.length > 1 ? args[1] : undefined));\n }\n return undefined;\n }\n };\n};\n\nexport const ToBackHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_BACK_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0]);\n }\n return undefined;\n }\n };\n};\n\nfunction extractValue(key, data) {\n if (!data) {\n return undefined;\n }\n\n const keyParts = key.split('.');\n if (keyParts.length === 1) {\n if (key in data) {\n return data[key];\n } else {\n return undefined;\n }\n }\n\n for (const k of keyParts) {\n if (data && k in data) {\n data = data[k];\n } else {\n return undefined;\n }\n }\n\n return data;\n}\n\nfunction toFront(modelType: ModelTypeInterface, data: any, path?: GraphPathInterface): any {\n // Check if recursion is required\n if (Array.isArray(data)) {\n return data.map(item => {\n return toFront(modelType, item);\n });\n }\n\n const instance = new modelType();\n\n // Mapping fields\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n const value = extractValue(backField, data);\n if (relation && relation.hasOwnProperty(frontField)) {\n instance[frontField] = relation[frontField].toFront(value);\n } else {\n instance[frontField] = value;\n }\n }\n }\n\n return instance;\n}\n\nfunction toBack(modelType: ModelTypeInterface, instance: any, path?: GraphPathInterface): any {\n if (!instance) {\n return instance;\n }\n\n // Check if recursion is required\n if (Array.isArray(instance)) {\n return instance.map(item => {\n return toBack(modelType, item);\n });\n }\n\n const data = {};\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n if (relation && relation.hasOwnProperty(frontField) && instance[frontField] !== undefined) {\n data[backField] = relation[frontField].toBack(instance[frontField]);\n } else {\n data[backField] = instance[frontField];\n }\n }\n }\n\n return data;\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\n\nexport enum FileEngine {\n django = 1,\n s3\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n original_name: 'originalName',\n path: 'path',\n resized_path: 'resizedPath',\n mime_type: 'mimeType',\n size: 'size',\n engine: 'engine',\n created_at: 'createdAt',\n },\n relation: {\n engine: enumField(FileEngine),\n createdAt: DateTimeField,\n }\n})\nexport class File {\n id: number;\n name: string;\n _originalName: string;\n _path: string;\n resizedPath: string;\n mimeType: string;\n size: number;\n engine: FileEngine;\n createdAt: Date;\n\n set originalName(name: string) {\n this._originalName = name;\n }\n\n get originalName(): string {\n return this._originalName || this.name;\n }\n\n set path(filePath: string) {\n this._path = filePath;\n }\n\n get path(): string {\n return this.resizedPath || this._path;\n }\n\n @ToFrontHook\n static toFront(data: any): File {\n return null;\n }\n\n @ToBackHook\n static toBack(file: File): any {\n return null;\n }\n}\n","import {ModelInstance, ToFrontHook, ToBackHook, BaseModel} from './util';\n\nexport enum SportTypes {\n basketball = 1,\n volleyball = 2,\n classic_basketball = 3,\n streetball = 4,\n classic_volleyball = 5,\n beach_volleyball = 6,\n hockey = 7,\n ice_hockey = 8,\n ball_hockey = 9,\n football = 10,\n classic_football = 11,\n mini_football = 12,\n handball = 13,\n handball_classic = 14,\n rugby = 15,\n rugby7 = 16,\n rugby15 = 17,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n parent_id: 'parentId',\n sub_sports: 'subSports'\n }\n})\nexport class Sport extends BaseModel {\n id: number;\n name: string;\n parentId: number;\n subSports: Sport[];\n\n isBasketball() {\n return this.id === SportTypes.basketball || this.parentId === SportTypes.basketball;\n }\n\n isClassicBasketball() {\n return this.id === SportTypes.classic_basketball;\n }\n\n isStreetball() {\n return this.id === SportTypes.streetball;\n }\n\n isVolleyball() {\n return this.id === SportTypes.volleyball || this.parentId === SportTypes.volleyball;\n }\n\n isClassicVolleyball() {\n return this.id === SportTypes.classic_volleyball;\n }\n\n isBeachVolleyball() {\n return this.id === SportTypes.beach_volleyball;\n }\n\n isHockey(): boolean {\n return this.id === SportTypes.hockey || this.parentId === SportTypes.hockey;\n }\n\n isIceHockey(): boolean {\n return this.id === SportTypes.ice_hockey;\n }\n\n isBallHockey(): boolean {\n return this.id === SportTypes.ball_hockey;\n }\n\n isFootball() {\n return this.id === SportTypes.football || this.parentId === SportTypes.football;\n }\n\n isClassicFootball() {\n return this.id === SportTypes.classic_football;\n }\n\n isMiniFootball() {\n return this.id === SportTypes.mini_football;\n }\n\n isHandball() {\n return this.id === SportTypes.handball || this.parentId === SportTypes.handball;\n }\n\n isHandballClassic() {\n return this.id === SportTypes.handball_classic;\n }\n\n isRugby() {\n return this.id === SportTypes.rugby || this.parentId === SportTypes.rugby;\n }\n\n isRugby15() {\n return this.id === SportTypes.rugby15;\n }\n\n isRugby7() {\n return this.id === SportTypes.rugby7;\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(sport: Sport): any {\n return null;\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n height: 'height',\n weight: 'weight'\n }\n})\nexport class UserProfile {\n id: number;\n userId: number;\n height: number;\n weight: number;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name'\n }\n})\nexport class City extends BaseModel {\n id: number;\n name: string;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameBasketballPosition {\n point_guard = 1,\n shooting_guard,\n small_forward,\n power_forward,\n center\n}\n\nexport enum WorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameBasketballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class BasketballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameBasketballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameVolleyballPosition {\n setter = 1,\n libero,\n middle_player,\n receiver_attacker,\n dioganal\n}\n\nexport enum VolleyballWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameVolleyballPosition),\n workHand: enumField(VolleyballWorkHand)\n }\n})\nexport class VolleyballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameVolleyballPosition;\n workHand: VolleyballWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameHockeyPosition {\n defensemen = 1,\n forward,\n goaltender\n}\n\nexport enum HockeyWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHockeyPosition),\n workHand: enumField(HockeyWorkHand)\n }\n})\nexport class HockeyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHockeyPosition;\n workHand: HockeyWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameFootballPosition {\n defensemen = 1,\n midfielder,\n forward,\n goalkeeper\n}\n\nexport enum FootballWorkFoot {\n left = 1,\n right,\n both\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_foot: 'workFoot'\n },\n relation: {\n position: enumField(GameFootballPosition),\n workFoot: enumField(FootballWorkFoot)\n }\n})\nexport class FootballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameFootballPosition;\n workFoot: FootballWorkFoot;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { WorkHand } from './basketball-profile';\n\nexport enum GameHandballPosition {\n goalkeeper = 1,\n winger,\n pivot,\n centre_back,\n fullback\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHandballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class HandballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHandballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameRugbyPosition {\n front_line = 1,\n second_line,\n back_line,\n halfback,\n three_quarter,\n fullback,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position'\n },\n relation: {\n position: enumField(GameRugbyPosition),\n }\n})\nexport class RugbyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameRugbyPosition;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, DateField, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { UserProfile } from './user-profile';\nimport { File } from './file';\nimport { City } from './city';\nimport { BasketballProfile } from './basketball-profile';\nimport { VolleyballProfile } from './volleyball-profile';\nimport { HockeyProfile } from './hockey-profile';\nimport { FootballProfile } from './football-profile';\nimport { HandballProfile } from './handball-profile';\nimport { RugbyProfile } from './rugby-profile';\n\nexport enum UserGender {\n male = 1,\n female\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n last_name: 'lastName',\n first_name: 'firstName',\n middle_name: 'middleName',\n email: 'email',\n phone: 'phone',\n birth_date: 'birthDate',\n photo: 'photo',\n profile: 'profile',\n basketball_profile: 'basketballProfile',\n volleyball_profile: 'volleyballProfile',\n hockey_profile: 'hockeyProfile',\n football_profile: 'footballProfile',\n handball_profile: 'handballProfile',\n rugby_profile: 'rugbyProfile',\n wizards: 'wizards',\n city: 'city',\n gender: 'gender',\n is_active: 'isActive',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n profile: UserProfile,\n basketballProfile: BasketballProfile,\n volleyballProfile: VolleyballProfile,\n hockeyProfile: HockeyProfile,\n footballProfile: FootballProfile,\n handballProfile: HandballProfile,\n rugbyProfile: RugbyProfile,\n city: City,\n gender: enumField(UserGender)\n }\n})\nexport class User extends BaseModel {\n id: number;\n lastName: string;\n firstName: string;\n middleName: string;\n email: string;\n phone: string;\n birthDate: Date;\n profile: UserProfile;\n basketballProfile: BasketballProfile;\n volleyballProfile: VolleyballProfile;\n hockeyProfile: HockeyProfile;\n footballProfile: FootballProfile;\n handballProfile: HandballProfile;\n rugbyProfile: RugbyProfile;\n photo: File;\n wizards: string[];\n city: City;\n gender: UserGender;\n isActive: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(user: User): any {\n return null;\n }\n\n get fullName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateField } from './util';\nimport { File } from './file';\nimport { Sport } from './sport';\nimport { User } from './user';\nimport { City } from './city';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sport: 'sport',\n logo: 'logo',\n owner: 'owner',\n city: 'city',\n users_count: 'usersCount',\n won_games_count: 'wonGamesCount',\n games_count: 'gamesCount',\n score_sum: 'scoreSum',\n closest_game_datetime: 'closestGameDatetime',\n },\n relation: {\n sport: Sport,\n logo: File,\n owner: User,\n city: City,\n closestGameDatetime: DateField,\n }\n})\nexport class Team extends BaseModel {\n id: number;\n name: string;\n sport: Sport;\n logo: File;\n owner: User;\n city: City;\n usersCount: number;\n wonGamesCount: number;\n gamesCount: number;\n scoreSum: number;\n closestGameDatetime: Date;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n if (this.sport.isHandball()) {\n classList.push('empty-logo-handball');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(team: Team): any {\n return null;\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n owner_id: 'ownerId',\n owner: 'owner',\n },\n relation: {\n owner: User,\n }\n})\nexport class Organization extends BaseModel {\n id: number;\n ownerId: number;\n owner: User;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { Organization } from './organization';\nimport { File } from './file';\nimport { Sport } from './sport';\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n logo: 'logo',\n contact_email: 'contactEmail',\n contact_phone: 'contactPhone',\n name: 'name',\n alias: 'alias',\n sport: 'sport',\n description: 'description',\n social_links: 'socialLinks',\n links: 'links',\n organization: 'organization',\n tournaments_count: 'tournamentsCount',\n documents_count: 'documentsCount',\n closest_game_datetime: 'closestGameDatetime',\n cover: 'cover',\n about: 'about',\n },\n relation: {\n organization: Organization,\n logo: File,\n cover: File,\n sport: Sport,\n }\n})\nexport class League extends BaseModel {\n id: number;\n logo: File;\n contactEmail: string;\n contactPhone: string;\n name: string;\n alias: string;\n sport: Sport;\n description: string;\n socialLinks: string[];\n links: string[];\n organization: Organization;\n tournamentsCount: number;\n documentsCount: number;\n closestGameDatetime: string;\n cover: File;\n about: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get vkLink(): string {\n return this.socialLinks.find(link => link.indexOf('vk.com/') > -1);\n }\n\n get fbLink(): string {\n return this.socialLinks.find(link => link.indexOf('facebook.com/') > -1);\n }\n\n get instaLink(): string {\n return this.socialLinks.find(link => link.indexOf('instagram.com/') > -1);\n }\n\n get youtubeLink(): string {\n return this.socialLinks.find(link => link.indexOf('youtube.com/') > -1);\n }\n\n get telegramLink(): string {\n return this.socialLinks.find(link =>\n link.substr(0, 13) === 'https://t.me/' ||\n link.substr(0, 17) === 'https://www.t.me/'\n );\n }\n\n get tiktokLink(): string {\n return this.socialLinks.find(link => link.indexOf('tiktok.com/') > -1);\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, enumField, DateField } from './util';\nimport { File } from './file';\n\nexport enum TournamentSeasonStatuses {\n open,\n in_progress,\n closed,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n status: 'status',\n start_date: 'startDate',\n closed_date: 'closedDate',\n tournaments: 'tournaments',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n status: enumField(TournamentSeasonStatuses),\n startDate: DateField,\n closedDate: DateField,\n }\n})\nexport class TournamentSeason extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n status: TournamentSeasonStatuses;\n startDate: Date;\n closedDate: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { City } from './city';\nimport { File } from './file';\nimport { League } from './league';\nimport { Sport } from './sport';\nimport { Team } from './team';\nimport { TournamentSeason } from './tournament-season';\n\nexport enum TournamentTypes {\n group = 'group',\n elimination = 'elimination',\n fiba = 'fiba'\n}\n\nexport enum TournamentStatuses {\n open,\n in_progress,\n closed,\n}\n\nexport enum TournamentGender {\n male= 1,\n female,\n all\n}\n\nexport enum BasketballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum VolleyballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum RugbyStatisticTypes {\n light = 1,\n standard,\n}\n\nexport enum GameTimeTypes {\n clean = 1,\n dirty,\n}\n\nexport enum OvertimeTypes {\n to_score_total = 1,\n to_score_diff,\n time,\n without_overtime,\n to_first_goal,\n to_first_goal_and_bullitts,\n bullitts,\n penalties,\n time_and_penalties\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n gender: 'gender',\n age_from: 'ageFrom',\n age_to: 'ageTo',\n max_team_players: 'maxTeamPlayers',\n max_game_players: 'maxGamePlayers',\n type: 'type',\n tours_count: 'toursCount',\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n game_up_to_score: 'gameUpToScore',\n volleyball_score_in_set: 'volleyballScoreInSet',\n volleyball_score_in_last_set: 'volleyballScoreInLastSet',\n manage_team_application: 'manageTeamApplication',\n recruitment_is_open: 'recruitmentIsOpen',\n transfer_is_open: 'transferIsOpen',\n basketball_statistic_type: 'basketballStatisticType',\n volleyball_statistic_type: 'volleyballStatisticType',\n rugby_statistic_type: 'rugbyStatisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n with_result_table: 'withResultTable',\n free_substitute_enabled: 'freeSubstituteEnabled',\n substitute_manage_enabled: 'substituteManageEnabled',\n bonus_points_enabled: 'bonusPointsEnabled',\n },\n relation: {\n type: enumField(TournamentTypes),\n gender: enumField(TournamentGender),\n basketballStatisticType: enumField(BasketballStatisticTypes),\n volleyballStatisticType: enumField(VolleyballStatisticTypes),\n rugbyStatisticType: enumField(RugbyStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n overtimeType: enumField(OvertimeTypes),\n }\n})\nexport class TournamentSettings extends BaseModel {\n id: number;\n gender: TournamentGender;\n ageFrom: number;\n ageTo: number;\n maxTeamPlayers: number;\n maxGamePlayers: number;\n type: TournamentTypes;\n toursCount: number;\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n gameType: string;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n gameUpToScore: number;\n volleyballScoreInSet: number;\n volleyballScoreInLastSet: number;\n manageTeamApplication: boolean;\n recruitmentIsOpen: boolean;\n transferIsOpen: boolean;\n basketballStatisticType: BasketballStatisticTypes;\n volleyballStatisticType: VolleyballStatisticTypes;\n rugbyStatisticType: RugbyStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n withResultTable: boolean;\n freeSubstituteEnabled: boolean;\n bonusPointsEnabled: boolean;\n substituteManageEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n name: 'name',\n logo: 'logo',\n team: 'team',\n points: 'points',\n },\n relation: {\n logo: File,\n team: Team,\n }\n})\nexport class TournamentTeamWinner extends BaseModel {\n id: number;\n teamId: number;\n tournamentId: number;\n name: string;\n logo: File;\n team: Team;\n points: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n city: 'city',\n sport: 'sport',\n location: 'location',\n description: 'description',\n date: 'date',\n price: 'price',\n regulation_files: 'regulationFiles',\n settings: 'settings',\n league: 'league',\n teams_count: 'teamsCount',\n closest_game_datetime: 'closestGameDatetime',\n status: 'status',\n team_winner: 'teamWinner',\n team_second: 'teamSecond',\n team_third: 'teamThird',\n season: 'season',\n season_id: 'seasonId',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n city: City,\n sport: Sport,\n regulationFile: File,\n settings: TournamentSettings,\n date: DateTimeField,\n league: League,\n status: enumField(TournamentStatuses),\n teamWinner: TournamentTeamWinner,\n teamSecond: TournamentTeamWinner,\n teamThird: TournamentTeamWinner,\n season: TournamentSeason,\n }\n})\nexport class Tournament extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n city: City;\n sport: Sport;\n location: string;\n description: string;\n date: Date;\n price: number;\n regulationFiles: File[];\n settings: TournamentSettings;\n league: League;\n teamsCount: number;\n closestGameDatetime: string;\n status: TournamentStatuses;\n teamWinner: TournamentTeamWinner;\n teamSecond: TournamentTeamWinner;\n teamThird: TournamentTeamWinner;\n season: TournamentSeason;\n seasonId: number;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n game_up_to_score: 'gameUpToScore',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n statistic_type: 'statisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n statisticType: enumField(BasketballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class BasketballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n gameUpToScore: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n statisticType: BasketballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { VolleyballStatisticTypes } from './tournament';\n\nexport enum VolleyballGameTypes {\n best_of_five = 1,\n best_of_three\n}\n\n@ModelInstance({\n mappingFields: {\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n score_in_set: 'scoreInSet',\n score_in_last_set: 'scoreInLastSet',\n statistic_type: 'statisticType',\n libero_user_ids: 'liberoUserIds',\n },\n relation: {\n gameType: enumField(VolleyballGameTypes),\n statisticType: enumField(VolleyballStatisticTypes),\n }\n})\nexport class VolleyballGameConfig extends BaseModel {\n gameType: VolleyballGameTypes;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n scoreInSet: number;\n scoreInLastSet: number;\n statisticType: VolleyballStatisticTypes;\n liberoUserIds: number[];\n\n get setsCount(): number {\n return this.gameType === VolleyballGameTypes.best_of_three ? 3 : 5;\n }\n\n getSetMaxScore(set: number) {\n return set === this.setsCount ? this.scoreInLastSet : this.scoreInSet;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n address: 'address',\n league_id: 'leagueId'\n }\n})\nexport class LeagueCourt extends BaseModel {\n id: number;\n name: string;\n address: string;\n leagueId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n original_photo: 'originalPhoto',\n list_photo: 'listPhoto',\n detail_photo: 'detailPhoto',\n game: 'game',\n tournament: 'tournament',\n game_id: 'gameId',\n tournament_id: 'tournament_id',\n video_url: 'videoUrl',\n video_preview: 'videoPreview',\n is_live: 'isLive',\n },\n relation: {\n originalPhoto: File,\n listPhoto: File,\n detailPhoto: File,\n videoPreview: File\n }\n})\nexport class MediaItem extends BaseModel {\n id: number;\n originalPhoto: File;\n listPhoto: File;\n detailPhoto: File;\n gameId: number;\n tournamentId: number;\n videoUrl: string;\n videoPreview: File;\n isLive: boolean;\n\n get isVideo(): boolean {\n return Boolean(this.videoUrl);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_manage_enabled: 'substituteManageEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HockeyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteManageEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get overtimePeriod(): number {\n return this.periodsCount + 1;\n }\n\n get bullitsPeriod(): number {\n return this.periodsCount + 2;\n }\n\n get playoffBullitsPeriod(): number {\n return this.periodsCount + 3;\n }\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n substitute_manage_enabled: 'substituteManageEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class FootballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n substituteManageEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HandballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","export function generateArray(length: number): number[] {\n if (length <= 0) {\n return [];\n }\n return Array.apply(null, Array(length)).map((_, i) => i + 1);\n}\n\nexport function getArrayChunks(array: any[], length: number): any[][] {\n const chunks = [];\n const chunkLength = Math.ceil(array.length / length);\n if (chunkLength === 0) {\n return [array];\n }\n for (let i = 0; i < chunkLength; i++) {\n chunks.push(array.slice(i * length, (i + 1) * length));\n }\n return chunks;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { generateArray } from '../utils/array';\n\nexport enum PlayoffTypes {\n double_elimination = 'double_elimination',\n elimination = 'elimination'\n}\n\n@ModelInstance({\n mappingFields: {\n rounds: 'rounds',\n final_rounds: 'finalRounds',\n third_place_rounds: 'thirdPlaceRounds',\n teams_count: 'teamsCount',\n type: 'type',\n min_player_games_count: 'minPlayerGamesCount',\n min_player_time: 'minPlayerTime',\n },\n relation: {\n type: enumField(PlayoffTypes)\n }\n})\nexport class PlayoffSettings extends BaseModel {\n rounds: number;\n finalRounds: number;\n thirdPlaceRounds: number;\n teamsCount: number;\n type: PlayoffTypes;\n minPlayerGamesCount: number;\n minPlayerTime: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n settings: 'settings',\n tournament_id: 'tournamentId',\n tournament_stage_id: 'tournamentStageId',\n is_official: 'isOfficial'\n },\n relation: {\n settings: PlayoffSettings\n }\n})\nexport class Playoff extends BaseModel {\n id: number;\n name: string;\n settings: PlayoffSettings;\n tournamentId: number;\n tournamentStageId: number;\n isOfficial: boolean;\n private stages: {title: string, value: number}[] = [];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get stagesCount(): number {\n return Math.log(this.settings.teamsCount) / Math.log(2);\n }\n\n getPlayoffStages() {\n if (this.stages.length === 0 && this.settings.teamsCount) {\n const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);\n this.stages = generateArray(stagesCount).map(stage => {\n const playoffStage = this.settings.teamsCount / 2 ** stage;\n let title = '';\n if (playoffStage === 1) {\n title = 'Финал';\n } else {\n title = `1 / ${playoffStage}`;\n }\n return {\n value: stage,\n title\n };\n });\n }\n return this.stages;\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sort: 'sort',\n tournament_stage_id: 'tournamentStageId'\n }\n})\nexport class TournamentGroup extends BaseModel {\n id: number;\n name: string;\n sort: number;\n tournamentStageId: number;\n teams: TournamentTeam[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { GameTimeTypes, OvertimeTypes, RugbyStatisticTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n statistic_type: 'statisticType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n statisticType: enumField(RugbyStatisticTypes),\n }\n})\nexport class RugbyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n statisticType: RugbyStatisticTypes;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField, listField } from './util';\nimport { Team } from './team';\nimport { BasketballGameConfig } from './basketball-game-config';\nimport { VolleyballGameConfig } from './volleyball-game-config';\nimport { LeagueCourt } from './league-court';\nimport { MediaItem } from './media-item';\nimport { HockeyGameConfig } from './hockey-game-config';\nimport { Tournament } from './tournament';\nimport { FootballGameConfig } from './football-game-config';\nimport { HandballGameConfig } from './handball-game-config';\nimport { Playoff } from './playoff';\nimport { TournamentGroup } from './tournament-group';\nimport { File } from './file';\nimport { RugbyGameConfig } from \"./rugby-game-config\";\n\nexport enum GameStatuses {\n open = 1,\n in_progress,\n closed,\n archived,\n draft\n}\n\nexport enum GameResultTypes {\n team_won = 1,\n competitor_team_won,\n team_technical_defeat,\n competitor_team_technical_defeat\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n },\n relation: {\n logo: File\n }\n})\nexport class TournamentTeamShort extends BaseModel {\n id: number;\n name: string;\n logo: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n status: 'status',\n team: 'team',\n tournament_team: 'tournamentTeam',\n tournament_team_id: 'tournamentTeamId',\n team_id: 'teamId',\n competitor_team: 'competitorTeam',\n competitor_tournament_team: 'competitorTournamentTeam',\n competitor_tournament_team_id: 'competitorTournamentTeamId',\n competitor_team_id: 'competitorTeamId',\n competitor_team_name: 'competitorTeamName',\n datetime: 'datetime',\n location: 'location',\n team_score: 'teamScore',\n competitor_team_score: 'competitorTeamScore',\n result_type: 'resultType',\n playoff_number: 'playoffNumber',\n tournament_id: 'tournamentId',\n tournament_tour: 'tournamentTour',\n game_config: 'gameConfig',\n basketball_game_config: 'basketballGameConfig',\n volleyball_game_config: 'volleyballGameConfig',\n hockey_game_config: 'hockeyGameConfig',\n football_game_config: 'footballGameConfig',\n handball_game_config: 'handballGameConfig',\n rugby_game_config: 'rugbyGameConfig',\n score_by_period: 'scoreByPeriod',\n playoff_stage: 'playoffStage',\n playoff_round: 'playoffRound',\n tournament_stage_id: 'tournamentStageId',\n tournament_playoff_id: 'tournamentPlayoffId',\n tournament_playoff: 'tournamentPlayoff',\n tournament_court: 'tournamentCourt',\n media_count: 'mediaCount',\n media_live_count: 'mediaLiveCount',\n media: 'media',\n tournament: 'tournament',\n tournament_group: 'tournamentGroup',\n },\n relation: {\n status: enumField(GameStatuses),\n team: Team,\n tournamentTeam: TournamentTeamShort,\n competitorTeam: Team,\n competitorTournamentTeam: TournamentTeamShort,\n datetime: DateTimeField,\n resultType: enumField(GameResultTypes),\n basketballGameConfig: BasketballGameConfig,\n volleyballGameConfig: VolleyballGameConfig,\n hockeyGameConfig: HockeyGameConfig,\n footballGameConfig: FootballGameConfig,\n handballGameConfig: HandballGameConfig,\n tournamentPlayoff: Playoff,\n tournamentCourt: LeagueCourt,\n media: listField(MediaItem),\n tournament: Tournament,\n tournamentGroup: TournamentGroup,\n }\n})\nexport class Game extends BaseModel {\n private _basketballGameConfig: BasketballGameConfig;\n private _volleyballGameConfig: VolleyballGameConfig;\n private _hockeyGameConfig: HockeyGameConfig;\n private _footballGameConfig: FootballGameConfig;\n private _handballGameConfig: HandballGameConfig;\n private _rugbyGameConfig: RugbyGameConfig;\n\n id: number;\n status: GameStatuses;\n team: Team;\n tournamentTeam: TournamentTeamShort;\n teamId: number;\n tournamentTeamId: number;\n competitorTeam: Team;\n competitorTournamentTeam: TournamentTeamShort;\n competitorTeamId: number;\n competitorTournamentTeamId: number;\n competitorTeamName: string;\n gameConfig: any;\n datetime: Date;\n location: string;\n teamScore: number;\n competitorTeamScore: number;\n resultType: GameResultTypes;\n playoffNumber: string;\n tournamentId: number;\n tournamentTour: number;\n scoreByPeriod: any;\n playoffStage: string;\n playoffRound: number;\n tournamentStageId: number;\n tournamentPlayoffId: number;\n tournamentPlayoff: Playoff;\n tournamentCourt: LeagueCourt;\n mediaCount: number;\n mediaLiveCount: number;\n media: MediaItem[];\n tournament: Tournament;\n tournamentGroup: TournamentGroup;\n\n get basketballGameConfig(): BasketballGameConfig {\n if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {\n return this._basketballGameConfig;\n }\n if (this.gameConfig) {\n this._basketballGameConfig = BasketballGameConfig.toFront(this.gameConfig);\n }\n return this._basketballGameConfig;\n }\n\n set basketballGameConfig(value) {\n this._basketballGameConfig = value;\n }\n\n get volleyballGameConfig(): VolleyballGameConfig {\n if (this._volleyballGameConfig && this._volleyballGameConfig.setsCount) {\n return this._volleyballGameConfig;\n }\n if (this.gameConfig) {\n this._volleyballGameConfig = VolleyballGameConfig.toFront(this.gameConfig);\n }\n return this._volleyballGameConfig;\n }\n\n set volleyballGameConfig(value) {\n this._volleyballGameConfig = value;\n }\n\n get hockeyGameConfig(): HockeyGameConfig {\n if (this._hockeyGameConfig && this._hockeyGameConfig.periodsCount) {\n return this._hockeyGameConfig;\n }\n if (this.gameConfig) {\n this._hockeyGameConfig = HockeyGameConfig.toFront(this.gameConfig);\n }\n return this._hockeyGameConfig;\n }\n\n set hockeyGameConfig(value) {\n this._hockeyGameConfig = value;\n }\n\n get handballGameConfig(): HandballGameConfig {\n if (this._handballGameConfig && this._handballGameConfig.periodsCount) {\n return this._handballGameConfig;\n }\n if (this.gameConfig) {\n this._handballGameConfig = HandballGameConfig.toFront(this.gameConfig);\n }\n return this._handballGameConfig;\n }\n\n set handballGameConfig(value) {\n this._handballGameConfig = value;\n }\n\n get footballGameConfig(): FootballGameConfig {\n if (this._footballGameConfig && this._footballGameConfig.periodsCount) {\n return this._footballGameConfig;\n }\n if (this.gameConfig) {\n this._footballGameConfig = FootballGameConfig.toFront(this.gameConfig);\n }\n return this._footballGameConfig;\n }\n\n set footballGameConfig(value) {\n this._footballGameConfig = value;\n }\n\n get rugbyGameConfig(): RugbyGameConfig {\n if (this._rugbyGameConfig && this._rugbyGameConfig.periodsCount) {\n return this._rugbyGameConfig;\n }\n if (this.gameConfig) {\n this._rugbyGameConfig = RugbyGameConfig.toFront(this.gameConfig);\n }\n return this._rugbyGameConfig;\n }\n\n set rugbyGameConfig(value) {\n this._rugbyGameConfig = value;\n }\n\n get scoreByPeriodList(): {period: number, teamScore: number, competitorTeamScore: number}[] {\n if (!this.scoreByPeriod) {\n return [];\n }\n return Object.keys(this.scoreByPeriod).map(period => ({\n period: +period,\n teamScore: this.scoreByPeriod[period][0],\n competitorTeamScore: this.scoreByPeriod[period][1]\n }));\n }\n\n get isClosed(): boolean {\n return this.status === GameStatuses.closed;\n }\n\n get isTeamWon() {\n return [GameResultTypes.team_won, GameResultTypes.competitor_team_technical_defeat].includes(this.resultType);\n }\n\n get isCompetitorTeamWon() {\n return [GameResultTypes.competitor_team_won, GameResultTypes.team_technical_defeat].includes(this.resultType);\n }\n\n get teamWinnerId() {\n if (!this.isClosed) {\n return null;\n }\n if (this.isTeamWon) {\n return this.team.id || this.teamId;\n }\n if (this.isCompetitorTeamWon) {\n return this.competitorTeam.id || this.competitorTeamId;\n }\n return null;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export function updateItemInArray(data: any[], item: any, force = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n if (v.updatedAt && item.updatedAt && !force) {\n return v.updatedAt > item.updatedAt ? v : item;\n }\n return item;\n });\n}\n\nexport function updateItemsInArray(data: any[], items: any[], force: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n items.forEach(item => {\n data = updateItemInArray(data, item, force, checkFunction);\n });\n return data;\n}\n\nexport function patchItemInArray(data: any[], item: any, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n return Object.assign(v, item);\n });\n}\n\nexport function addItemInArray(data: any[], item: any, atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return [item];\n }\n if (data.find(i => isFunction(checkFunction) ? checkFunction(i) : i.id === item.id)) {\n return data;\n }\n\n return atEnd\n ? [...data, item]\n : [item, ...data];\n}\n\nexport function addItemsInArray(data: any[], items: any[], atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n (!atEnd\n ? Object.assign([], items).reverse()\n : items\n ).forEach(item => {\n data = addItemInArray(data, item, atEnd, checkFunction);\n });\n return data;\n}\n\nexport function deleteItemFromArray(data: any[], item: any): any[] {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isFunction(item)) {\n return data.filter(i => !item(i));\n } else {\n return data.filter(v => v.id !== item.id);\n }\n}\n\nfunction isFunction(functionToCheck) {\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { addItemInArray, addItemsInArray, deleteItemFromArray, updateItemInArray, updateItemsInArray } from '../utils/data';\nimport { StorageEngine } from './storage-engine';\n\nexport class Store {\n private data: {[key: string]: BehaviorSubject<any>} = {};\n\n constructor(private engine?: StorageEngine) {\n }\n\n get(key: string): Observable<any> {\n return this.getSubject(key).pipe(filter(item => item !== undefined));\n }\n\n value(key: string): any {\n return this.getSubject(key).value;\n }\n\n save(key: string, value: any): void {\n this.getSubject(key).next(value);\n if (this.engine) {\n this.engine.save(key, value);\n }\n }\n\n appendItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, true, checkFunction));\n }\n\n appendItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, true));\n }\n\n prependItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n prependItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n updateItem(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n updateItems(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemsInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n deleteItem(key: string, value: any): void {\n this.save(key, deleteItemFromArray(this.value(key) || [], value));\n }\n\n dispose(): void {\n for (const key of Object.keys(this.data)) {\n this.data[key].complete();\n delete this.data[key];\n }\n }\n\n clearStorageData(): void {\n if (this.engine) {\n this.engine.clear();\n }\n }\n\n getEngine(): StorageEngine {\n return this.engine;\n }\n\n private getSubject(key: string): BehaviorSubject<any> {\n if (!this.data[key]) {\n this.data[key] = new BehaviorSubject<any>(this.engine ? this.engine.get(key) : undefined);\n }\n return this.data[key];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '../storage/store';\n\n@Injectable({providedIn: 'root'})\nexport class BaseService {\n protected store = new Store();\n\n dispose(): void {\n this.store.dispose();\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BaseService } from './base.service';\n\nconst CONFIG_STORE_KEY = 'config';\n\nexport const CONFIG_DATA = 'mtg-core-config-data';\n\n@Injectable({providedIn: 'root'})\nexport class ConfigService extends BaseService {\n constructor(\n @Optional() @Inject(CONFIG_DATA) private configData: any\n ) {\n super();\n if (configData) {\n this.initialize(configData);\n }\n }\n\n get config$() {\n return this.store.get(CONFIG_STORE_KEY);\n }\n\n get config() {\n return this.store.value(CONFIG_STORE_KEY) || {};\n }\n\n initialize(data: any): void {\n this.store.save(CONFIG_STORE_KEY, data);\n }\n\n set(key: string, value: any): void {\n this.store.save(CONFIG_STORE_KEY, {\n ...this.config,\n [key]: value\n });\n }\n\n get(key: string): any {\n return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { TournamentGroup } from './tournament-group';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n tournament: 'tournament',\n team: 'team',\n group: 'group',\n final_standing: 'finalStanding',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n draw_games_count: 'drawGamesCount',\n lose_games_count: 'loseGamesCount',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n score_points_sum: 'scorePointsSum',\n missed_points_sum: 'missedPointsSum',\n points: 'points',\n users_count: 'usersCount',\n games: 'games',\n notifications_count: 'notificationsCount',\n win_normal_time_games_count: 'winNormalTimeGamesCount',\n lose_normal_time_games_count: 'loseNormalTimeGamesCount',\n win_overtime_games_count: 'winOvertimeGamesCount',\n lose_overtime_games_count: 'loseOvertimeGamesCount',\n last_five_games: 'lastFiveGames',\n tries_scored: 'triesScored',\n tries_missed: 'triesMissed',\n attack_bonuses: 'attackBonuses',\n defense_bonuses: 'defenseBonuses',\n },\n relation: {\n logo: File,\n tournament: Tournament,\n team: Team,\n group: TournamentGroup,\n games: Game,\n lastFiveGames: Game,\n }\n})\nexport class TournamentTeam extends BaseModel {\n id: number;\n name: string;\n logo: File;\n teamId: number;\n tournamentId: number;\n tournament: Tournament;\n team: Team;\n group: TournamentGroup;\n finalStanding: number;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n lastGamesCount: number;\n lastGamesWon: number;\n scoreSum: number;\n missedSum: number;\n scorePointsSum: number;\n missedPointsSum: number;\n points: number;\n usersCount: number;\n games: Game[];\n notificationsCount: number;\n winNormalTimeGamesCount: number;\n loseNormalTimeGamesCount: number;\n winOvertimeGamesCount: number;\n loseOvertimeGamesCount: number;\n lastFiveGames: Game[];\n triesScored: number;\n triesMissed: number;\n attackBonuses: number;\n defenseBonuses: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\nexport enum TeamUserRole {\n member = 1,\n moderator,\n admin,\n coach,\n head_coach,\n playing_coach,\n manager,\n head_manager,\n captain,\n assistant,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n user: 'user',\n role: 'role',\n number: 'number',\n team: 'team',\n },\n relation: {\n user: User,\n team: Team,\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamUser extends BaseModel {\n id: number;\n teamId: number;\n user: User;\n team: Team;\n number: number;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(teamPlayer: TeamUser): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_user_id: 'tournamentTeamUserId',\n date_from: 'dateFrom',\n date_to: 'dateTo',\n matches_count: 'matchesCount',\n },\n relation: {\n dateFrom: DateField,\n dateTo: DateField,\n }\n})\nexport class TournamentDisqualification extends BaseModel {\n id: number;\n tournamentTeamUserId: number;\n dateFrom: Date;\n dateTo: Date;\n matchesCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n league_id: 'leagueId',\n first_name: 'firstName',\n last_name: 'lastName',\n middle_name: 'middleName',\n birth_date: 'birthDate',\n photo: 'photo',\n user: 'user',\n has_changes: 'hasChanges',\n rating: 'rating',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n user: User,\n }\n})\nexport class LeaguePlayer extends BaseModel {\n id: number;\n userId: number;\n leagueId: number;\n firstName: string;\n lastName: string;\n middleName: string;\n birthDate: Date;\n photo: File;\n user: User;\n hasChanges: boolean;\n rating: number;\n\n get fullName(): string {\n return [this.lastName, this.firstName, this.middleName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TeamUser } from './team-user';\nimport { TournamentDisqualification } from './tournament-disqualification';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n team_user: 'teamUser',\n disqualified: 'disqualified',\n disqualification: 'disqualification',\n league_player: 'leaguePlayer',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n teamUser: TeamUser,\n disqualification: TournamentDisqualification,\n leaguePlayer: LeaguePlayer,\n }\n})\nexport class TournamentTeamUser extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n teamUser: TeamUser;\n disqualified: boolean;\n disqualification: TournamentDisqualification;\n leaguePlayer: LeaguePlayer;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n free_throws_made: 'freeThrowsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n two_point_percent: 'twoPointPercent',\n three_point_percent: 'threePointPercent',\n free_throw_percent: 'freeThrowPercent',\n one_point_percent: 'onePointPercent',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n game_time: 'gameTime',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class BasketballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n twoPointsMade: number;\n threePointsMade: number;\n freeThrowsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n twoPointPercent: number;\n threePointPercent: number;\n freeThrowPercent: number;\n onePointPercent: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n gameTime: number;\n newbie: boolean;\n rank: number;\n\n get totalFouls() {\n return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { BasketballStatistic } from './basketball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: BasketballStatistic,\n competitorTeam: BasketballStatistic\n }\n})\nexport class BasketballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: BasketballStatistic;\n competitorTeam: BasketballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n free_throws_made: 'freeThrowsMade',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n updated_at: 'updatedAt',\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class BasketballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n freeThrowsMade: number;\n twoPointsMade: number;\n threePointsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get totalFouls(): number {\n return (this.personalFouls || 0) + (this.technicalFouls || 0) + (this.unsportsmanlikeFouls || 0);\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum BasketballGameLogTypes {\n enter_game = 1,\n exit_game,\n remove_game,\n two_point_made,\n three_point_made,\n free_throw_made,\n two_point_attempt,\n three_point_attempt,\n free_throw_attempt,\n assist,\n block,\n rebound,\n offensive_rebound,\n defensive_rebound,\n steal,\n turnover,\n personal_foul,\n technical_foul,\n unsportsmanlike_foul,\n one_point_attempt,\n one_point_made,\n timeout,\n team_rebound,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(BasketballGameLogTypes),\n }\n})\nexport class BasketballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: BasketballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n combined: BasketballGameLog;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n\n isPointsType() {\n return [\n BasketballGameLogTypes.two_point_made,\n BasketballGameLogTypes.three_point_made,\n BasketballGameLogTypes.free_throw_made,\n BasketballGameLogTypes.one_point_made,\n ].indexOf(this.logType) > -1;\n }\n\n isReboundType() {\n return [\n BasketballGameLogTypes.rebound,\n BasketballGameLogTypes.offensive_rebound,\n BasketballGameLogTypes.defensive_rebound\n ].indexOf(this.logType) > -1;\n }\n\n isFoulType() {\n return [\n BasketballGameLogTypes.personal_foul,\n BasketballGameLogTypes.technical_foul,\n BasketballGameLogTypes.unsportsmanlike_foul\n ].indexOf(this.logType) > -1;\n }\n\n getScore() {\n const scoreMapping = {\n [BasketballGameLogTypes.one_point_made]: 1,\n [BasketballGameLogTypes.free_throw_made]: 1,\n [BasketballGameLogTypes.two_point_made]: 2,\n [BasketballGameLogTypes.three_point_made]: 3\n };\n return scoreMapping[this.logType];\n }\n\n compare(model: BasketballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { TeamUser } from './team-user';\nimport { TournamentTeamUser } from './tournament-team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game_id: 'gameId',\n team_user: 'teamUser',\n tournament_team_user: 'tournamentTeamUser',\n is_mvp: 'isMvp',\n updated_at: 'updatedAt'\n },\n relation: {\n teamUser: TeamUser,\n tournamentTeamUser: TournamentTeamUser,\n updatedAt: DateTimeField,\n }\n})\nexport class GameUser extends BaseModel {\n id: number;\n gameId: number;\n teamUser: TeamUser;\n tournamentTeamUser: TournamentTeamUser;\n isMvp: boolean;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, listField } from './util';\n\ninterface LimitationValue {\n current: number;\n required: number;\n}\n\n@ModelInstance({\n mappingFields: {\n min_user_games_count: 'minUserGamesCount',\n min_user_time: 'minUserTime',\n manual: 'manual',\n },\n})\nexport class GameUserLimitationTypes extends BaseModel {\n minUserGamesCount: LimitationValue;\n minUserTime: LimitationValue;\n manual: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user_id: 'tournamentTeamUserId',\n limitations: 'limitations'\n },\n relation: {\n limitations: GameUserLimitationTypes\n }\n})\nexport class GameUserLimitations extends BaseModel {\n tournamentTeamUserId: number;\n limitations: GameUserLimitationTypes;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { GameUser } from '../models/game-user';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { GameUserLimitations } from '../models/game-user-limitation';\n\n@Injectable({providedIn: 'root'})\nexport class GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService,\n ) {\n }\n\n async getUsers(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getMvp(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/mvp/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getUsersLimitation(gameId: number): Promise<GameUserLimitations[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users_limitation/`).pipe(\n map(result => GameUserLimitations.toFront(result))\n ).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/game_application/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { BasketballGameTeamStatistic } from '../models/basketball-game-team-statistic';\nimport { BasketballGameStatistic } from '../models/basketball-game-statistic';\nimport { BasketballGameLog } from '../models/basketball-game-log';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class BasketballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<BasketballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/team_statistic/`).pipe(\n map(result => BasketballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<BasketballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/user_statistic/`).pipe(\n map(result => BasketballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<BasketballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/logs/`).pipe(\n map(result => BasketballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n\n async downloadFibaProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol_fiba/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n theme: 'theme',\n message: 'message',\n files: 'files',\n email: 'email',\n captcha: 'captcha',\n },\n relation: {\n files: File\n }\n})\nexport class Feedback {\n id: number;\n theme: string;\n message: string;\n email: string;\n captcha: string;\n files: File[];\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(value: any): any {\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Feedback } from '../models/feedback';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class FeedbackApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async sendFeedback(data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n\n async sendLeagueFeedback(leagueId: number, data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { File } from '../models/file';\n\n@Injectable({providedIn: 'root'})\nexport class FileApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async upload(fileData: any, filename?: string, width?: number, height?: number): Promise<File> {\n let params = new HttpParams();\n if (width && height) {\n params = params.set('width', width.toString()).set('height', height.toString());\n }\n\n const formData = new FormData();\n formData.append('file', fileData, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/`, formData, {params})\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async createZipArchive(files: {file: any, filename: string}[]): Promise<any> {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file.file, file.filename);\n }\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/zip_archive/`, formData, {responseType: 'blob'})\n .toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum HockeyGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n shootout_attempt,\n shootout_goal,\n assist,\n block_shot ,\n minor_penalty ,\n major_penalty ,\n misconduct_penalty ,\n game_misconduct_penalty ,\n match_penalty ,\n penalty_shot ,\n face_off_lose ,\n face_off_win ,\n save ,\n timeout,\n penalty_start,\n penalty_end,\n after_game_shootout_attempt,\n after_game_shootout_goal,\n after_game_shootout_save,\n shootout_save,\n}\n\nexport enum HockeyAdvantageTypes {\n power_play = 1,\n shorthanded,\n even_strength\n}\n\nexport interface PenaltyType {\n id: number;\n code: string;\n title: string;\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n advantage: 'advantage',\n advantage_num: 'advantageNum',\n is_goalie: 'isGoalie',\n penalty_type: 'penaltyType',\n penalized_game_user_id: 'penalizedGameUserId',\n mutual_penalty: 'mutualPenalty',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HockeyGameLogTypes),\n advantage: enumField(HockeyAdvantageTypes),\n penaltyType: penaltyTypeField()\n }\n})\nexport class HockeyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HockeyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n advantage: HockeyAdvantageTypes;\n advantageNum: number;\n isGoalie: boolean;\n penaltyType: PenaltyType;\n _penalizedGameUserId: number;\n mutualPenalty: boolean;\n\n get penalizedGameUserId(): number {\n if (this._penalizedGameUserId) {\n return this._penalizedGameUserId;\n }\n return this.gameUserId;\n }\n\n set penalizedGameUserId(value: number) {\n this._penalizedGameUserId = value;\n }\n\n compare(model: HockeyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HockeyGameLogTypes.goal, HockeyGameLogTypes.shootout_goal, HockeyGameLogTypes.after_game_shootout_goal].indexOf(this.logType) > -1;\n }\n\n isPenaltyType(): boolean {\n return [\n HockeyGameLogTypes.minor_penalty, HockeyGameLogTypes.major_penalty,\n HockeyGameLogTypes.misconduct_penalty, HockeyGameLogTypes.game_misconduct_penalty,\n HockeyGameLogTypes.penalty_shot, HockeyGameLogTypes.match_penalty\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HockeyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals: 'ppGoals',\n ev_goals: 'evGoals',\n sh_goals: 'shGoals',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n saves: 'saves',\n shootout_save: 'shootoutSaves',\n after_game_shootout_saves: 'afterGameShootoutSaves',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class HockeyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoals: number;\n evGoals: number;\n shGoals: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n saves: number;\n shootoutSaves: number;\n afterGameShootoutSaves: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n afterGameShootoutGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shotsOnGoal(): number {\n return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0);\n }\n\n get shotsBlocked(): number {\n return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);\n }\n\n get shotMisses(): number {\n return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0);\n }\n\n get ppShots(): number {\n return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0);\n }\n\n get evShots(): number {\n return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0);\n }\n\n get shShots(): number {\n return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0);\n }\n\n get shots(): number {\n return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);\n }\n\n get totalShots(): number {\n return this.shots + (this.shootoutAttempts || 0);\n }\n\n get goals(): number {\n return (this.ppGoals || 0) + (this.shGoals || 0) + (this.evGoals || 0);\n }\n\n get totalGoals(): number {\n return this.goals + (this.shootoutGoals || 0);\n }\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);\n }\n\n get faceOffs(): number {\n return (this.faceOffWins || 0) + (this.faceOffLosses || 0);\n }\n\n get shootOuts(): number {\n return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get shootoutShotsAgainst(): number {\n return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get totalShotsAgainst(): number {\n return this.shotsAgainst + this.shootoutShotsAgainst;\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.shootoutSaves || 0);\n }\n\n get totalSavesPercent(): number {\n if (!this.totalShotsAgainst || !this.totalSaves) {\n return 0;\n }\n return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n points: 'points',\n pp_shots: 'ppShots',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shots: 'evShots',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shots: 'shShots',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals_percent: 'ppGoalsPercent',\n pp_goals: 'ppGoals',\n ev_goals_percent: 'evGoalsPercent',\n ev_goals: 'evGoals',\n sh_goals_percent: 'shGoalsPercent',\n goals: 'goals',\n total_goals: 'totalGoals',\n sh_goals: 'shGoals',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots: 'shots',\n total_shots: 'totalShots',\n goals_percent: 'goalsPercent',\n total_goals_percent: 'totalGoalsPercent',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n face_offs: 'faceOffs',\n face_off_percent: 'faceOffPercent',\n saves: 'saves',\n total_saves: 'totalSaves',\n shootout_saves: 'shootoutSaves',\n shots_against: 'shotsAgainst',\n shootout_shots_against: 'shootoutShotsAgainst',\n total_shots_against: 'totalShotsAgainst',\n saves_percent: 'savesPercent',\n total_saves_percent: 'totalSavesPercent',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HockeyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n points: number;\n ppShots: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShots: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShots: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoalsPercent: number;\n ppGoals: number;\n evGoalsPercent: number;\n evGoals: number;\n shGoalsPercent: number;\n shGoals: number;\n goals: number;\n totalGoals: number;\n totalGoalsPercent;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shots: number;\n totalShots: number;\n goalsPercent: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n faceOffs: number;\n faceOffPercent: number;\n savesPercent: number;\n totalSavesPercent: number;\n saves: number;\n shootoutSaves: number;\n totalSaves: number;\n shotsAgainst: number;\n shootoutShotsAgainst: number;\n totalShotsAgainst: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n totalGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n newbie: boolean;\n rank: number;\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);\n }\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HockeyStatistic } from './hockey-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HockeyStatistic,\n competitorTeam: HockeyStatistic\n }\n})\nexport class HockeyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HockeyStatistic;\n competitorTeam: HockeyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyGameLog } from '../models/hockey-game-log';\nimport { HockeyGameStatistic } from '../models/hockey-game-statistic';\nimport { HockeyGameTeamStatistic } from '../models/hockey-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HockeyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HockeyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/team_statistic/`).pipe(\n map(result => HockeyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HockeyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/user_statistic/`).pipe(\n map(result => HockeyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HockeyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(\n map(result => HockeyGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user'|'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum FootballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n penalty_attempt,\n penalty_goal,\n penalty_save,\n small_penalty_attempt,\n small_penalty_goal,\n small_penalty_save,\n assist,\n block_shot,\n corner,\n free_kick,\n foul,\n save,\n yellow_card,\n red_card,\n perfect_pass,\n loss,\n steal,\n out,\n timeout,\n auto_goal,\n end_game_penalty_miss,\n end_game_penalty_goal,\n end_game_penalty_save\n}\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(FootballGameLogTypes)\n }\n})\nexport class FootballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: FootballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: FootballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [\n FootballGameLogTypes.goal,\n FootballGameLogTypes.penalty_goal,\n FootballGameLogTypes.small_penalty_goal,\n FootballGameLogTypes.auto_goal,\n FootballGameLogTypes.end_game_penalty_goal,\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: FootballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n corners: 'corners',\n free_kicks: 'freeKicks',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_saves: 'penaltySaves',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_saves: 'smallPenaltySaves',\n saves: 'saves',\n goals_against: 'goalsAgainst',\n safety_rate: 'safetyRate',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class FootballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsAgainst: number;\n penaltySaves: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltySaves: number;\n saves: number;\n goalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0) + (this.smallPenaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penalties(): number {\n return (this.penaltyGoals || 0) + (this.penaltyAttempts || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyAttempts || !this.penaltyGoals) {\n return 0;\n }\n const penaltyShots = this.penaltyAttempts + this.penaltyGoals;\n return Math.round(1000 * this.penaltyGoals / penaltyShots) / 10;\n }\n\n get smallPenalties(): number {\n return (this.smallPenaltyGoals || 0) + (this.smallPenaltyAttempts || 0);\n }\n\n get smallPenaltyGoalsPercent(): number {\n if (!this.smallPenaltyAttempts || !this.smallPenaltyGoals) {\n return 0;\n }\n const smallPenaltyShots = this.smallPenaltyAttempts + this.smallPenaltyGoals;\n return Math.round(1000 * this.smallPenaltyGoals / smallPenaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get smallPenaltyShotsAgainst(): number {\n return (this.smallPenaltySaves || 0) + (this.smallPenaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0) + (this.smallPenaltyGoalsAgainst || 0) + (this.autoGoalsAgainst || 0);\n }\n\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0) + (this.smallPenaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get smallPenaltySavesPercent(): number {\n if (!this.smallPenaltyShotsAgainst || !this.smallPenaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.smallPenaltySaves / this.smallPenaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots_on_goal_percent: 'shotsOnGoalPercent',\n shots: 'shots',\n goals: 'goals',\n goals_percent: 'goalsPercent',\n total_goals: 'totalGoals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_percent: 'penaltyGoalsPercent',\n penalty_saves: 'penaltySaves',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_percent: 'smallPenaltyGoalsPercent',\n small_penalty_saves: 'smallPenaltySaves',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_shots_against: 'smallPenaltyShotsAgainst',\n small_penalty_saves_percent: 'smallPenaltySavesPercent',\n saves: 'saves',\n saves_percent: 'savesPercent',\n total_saves: 'totalSaves',\n goals_against: 'goalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n shots_against: 'shotsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n corners: 'corners',\n free_kicks: 'freeKicks',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class FootballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shotsOnGoalPercent: number;\n shots: number;\n goals: number;\n totalGoals: number;\n goalsPercent: number;\n assists: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsPercent: number;\n penaltySaves: number;\n penaltyGoalsAgainst: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsPercent: number;\n smallPenaltySaves: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltyShotsAgainst: number;\n smallPenaltySavesPercent: number;\n saves: number;\n savesPercent: number;\n totalSaves: number;\n goalsAgainst: number;\n totalGoalsAgainst: number;\n shotsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n newbie: boolean;\n rank: number;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get tournamentTeamGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.gamesCount;\n }\n\n get tournamentTeamWonGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamDrawGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.drawGamesCount;\n }\n\n get tournamentTeamLostGamesCount(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.gamesCount - this.tournamentTeam.drawGamesCount - this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamScoreSum(): number {\n return this.tournamentTeam && this.tournamentTeam.scoreSum;\n }\n\n get tournamentTeamMissedSum(): number {\n return this.tournamentTeam && this.tournamentTeam.missedSum;\n }\n\n get tournamentTeamPlusMinus(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.scoreSum - this.tournamentTeam.missedSum;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { FootballStatistic } from './football-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: FootballStatistic,\n competitorTeam: FootballStatistic\n }\n})\nexport class FootballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: FootballStatistic;\n competitorTeam: FootballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { FootballGameLog } from '../models/football-game-log';\nimport { FootballGameStatistic } from '../models/football-game-statistic';\nimport { FootballGameTeamStatistic } from '../models/football-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class FootballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<FootballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/team_statistic/`).pipe(\n map(result => FootballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<FootballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/user_statistic/`).pipe(\n map(result => FootballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<FootballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/logs/`).pipe(\n map(result => FootballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum HandballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n assist,\n penalty_miss,\n penalty_shot_on_goal,\n penalty_goal,\n save,\n penalty_save,\n foul,\n yellow_card,\n red_card,\n two_minute_foul,\n turnover,\n steal,\n block_shot,\n timeout\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HandballGameLogTypes)\n }\n})\nexport class HandballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HandballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: HandballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HandballGameLogTypes.goal, HandballGameLogTypes.penalty_goal].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HandballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [HandballGameLogTypes.foul, HandballGameLogTypes.yellow_card, HandballGameLogTypes.red_card].indexOf(this.logType) > -1;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellowCards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n }\n})\nexport class HandballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penaltyShots(): number {\n return (this.penaltyShotsOnGoal || 0) + (this.penaltyMisses || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyShots || !this.penaltyGoals) {\n return 0;\n }\n return Math.round(1000 * this.penaltyGoals / this.penaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n shots: 'shots',\n goals_percent: 'goalsPercent',\n penalty_shots: 'penaltyShots',\n penalty_goals_percent: 'penaltyGoalsPercent',\n shots_against: 'shotsAgainst',\n saves_percent: 'savesPercent',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n total_goals: 'totalGoals',\n total_saves: 'totalSaves',\n total_goals_against: 'totalGoalsAgainst',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HandballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n shots: number;\n goalsPercent: number;\n penaltyShots: number;\n penaltyGoalsPercent: number;\n shotsAgainst: number;\n savesPercent: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n totalGoals: number;\n totalSaves: number;\n totalGoalsAgainst: number;\n newbie: boolean;\n rank: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HandballStatistic } from './handball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HandballStatistic,\n competitorTeam: HandballStatistic\n }\n})\nexport class HandballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HandballStatistic;\n competitorTeam: HandballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HandballGameLog } from '../models/handball-game-log';\nimport { HandballGameStatistic } from '../models/handball-game-statistic';\nimport { HandballGameTeamStatistic } from '../models/handball-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HandballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HandballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/team_statistic/`).pipe(\n map(result => HandballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HandballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/user_statistic/`).pipe(\n map(result => HandballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HandballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/logs/`).pipe(\n map(result => HandballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n text: 'text',\n author: 'author',\n created_at: 'createdAt',\n },\n relation: {\n picture: File,\n author: User,\n createdAt: DateTimeField,\n }\n})\nexport class TournamentNews extends BaseModel {\n id: number;\n title: string;\n picture: File;\n text: string;\n author: User;\n createdAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\n\n@ModelInstance({\n mappingFields: {\n stage_id: 'stageId',\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n }\n})\nexport class GameTimelineStageItem {\n stageId: number;\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n current_tour: 'currentTour',\n current_playoff_stage: 'currentPlayoffStage',\n current_playoff_round: 'currentPlayoffRound',\n stages: 'stages',\n tournament_stage_id: 'tournamentStageId',\n },\n relation: {\n stages: listField(GameTimelineStageItem)\n }\n})\nexport class GameTimelineStages extends BaseModel {\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n currentTour: number;\n currentPlayoffStage: number;\n currentPlayoffRound: number;\n stages: GameTimelineStageItem[];\n tournamentStageId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateField } from './util';\n\nexport enum TournamentStageStatuses {\n open,\n in_progress,\n closed\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n date: 'date',\n tournament_id: 'tournamentId',\n status: 'status',\n },\n relation: {\n date: DateField,\n status: enumField(TournamentStageStatuses)\n }\n})\nexport class TournamentStage extends BaseModel {\n id: number;\n name: string;\n date: Date;\n tournamentId: number;\n status: TournamentStageStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { Team } from './team';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { TeamUser } from './team-user';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n team_user: 'teamUser',\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n tournament_team: 'tournamentTeam',\n user: 'user',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n serve_percent: 'servePercent',\n ace_percent: 'acePercent',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n block_percent: 'blockPercent',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n attack_percent: 'attackPercent',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n receive_percent: 'receivePercent',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n serve_receive_percent: 'serveReceivePercent',\n points: 'points',\n faults: 'faults',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n team: Team,\n teamUser: TeamUser,\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n tournamentTeam: TournamentTeam,\n user: User,\n month: DateField,\n }\n})\nexport class VolleyballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n newbie: boolean;\n rank: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n servePercent: number;\n acePercent: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n blockPercent: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n attackPercent: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n receivePercent: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n serveReceivePercent: number;\n points: number;\n faults: number;\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TournamentGroup } from './tournament-group';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n group: 'group',\n tournament_stage_id: 'tournamentStageId',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n points: 'points',\n final_standing: 'finalStanding',\n received_points: 'receivedPoints',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n group: TournamentGroup\n }\n})\nexport class TournamentStageTeam extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n group: TournamentGroup;\n tournamentStageId: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n missedSum: number;\n lastGamesCount: number;\n lastGamesWon: number;\n points: number;\n finalStanding: number;\n receivedPoints: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField, DateTimeField, enumField } from './util';\nimport { File } from './file';\nimport { Tournament } from './tournament';\n\nexport enum LeagueNewsType {\n text = 1,\n video\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n datetime: 'datetime',\n preview_text: 'previewText',\n detail_text: 'detailText',\n picture: 'picture',\n cover: 'cover',\n mobile_picture: 'mobilePicture',\n is_main: 'isMain',\n tournaments: 'tournaments',\n type: 'type',\n video_link: 'videoLink',\n tag: 'tag',\n },\n relation: {\n datetime: DateTimeField,\n picture: File,\n cover: File,\n mobilePicture: File,\n tournaments: listField(Tournament),\n type: enumField(LeagueNewsType),\n }\n})\nexport class LeagueNews extends BaseModel {\n id: number;\n title: string;\n datetime: Date;\n previewText: string;\n detailText: string;\n picture: File;\n cover: File;\n mobilePicture: File;\n isMain: boolean;\n tournaments: Tournament[];\n type: LeagueNewsType;\n videoLink: string;\n tag: string;\n\n @ToFrontHook\n static toFront(data: any): any {\n return undefined;\n }\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField, enumField, listField } from './util';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { League } from './league';\nimport { LeagueNews } from './league-news';\n\nexport enum TournamentEventTypes {\n game_closed = 1,\n media_added,\n news\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game: 'game',\n news: 'news',\n league: 'league',\n tournaments: 'tournaments',\n event: 'event',\n datetime: 'datetime'\n },\n relation: {\n game: Game,\n news: LeagueNews,\n league: League,\n tournaments: listField(Tournament),\n datetime: DateField,\n event: enumField(TournamentEventTypes)\n }\n})\nexport class TournamentEvent extends BaseModel {\n id: number;\n game: Game;\n news: LeagueNews;\n tournaments: Tournament[];\n event: TournamentEventTypes;\n datetime: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { User } from './user';\nimport { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n\nexport enum LeagueUserRoles {\n admin = 1,\n moderator,\n game_manager\n}\n\nexport enum LeagueUserPermissions {\n settings = 1,\n users,\n teams,\n media,\n news,\n game_export,\n schedule,\n game_management\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user: 'user',\n role: 'role',\n permissions: 'permissions'\n },\n relation: {\n user: User,\n permissions: listField(enumField(LeagueUserPermissions))\n }\n})\nexport class LeagueUser extends BaseModel {\n id: number;\n user: User;\n _role: LeagueUserRoles;\n permissions: LeagueUserPermissions[];\n\n set role(value: LeagueUserRoles|string) {\n this._role = LeagueUserRoles[value];\n }\n\n get role(): LeagueUserRoles|string {\n return this._role;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n draw_games_count: 'drawGamesCount',\n newbie: 'newbie',\n // User statistic\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_kicks: 'conversionKicks',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalties: 'penalties',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n tap_penalties: 'tapPenalties',\n penalty_kicks_to_touch: 'penaltyKicksToTouch',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n plus_minus: 'plusMinus',\n game_time: 'gameTime',\n\n // Team statistic\n scrums: 'scrums',\n scrums_won: 'scrumsWon',\n scrums_lost: 'scrumsLost',\n scrums_won_percent: 'scrumsWonPercent',\n scrums_won_free: 'scrumsWonFree',\n opponent_scrums_won: 'opponentScrumsWon',\n opponent_scrums_lost: 'opponentScrumsLost',\n lineouts: 'lineouts',\n lineouts_won: 'lineoutsWon',\n lineouts_lost: 'lineoutsLost',\n lineouts_steal: 'lineoutsSteal',\n opponent_lineouts_lost: 'opponentLineoutsLost',\n quick_throws: 'quickThrows',\n rucks: 'rucks',\n rucks_won: 'rucksWon',\n rucks_lost: 'rucksLost',\n rucks_won_percent: 'rucksWonPercent',\n opponent_rucks_won: 'opponentRucksWon',\n opponent_rucks_lost: 'opponentRucksLost',\n mauls: 'mauls',\n mauls_won: 'maulsWon',\n mauls_lost: 'maulsLost',\n mauls_won_percent: 'maulWonPercent',\n opponent_mauls_won: 'opponentMaulsWon',\n opponent_mauls_lost: 'opponentMaulsLost',\n fouls: 'fouls',\n team_fouls: 'teamFouls',\n },\n relation: {\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class RugbyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n tournamentTeamPoints: number;\n newbie: boolean;\n rank: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penalties: number;\n penaltyKicksOnGoal: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyGoalsPercent: number;\n tapPenalties: number;\n penaltyKicksToTouch: number;\n dropGoalKicks: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n plusMinus: number;\n gameTime: number;\n\n scrums: number;\n scrumsWon: number;\n scrumsLost: number;\n scrumsWonPercent: number;\n scrumsWonFree: number;\n opponentScrumsWon: number;\n opponentScrumsLost: number;\n lineouts: number;\n lineoutsWon: number;\n lineoutsLost: number;\n lineoutsSteal: number;\n opponentLineoutsLost: number;\n quickThrows: number;\n rucks: number;\n rucksWon: number;\n rucksLost: number;\n rucksWonPercent: number;\n opponentRucksWon: number;\n opponentRucksLost: number;\n mauls: number;\n maulsWon: number;\n maulsLost: number;\n maulWonPercent: number;\n opponentMaulsWon: number;\n opponentMaulsLost: number;\n fouls: number;\n teamFouls: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Tournament } from '../models/tournament';\nimport { map } from 'rxjs/operators';\nimport { TournamentNews } from '../models/tournament-news';\nimport { Game, GameStatuses } from '../models/game';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { Playoff } from '../models/playoff';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyStatistic } from '../models/hockey-statistic';\nimport { FootballStatistic } from '../models/football-statistic';\nimport { LeagueUserPermissions } from '../models/league-user';\nimport { HandballStatistic } from '../models/handball-statistic';\nimport { RugbyStatistic } from '../models/rugby-statistic';\nimport { TournamentGroup } from '../models/tournament-group';\n\nexport interface TournamentGamesFilters {\n tournamentIds?: number[];\n tournamentSeasonId?: number;\n tournamentStageId?: number;\n tournamentTour?: number;\n teamId?: number;\n playoffStage?: number;\n playoffRound?: number;\n playoffId?: number;\n isPlayoff?: boolean;\n status?: GameStatuses;\n statuses?: GameStatuses[];\n tournamentCourtId?: number;\n leaguePlayerId?: number;\n userId?: number;\n query?: string;\n}\n\nexport type StatisticGroupByTypes = 'team' | 'user' | 'team_user' | 'tournament_team' | 'league_player' | 'tournament_team_user'\n | 'month' | 'win_loses';\n\nexport interface StatisticFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n league_player_id?: number;\n tournament_team_user_id?: number;\n team_id?: number;\n team_user_id?: number;\n user_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_round?: number;\n playoff_id?: number;\n is_playoff?: boolean;\n date_from?: string;\n date_to?: string;\n query?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n order_by?: string;\n page?: number;\n size?: number;\n}\n\nexport interface StatisticLeadersFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n team_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_id?: number;\n date_from?: string;\n date_to?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n size?: number;\n fields: string[];\n}\n\nexport interface TournamentEventsListFilter {\n event?: TournamentEventTypes;\n search?: string;\n tournamentTour?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TournamentApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(tournamentId: number): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/${alias}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getNews(tournamentId: number): Promise<TournamentNews[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`)\n .pipe(map(result => TournamentNews.toFront(result)))\n .toPromise();\n }\n\n async getEvents(tournamentId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/events/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getTournamentStages(tournamentId: number): Promise<TournamentStage[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stages/`).pipe(\n map(data => TournamentStage.toFront(data))\n ).toPromise();\n }\n\n async getPlayoff(tournamentId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/playoff/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffGames(playoffId: number, playoffNumber?: string): Promise<Game[]> {\n let params = new HttpParams();\n if (playoffNumber) {\n params = params.set('playoff_number', playoffNumber);\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_playoff/${playoffId}/games/`,\n {params}\n ).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(tournamentId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n\n async getGames(tournamentId: number, page: number, size: number, filters: TournamentGamesFilters = {}): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))).toPromise();\n }\n\n async getGroups(tournamentId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getTeams(tournamentId: number, groupId?: number): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (groupId) {\n params = params.set('group_id', groupId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams/`, {params})\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getStageTeams(tournamentId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stage_teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n\n async getTeamById(tournamentTeamId: number): Promise<TournamentTeam> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/`)\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<TournamentTeamUser> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${userId}/`)\n .pipe(map(result => TournamentTeamUser.toFront(result)))\n .toPromise();\n }\n\n async getUserGames(tournamentUserId: number): Promise<Game[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentUserId}/games/`)\n .pipe(map(result => Game.toFront(result)))\n .toPromise();\n }\n\n async getBasketballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: BasketballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = BasketballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getVolleyballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: VolleyballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = VolleyballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHockeyStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HockeyStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HockeyStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getFootballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: FootballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = FootballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHandballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HandballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HandballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getBasketballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<BasketballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: BasketballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getVolleyballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<VolleyballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: VolleyballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHockeyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HockeyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HockeyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getFootballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<FootballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: FootballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHandballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HandballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HandballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getRugbyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<RugbyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/rugby_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: RugbyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentTeamUsers(tournamentTeamId: number): Promise<TournamentTeamUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n async myPermission(tournamentId: number): Promise<LeagueUserPermissions[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(\n map((data: any) => (data.permissions || []).map(item => LeagueUserPermissions[item]))\n ).toPromise();\n }\n\n async getTournamentTeamTournaments(tournamentTeamId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getTournamentUserTournaments(tournamentTeamUserId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentTeamUserId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n}\n\nexport function applyGamesFilters(filters: TournamentGamesFilters, params: HttpParams): HttpParams {\n if (filters.tournamentIds) {\n params = params.set('tournament_ids', filters.tournamentIds.join(','));\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.statuses) {\n const statuses = filters.statuses.map(i => GameStatuses[i]);\n params = params.set('statuses', statuses.join(','));\n }\n if (filters.tournamentCourtId) {\n params = params.set('tournament_court_id', filters.tournamentCourtId.toString());\n }\n if (filters.leaguePlayerId) {\n params = params.set('league_player_id', filters.leaguePlayerId.toString());\n }\n if (filters.userId) {\n params = params.set('user_id', filters.userId.toString());\n }\n if (filters.query) {\n params = params.set('query', filters.query);\n }\n if (filters.isPlayoff !== undefined && filters.isPlayoff !== null) {\n params = params.set('is_playoff', filters.isPlayoff ? '1' : '0');\n }\n return params;\n}\n\nexport function applyStatisticFilters(filters: StatisticFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n\n if (filters.is_playoff !== undefined && filters.is_playoff !== null) {\n params = params.set('is_playoff', filters.is_playoff ? '1' : '0');\n }\n\n return params;\n}\n\nexport function applyStatisticLeadersFilters(filters: StatisticLeadersFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n if (filters.fields) {\n params = params.set('fields', filters.fields.join(','));\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n },\n relation: {\n picture: File\n }\n})\nexport class LeaguePartner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import {ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField} from './util';\nimport {File} from './file';\n\nexport enum BannerLocation {\n slider = 'slider',\n central = 'central',\n media = 'media',\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n location: 'location',\n },\n relation: {\n picture: File,\n location: enumField(BannerLocation),\n }\n})\nexport class LeagueBanner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n location: BannerLocation;\n\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n file: 'file',\n },\n relation: {\n file: File,\n }\n})\nexport class LeagueDocument extends BaseModel {\n id: number;\n file: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { League } from '../models/league';\nimport { map } from 'rxjs/operators';\nimport { Tournament, TournamentStatuses } from '../models/tournament';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { GameMediaFilters } from './media-api';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { Game, GameStatuses } from '../models/game';\nimport { LeaguePartner } from '../models/league-partner';\nimport { LeagueCourt } from '../models/league-court';\nimport { BannerLocation, LeagueBanner } from '../models/league-banner';\nimport { LeagueDocument } from '../models/league-document';\n\nexport interface TournamentListFilters {\n statuses: TournamentStatuses[];\n}\n\n@Injectable({providedIn: 'root'})\nexport class LeagueApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getByAlias(alias: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${alias}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getByDomain(domain: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/by_domain/${domain}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(leagueId: number, filters?: TournamentListFilters): Promise<Tournament[]> {\n let params = new HttpParams();\n if (filters) {\n if (filters.statuses) {\n params = params.set('statuses', filters.statuses.map(s => TournamentStatuses[s]).join(','));\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getEvents(leagueId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/events/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentSeasons(leagueId: number): Promise<TournamentSeason[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getGames(leagueId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/games/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getSeasons(leagueId: number, page = 1, size = 20, notClosed?: boolean, include?: string[]): Promise<PaginatedResponse<TournamentSeason[]>> {\n const params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString())\n .set('not_closed', notClosed ? '1' : '')\n .set('include', include ? include.join(',') : '');\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentSeason.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getPartners(leagueId: number): Promise<LeaguePartner[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/partners/`).pipe(\n map(result => LeaguePartner.toFront(result))\n ).toPromise();\n }\n\n async getBanners(leagueId: number, location?: BannerLocation): Promise<LeagueBanner[]> {\n const params = location ? new HttpParams().set('location', location) : new HttpParams();\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/banners/`, {params}).pipe(\n map(result => LeagueBanner.toFront(result))\n ).toPromise();\n }\n\n async getCourts(leagueId: number): Promise<LeagueCourt[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/courts/`).pipe(\n map(result => LeagueCourt.toFront(result))\n ).toPromise();\n }\n\n async getGraphicSettings(leagueId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/graphic_settings/`)\n .toPromise();\n }\n\n async getDocuments(leagueId: number): Promise<LeagueDocument[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/documents/`).pipe(\n map(result => LeagueDocument.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { LeagueNews, LeagueNewsType } from '../models/league-news';\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class LeagueNewsApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getLeagueNewsList(leagueId: number, page: number, size: number, type: LeagueNewsType = LeagueNewsType.text): Promise<PaginatedResponse<LeagueNews[]>> {\n const params = new HttpParams().set('page', page.toString())\n .set('size', size.toString())\n .set('type', LeagueNewsType[type]);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n\n async getMainLeagueNews(leagueId: number): Promise<LeagueNews> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => response && response.length > 0 ? LeagueNews.toFront(response[0]) : null))\n .toPromise();\n }\n\n async getMainLeagueNewsList(leagueId: number): Promise<LeagueNews[]> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getNewsById(newsId: number): Promise<LeagueNews> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_news/${newsId}/`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getTournamentNewsList(tournamentId: number): Promise<PaginatedResponse<LeagueNews[]>> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`, {observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { LeaguePlayer } from '../models/league-player';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\n\n@Injectable({providedIn: 'root'})\nexport class LeaguePlayerApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(leaguePlayerId: number): Promise<LeaguePlayer> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/`).pipe(\n map(item => LeaguePlayer.toFront(item))\n ).toPromise();\n }\n\n getTournamentUsers(leaguePlayerId: number, seasonId?: number): Promise<TournamentTeamUser[]> {\n let params = new HttpParams();\n if (seasonId) {\n params = params.set('season_id', seasonId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/tournament_users/`, {params}).pipe(\n map(item => TournamentTeamUser.toFront(item))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { MediaItem } from '../models/media-item';\nimport { Game, GameStatuses } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentGamesFilters } from './tournament-api';\n\nexport interface GameMediaFilters extends TournamentGamesFilters {\n mediaCount?: number;\n}\n\nexport interface MediaFilters {\n mediaType?: 'photo' | 'video' | 'live_video';\n sort?: string;\n teamId?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class MediaApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getMedia(mediaId: number): Promise<MediaItem> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async getTournamentGameMedia(tournamentId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueGameMedia(leagueId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueMedia(leagueId: number, page: number, size: number, filters: MediaFilters = {}): Promise<PaginatedResponse<MediaItem[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n if (filters.mediaType) {\n params = params.set('media_type', filters.mediaType);\n }\n if (filters.sort) {\n params = params.set('sort', filters.sort);\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: MediaItem.toFront(response.body)\n }))).toPromise();\n }\n\n async getGameMediaById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGameMedia(gameId: number): Promise<MediaItem[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async createZip(mediaIds: number[]): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })\n .toPromise();\n }\n\n async downloadMedia(mediaId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`,{responseType: 'blob'})\n .toPromise();\n }\n}\n\nexport function applyGameMediaFilters(filters: GameMediaFilters, params: HttpParams, ): HttpParams {\n if (filters) {\n params = applyGamesFilters(filters, params);\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.playoffId) {\n params = params.set('playoff_id', filters.playoffId.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.mediaCount) {\n params = params.set('media_count', filters.mediaCount.toString());\n }\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { User } from './user';\n\nexport enum PollStatuses {\n open = 1,\n closed,\n archived,\n}\n\n@ModelInstance({\n mappingFields: {\n uuid: 'uuid',\n name: 'name'\n }\n})\nexport class PollVariant extends BaseModel {\n uuid: string;\n name: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n answer_uuid: 'answerUuid',\n user: 'user',\n poll_id: 'pollId',\n },\n relation: {\n user: User\n }\n})\nexport class PollAnswer extends BaseModel {\n id: number;\n answerUuid: string;\n user: User;\n pollId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n active: 'active',\n status: 'status',\n team_id: 'teamId',\n name: 'name',\n description: 'description',\n variants: 'variants',\n author: 'author',\n answers: 'answers',\n multiple_answer: 'multipleAnswer',\n anonymous: 'anonymous',\n created_at: 'createdAt'\n },\n relation: {\n status: enumField(PollStatuses),\n variants: PollVariant,\n author: User,\n answers: PollAnswer,\n createdAt: DateTimeField,\n }\n})\nexport class Poll extends BaseModel {\n id: number;\n active: boolean;\n teamId: number;\n status: PollStatuses;\n name: string;\n description: string;\n _variants: PollVariant[];\n author: User;\n _answers: PollAnswer[];\n multipleAnswer: boolean;\n anonymous: boolean;\n createdAt: Date;\n variantsWithAnswers: {variant: PollVariant, percent: number}[] = [];\n\n set variants(value: PollVariant[]) {\n this._variants = value || [];\n if (this._answers) {\n this.calculateAnswersPercentage();\n }\n }\n get variants(): PollVariant[] {\n return this._variants;\n }\n\n set answers(value: PollAnswer[]) {\n this._answers = value || [];\n if (this._variants) {\n this.calculateAnswersPercentage();\n }\n }\n get answers(): PollAnswer[] {\n return this._answers;\n }\n\n calculateAnswersPercentage() {\n if (!this._answers.length) {\n return;\n }\n\n const variants = this._variants.map(v => v.uuid);\n const answersByVariant = this._answers.reduce((acc, item) => {\n if (variants.indexOf(item.answerUuid) < 0) {\n return acc;\n }\n if (!acc[item.answerUuid]) {\n acc[item.answerUuid] = 0;\n }\n acc[item.answerUuid]++;\n return acc;\n }, {});\n this.variantsWithAnswers = this._variants.map(item => ({\n variant: item,\n percent: answersByVariant[item.uuid] ? Math.round(100 * answersByVariant[item.uuid] / this._answers.length) : 0\n }))\n .sort((a, b) => a.percent > b.percent ? -1 : 1);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n user: 'user',\n team: 'team',\n team_id: 'teamId',\n user_accept: 'userAccept',\n team_accept: 'teamAccept',\n users_count: 'usersCount',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n created_at: 'createdAt',\n updated_at: 'updatedAt',\n },\n relation: {\n user: User,\n team: Team,\n createdAt: DateTimeField,\n updateAt: DateTimeField,\n }\n})\nexport class TeamInvite extends BaseModel {\n id: number;\n userId: number;\n user: User;\n teamId: number;\n team: Team;\n userAccept: boolean;\n teamAccept: boolean;\n usersCount: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n createdAt: Date;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUser } from './team-user';\nimport { Game } from './game';\n\nexport enum GameInviteStatus {\n accepted = 1,\n declined,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_user: 'teamUser',\n game_id: 'gameId',\n game: 'game',\n status: 'status',\n },\n relation: {\n game: Game,\n teamUser: TeamUser,\n status: enumField(GameInviteStatus),\n }\n})\nexport class GameInvite extends BaseModel {\n id: number;\n teamUser: TeamUser;\n gameId: number;\n game: Game;\n status: GameInviteStatus;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export enum TeamEventTypes {\n training = 1,\n other = 2,\n}\n","import { TeamEventTypes } from '../models/team-event-type';\n\nexport const TeamEventTypeLocalization = {\n [TeamEventTypes.training]: 'Тренировка',\n [TeamEventTypes.other]: 'Другое'\n};\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { Team } from './team';\nimport { TeamEventTypeLocalization } from '../localization/team-event-type';\nimport { TeamEventTypes } from './team-event-type';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n team: 'team',\n event_type: 'eventType',\n event_custom_name: 'eventCustomName',\n description: 'description',\n datetime: 'datetime',\n location: 'location',\n },\n relation: {\n eventType: enumField(TeamEventTypes),\n team: Team,\n datetime: DateTimeField,\n }\n})\nexport class TeamEvent extends BaseModel {\n id: number;\n teamId: number;\n team: Team;\n eventType: TeamEventTypes;\n eventCustomName: string;\n description: string;\n datetime: Date;\n location: string;\n\n get name(): string {\n if (this.eventType === TeamEventTypes.other) {\n return this.eventCustomName;\n }\n return TeamEventTypeLocalization[this.eventType];\n }\n\n get isClosed(): boolean {\n return this.datetime.getTime() < new Date().getTime();\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum TeamEventInviteStatuses {\n accepted = 1,\n declined = 2\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_event_id: 'teamEventId',\n team_user_id: 'teamUserId',\n status: 'status',\n },\n relation: {\n status: enumField(TeamEventInviteStatuses)\n }\n})\nexport class TeamEventInvite {\n id: number;\n teamEventId: number;\n teamUserId: number;\n status: TeamEventInviteStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { TeamUser } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_invite_id: 'tournamentTeamInviteId',\n tournament_team_id: 'tournamentTeamId',\n team_user: 'teamUser',\n accepted: 'accepted'\n },\n relation: {\n teamUser: TeamUser\n }\n})\nexport class TournamentTeamUserInvite extends BaseModel {\n id: number;\n tournamentTeamInviteId: number;\n tournamentTeamId: number;\n teamUser: TeamUser;\n accepted: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { Tournament } from './tournament';\nimport { TournamentTeamUserInvite } from './tournament-team-user-invite';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team: 'team',\n tournament: 'tournament',\n team_accept: 'teamAccept',\n organization_accept: 'organizationAccept',\n user_invites_count: 'userInvitesCount',\n user_invites: 'userInvites',\n notifications_count: 'notificationsCount',\n },\n relation: {\n team: Team,\n tournament: Tournament,\n userInvites: TournamentTeamUserInvite,\n }\n})\nexport class TournamentInvite extends BaseModel {\n id: number;\n team: Team;\n tournament: Tournament;\n teamAccept: boolean;\n organizationAccept: boolean;\n userInvitesCount: number;\n userInvites: TournamentTeamUserInvite[];\n notificationsCount: number;\n\n get isOpen(): boolean {\n return (this.teamAccept === null || this.organizationAccept === null) && this.teamAccept !== false && this.organizationAccept !== false;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { Team } from './team';\nimport { Poll } from './poll';\nimport { Game } from './game';\nimport { TeamInvite } from './team-invite';\nimport { TeamUser } from './team-user';\nimport { GameInvite } from './game-invite';\nimport { TeamEvent } from './team-event';\nimport { TeamEventInvite } from './team-event-invite';\nimport { Tournament } from './tournament';\nimport { TournamentInvite } from './tournament-invite';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\n\nexport enum NotificationType {\n team_updated = 1,\n team_invited,\n team_join_request,\n team_join_declined_by_team,\n team_join_declined_by_user,\n team_join_canceled_by_team,\n team_join_canceled_by_user,\n team_joined_for_user,\n team_joined_for_team,\n team_user_role_changed_for_user,\n team_user_role_changed_for_team,\n team_user_number_changed,\n team_user_deleted_for_user,\n team_user_deleted_for_team,\n team_user_left,\n\n game_updated,\n game_invited,\n game_invite_accepted,\n game_invite_declined,\n game_remind,\n game_won,\n game_losing,\n game_tech_defeat,\n game_tech_victory,\n\n poll_created,\n poll_closed,\n\n team_event_invited,\n team_event_accepted,\n team_event_declined,\n team_event_remind,\n\n tournament_invited,\n tournament_joined,\n tournament_join_declined,\n tournament_join_canceled,\n tournament_user_invited,\n tournament_user_accepted_for_team,\n tournament_user_accepted_for_user,\n tournament_user_added,\n tournament_user_declined_for_team,\n tournament_user_declined_for_user,\n tournament_user_invite_deleted,\n tournament_user_deleted,\n tournament_user_disqualified_for_team,\n tournament_user_disqualified_for_user,\n tournament_user_disqualification_updated_for_team,\n tournament_user_disqualification_updated_for_user,\n tournament_team_deleted,\n\n org_tournament_invite_created,\n org_tournament_invite_declined,\n org_tournament_invite_deleted,\n org_tournament_invite_changed,\n org_tournament_user_deleted,\n org_tournament_user_invited,\n org_tournament_user_has_changes,\n org_tournament_team_leave,\n}\n\nexport enum NotificationServiceEnum {\n public = 1,\n org\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n event_type: 'event',\n data: 'data',\n initiator: 'initiator',\n team: 'team',\n team_invite: 'teamInvite',\n team_user: 'teamUser',\n poll: 'poll',\n game: 'game',\n game_invite: 'gameInvite',\n team_event: 'teamEvent',\n team_event_invite: 'teamEventInvite',\n tournament: 'tournament',\n tournament_invite: 'tournamentInvite',\n tournament_team: 'tournamentTeam',\n viewed: 'viewed',\n protected: 'protected',\n service: 'service',\n created_at: 'createdAt',\n },\n relation: {\n event: enumField(NotificationType),\n initiator: User,\n team: Team,\n teamInvite: TeamInvite,\n teamUser: TeamUser,\n poll: Poll,\n game: Game,\n gameInvite: GameInvite,\n teamEvent: TeamEvent,\n teamEventInvite: TeamEventInvite,\n tournament: Tournament,\n tournamentInvite: TournamentInvite,\n tournamentTeam: TournamentTeam,\n service: enumField(NotificationServiceEnum),\n createdAt: DateTimeField,\n }\n})\nexport class Notification extends BaseModel {\n id: number;\n event: NotificationType;\n data: any;\n initiator: User;\n team: Team;\n teamInvite: TeamInvite;\n teamUser: TeamUser;\n poll: Poll;\n game: Game;\n gameInvite: GameInvite;\n teamEvent: TeamEvent;\n teamEventInvite: TeamEventInvite;\n tournament: Tournament;\n tournamentInvite: TournamentInvite;\n tournamentTeam: TournamentTeam;\n viewed: boolean;\n protected: boolean;\n service: NotificationServiceEnum;\n createdAt: Date;\n\n get important(): boolean {\n return true;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum NotificationAllowTypes {\n all = 1,\n important,\n none\n}\n\n@ModelInstance({\n mappingFields: {\n user_id: 'userId',\n popup: 'popup',\n sound: 'sound',\n browser: 'browser',\n email: 'email'\n },\n relation: {\n sound: enumField(NotificationAllowTypes),\n browser: enumField(NotificationAllowTypes),\n }\n})\nexport class NotificationSettings extends BaseModel {\n userId: number;\n popup: boolean;\n sound: NotificationAllowTypes;\n browser: NotificationAllowTypes;\n email: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Notification } from '../models/notification';\nimport { NotificationSettings } from '../models/notification-settings';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\n\nexport interface NotificationFilters {\n protected?: boolean;\n not_viewed?: boolean;\n important?: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class NotificationBaseApi {\n protected apiUrl: string;\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCount(): Promise<number> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)\n .pipe(map(data => +data))\n .toPromise();\n }\n\n async getList(page: number, size: number, filters: NotificationFilters = {}): Promise<PaginatedResponse<Notification[]>> {\n let params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString());\n for (const key of Object.keys(filters)) {\n params = params.set(key, filters[key]);\n }\n\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, {params, observe: 'response'})\n .pipe(\n map(response => {\n const data: Notification[] = Notification.toFront(response.body);\n return {\n total: +response.headers.get('x-page-count'),\n data\n };\n }),\n ).toPromise();\n }\n\n async markViewed(notificationId: number, viewed: boolean): Promise<Notification> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, {viewed})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async markAllViewed(): Promise<Notification[]> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async getNotificationSettings(): Promise<NotificationSettings> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)\n .pipe(map(data => NotificationSettings.toFront(data)))\n .toPromise();\n }\n\n async updateNotificationSettings(data: NotificationSettings): Promise<NotificationSettings> {\n return this.httpClient.post(\n `${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`,\n NotificationSettings.toBack(data)\n )\n .pipe(map(result => NotificationSettings.toFront(result)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationApi extends NotificationBaseApi {\n protected apiUrl = '/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class OrgNotificationApi extends NotificationBaseApi {\n protected apiUrl = '/org/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { City } from '../models/city';\nimport { Sport } from '../models/sport';\n\n@Injectable({providedIn: 'root'})\nexport class ReferenceApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCities(): Promise<City[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)\n .pipe(\n map(data => City.toFront(data))\n ).toPromise();\n }\n\n async getSports(): Promise<Sport[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/sport/`)\n .pipe(\n map(data => Sport.toFront(data))\n ).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { RugbyStatistic } from './rugby-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: RugbyStatistic,\n competitorTeam: RugbyStatistic\n }\n})\nexport class RugbyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: RugbyStatistic;\n competitorTeam: RugbyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_kicks: 'conversionKicks',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class RugbyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyKicksOnGoal: number;\n penaltyGoalsPercent: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalKicks: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, listField, enumField } from './util';\n\nexport enum RugbyFoulSanctions {\n scrum = 1,\n lineout,\n free_kick,\n penalty_shot,\n yellow_card,\n red_card,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sanction: 'sanction',\n },\n relation: {\n sanction: listField(enumField(RugbyFoulSanctions))\n }\n})\nexport class RugbyFoulType extends BaseModel {\n id: number;\n name: string;\n sanction: RugbyFoulSanctions[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\nimport { RugbyFoulSanctions, RugbyFoulType } from './rugby-foul-type';\n\nexport enum RugbyGameLogTypes {\n enter_game = 1,\n exit_game,\n try,\n penalty_try,\n conversion_goal,\n conversion_miss,\n penalty_miss,\n penalty_goal,\n drop_goal,\n drop_goal_miss,\n free_kick,\n foul,\n yellow_card,\n red_card,\n offload,\n tackle,\n handling_error,\n carries_over_gainline,\n bleeding_injury,\n head_injury,\n end_game_penalty_miss,\n end_game_penalty_goal,\n\n // team actions\n timeout,\n tap_penalty,\n penalty_kick_to_touch,\n scrum_won,\n scrum_lost,\n scrum_won_free,\n lineout_won,\n lineout_lost,\n quick_throw,\n ruck_won,\n ruck_lost,\n maul_won,\n maul_lost,\n team_foul,\n}\n\nexport const RUGBY_GAME_LOG_TYPE_POINTS = {\n [RugbyGameLogTypes.penalty_try]: 7,\n [RugbyGameLogTypes.try]: 5,\n [RugbyGameLogTypes.conversion_goal]: 2,\n [RugbyGameLogTypes.penalty_goal]: 3,\n [RugbyGameLogTypes.drop_goal]: 3,\n [RugbyGameLogTypes.end_game_penalty_goal]: 1, // Не влияет на общий счет\n};\n\nexport const RUGBY_TEAM_LOG_TYPES = [\n RugbyGameLogTypes.timeout, RugbyGameLogTypes.scrum_won, RugbyGameLogTypes.scrum_lost, RugbyGameLogTypes.scrum_won_free,\n RugbyGameLogTypes.lineout_won, RugbyGameLogTypes.lineout_lost,\n RugbyGameLogTypes.quick_throw, RugbyGameLogTypes.ruck_won, RugbyGameLogTypes.ruck_lost,\n RugbyGameLogTypes.maul_won, RugbyGameLogTypes.maul_lost, RugbyGameLogTypes.team_foul,\n RugbyGameLogTypes.penalty_kick_to_touch, RugbyGameLogTypes.tap_penalty,\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n group: 'group',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n foul_type: 'foulType',\n foul_sanction: 'foulSanction',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(RugbyGameLogTypes),\n foulType: RugbyFoulType,\n foulSanction: enumField(RugbyFoulSanctions),\n }\n})\nexport class RugbyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n group: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: RugbyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n foulType: RugbyFoulType;\n foulSanction: RugbyFoulSanctions;\n\n compare(model: RugbyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType] !== undefined;\n }\n\n scorePoints(): number {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType];\n }\n\n isAfter(log: RugbyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [RugbyGameLogTypes.team_foul, RugbyGameLogTypes.foul].indexOf(this.logType) > -1;\n }\n\n isTeamType(): boolean {\n return RUGBY_TEAM_LOG_TYPES.includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\nimport { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';\nimport { RugbyGameStatistic } from '../models/rugby-game-statistic';\nimport { RugbyGameLog } from '../models/rugby-game-log';\nimport { RugbyFoulType } from '../models/rugby-foul-type';\n\n@Injectable({providedIn: 'root'})\nexport class RugbyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<RugbyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(\n map(result => RugbyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<RugbyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(\n map(result => RugbyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<RugbyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(\n map(result => RugbyGameLog.toFront(result))\n ).toPromise();\n }\n\n async getFoulTypes(): Promise<RugbyFoulType> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(\n map(result => RugbyFoulType.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', 'pdf'),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n email: 'email',\n first_name: 'firstName',\n last_name: 'lastName',\n },\n})\nexport class TeamInviteExternal extends BaseModel {\n id: number;\n teamId: number;\n email: string;\n firstName: string;\n lastName: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook, enumField } from './util';\n\nexport enum TeamPermissionTypes {\n for_all = 1,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n players: 'players',\n games: 'games',\n statistic: 'statistic',\n polls: 'polls',\n events: 'events'\n },\n relation: {\n players: enumField(TeamPermissionTypes),\n games: enumField(TeamPermissionTypes),\n statistic: enumField(TeamPermissionTypes),\n polls: enumField(TeamPermissionTypes),\n events: enumField(TeamPermissionTypes)\n }\n})\nexport class TeamPermission extends BaseModel {\n players: TeamPermissionTypes;\n games: TeamPermissionTypes;\n statistic: TeamPermissionTypes;\n polls: TeamPermissionTypes;\n events: TeamPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUserRole } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n can_edit: 'canEdit',\n can_view_users: 'canViewUsers',\n can_manage_permission: 'canManagePermission',\n can_change_owner: 'canChangeOwner',\n can_delete: 'canDelete',\n can_manage_invites: 'canManageInvites',\n can_view_invites: 'canViewInvites',\n can_manage_polls: 'canManagePolls',\n can_view_polls: 'canViewPolls',\n can_answer_poll: 'canAnswerPoll',\n can_manage_games: 'canManageGames',\n can_view_games: 'canViewGames',\n can_view_statistic: 'canViewStatistic',\n can_promote_users: 'canPromoteUsers',\n can_edit_users: 'canEditUsers',\n can_delete_users: 'canDeleteUsers',\n can_view_events: 'canViewEvents',\n can_manage_events: 'canManageEvents',\n can_view_tournaments: 'canViewTournaments',\n can_manage_tournaments: 'canManageTournaments',\n role: 'role'\n },\n relation: {\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamAccess extends BaseModel {\n canEdit: boolean;\n canViewUsers: boolean;\n canManagePermission: boolean;\n canChangeOwner: boolean;\n canDelete: boolean;\n canManageInvites: boolean;\n canViewInvites: boolean;\n canManagePolls: boolean;\n canViewPolls: boolean;\n canAnswerPoll: boolean;\n canManageGames: boolean;\n canViewGames: boolean;\n canViewStatistic: boolean;\n canPromoteUsers: boolean;\n canEditUsers: boolean;\n canDeleteUsers: boolean;\n canViewEvents: boolean;\n canManageEvents: boolean;\n canViewTournaments: boolean;\n canManageTournaments: boolean;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser, TeamUserRole } from '../models/team-user';\nimport { User } from '../models/user';\nimport { TeamInvite } from '../models/team-invite';\nimport { TeamInviteExternal } from '../models/team-invite-external';\nimport { Poll } from '../models/poll';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { TeamEvent } from '../models/team-event';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { TeamPermission } from '../models/team-permission';\nimport { TeamAccess } from '../models/team-access';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async search(query: string, sportId?: number): Promise<Team[]> {\n let params = (new HttpParams()).set('search', query);\n if (sportId) {\n params = params.set('sport', sportId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/`, {params})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async create(team: Team): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/`, Team.toBack(team))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getById(teamId: number): Promise<Team> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getTeamAccess(teamId: number): Promise<TeamAccess> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/access/`)\n .pipe(map(data => TeamAccess.toFront(data)))\n .toPromise();\n }\n\n async update(teamId: number, values: any): Promise<Team> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`, Team.toBack(values))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async delete(team: Team): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${team.id}/`)\n .toPromise();\n }\n\n async getPermission(teamId: number): Promise<TeamPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`)\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async updatePermission(teamId: number, permission: TeamPermission): Promise<TeamPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`, TeamPermission.toBack(permission))\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async getUsers(teamId: number, tournamentId?: number): Promise<TeamUser[]> {\n let params = new HttpParams();\n if (tournamentId) {\n params = params.set('tournament_id', tournamentId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`, {params})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserRole(teamId: number, teamUserId: number, role: TeamUserRole): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/role/`, {role: TeamUserRole[role]})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserNumber(teamId: number, teamUserId: number, gameNumber: number): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/number/`, {number: gameNumber.toString()})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteUser(teamUser: TeamUser): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${teamUser.teamId}/users/${teamUser.id}/`)\n .toPromise();\n }\n\n async changeOwner(teamId: number, user: User): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/owner/`, {id: user.id})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(teamId: number): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async sendInvite(teamId: number, user: User): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`, {user})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async resendInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getInvitesExternal(teamId: number): Promise<TeamInviteExternal[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`)\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async sendInviteExternal(teamId: number, invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`, TeamInviteExternal.toBack(invite))\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async deleteInviteExternal(invite: TeamInviteExternal): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/`)\n .toPromise();\n }\n\n async resendInviteExternal(invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async getPolls(teamId: number, archive: boolean = false): Promise<Poll[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async createPoll(teamId: number, poll: Poll): Promise<Poll> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/`, Poll.toBack(poll))\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async getUsersStatistic(teamId: number): Promise<BasketballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(teamId: number): Promise<VolleyballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async joinTeam(teamId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/join/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async leaveTeam(teamId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/leave/`, {})\n .toPromise();\n }\n\n async getGames(teamId: number, archive = false): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async createGame(teamId: number, game: Game): Promise<Game> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/`, Game.toBack(game))\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(teamId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async createTeamEvent(teamId: number, teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async getTournaments(teamId: number): Promise<Tournament[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/`)\n .pipe(map(data => Tournament.toFront(data)))\n .toPromise();\n }\n\n async getTournamentTeams(teamId: number): Promise<TournamentTeam[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_teams/`)\n .pipe(map(data => TournamentTeam.toFront(data)))\n .toPromise();\n }\n\n async getTournamentInvites(teamId: number): Promise<TournamentInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_invites/`)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async getTournamentGames(teamId: number, tournamentId: number, page: number, size?: number): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map((response: HttpResponse<any>) => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n }))\n .toPromise();\n }\n\n async acceptTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/accept/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/decline/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async registerLazyUser(teamId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/lazy_user/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async getLazyUser(teamUserId: number): Promise<TeamUser> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateLazyUser(teamUserId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteLazyUser(teamUserId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .toPromise();\n }\n\n async resendLazyUserEmail(teamUserId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/resend_email/`, {})\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { TeamEvent } from '../models/team-event';\nimport { TeamEventInvite } from '../models/team-event-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamEventApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getTeamEvent(teamEventId: number): Promise<TeamEvent> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async updateTeamEvent(teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEvent.id}/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async deleteTeamEvent(teamEventId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .toPromise();\n }\n\n async getTeamEventInvites(teamEventId: number): Promise<TeamEventInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`)\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async createTeamEventInvite(teamEventId: number, teamUserId: number): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`, {team_user_id: teamUserId})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/accept/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/decline/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n valid_users_count: 'validUsersCount',\n invalid_users_count: 'invalidUsersCount',\n has_access: 'hasAccess',\n invite_sent: 'inviteSent',\n already_in_tournament: 'alreadyInTournament'\n }\n})\nexport class TournamentJoinData extends BaseModel {\n validUsersCount: number;\n invalidUsersCount: number;\n hasAccess: boolean;\n inviteSent: boolean;\n alreadyInTournament: boolean;\n\n get usersCount(): number {\n return this.validUsersCount + this.invalidUsersCount;\n }\n\n get valid() {\n return this.hasAccess && !this.inviteSent && !this.alreadyInTournament;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n join_data: 'joinData'\n },\n relation: {\n team: Team,\n joinData: TournamentJoinData\n }\n})\nexport class TournamentJoinTeam extends BaseModel {\n team: Team;\n joinData: TournamentJoinData;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentJoinTeam } from '../models/tournament-join-team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser } from '../models/team-user';\nimport { TournamentTeamUserInvite } from '../models/tournament-team-user-invite';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentJoinApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getTeamsForJoin(tournamentId: number): Promise<TournamentJoinTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams_for_join/`).pipe(\n map(response => TournamentJoinTeam.toFront(response))\n ).toPromise();\n }\n\n async getTeamUsers(teamId: number): Promise<TeamUser[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`)\n .pipe(\n map(data => TeamUser.toFront(data))\n ).toPromise();\n }\n\n async joinTournament(tournamentId: number, teamId: number, invites: TournamentTeamUserInvite[]): Promise<TournamentInvite> {\n const body = {\n team: {id: teamId},\n user_invites: TournamentTeamUserInvite.toBack(invites)\n };\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/join/`, body)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { Game, GameStatuses } from '../models/game';\nimport { Tournament } from '../models/tournament';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { applyGameMediaFilters, GameMediaFilters } from './media-api';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { Playoff } from '../models/playoff';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentSeasonApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<TournamentSeason> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/${alias}/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(seasonId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getGames(seasonId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games/`,\n {params, observe: 'response'}\n ).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getEvents(seasonId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/events/`,\n {params, observe: 'response'}\n )\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getGameMedia(seasonId: number, page: number, size: number, filters: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/game_media/`,\n {observe: 'response', params})\n .pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getTeams(seasonId: number, short?: boolean): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (short) {\n params = params.set('short', '1');\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffs(seasonId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/playoffs/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(seasonId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { map } from 'rxjs/operators';\nimport { TournamentGroup } from '../models/tournament-group';\nimport { Playoff } from '../models/playoff';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentStageApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(id: number): Promise<TournamentStage> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${id}/`)\n .pipe(map(result => TournamentStage.toFront(result)))\n .toPromise();\n }\n\n async getGroups(stageId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getPlayoffs(stageId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/playoff/`)\n .pipe(map(result => Playoff.toFront(result)))\n .toPromise();\n }\n\n async getTeams(stageId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n edit: 'edit',\n personal_data: 'personalData',\n teams: 'teams',\n statistic: 'statistic',\n games: 'games'\n }\n})\nexport class UserAccess extends BaseModel {\n edit: boolean;\n personalData: boolean;\n teams: boolean;\n statistic: boolean;\n games: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum UserPermissionTypes {\n denied = 1,\n for_all,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n personal_data: 'personalData',\n games: 'games',\n teams: 'teams',\n statistic: 'statistic'\n },\n relation: {\n personalData: enumField(UserPermissionTypes),\n games: enumField(UserPermissionTypes),\n teams: enumField(UserPermissionTypes),\n statistic: enumField(UserPermissionTypes)\n }\n})\nexport class UserPermission extends BaseModel {\n id: number;\n personalData: UserPermissionTypes;\n games: UserPermissionTypes;\n teams: UserPermissionTypes;\n statistic: UserPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { User } from '../models/user';\nimport { File } from '../models/file';\nimport { map } from 'rxjs/operators';\nimport { UserProfile } from '../models/user-profile';\nimport { BasketballProfile } from '../models/basketball-profile';\nimport { VolleyballProfile } from '../models/volleyball-profile';\nimport { Team } from '../models/team';\nimport { TeamInvite } from '../models/team-invite';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { GameInvite } from '../models/game-invite';\nimport { TeamEvent } from '../models/team-event';\nimport { UserAccess } from '../models/user-access';\nimport { UserPermission } from '../models/user-permission';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class UserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCurrentUser(): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getAccess(userId?: number): Promise<UserAccess> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/access/`)\n .pipe(map(data => UserAccess.toFront(data)))\n .toPromise();\n }\n\n async updateUser(userId: number, data: any): Promise<User> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`, User.toBack(data))\n .pipe(map(result => User.toFront(result)))\n .toPromise();\n }\n\n async updateUserPhoto(file: any, filename?: string): Promise<File> {\n const formData = new FormData();\n formData.append('file', file, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/photo/`, formData)\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async changePassword(userId: number, oldPassword: string, password: string, passwordConfirm: string): Promise<any> {\n const payload = {\n old_password: oldPassword,\n password,\n password_confirm: passwordConfirm\n };\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_password/`, payload)\n .toPromise();\n }\n\n async changeEmail(userId: number, email: string, password: string): Promise<any> {\n const payload = {email, password};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email/`, payload)\n .toPromise();\n }\n\n async changeEmailConfirm(userId, email: string, password: string, token: number): Promise<any> {\n const payload = {email, password, token};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email_confirm/`, payload)\n .toPromise();\n }\n\n async getUserProfile(userId: number): Promise<UserProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/profile/`)\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async getBasketballProfile(userId: number): Promise<BasketballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/basketball_profile/`)\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballProfile(userId: number): Promise<VolleyballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_profile/`)\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserProfile(userProfile: UserProfile): Promise<UserProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userProfile.userId}/profile/`, UserProfile.toBack(userProfile))\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserBasketballProfile(basketballProfile: BasketballProfile): Promise<BasketballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${basketballProfile.userId}/basketball_profile/`, BasketballProfile.toBack(basketballProfile))\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserVolleyballProfile(volleyballProfile: VolleyballProfile): Promise<VolleyballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${volleyballProfile.userId}/volleyball_profile/`, VolleyballProfile.toBack(volleyballProfile))\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async getUserPermissions(userId?: number): Promise<UserPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/permission/`)\n .pipe(map(data => UserPermission.toFront(data)))\n .toPromise();\n }\n\n async updateUserPermission(data: any): Promise<UserPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/current/permission/`, UserPermission.toBack(data))\n .pipe(map(result => UserPermission.toFront(result)))\n .toPromise();\n }\n\n async getTeams(userId: number): Promise<Team[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/teams/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getStreetballStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/streetball_statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(userId: number): Promise<VolleyballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getGames(userId: number): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/games/`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getGameInvites(): Promise<GameInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/`)\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/accept/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async declineGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/decline/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async searchUsers(query: string): Promise<User[]> {\n const params = (new HttpParams()).set('search', query);\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/`, {params})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async setWizardShowed(wizard: string): Promise<User> {\n return this.httpClient\n .put(`${this.configService.get('apiUrl')}/api/v1/user/current/wizards/`, {wizard})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(userId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/team_events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook, BaseModel } from './util';\nimport { VolleyballStatistic } from './volleyball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam',\n },\n relation: {\n team: VolleyballStatistic,\n competitorTeam: VolleyballStatistic,\n }\n})\nexport class VolleyballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: VolleyballStatistic;\n competitorTeam: VolleyballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n points: 'points',\n faults: 'faults',\n yellow_cards: 'yellowCards',\n }\n})\nexport class VolleyballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n points: number;\n faults: number;\n yellowCards: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get attacks(): number {\n return this.attackSpikes + this.attackShots;\n }\n\n get blocks(): number {\n return this.stuffBlocks + this.blockRebounds;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum VolleyballGameLogType {\n enter_game = 1,\n exit_game,\n remove_game,\n serve_hit,\n serve_fault,\n serve_ace,\n stuff_block,\n block_fault,\n block_rebound,\n attack_spike,\n attack_fault,\n attack_shot,\n receive,\n receive_fault,\n excellent_receive,\n point,\n fault,\n serve_receive,\n serve_receive_fault,\n excellent_serve_receive,\n timeout,\n yellow_card,\n}\n\nexport const SCORE_LOG_TYPES = [\n VolleyballGameLogType.serve_ace, VolleyballGameLogType.stuff_block,\n VolleyballGameLogType.attack_spike, VolleyballGameLogType.point\n];\nexport const FAULT_LOG_TYPES = [\n VolleyballGameLogType.serve_fault, VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.block_fault, VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.fault, VolleyballGameLogType.serve_receive_fault\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n log_type: 'logType',\n set: 'set',\n rally: 'rally',\n position: 'position',\n team_id: 'teamId',\n datetime: 'datetime',\n is_highlight: 'isHighlight',\n group: 'group',\n },\n relation: {\n logType: enumField(VolleyballGameLogType),\n datetime: DateTimeField\n }\n})\nexport class VolleyballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n active = true;\n gameId: number;\n gameUserId: number;\n logType: VolleyballGameLogType;\n set: number;\n rally: number;\n position: number;\n teamId: number;\n datetime: Date;\n isHighlight: boolean;\n gameUser: GameUser;\n group: string;\n\n compare(model: VolleyballGameLog): number {\n if (this.rally === model.rally && this.set === model.set) {\n if (this.datetime && model.datetime) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n } else {\n return this.id < model.id ? 1 : -1;\n }\n }\n if (this.set === model.set) {\n return this.rally < model.rally ? 1 : -1;\n }\n return this.set < model.set ? 1 : -1;\n }\n\n isScoreType() {\n return SCORE_LOG_TYPES.includes(this.logType);\n }\n\n isFaultType() {\n return FAULT_LOG_TYPES.includes(this.logType);\n }\n\n isServe() {\n return [\n VolleyballGameLogType.serve_hit,\n VolleyballGameLogType.serve_ace,\n VolleyballGameLogType.serve_fault\n ].includes(this.logType);\n }\n\n isAttack() {\n return [\n VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.attack_spike,\n VolleyballGameLogType.attack_shot\n ].includes(this.logType);\n }\n\n isReceive() {\n return [\n VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.receive,\n VolleyballGameLogType.excellent_receive\n ].includes(this.logType);\n }\n\n isServeReceive() {\n return [\n VolleyballGameLogType.serve_receive_fault,\n VolleyballGameLogType.serve_receive,\n VolleyballGameLogType.excellent_serve_receive\n ].includes(this.logType);\n }\n\n isBlock() {\n return [\n VolleyballGameLogType.block_fault,\n VolleyballGameLogType.block_rebound,\n VolleyballGameLogType.stuff_block\n ].includes(this.logType);\n }\n\n isEnterExit() {\n return [\n VolleyballGameLogType.enter_game,\n VolleyballGameLogType.exit_game,\n VolleyballGameLogType.timeout\n ].includes(this.logType);\n }\n\n isComboType() {\n return ![\n VolleyballGameLogType.receive,\n VolleyballGameLogType.serve_receive\n ].includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Game } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { VolleyballGameTeamStatistic } from '../models/volleyball-game-team-statistic';\nimport { VolleyballGameStatistic } from '../models/volleyball-game-statistic';\nimport { VolleyballGameLog } from '../models/volleyball-game-log';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class VolleyballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<VolleyballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/team_statistic/`).pipe(\n map(result => VolleyballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<VolleyballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/user_statistic/`).pipe(\n map(result => VolleyballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<VolleyballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/logs/`).pipe(\n map(result => VolleyballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocolLight(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol_light/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeam } from '../models/tournament-team';\n\n@Injectable({providedIn: 'root'})\nexport class PublicTeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(teamId: number): Promise<Team> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(\n map(result => Team.toFront(result))\n ).toPromise();\n }\n\n getTournamentTeams(teamId: number, leagueId: number): Promise<TournamentTeam[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { User } from '../models/user';\nimport { map } from 'rxjs/operators';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { LeaguePlayer } from '../models/league-player';\n\n@Injectable({providedIn: 'root'})\nexport class PublicUserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(userId: number): Promise<User> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(\n map(result => User.toFront(result))\n ).toPromise();\n }\n\n getTournaments(userId: number, leagueId: number): Promise<Tournament[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n getTournamentUser(userId: number, seasonId: number): Promise<TournamentTeamUser> {\n const params = new HttpParams().set('season_id', seasonId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, {params}).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n getLeaguePlayer(userId: number, leagueId: number): Promise<LeaguePlayer> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, {params}).pipe(\n map(result => LeaguePlayer.toFront(result))\n ).toPromise();\n }\n}\n","import { BasketballGameLogTypes } from '../models/basketball-game-log';\n\nexport const BasketballGameLogTypeLocalization = {\n [BasketballGameLogTypes.enter_game]: 'Выход на площадку',\n [BasketballGameLogTypes.exit_game]: 'Ушел с площадки',\n [BasketballGameLogTypes.remove_game]: 'Удаление с площадки',\n [BasketballGameLogTypes.two_point_attempt]: 'Бросок 2 очка',\n [BasketballGameLogTypes.three_point_attempt]: 'Бросок 3 очка',\n [BasketballGameLogTypes.free_throw_attempt]: 'Штрафной бросок',\n [BasketballGameLogTypes.one_point_attempt]: 'Бросок 1 очко',\n [BasketballGameLogTypes.two_point_made]: '2 очка',\n [BasketballGameLogTypes.three_point_made]: '3 очка',\n [BasketballGameLogTypes.free_throw_made]: '1 очко, штрафной',\n [BasketballGameLogTypes.one_point_made]: '1 очко',\n [BasketballGameLogTypes.assist]: 'Передача',\n [BasketballGameLogTypes.block]: 'Блокшот',\n [BasketballGameLogTypes.rebound]: 'Подбор',\n [BasketballGameLogTypes.offensive_rebound]: 'Подбор в нападении',\n [BasketballGameLogTypes.defensive_rebound]: 'Подбор в защите',\n [BasketballGameLogTypes.steal]: 'Перехват',\n [BasketballGameLogTypes.turnover]: 'Потеря',\n [BasketballGameLogTypes.personal_foul]: 'Фол',\n [BasketballGameLogTypes.technical_foul]: 'Технический фол',\n [BasketballGameLogTypes.unsportsmanlike_foul]: 'Неспортиный фол',\n [BasketballGameLogTypes.timeout]: 'Таймаут',\n [BasketballGameLogTypes.team_rebound]: 'Командный подбор',\n};\n","import { HockeyGameLogTypes } from '../models/hockey-game-log';\n\nexport const HockeyGameLogTypeLocalization = {\n [HockeyGameLogTypes.enter_game]: 'Выход на площадку',\n [HockeyGameLogTypes.exit_game]: 'Ушел с площадки',\n [HockeyGameLogTypes.shot_miss]: 'Бросок мимо',\n [HockeyGameLogTypes.shot_on_goal]: 'Бросок по воротам',\n [HockeyGameLogTypes.shot_blocked]: 'Заблокированный бросок',\n [HockeyGameLogTypes.goal]: 'Гол',\n [HockeyGameLogTypes.shootout_attempt]: 'Буллит промах',\n [HockeyGameLogTypes.shootout_goal]: 'Буллит гол',\n [HockeyGameLogTypes.after_game_shootout_attempt]: 'Буллит промах',\n [HockeyGameLogTypes.after_game_shootout_goal]: 'Буллит гол',\n [HockeyGameLogTypes.assist]: 'Передача',\n [HockeyGameLogTypes.block_shot]: 'Блокировка броска',\n [HockeyGameLogTypes.minor_penalty]: 'Малый штраф',\n [HockeyGameLogTypes.major_penalty]: 'Большой штраф',\n [HockeyGameLogTypes.misconduct_penalty]: 'Дисциплинарный штраф',\n [HockeyGameLogTypes.game_misconduct_penalty]: 'Дисциплинарный штраф до конца игры',\n [HockeyGameLogTypes.match_penalty]: 'Матч-штраф',\n [HockeyGameLogTypes.penalty_shot]: 'Штрафной бросок',\n [HockeyGameLogTypes.face_off_lose]: 'Проигрыш в вбрасывании',\n [HockeyGameLogTypes.face_off_win]: 'Победа в вбрасывании',\n [HockeyGameLogTypes.save]: 'Отражен бросок',\n [HockeyGameLogTypes.shootout_save]: 'Отражен бросок',\n [HockeyGameLogTypes.after_game_shootout_save]: 'Отражен бросок',\n [HockeyGameLogTypes.timeout]: 'Таймаут',\n [HockeyGameLogTypes.penalty_start]: 'Начало штрафного времени',\n [HockeyGameLogTypes.penalty_end]: 'Конец штрафного времени'\n};\n","import { FootballGameLogTypes } from '../models/football-game-log';\n\nexport const FootballGameLogTypeLocalization = {\n [FootballGameLogTypes.enter_game]: 'Выход на поле',\n [FootballGameLogTypes.exit_game]: 'Ушел с поля',\n [FootballGameLogTypes.shot_miss]: 'Удар мимо',\n [FootballGameLogTypes.shot_on_goal]: 'Удар в створ',\n [FootballGameLogTypes.shot_blocked]: 'Заблокированный удар',\n [FootballGameLogTypes.goal]: 'Гол',\n [FootballGameLogTypes.assist]: 'Передача',\n [FootballGameLogTypes.penalty_attempt]: 'Пенальти промах',\n [FootballGameLogTypes.penalty_goal]: 'Пенальти гол',\n [FootballGameLogTypes.small_penalty_attempt]: '10-метровый промах',\n [FootballGameLogTypes.small_penalty_goal]: '10-метровый гол',\n [FootballGameLogTypes.block_shot]: 'Блокировка удара',\n [FootballGameLogTypes.corner]: 'Угловой',\n [FootballGameLogTypes.free_kick]: 'Штрафной удар',\n [FootballGameLogTypes.save]: 'Отражен удар',\n [FootballGameLogTypes.penalty_save]: 'Отражен пенальти',\n [FootballGameLogTypes.small_penalty_save]: 'Отражен 10 метровый',\n [FootballGameLogTypes.foul]: 'Фол',\n [FootballGameLogTypes.yellow_card]: 'Желтая карточка',\n [FootballGameLogTypes.red_card]: 'Красная карточка',\n [FootballGameLogTypes.perfect_pass]: 'Пас',\n [FootballGameLogTypes.loss]: 'Потеря',\n [FootballGameLogTypes.steal]: 'Перехват',\n [FootballGameLogTypes.out]: 'Аут',\n [FootballGameLogTypes.timeout]: 'Таймаут',\n [FootballGameLogTypes.auto_goal]: 'Автогол',\n [FootballGameLogTypes.end_game_penalty_goal]: 'Пенальти гол',\n [FootballGameLogTypes.end_game_penalty_miss]: 'Пенальти промах',\n [FootballGameLogTypes.end_game_penalty_save]: 'Отражен пенальти',\n};\n","import { HandballGameLogTypes } from '../models/handball-game-log';\n\nexport const HandballGameLogTypeLocalization = {\n [HandballGameLogTypes.enter_game]: 'Выход на поле',\n [HandballGameLogTypes.exit_game]: 'Ушел с поля',\n [HandballGameLogTypes.shot_miss]: 'Бросок мимо',\n [HandballGameLogTypes.shot_on_goal]: 'Бросок в створ',\n [HandballGameLogTypes.shot_blocked]: 'Заблокированный бросок',\n [HandballGameLogTypes.goal]: 'Гол',\n [HandballGameLogTypes.assist]: 'Передача',\n [HandballGameLogTypes.penalty_miss]: '7м промах',\n [HandballGameLogTypes.penalty_shot_on_goal]: '7м в створ',\n [HandballGameLogTypes.penalty_goal]: '7м гол',\n [HandballGameLogTypes.save]: 'Сэйв',\n [HandballGameLogTypes.penalty_save]: 'Сэйв 7м',\n [HandballGameLogTypes.foul]: 'Фол',\n [HandballGameLogTypes.yellow_card]: 'Желлтая карточка',\n [HandballGameLogTypes.red_card]: 'Красная карточка',\n [HandballGameLogTypes.two_minute_foul]: '2х минутный штраф',\n [HandballGameLogTypes.turnover]: 'Потеря',\n [HandballGameLogTypes.steal]: 'Перехват',\n [HandballGameLogTypes.block_shot]: 'Блок броска',\n [HandballGameLogTypes.timeout]: 'Таймаут'\n};\n","import { OvertimeTypes } from '../models/tournament';\n\nexport const OvertimeTypeLocalization = {\n [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',\n [OvertimeTypes.to_score_total]: 'До N очков',\n [OvertimeTypes.time]: 'По времени',\n [OvertimeTypes.without_overtime]: 'Без овертайма',\n [OvertimeTypes.to_first_goal]: 'На N минут до первой шайбы',\n [OvertimeTypes.to_first_goal_and_bullitts]: 'На N минут до первой шайбы + буллиты',\n [OvertimeTypes.bullitts]: 'Буллиты',\n [OvertimeTypes.penalties]: 'Пенальти',\n [OvertimeTypes.time_and_penalties]: 'Дополнительное время + пенальти'\n};\n","import { RugbyFoulSanctions } from '../models/rugby-foul-type';\n\nexport const RugbyFoulSanctionLocalization = {\n [RugbyFoulSanctions.scrum]: 'Схватка',\n [RugbyFoulSanctions.lineout]: 'Корридор',\n [RugbyFoulSanctions.free_kick]: 'Свободный удар',\n [RugbyFoulSanctions.penalty_shot]: 'Штрафной удар',\n [RugbyFoulSanctions.yellow_card]: 'Желтая карточка',\n [RugbyFoulSanctions.red_card]: 'Красная карточка',\n};\n","import { RugbyGameLogTypes } from '../models/rugby-game-log';\n\nexport const RugbyGameLogTypeLocalization = {\n [RugbyGameLogTypes.enter_game]: 'Выход на площадку',\n [RugbyGameLogTypes.exit_game]: 'Ушел с площадки',\n [RugbyGameLogTypes.try]: 'Попытка',\n [RugbyGameLogTypes.penalty_try]: 'Штрафная попытка',\n [RugbyGameLogTypes.conversion_goal]: 'Реализация',\n [RugbyGameLogTypes.conversion_miss]: 'Реализация промах',\n [RugbyGameLogTypes.penalty_miss]: 'Штрафной промах',\n [RugbyGameLogTypes.penalty_goal]: 'Штрафной гол',\n [RugbyGameLogTypes.penalty_kick_to_touch]: 'Штрафной в аут',\n [RugbyGameLogTypes.tap_penalty]: 'Штрафной розыгран',\n [RugbyGameLogTypes.drop_goal]: 'Дроп-гол',\n [RugbyGameLogTypes.drop_goal_miss]: 'Дроп-гол промах',\n [RugbyGameLogTypes.free_kick]: 'Свободный удар',\n [RugbyGameLogTypes.foul]: 'Фол',\n [RugbyGameLogTypes.yellow_card]: 'Желтая карточка',\n [RugbyGameLogTypes.red_card]: 'Красная карточка',\n [RugbyGameLogTypes.offload]: 'Скидка при завхвате',\n [RugbyGameLogTypes.tackle]: 'Успешный захват',\n [RugbyGameLogTypes.handling_error]: 'Ошибка приема',\n [RugbyGameLogTypes.carries_over_gainline]: 'Прорыв линии',\n [RugbyGameLogTypes.bleeding_injury]: 'Кровоточащая травма',\n [RugbyGameLogTypes.head_injury]: 'Травма головы',\n [RugbyGameLogTypes.end_game_penalty_miss]: 'Штрафной промах',\n [RugbyGameLogTypes.end_game_penalty_goal]: 'Штрафной гол',\n\n [RugbyGameLogTypes.timeout]: 'Таймаут',\n [RugbyGameLogTypes.scrum_won]: 'Схватка выиграна',\n [RugbyGameLogTypes.scrum_lost]: 'Схватка проиграна',\n [RugbyGameLogTypes.scrum_won_free]: 'Схватка выиграна без сопротивления',\n [RugbyGameLogTypes.lineout_won]: 'Корридор выиграно',\n [RugbyGameLogTypes.lineout_lost]: 'Корридор проиграно',\n [RugbyGameLogTypes.quick_throw]: 'Быстрый вброс',\n [RugbyGameLogTypes.ruck_won]: 'Рак выиграно',\n [RugbyGameLogTypes.ruck_lost]: 'Рак проиграно',\n [RugbyGameLogTypes.maul_won]: 'Мол выиграно',\n [RugbyGameLogTypes.maul_lost]: 'Мол проиграно',\n [RugbyGameLogTypes.team_foul]: 'Фол',\n};\n","import { TeamUserRole } from '../models/team-user';\n\nexport const TeamUserRoleLocalization = {\n [TeamUserRole.member]: 'Пользователь',\n [TeamUserRole.moderator]: 'Модератор',\n [TeamUserRole.admin]: 'Владелец',\n [TeamUserRole.coach]: 'Тренер',\n [TeamUserRole.head_coach]: 'Главный тренер',\n [TeamUserRole.playing_coach]: 'Играющий тренер',\n [TeamUserRole.manager]: 'Менеджер',\n [TeamUserRole.head_manager]: 'Генеральный менеджер',\n [TeamUserRole.captain]: 'Капитан',\n [TeamUserRole.assistant]: 'Ассистент',\n};\n","import { GameBasketballPosition, WorkHand } from '../models/basketball-profile';\nimport { GameVolleyballPosition, VolleyballWorkHand } from '../models/volleyball-profile';\nimport { GameHockeyPosition } from '../models/hockey-profile';\nimport { FootballWorkFoot, GameFootballPosition } from '../models/football-profile';\nimport { GameHandballPosition } from '../models/handball-profile';\nimport { GameRugbyPosition } from '../models/rugby-profile';\n\nexport const GameBasketballPositionLocalization = {\n [GameBasketballPosition.point_guard]: 'Разыгрывающий защитник',\n [GameBasketballPosition.shooting_guard]: 'Атакующий защитник',\n [GameBasketballPosition.small_forward]: 'Легкий форвард',\n [GameBasketballPosition.power_forward]: 'Мощный форвард',\n [GameBasketballPosition.center]: 'Центровой',\n};\n\nexport const GameBasketballPositionShortLocalization = {\n [GameBasketballPosition.point_guard]: 'PG',\n [GameBasketballPosition.shooting_guard]: 'SG',\n [GameBasketballPosition.small_forward]: 'SF',\n [GameBasketballPosition.power_forward]: 'PF',\n [GameBasketballPosition.center]: 'C',\n};\n\nexport const WorkHandLocalization = {\n [WorkHand.left]: 'Левая',\n [WorkHand.right]: 'Правая'\n};\n\nexport const GameVolleyballPositionLocalization = {\n [GameVolleyballPosition.setter]: 'Связующий',\n [GameVolleyballPosition.libero]: 'Либеро',\n [GameVolleyballPosition.middle_player]: 'Центральный блокирующий',\n [GameVolleyballPosition.receiver_attacker]: 'Доигровщик',\n [GameVolleyballPosition.dioganal]: 'Диагональный',\n};\n\nexport const GameVolleyballPositionShortLocalization = {\n [GameVolleyballPosition.setter]: 'S',\n [GameVolleyballPosition.libero]: 'L',\n [GameVolleyballPosition.middle_player]: 'MP',\n [GameVolleyballPosition.receiver_attacker]: 'RA',\n [GameVolleyballPosition.dioganal]: 'D',\n};\n\nexport const GameVolleyballPositionShortRuLocalization = {\n [GameVolleyballPosition.setter]: 'связ.',\n [GameVolleyballPosition.libero]: 'либеро',\n [GameVolleyballPosition.middle_player]: 'блок.',\n [GameVolleyballPosition.receiver_attacker]: 'доигр.',\n [GameVolleyballPosition.dioganal]: 'диаг.',\n};\n\nexport const VolleyballWorkHandLocalization = {\n [VolleyballWorkHand.left]: 'Левая',\n [VolleyballWorkHand.right]: 'Правая'\n};\n\nexport const GameHockeyPositionLocalization = {\n [GameHockeyPosition.goaltender]: 'Вратарь',\n [GameHockeyPosition.defensemen]: 'Защитник',\n [GameHockeyPosition.forward]: 'Нападающий'\n};\n\nexport const GameFootballPositionLocalization = {\n [GameFootballPosition.goalkeeper]: 'Вратарь',\n [GameFootballPosition.defensemen]: 'Защитник',\n [GameFootballPosition.midfielder]: 'Полузащитник',\n [GameFootballPosition.forward]: 'Нападающий'\n};\n\nexport const FootballWorkFootLocalization = {\n [FootballWorkFoot.left]: 'Левая',\n [FootballWorkFoot.right]: 'Правая',\n [FootballWorkFoot.both]: 'Обе'\n};\n\nexport const GameHandballPositionLocalization = {\n [GameHandballPosition.goalkeeper]: 'Вратарь',\n [GameHandballPosition.winger]: 'Крайний',\n [GameHandballPosition.pivot]: 'Линейный',\n [GameHandballPosition.centre_back]: 'Центральный',\n [GameHandballPosition.fullback]: 'Полусредний',\n};\n\nexport const GameRugbyPositionLocalization = {\n [GameRugbyPosition.front_line]: 'Надающий первой линии',\n [GameRugbyPosition.second_line]: 'Нападающий второй линии',\n [GameRugbyPosition.back_line]: 'Нападающий задней линии',\n [GameRugbyPosition.halfback]: 'Полузащитник',\n [GameRugbyPosition.three_quarter]: 'Трехчетвертный',\n [GameRugbyPosition.fullback]: 'Замыкающий'\n};\n\n","import { VolleyballGameLogType } from '../models/volleyball-game-log';\n\nexport const VolleyballGameLogTypeLocalization = {\n [VolleyballGameLogType.enter_game]: 'Выход на площадку',\n [VolleyballGameLogType.exit_game]: 'Уход с площадки',\n [VolleyballGameLogType.remove_game]: 'Удаление с площадки',\n [VolleyballGameLogType.serve_ace]: 'Эйс',\n [VolleyballGameLogType.serve_hit]: 'Подача',\n [VolleyballGameLogType.serve_fault]: 'Ошибка на подаче',\n [VolleyballGameLogType.attack_spike]: 'Результативная атака',\n [VolleyballGameLogType.attack_shot]: 'Атака',\n [VolleyballGameLogType.attack_fault]: 'Ошибка атаки',\n [VolleyballGameLogType.stuff_block]: 'Результативный блок',\n [VolleyballGameLogType.block_rebound]: 'Блок',\n [VolleyballGameLogType.block_fault]: 'Ошибка на блоке',\n [VolleyballGameLogType.excellent_receive]: 'Отличный прием',\n [VolleyballGameLogType.receive]: 'Прием',\n [VolleyballGameLogType.receive_fault]: 'Ошибка на приеме',\n [VolleyballGameLogType.serve_receive]: 'Прием подачи',\n [VolleyballGameLogType.excellent_serve_receive]: 'Отличный прием подачи',\n [VolleyballGameLogType.serve_receive_fault]: 'Ошибка приема подачи',\n [VolleyballGameLogType.point]: 'Очко',\n [VolleyballGameLogType.fault]: 'Ошибка',\n [VolleyballGameLogType.timeout]: 'Таймаут',\n [VolleyballGameLogType.yellow_card]: 'Предупреждение',\n};\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n files: 'files',\n key_code: 'keyCode',\n },\n relation: {\n files: listField(File)\n }\n})\nexport class LeaguePlaylist extends BaseModel {\n id: number;\n name: string;\n files: File[];\n keyCode: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Subject } from 'rxjs/internal/Subject';\nimport { ReplaySubject } from 'rxjs/internal/ReplaySubject';\n\nimport * as Centrifuge from 'centrifuge';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ConfigService } from './config.service';\n\ninterface CentrifugoConfig {\n user: string;\n timestamp: string;\n token: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class CentrifugoService {\n private channels$: { [key: string]: Subject<any> } = {};\n private subscriptions: { [key: string]: any } = {};\n private centrifuge;\n private initializeEngineSubject: ReplaySubject<boolean>;\n private connectedSubject = new BehaviorSubject<boolean>(false);\n\n get connected$(): Observable<boolean> {\n return this.connectedSubject;\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) { }\n\n listen(channel): Observable<any> {\n if (channel in this.channels$) {\n return this.channels$[channel];\n }\n\n this.channels$[channel] = new Subject<any>();\n const subscription = this.connect().subscribe(connected => {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n setTimeout(() => {\n subscription.unsubscribe();\n });\n });\n\n return this.channels$[channel];\n }\n\n unsubscribe(channel): void {\n if (this.subscriptions[channel]) {\n this.subscriptions[channel].unsubscribe();\n delete this.subscriptions[channel];\n }\n if (this.channels$[channel]) {\n this.channels$[channel].complete();\n delete this.channels$[channel];\n }\n }\n\n connect(): Observable<boolean> {\n if (!this.initializeEngineSubject) {\n this.initializeEngineSubject = new ReplaySubject(1);\n\n this.httpClient.get<CentrifugoConfig>(`${this.configService.get('apiUrl')}/api/v1/centrifugo/`)\n .subscribe(config => {\n this.initializeEngine({\n url: this.configService.get('centrifugoUrl'),\n user: config.user,\n timestamp: config.timestamp,\n token: config.token,\n transports: ['websocket']\n });\n this.centrifuge.connect();\n this.centrifuge.on('connect', () => {\n this.initializeEngineSubject.next(true);\n this.connectedSubject.next(true);\n });\n this.centrifuge.on('disconnect', () => {\n this.connectedSubject.next(false);\n });\n });\n }\n\n return this.initializeEngineSubject;\n }\n\n publish(channel: string, message: any): Observable<any> {\n return new Observable<any>(observer => {\n this.connect().subscribe(() => {\n if (!this.subscriptions[channel]) {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n }\n this.subscriptions[channel].publish(message).then(res => {\n observer.next(res);\n observer.complete();\n }, error => {\n throw error;\n });\n });\n });\n }\n\n disconnect(): void {\n this.centrifuge.disconnect();\n this.initializeEngineSubject = undefined;\n this.channels$ = {};\n this.subscriptions = {};\n }\n\n private initializeEngine(config: {\n url: string,\n user: string,\n timestamp: string,\n token: string,\n transports: string[]\n }): void {\n this.centrifuge = new Centrifuge(config);\n }\n\n private addEngineSubscription(channel: string): Observable<any> {\n return this.centrifuge.subscribe(channel, this.resolveMessage.bind(this));\n }\n\n private resolveMessage(response: any): void {\n const channel = response.channel;\n if (!this.channels$[channel]) {\n return;\n }\n\n this.channels$[channel].next(response.data);\n }\n}\n","import { ModelInterface } from '../models/util';\n\nexport class StorageEngineField {\n defaultValue: any;\n\n constructor(defaultValue?: any, protected modelClass?: ModelInterface) {\n this.defaultValue = defaultValue;\n }\n\n toFront(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toFront(value);\n }\n return value;\n }\n\n toBack(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toBack(value);\n }\n return value;\n }\n}\n\nexport abstract class StorageEngine {\n constructor(protected name: string, protected fields: {[key: string]: StorageEngineField}) {\n }\n\n addField(key: string, field: StorageEngineField): void {\n this.fields[key] = field;\n }\n\n save(key: string, value: any): void {\n if (!this.fields[key]) {\n return;\n }\n this.setItem(`${this.name}_${key}`, this.fields[key].toBack(value));\n }\n\n get(key: string): any {\n if (!this.fields[key]) {\n return;\n }\n let value = this.getItem(`${this.name}_${key}`);\n if (value === null) {\n value = this.fields[key].defaultValue;\n }\n if (value === null || value === undefined) {\n return value;\n }\n return this.fields[key].toFront(value);\n }\n\n clear(): void {\n for (const field of Object.keys(this.fields)) {\n this.removeItem(field);\n }\n }\n\n protected getItem(key: string): any {\n throw new Error(`Function getItem for store engine ${typeof this} not implemented`);\n }\n\n protected setItem(key: string, value: any): any {\n throw new Error(`Function setItem for store engine ${typeof this} not implemented`);\n }\n\n protected removeItem(key: string): void {\n throw new Error(`Function deleteItem for store engine ${typeof this} not implemented`);\n }\n}\n","import { StorageEngine } from './storage-engine';\n\nexport class LocalStorageEngine extends StorageEngine {\n protected setItem(key: string, value: any) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n protected getItem(key: string): any {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch (e) {\n return;\n }\n }\n\n protected removeItem(key: string): void {\n localStorage.removeItem(key);\n }\n}\n","import {\n ɵComponentType as ComponentType,\n ɵDirectiveType as DirectiveType,\n ɵComponentDef as ComponentDef,\n ɵDirectiveDef as DirectiveDef\n} from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Subject } from 'rxjs/internal/Subject';\n\nexport interface OnDestroyLike {\n ngOnDestroy(): void;\n [key: string]: any;\n}\n\nexport function componentDestroyed(component: OnDestroyLike): Observable<void> {\n if ((component.constructor as any).__componentDestroyed$) {\n return (component.constructor as any).__componentDestroyed$;\n }\n throw new Error('Use @UntilDestroy decorator in class');\n}\n\nexport function UntilDestroy(cmpType: any) {\n const def = getDef(cmpType as any);\n const original = (def as any).onDestroy;\n cmpType.__componentDestroyed$ = new Subject<void>();\n (def as any).onDestroy = function() {\n cmpType.__componentDestroyed$.next();\n cmpType.__componentDestroyed$.complete();\n original.apply(this);\n };\n}\n\nfunction getDef<T>(\n type: DirectiveType<T> | ComponentType<T>\n): DirectiveDef<T> | ComponentDef<T> {\n return (type as ComponentType<T>).ɵcmp || (type as DirectiveType<T>).ɵdir;\n}\n","export function getCookie(name: string): string {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop().split(';').shift();\n }\n return null;\n}\n","export function isTouchDevice() {\n const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n const mq = (q) => {\n return window.matchMedia(q).matches;\n };\n\n if (('ontouchstart' in window) || (window as any).DocumentTouch && document instanceof (window as any).DocumentTouch) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n}\n","export function getEnumOptions(enumClass): number[] {\n return Object.keys(enumClass)\n .map(v => enumClass[v])\n .filter(v => isNaN(+v) === false)\n .map(v => +v);\n}\n\n","import { captureException } from '@sentry/angular';\n\nexport function handleError(error, force = false, production = true) {\n if (!(error && (error.status === 0 || error.status === 404)) || (force && error.status !== 0)) {\n captureException(error);\n }\n\n if (!production) {\n console.error(error);\n }\n}\n","export interface LinkFavicon {\n rel: string;\n sizes?: string;\n href: string;\n type?: string;\n color?: string;\n}\n\nexport function getIconsData(folder: string): LinkFavicon[] {\n return [\n {rel: 'apple-touch-icon', sizes: '180x180', href: `/assets/favicon/${folder}apple-touch-icon.png`},\n {rel: 'icon', type: 'image/png', sizes: '32x32', href: `/assets/favicon/${folder}favicon-32x32.png`},\n {rel: 'icon', type: 'image/png', sizes: '16x16', href: `/assets/favicon/${folder}favicon-16x16.png`},\n {rel: 'shortcut icon', href: `/assets/favicon/${folder}favicon.ico`},\n {rel: 'manifest', href: `/assets/favicon/${folder}site.webmanifest`},\n {rel: 'mask-icon', href: `/assets/favicon/${folder}safari-pinned-tab.svg`, color: '#ff0000'}\n ];\n}\n\nexport function changeFavicons(document: Document, leagueAlias: string): void {\n let folder = '';\n if (leagueAlias === 'ablmoscow') {\n folder = 'abl/';\n }\n const data = getIconsData(folder);\n for (const item of data) {\n const link = document.createElement('link');\n for (const key of Object.keys(item)) {\n link.setAttribute(key, item[key]);\n }\n document.head.appendChild(link);\n }\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function markFormGroupTouched(formGroup: FormGroup) {\n (Object as any).values(formGroup.controls).forEach(control => {\n control.markAsTouched();\n control.markAsDirty();\n\n if (control instanceof FormGroup) {\n markFormGroupTouched(control);\n } else if (control.controls) {\n control.controls.forEach(c => {\n if (c instanceof FormGroup) {\n markFormGroupTouched(c);\n } else {\n c.markAsTouched();\n c.markAsDirty();\n }\n });\n }\n });\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { debounceTime, delay, map, switchMap } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\n\nexport interface CheckEmailServiceInterface {\n checkEmail(value: string, selfCheck: boolean): Observable<boolean>;\n}\n\nexport const minLengthArrayValidator = (minLength: number) => {\n return (c: AbstractControl) => {\n return c.value.length < minLength\n ? {minLengthArray: {valid: false}}\n : null;\n };\n};\n\nexport const validatePhone = (control: AbstractControl) => {\n if (!control.value) {\n return null;\n }\n const value = `${control.value}`.replace(/\\D/gi, '');\n return value.length === 11 ? null : {invalidPhone: {valid: false}};\n};\n\nexport const validateDate = (control: AbstractControl) => {\n const re = /\\d{2}\\.\\d{2}\\.\\d{4}/gi;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidDate: {valid: false}};\n};\n\nexport const validateEmail = (authService: CheckEmailServiceInterface, selfCheck = true, ignore = []) => {\n const subject = of(null).pipe(\n delay(500)\n );\n return (control: AbstractControl) => {\n if (ignore.indexOf(control.value) > -1) {\n return of(null);\n }\n return subject.pipe(\n switchMap(() => authService.checkEmail(control.value, selfCheck).pipe(\n map(valid => valid ? null : {emailTaken: true})\n ))\n );\n };\n};\n\nexport const validateUrl = (control: AbstractControl) => {\n const re = /^(?:http(s)?:\\/\\/)[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidUrl: true};\n};\n\nexport function fileSizeValidator(maxFileSize: number): ValidatorFn {\n return (control: AbstractControl): {[key: string]: any} | null => {\n if (!control.value) {\n return null;\n }\n };\n}\n","import { Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { getCookie } from './utils/cookie';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ConfigService } from './services/config.service';\n\n@Injectable()\nexport class HttpCookieInterceptor implements HttpInterceptor {\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor(\n private injector: Injector,\n private configService: ConfigService,\n @Inject(PLATFORM_ID) private platformId: string,\n ) {\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (!this.isBrowser) {\n return next.handle(req);\n }\n const apiUrl = this.configService.get('apiUrl');\n if (apiUrl === req.url.substr(0, apiUrl.length)) {\n req = req.clone({withCredentials: true});\n }\n const csrf = getCookie('csrftoken');\n if (csrf) {\n req = req.clone({\n setHeaders: {'X-CSRFToken': csrf}\n });\n }\n return next.handle(req);\n }\n}\n"],"names":["FileEngine","SportTypes","GameBasketballPosition","WorkHand","GameVolleyballPosition","VolleyballWorkHand","GameHockeyPosition","HockeyWorkHand","GameFootballPosition","FootballWorkFoot","GameHandballPosition","GameRugbyPosition","UserGender","TournamentSeasonStatuses","TournamentTypes","TournamentStatuses","TournamentGender","BasketballStatisticTypes","VolleyballStatisticTypes","RugbyStatisticTypes","GameTimeTypes","OvertimeTypes","VolleyballGameTypes","PlayoffTypes","GameStatuses","GameResultTypes","filter","BehaviorSubject","Injectable","Optional","Inject","TeamUserRole","BasketballGameLogTypes","map","HttpParams","HttpClient","HockeyGameLogTypes","HockeyAdvantageTypes","FootballGameLogTypes","HandballGameLogTypes","TournamentStageStatuses","LeagueNewsType","TournamentEventTypes","BannerLocation","PollStatuses","GameInviteStatus","TeamEventTypes","TeamEventInviteStatuses","NotificationType","NotificationServiceEnum","NotificationAllowTypes","RugbyFoulSanctions","RugbyGameLogTypes","_a","TeamPermissionTypes","UserPermissionTypes","VolleyballGameLogType","Subject","ReplaySubject","Observable","captureException","FormGroup","of","delay","switchMap","isPlatformBrowser","Injector","PLATFORM_ID"],"mappings":"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"}
|