tutor-logic 4.0.13 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -501,46 +501,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
501
501
  args: ['BASE_URL']
502
502
  }] }] });
503
503
 
504
- /**
505
- * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController
506
- *
507
- * Базовый урл = api/tutor/subject/menu
508
- *
509
- * Методы для работы с меню предмета
510
- */
511
- class SubjectMenuService {
512
- constructor(_httpClient, baseUrl) {
513
- this._httpClient = _httpClient;
514
- this.baseControllerUrl = `${baseUrl}api/tutor/subject/menu`;
515
- }
516
- getByAliasOrId(idOrAlias) {
517
- return this._httpClient.get(`${this.baseControllerUrl}/GetByAliasOrId?idOrAlias=${idOrAlias}`);
518
- }
519
- getByAliasOrIdCached(idOrAlias) {
520
- return this._httpClient.get(`${this.baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);
521
- }
522
- update(model) {
523
- return this._httpClient.post(`${this.baseControllerUrl}/Update`, model);
524
- }
525
- create(model) {
526
- return this._httpClient.post(`${this.baseControllerUrl}/create`, model);
527
- }
528
- getMain() {
529
- return this._httpClient.get(`${this.baseControllerUrl}/query/main`);
530
- }
531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SubjectMenuService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
532
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SubjectMenuService, providedIn: 'root' }); }
533
- }
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SubjectMenuService, decorators: [{
535
- type: Injectable,
536
- args: [{
537
- providedIn: 'root',
538
- }]
539
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
540
- type: Inject,
541
- args: ['BASE_URL']
542
- }] }] });
543
-
544
504
  /**
545
505
  * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController
546
506
  *
@@ -565,9 +525,6 @@ class SubjectQueryService {
565
525
  getAllWithClarificationsCached() {
566
526
  return this._httpClient.get(`${this._baseControllerUrl}/get-all/with-clarifications/cached`);
567
527
  }
568
- getAllWithIconsCached(iconSetId) {
569
- return this._httpClient.get(`${this._baseControllerUrl}/get-all/with-icons/Cached?iconSetId=${iconSetId}`);
570
- }
571
528
  getByAliasOrId(id) {
572
529
  return this._httpClient.get(`${this._baseControllerUrl}/GetByAliasOrId?idOrAlias=${id}`);
573
530
  }
@@ -658,34 +615,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
658
615
  args: ['BASE_URL']
659
616
  }] }] });
660
617
 
661
- /**
662
- * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController
663
- *
664
- * Базовый урл = api/tutor/student-subject-view
665
- *
666
- * Методы для построения меню предмета
667
- */
668
- class StudentSubjectViewService {
669
- constructor(_httpClient, baseUrl) {
670
- this._httpClient = _httpClient;
671
- this.baseControllerUrl = baseUrl + 'api/tutor/student-subject-view/';
672
- }
673
- getV1(idOrAlias, iconSetId) {
674
- return this._httpClient.get(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);
675
- }
676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StudentSubjectViewService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable }); }
677
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StudentSubjectViewService, providedIn: 'root' }); }
678
- }
679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StudentSubjectViewService, decorators: [{
680
- type: Injectable,
681
- args: [{
682
- providedIn: 'root',
683
- }]
684
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
685
- type: Inject,
686
- args: ['BASE_URL']
687
- }] }] });
688
-
689
618
  /**
690
619
  * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController
691
620
  * Оптимизированные методы для работы студентов с курсами
@@ -1341,13 +1270,6 @@ var TestQuestionErrorsStatisticOrderType;
1341
1270
  TestQuestionErrorsStatisticOrderType["RecentErrors"] = "RecentErrors";
1342
1271
  })(TestQuestionErrorsStatisticOrderType || (TestQuestionErrorsStatisticOrderType = {}));
1343
1272
 
1344
- var SubjectMenuItemType;
1345
- (function (SubjectMenuItemType) {
1346
- SubjectMenuItemType["MenuItem"] = "MenuItem";
1347
- SubjectMenuItemType["WorkSpaceLink"] = "WorkSpaceLink";
1348
- SubjectMenuItemType["SubjectTestsLink"] = "SubjectTestsLink";
1349
- })(SubjectMenuItemType || (SubjectMenuItemType = {}));
1350
-
1351
1273
  /**
1352
1274
  * Роли для модуля Tutor
1353
1275
  */
@@ -1398,5 +1320,5 @@ class ImageSrcExtensions {
1398
1320
  * Generated bundle index. Do not edit.
1399
1321
  */
1400
1322
 
1401
- export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentRegistrationService, StudentSubjectViewService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectMenuItemType, SubjectMenuService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
1323
+ export { AnswerValidationResultType, CourseDeadlineWarningService, CourseLandingPageQueryService, CourseOrderService, CoursePaymentQueryService, CoursePaymentService, CourseShopWindowDetailedService, CourseThemeItemTestRestrictionService, CourseThemeItemTestRestrictionStudentService, CourseThemeItemType, CuratorMessageTemplateService, DefaultCourseLandingPageQueryService, GroupStatisticSnapshotStudentService, ImageSrcExtensions, OpenApiQuestionLikeService, OpenApiTestSolutionService, PmtSystemService, QuestionLikeService, QuestionValidationSourceType, StudentAggregatedStatisticSnapshotService, StudentCoursePaymentType, StudentCourseProgressQueryService, StudentCourseProgressService, StudentCourseViewService, StudentGroupCourseAccessService, StudentGroupEnterService, StudentGroupInfoPageService, StudentGroupMaterialService, StudentGroupPaymentPlanQueryService, StudentGroupQueryService, StudentGroupTestRelationQueryService, StudentQueryService, StudentRegistrationService, StudentTestSolutionQueryService, StudentTestSolutionService, StudentTestSolutionStartService, SubjectQueryService, SubjectsService, TestQuestionErrorsStatisticOrderType, TestQuestionStatisticQueryService, TestQuestionType, TestRestrictionValidationResultRuleType, TestSolutionDetailedQueryService, TestSolutionQueryService, TestSolutionResultService, TestsService, TutorAppConfigurationService, TutorCommonSettingsService, TutorLogicModule, TutorRoles };
1402
1324
  //# sourceMappingURL=tutor-logic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/TutorCommonSettingsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectMenuService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentSubjectViewService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/services/QuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupMaterialService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestQuestionStatisticQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupCourseAccessService.ts","../../../projects/tutor-logic/src/lib/services/StudentRegistrationService.ts","../../../projects/tutor-logic/src/lib/services/PmtSystemService.ts","../../../projects/tutor-logic/src/lib/services/DefaultCourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupInfoPageService.ts","../../../projects/tutor-logic/src/lib/services/StudentAggregatedStatisticSnapshotService.ts","../../../projects/tutor-logic/src/lib/services/GroupStatisticSnapshotStudentService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/question-models.ts","../../../projects/tutor-logic/src/lib/models/course-payment-models.ts","../../../projects/tutor-logic/src/lib/models/student-statistic-models.ts","../../../projects/tutor-logic/src/lib/models/subject-menu-models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/lib/extensions/ImageSrcExtensions.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchTestsRequest, CreateTestRequest, EditTestRequest } from \"../models/test-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestsService {\n baseControllerUrl:string;\n \n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string){\n const adding = 'api/tutor/tests';\n this.baseControllerUrl = baseUrl + adding;\n }\n\n public searchGroupRelationsInTest(model: SearchTestsRequest): Observable<GetListResult<StudentGroupSimpleModel>>{\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.baseControllerUrl}/groups/search/in`, model);\n }\n\n public create(model: CreateTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public edit(model: EditTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/edit`, model);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { SettingModel } from \"../models/setting-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorCommonSettingsService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/settings';\n }\n\n get(name: string) {\n return this._httpClient.get<SettingModel>(`${this.baseControllerUrl}/get/${name}`);\n }\n\n getCached(name: string) {\n return this._httpClient.get<SettingModel>(`${this.baseControllerUrl}/get/${name}/cached`);\n }\n\n set(model: SettingModel) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchStudentGroupsRequest, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\n\n/**\n* Методы контроллера StudentGroupQueryController\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupQueryService {\n\n getBaseUrl() {\n return this._baseUrl + 'api/tutor/student-group';\n }\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string) {\n }\n\n /**\n * Поиск групп учеников\n */\n public search(model: SearchStudentGroupsRequest): Observable<GetListResult<StudentGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\n }\n\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\n }\n\n /**\n * Получить группу по идентификатору\n * @param id идентификатор группы учеников\n * @returns группу учеников\n */\n public getById(id: string): Observable<StudentGroupDetailedModel> {\n return this._httpClient.get<StudentGroupDetailedModel>(`${this.getBaseUrl()}/query/by-id/${id}`);\n }\n\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\n return this._httpClient.get<StudentGroupSimpleModel[]>(`${this.getBaseUrl()}/by-student/${id}`);\n }\n\n /**\n * Получить список студентов в группе по фильтру\n * @param model модель для поиска\n * @returns список студентов\n */\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(`${this.getBaseUrl()}/students/search`, model);\n }\n\n /**\n * Получить студента в группе\n * @param groupId идентификатор группы\n * @param studentId идентификатор студента\n * @returns \n */\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, SearchStudentsRequest, StudentSimpleModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\n }\n\n public getById(id: string): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\n }\n\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\n }\n\n public search(searchModel: SearchStudentsRequest): Observable<GetListResult<StudentSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupEnterService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\n }\n\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\n }\n\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;\n }\n\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this._baseUrl}/Search/By/Student`, model);\n }\n\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\n return this._httpClient.get<TestSolutionCourseData>(`${this._baseUrl}/Get/By/Id/${id}/course-data`);\n }\n\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/Get/By/Id/${id}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\nBasePath = api/tutor/test-solution-result\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionResultService {\n readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/test-solution-result`;\n }\n\n public getQuestionsWithModifiersBySolution(solutionId: string) {\n return this._httpClient.get<TestQuestionWithModifiers[]>(`${this.baseControllerUrl}/modifiers/${solutionId}`);\n }\n\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\n return this._httpClient.get<TestSolutionWithPointsValidation>(`${this.baseControllerUrl}/points/${solutionId}`);\n }\n\n public create(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create/${solutionId}`, {});\n }\n\n public recalculate(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/recalculate/${solutionId}`, {});\n }\n\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/save`, model);\n }\n\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/remove`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CreateTestForStudentErrorsRequest, StartSolutionFromDirectory, StartTestSolutionByTestId, TestSolutionCreatedResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionStartService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/start';\n }\n\n startByTestId(model: StartTestSolutionByTestId): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/TestId`, model);\n }\n\n startByDirectory(model: StartSolutionFromDirectory): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Directory`, model);\n }\n\n startByErrors(model: CreateTestForStudentErrorsRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Errors`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiQuestionLikeService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;\n }\n\n public search(model: SearchQuestionsByLikes) {\n return this._httpClient.post<GetListResult<TestQuestionModel>>(`${this._baseUrl}/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestSolutionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiTestSolutionService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;\n }\n\n public getById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\n }\n\n checkAnswer(model: SolutionWithAnswerModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\n }\n\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\nBasePath = api/tutor/test-solution/query/mine\n*/\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\n }\n\n search(model: SearchMyTestSolutions) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\n }\n\n getResultById(id: string){\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\n\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\n }\n\n getByTestId(testId: string){\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\n\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupTestRelationQueryService {\n\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group/tests`;\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n getById(studentGroupId: string, testId: string) {\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, GetListResult } from '../models';\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CuratorMessageTemplateService {\n getBaseControllerUrl() {\n return this._baseUrl + 'api/tutor/curator/message-template/';\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\n }\n\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\n }\n\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\n this.getBaseControllerUrl() + 'search',\n model,\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n * \n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseDeadlineWarningService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\n }\n\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\n }\n\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { CourseItemGlobalTestRestrictionModel, CourseRemovingAllTestRestrictionsState, TestRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\n * \n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction';\n }\n\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/global`, model);\n }\n\n getGlobal(id: string) {\n return this._http.get<TestRestrictionModel>(`${this.baseControllerUrl}/global/${id}`);\n }\n\n removeAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/remove-all/${courseId}`, {});\n }\n\n startRemovingAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/removing-all/${courseId}/start`, {})\n }\n\n getRemovingAllState(courseId: string) {\n return this._http.get<CourseRemovingAllTestRestrictionsState>(`${this.baseControllerUrl}/removing-all/${courseId}/state`)\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { ChangeSubjectConfiguration } from '../models/subject.models';\nimport { BaseApiResponse } from '../models';\nimport { CreateSubjectMenuRequest, SubjectMenu, SubjectMenuSimpleModel } from '../models/subject-menu-models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController\n * \n * Базовый урл = api/tutor/subject/menu\n * \n * Методы для работы с меню предмета\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectMenuService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/subject/menu`;\n }\n\n public getByAliasOrId(idOrAlias: string) {\n return this._httpClient.get<SubjectMenu>(`${this.baseControllerUrl}/GetByAliasOrId?idOrAlias=${idOrAlias}`);\n }\n\n public getByAliasOrIdCached(idOrAlias: string) {\n return this._httpClient.get<SubjectMenu>(`${this.baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\n }\n\n public update(model: ChangeSubjectConfiguration) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/Update`, model);\n }\n\n public create(model: CreateSubjectMenuRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public getMain() {\n return this._httpClient.get<SubjectMenuSimpleModel>(`${this.baseControllerUrl}/query/main`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport {\n SubjectCountsModel,\n SubjectModel,\n SubjectWithIconModel,\n SubjectWithClarificationsModel\n} from '../models/subject.models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\n * \n * Базовый урл = api/tutor/subject/query\n * \n * Методы для получения предметов\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/subject/query`;\n }\n\n public getAll() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all`);\n }\n\n public getAllCached() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all/cached`);\n }\n\n public getAllWithClarifications() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications`);\n }\n\n public getAllWithClarificationsCached() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications/cached`);\n }\n\n public getAllWithIconsCached(iconSetId: string) {\n return this._httpClient.get<SubjectWithIconModel[]>(`${this._baseControllerUrl}/get-all/with-icons/Cached?iconSetId=${iconSetId}`);\n }\n\n public getByAliasOrId(id: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId?idOrAlias=${id}`);\n }\n\n public getByAliasOrIdCached(idOrAlias: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\n }\n}\n\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CreateSubject,\n OrderSubjectsRequest,\n UpdateSubjectRequest,\n} from '../models/subject.models';\nimport { BaseApiResponse } from '../models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\n * \n * Базовый урл = api/tutor/subject\n * \n * Методы для работы с предметами\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectsService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\n }\n\n public create(model: CreateSubject): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\n }\n\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\n }\n\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult } from \"../models\";\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n *\n * Предоставляет методы для управления ограничениями теста для блока курса\n *\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionStudentService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\n }\n\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\n }\n\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\n }\n\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\n }\n\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\n return this._http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SubjectForStudentDetailedViewModel, SubjectModel } from '../models/subject.models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController\n *\n * Базовый урл = api/tutor/student-subject-view\n *\n * Методы для построения меню предмета\n */\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentSubjectViewService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-subject-view/';\n }\n\n public getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel> {\n return this._httpClient.get<SubjectForStudentDetailedViewModel>(this.baseControllerUrl + `get/v1?idOrAlias=${idOrAlias}&iconSetId=${iconSetId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\n * Оптимизированные методы для работы студентов с курсами\n * Базовый урл = api/tutor/student-course-view\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseViewService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\n }\n\n /**\n * \n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \n * @param themeItemId \n * @returns \n */\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentTestSolutionDetailedModel } from \"../models\";\n\n/**\n * Предоставляет методы для поиска решений тестов \n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionDetailedQueryService {\n\n private _baseUrl: string = \"\";\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\n }\n\n /**\n * \n * @param id Идентификатор решения теста\n * @returns \n */\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, GetListResult, SearchCourseLandingPageRequest } from '../models';\n\n/**\n * Предоставляет методы для работы с лендинг страницами для курса\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseLandingPageQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\n }\n\n /**\n * Поиск лендинг страниц\n * @param model \n * @returns \n */\n search(model: SearchCourseLandingPageRequest) {\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\n }\n\n /**\n * Получить лендинг страницу по идентификатору\n * @param id идентификатор страницы\n * @param useCache использовать кеш\n * @returns \n */\n getById(id: string, useCache: boolean) {\n if (useCache) {\n return this.getByIdCached(id);\n }\n\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\n }\n\n private getByIdCached(id: string) {\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\n\n/**\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseOrderService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\n }\n\n /**\n * Получить заказ на покупку курса по идентификатору\n * @param id идентификатор заказа\n * @returns \n */\n getById(id: string) {\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\n }\n\n /**\n * созать заказ на покупку курса\n * @param model запрос для создания заказа на покупку курса\n * @returns \n */\n create(model: CreateCourseOrderRequest) {\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseShopWindowDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseShopWindowDetailedService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed';\n }\n\n getMain() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main`);\n }\n\n getMainCached() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main/cached`);\n }\n\n getById(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}`);\n }\n\n getByIdCached(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}/cached`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentGroupPaymentPlansModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupPaymentPlanQueryService {\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\n }\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string\n ) { }\n\n /**\n * Получить группу и глобальные планы оплаты с ней связанные\n * @param id идентификатор группы\n * @returns групп с планами оплаты\n */\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { TutorFullApplicationPublicOptions } from \"../models\";\nimport { of, tap } from \"rxjs\";\n\n/**\n * Сервис для предоставления публичной конфигурации по приложению\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorAppConfigurationService {\n\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\n\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n get(): TutorFullApplicationPublicOptions {\n return TutorAppConfigurationService.getFromWindow();\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n static getFromWindow(): TutorFullApplicationPublicOptions {\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\n }\n\n return value;\n }\n\n set(value: TutorFullApplicationPublicOptions) {\n window[TutorAppConfigurationService.VariableKey] = value;\n }\n\n getFromServerIfValueNotSet() {\n\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\n this.set(value);\n return value;\n }));\n }\n\n\n return of<TutorFullApplicationPublicOptions>(value);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, ChangeQuestionLike, QuestionIdWithLike } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QuestionLikeService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-likes/';\n }\n\n public change(model: ChangeQuestionLike): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `change`, model);\n }\n\n public getBySolutionId(id: string): Observable<QuestionIdWithLike[]> {\n return this._httpClient.get<QuestionIdWithLike[]>(this.baseControllerUrl + `for-solution/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchCourseProgressesRequest, StudentCourseProgressModel, StudentCourseProgressWithStudentModel } from '../models/student-course-models';\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress/query`;\n }\n\n /**\n * Получить прогресс студента по курсу\n * @param courseId Идентификатор курса\n * @returns \n */\n getMine(courseId: string) {\n return this._httpClient.get<StudentCourseProgressModel>(`${this.baseControllerUrl}/mine/${courseId}`);\n }\n\n search(model: SearchCourseProgressesRequest) {\n return this._httpClient.post<GetListResult<StudentCourseProgressWithStudentModel>>(\n `${this.baseControllerUrl}/search`,\n model\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { BaseApiResponse } from '../models';\nimport { FinishStudentCourseThemeProgressRequest, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult } from '../models/student-course-models';\n\n/**\n * Сервис для прохождения курса студентом\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress`;\n }\n\n startTheme(model: StartCourseThemeRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/theme/start`, model);\n }\n\n updateThemeProgress(model: UpdateStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/update`, model);\n }\n\n finishTheme(model: FinishStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/finish`, model);\n }\n\n startTestForItemBlock(model: StartCourseThemeItemTestRequest) {\n return this._httpClient.post<StartCourseThemeItemTestResult>(`${this.baseControllerUrl}/theme/item/start-test`, model);\n }\n}\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchStudentGroupMaterialsRequest, StudentGroupWithMaterialsModel } from \"../models/material-models\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupMaterialService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-group/query`;\n }\n\n getMaterials(model: SearchStudentGroupMaterialsRequest): Observable<GetListResult<StudentGroupWithMaterialsModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithMaterialsModel>>(`${this.baseControllerUrl}/materials/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { AddCoursePaymentRequest, AddCoursePaymentResult, SetPaymentSystemForCoursePayment } from \"../models/course-payment-models\";\nimport { BaseApiResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course/payments`;\n }\n\n add(model: AddCoursePaymentRequest) {\n return this._httpClient.post<AddCoursePaymentResult>(`${this.baseControllerUrl}/add`, model);\n }\n\n setPaymentSystem(model: SetPaymentSystemForCoursePayment) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set-payment-system`, model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { EnumValueTypeWithDescriptionStudentCoursePaymentType, SearchStudentCoursePaymentsRequest, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel } from \"../models/course-payment-models\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course/payments/query';\n }\n\n getById(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/byId/${id}`);\n }\n\n getByPaymentId(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/by/pmt-id/${id}`);\n }\n\n search(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n searchDetailed(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentDetailedModel>>(\n `${this.baseControllerUrl}/search-detailed`,\n model\n );\n }\n\n getTypes() {\n return this._httpClient.get<EnumValueTypeWithDescriptionStudentCoursePaymentType[]>(this.baseControllerUrl + 'Types');\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetListResult, QuestionStatisticComputingState, SearchTestQuestionErrorsStatisticRequest, StudentTestQuestionStatisticDetailedModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class TestQuestionStatisticQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-statistic';\n }\n\n search(model: SearchTestQuestionErrorsStatisticRequest) {\n return this._httpClient.post<GetListResult<StudentTestQuestionStatisticDetailedModel>>(\n `${this.baseControllerUrl}/query/search`,\n model\n );\n }\n\n getState() {\n return this._httpClient.get<QuestionStatisticComputingState>(`${this.baseControllerUrl}/state`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupCourseAccessRequest, StudentGroupCourseWithDetailedAccessModel } from \"../models/group-access-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupCourseAccessService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group-access';\n }\n\n get(model: GetStudentGroupCourseAccessRequest) {\n return this._httpClient.post<StudentGroupCourseWithDetailedAccessModel>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { RegisterModel, RegisterStudentRequest, StudentRegistrationResult } from \"../models/student-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentRegistrationService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student';\n }\n\n register(model: RegisterModel): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register`, model);\n }\n\n registerV2(model: RegisterStudentRequest): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/v2`, model);\n }\n\n demoRegistration(): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/demo`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult, OrderPaymentSystemsRequest, PaymentSystemModel, SearchPaymentSystemsRequest } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PmtSystemService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/pmt/system`;\n }\n\n search(model: SearchPaymentSystemsRequest) {\n return this._http.post<GetListResult<PaymentSystemModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getEnabledSystemsCached() {\n return this._http.get<PaymentSystemModel[]>(`${this.baseControllerUrl}/cache/enabled-list`);\n }\n\n getById(name: string) {\n return this._http.get<PaymentSystemModel>(`${this.baseControllerUrl}/get/by-id/${name}`);\n }\n\n order(model: OrderPaymentSystemsRequest) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n createOrUpdate(model: PaymentSystemModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/create-or-update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { DefaultCourseLandingPageModel } from \"../models/default-course-landing-page-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultCourseLandingPageQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/default-course-landing-page/query`;\n }\n\n getById(id: string) {\n return this._httpClient.get<DefaultCourseLandingPageModel>(`${this._baseControllerUrl}/get-by-id/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupInfoPageRequest, StudentGroupInfoPageDetailedModel } from \"../models/group-page-info-models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupInfoPageService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/info-page';\n }\n\n get(model: GetStudentGroupInfoPageRequest): Observable<StudentGroupInfoPageDetailedModel> {\n return this._httpClient.post<StudentGroupInfoPageDetailedModel>(\n `${this.baseControllerUrl}/get`,\n model\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { StudentStatisticSnapshotValueModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentAggregatedStatisticSnapshotService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-aggregated-statistic-snapshot';\n }\n\n public get(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentInGroupStatisticSnapshotRequest, StudentInGroupStatisticSnapshotModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GroupStatisticSnapshotStudentService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-in-group-statistic-snapshot`;\n }\n\n /**\n * \n * @param model запрос для получения снапшота агрегированной статистики ученика по предметам и тегам в рамках группы (курса)\n * @returns \n */\n get(model: GetStudentInGroupStatisticSnapshotRequest) {\n return this._httpClient.post<StudentInGroupStatisticSnapshotModel | null>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { CourseThemeItemModel } from \"./course-models\";\nimport { TestQuestionModel, TestQuestionType } from \"./question-models\";\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\nimport { TestQuestionErrorsStatisticOrderType } from \"./student-statistic-models\";\n\nexport interface SearchStudentTestSolutions {\n isFinished: boolean | null;\n studentId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface TestSolutionCourseData {\n solutionId: string;\n courseThemeItemId: string;\n courseThemeItemIndex: number;\n courseThemeId: string;\n courseThemeName: string;\n courseName: string;\n courseId: string;\n nextItem: CourseThemeItemModel;\n}\n\nexport interface SolutionWithAnswerModel {\n solutionId: string;\n answer: QuestionAnswer;\n}\n\nexport interface QuestionAnswer {\n questionId: string;\n answerOrAnswers: string;\n}\n\nexport interface StudentTestSolutionWithChatInfo {\n solution: StudentTestSolutionSimpleModel;\n systemValidation: TestSolutionSystemValidationModel;\n unreadMessagesCount: number;\n}\n\nexport interface TestSolutionSystemValidationModel {\n studentTotalPoints: number;\n studentProgressPercents: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport interface StartSolutionFromDirectory {\n workSpaceId: string;\n directoryId: string;\n useFilter: boolean;\n canCheckSingleQuestion: boolean;\n filter: QuestionsFilter;\n}\n\nexport interface CreateTestForStudentErrorsRequest {\n testName: string; \n questionsCount: number; \n questionTypes: Array<TestQuestionType>; \n orderType: TestQuestionErrorsStatisticOrderType; \n canCheckSingleQuestion: boolean; \n}\n\nexport interface TestSolutionCreatedResult {\n succeeded: boolean;\n errorMessage: string;\n solutionId: string;\n}\n\nexport interface QuestionsFilter {\n types: Array<TestQuestionType>;\n}\n\nexport interface StartTestSolutionByTestId {\n testId: string;\n studentGroupId: string;\n canCheckSingleQuestion: boolean;\n}\n\nexport interface SearchMyTestSolutions {\n isFinished: boolean | null;\n testId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestSolutionSimpleModel {\n id: string;\n testName: string;\n testId: string;\n isFinished: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n}\n\nexport enum AnswerValidationResultType {\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\n NotCorrectAnswer = 'NotCorrectAnswer',\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\n CorrectAnswer = 'CorrectAnswer',\n InProcess = 'InProcess'\n}\n\nexport interface SolutionWithAnswersModel {\n solutionId: string;\n answers: Array<QuestionAnswer>;\n}\n\nexport interface StudentTestSolutionModel {\n studentId: string;\n solutionId: string;\n studentGroupId: string;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n isFinished: boolean;\n solution: StudentTestSolutionDataModel;\n test: TestModel;\n}\n\n\nexport interface StudentTestSolutionDataModel {\n /**\n * Есть ли вопросы, которые находятся в процессе расчёта результата\n */\n hasAnswersInProcess: boolean;\n answers: Array<QuestionAnswerWithResult>;\n}\n\nexport interface TestModel {\n name: string;\n description: string;\n questions: Array<TestQuestionModel>;\n}\n\nexport interface TestWithActiveSolutionModel {\n testId: string;\n activeSolutionId: string;\n test: TestModel;\n}\n\n\nexport interface QuestionAnswerWithResult {\n isChecked: boolean;\n questionId: string;\n answerOrAnswers: string;\n pointsValidation: QuestionPointsValidationModel;\n resultType: AnswerValidationResultType;\n}\n\nexport interface QuestionPointsValidationModel {\n errorOccured: boolean;\n inProcess: boolean;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n isValidated: boolean;\n sourceType: QuestionValidationSourceType;\n validatorId: string;\n}\n\nexport interface StudentTestSolutionDetailedModel {\n solutionId: string;\n hasAnswersInProcess: boolean;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentGroupId: string;\n studentId: string;\n startedOnUtc: Date;\n finishedOnUtc: Date | null;\n isFinished: boolean;\n test: StudentTestSolutionDetailedTestModel;\n}\n\nexport interface StudentTestSolutionDetailedTestModel {\n name: string;\n description: string;\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\n}\n\nexport interface StudentTestSolutionDetailedTestQuestion {\n question: TestQuestionModel;\n answerWithValidation: QuestionAnswerWithResult;\n isQuestionLikedByStudent: boolean;\n}\n","import { QuestionAnswerWithResult } from \"./test-solution-models\";\n\nexport interface TestSolutionWithPointsValidation {\n solutionId: string;\n isFinished: boolean;\n hasPointsResult: boolean;\n questions: Array<QuestionAnswerWithResult>;\n studentTotalPoints: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n inProcessQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport enum QuestionValidationSourceType {\n System = 'System',\n Student = 'Student',\n Curator = 'Curator'\n}\n\nexport interface TestQuestionWithModifiers {\n questionId: string;\n modifiers: Array<TestQuestionModiferModel>;\n}\n\nexport interface TestQuestionModiferModel {\n name: string;\n data: string;\n}\n\nexport interface SaveQuestionPointsValidation {\n idModel: QuestionInSolutionIdModel;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n}\n\nexport interface QuestionInSolutionIdModel {\n solutionId: string;\n questionId: string;\n}","export interface CourseDetailedModel {\n id: string;\n name: string;\n templateId: string;\n weight: number;\n versionId: string;\n themes: Array<CourseThemeDetailedModel>;\n}\n\nexport interface CourseSimpleModel {\n id: string;\n name: string;\n weight: number;\n versionId: string;\n templateVersionId: string;\n needsUpdating: boolean;\n}\n\nexport interface CourseThemeDetailedModel {\n id: string;\n name: string;\n description: string;\n weight: number;\n courseVersionId: string;\n items: Array<CourseThemeItemModel>;\n}\n\nexport interface CourseThemeItemModel {\n id: string;\n name: string;\n html: string;\n type: CourseThemeItemType;\n weight: number;\n templateItemId: string;\n test: CourseThemeItemTestModel;\n userInterfaceSettings: CourseThemeItemUISettingsModel;\n computedThemeProgress: ProgressModel;\n}\n\nexport interface ProgressModel {\n weight: number;\n progressPercents: number;\n}\n\nexport interface CourseThemeItemUISettingsModel {\n previousSlideBtnText: string;\n nextSlideBtnText: string;\n}\n\nexport enum CourseThemeItemType {\n JustHtml = 'JustHtml',\n Test = 'Test'\n}\n\nexport interface CourseThemeItemTestModel {\n testId: string;\n testName: string;\n totalPointsToPass: number;\n totalPercentageToPass: number;\n canCheckSingleQuestion: boolean;\n}","import { StudentSimpleModel } from \"./student-models\";\n\nexport interface CourseItemGlobalTestRestrictionModel {\n courseThemeItemId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionModel {\n maxTriesCount: number | null;\n maxStartDate: string | null;\n}\n\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\n q: string;\n courseThemeItemId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface ThemeItemTestStudentRestrictionModel {\n restriction: TestRestrictionModel;\n student: StudentSimpleModel;\n}\n\nexport interface CourseItemStudentTestRestrictionModel {\n courseThemeItemId: string;\n studentId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionValidationResult {\n testRestriction: TestRestrictionModel;\n canStartTest: boolean;\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\n validationMessage: string;\n solutionsCount: number;\n attemptsLeft: number;\n}\n\nexport enum TestRestrictionValidationResultRuleType {\n DateExpired = 'DateExpired',\n AttemptsExceeded = 'AttemptsExceeded'\n}\n\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\n courseThemeItemId: string;\n studentId: string;\n}\n\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\n deadLineWarning: DeadLineWithWarningMessage;\n restrictionValidationResult: TestRestrictionValidationResult;\n}\n\nexport interface CourseThemeItemStudentDeadlineWarningModel {\n themeItemId: string;\n courseThemeId: string;\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\n courseId: string;\n studentId: string;\n}\n\nexport interface CourseThemeIdWithDeadlineWarnings {\n courseThemeId: string;\n deadlines: Array<DeadLineWithWarningMessage>;\n}\n\nexport interface DeadLineWithWarningMessage {\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface CourseRemovingAllTestRestrictionsState {\n taskId: string;\n inProcess: boolean;\n state: CourseRemovingAllTestRestrictionsStateModel;\n}\n\nexport interface CourseRemovingAllTestRestrictionsStateModel {\n courseId: string;\n themeIdsLeftToUpdate: Array<string>;\n totalThemesToUpdateCount: number;\n updateProgressPercents: number;\n}\n","export enum TestQuestionType {\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\n TypeRightAnswer = 'TypeRightAnswer',\n DetailedAnswer = 'DetailedAnswer',\n TypeAnswerWithErrors = 'TypeAnswerWithErrors',\n ManyAnswersBoxes = 'ManyAnswersBoxes'\n}\n\nexport interface TestQuestionModel {\n id: string;\n title: string;\n titleBodyMarkUp: string;\n helpBodyMarkUp: string;\n answerExplanationMarkUp: string;\n versionId: string;\n type: TestQuestionType;\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\n manyAnswersBoxesData: ManyAnswersBoxesQuestionData;\n}\n\nexport interface ManyAnswersBoxesQuestionData {\n answerBoxes: Array<QuestionAnswerBox>;\n}\n\nexport interface QuestionAnswerBox {\n label: string;\n rightAnswer: string;\n}\n\nexport interface TypeAnswerWithErrorsQuestionData {\n rightAnswer: string;\n ignoreTextOrder: boolean;\n}\n\n\nexport interface SelectRightAnswerOrAnswersQuestionData {\n selectRightAnswerTitle: string;\n rightAnswersCount: number;\n answers: Array<Answer>;\n}\n\nexport interface Answer {\n text: string;\n isRightAnswer: boolean;\n}\n\nexport interface TypeRightAnswerQuestionData {\n caseInSensitive: boolean;\n rightAnswers: Array<string>;\n}\n","import { StudentGroupSimpleModel } from \"./group-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface AddCoursePaymentRequest {\n planId: string;\n isPrivatePaymentPlan: boolean;\n type: StudentCoursePaymentType;\n courseId: string;\n source: string;\n sourceDescription: string;\n paymentSystemId: string;\n}\n\nexport enum StudentCoursePaymentType {\n BuyCourse = 'BuyCourse',\n ExtendSubscription = 'ExtendSubscription'\n}\n\nexport interface AddCoursePaymentResult {\n succeeded: boolean;\n coursePaymentId: string;\n errorMessage: string;\n}\n\nexport interface SetPaymentSystemForCoursePayment {\n coursePaymentId: string;\n paymentSystemId: string;\n}\n\nexport interface DemoPaymentDescription {\n html: string;\n}\n\nexport interface StudentCoursePaymentModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n studentGroupId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n type: StudentCoursePaymentType;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n}\n\nexport interface SearchStudentCoursePaymentsRequest {\n q: string;\n studentId: string;\n groupId: string;\n isPaid: boolean | null;\n paymentType: StudentCoursePaymentType | null;\n hasError: boolean | null;\n count: number | null;\n offSet: number;\n}\n\n\nexport interface StudentCoursePaymentDetailedModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n type: StudentCoursePaymentType;\n student: StudentSimpleModel;\n group: StudentGroupSimpleModel;\n}\n\nexport interface EnumValueTypeWithDescriptionStudentCoursePaymentType {\n type: StudentCoursePaymentType;\n description: string;\n}","import { TestQuestionModel, TestQuestionType } from \"./question-models\";\n\nexport interface StudentTestQuestionStatisticDetailedModel {\n id: string;\n studentId: string;\n questionVersionId: string;\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n question: TestQuestionModel;\n}\n\nexport interface SearchTestQuestionErrorsStatisticRequest {\n studentId: string;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n count: number | null;\n offSet: number;\n}\n\n\nexport enum TestQuestionErrorsStatisticOrderType {\n MostErrors = 'MostErrors',\n RecentErrors = 'RecentErrors'\n}\n\nexport interface QuestionStatisticComputingState {\n toComputeQuestionReportsCount: number;\n toComputeStudentSnapshotsCount: number;\n toComputeStudentGroupSnapshotsCount: number;\n dataOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotValueModel {\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n tags: Array<StudentStatisticSnapshotTagValueModel>;\n subjects: Array<StudentStatisticSnapshotSubjectValueModel>;\n}\n\nexport interface StudentStatisticSnapshotTagValueModel {\n tagId: string;\n tagDisplayName: string;\n statistic: ComputedStatisticPresentationModel;\n}\n\nexport interface ComputedStatisticPresentationModel {\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n attemptsWithScoreTotalCount: number;\n totalAttemptsCount: number;\n successRatePercents: string;\n successRateRankValue: number;\n earnedPoints: number;\n totalPoints: number;\n}\n\nexport interface StudentStatisticSnapshotSubjectValueModel {\n subjectId: string;\n subjectName: string;\n statistic: ComputedStatisticPresentationModel;\n}","import { SubjectWithIconModel } from \"./subject.models\";\n\nexport interface SubjectMenu {\n root: SubjectMenuItem;\n}\n\nexport interface SubjectMenuItem {\n text: string;\n path: string;\n type: SubjectMenuItemType;\n workSpaceId: string;\n children: Array<SubjectMenuItem>;\n}\n\nexport enum SubjectMenuItemType {\n MenuItem = 'MenuItem',\n WorkSpaceLink = 'WorkSpaceLink',\n SubjectTestsLink = 'SubjectTestsLink',\n}\n\nexport interface CreateSubjectMenuRequest {\n\t isMain: boolean; \n\t name: string; \n\t iconSetId: string; \n}\n\nexport interface SubjectMenuWithIconsModel {\n id: string;\n isMain: boolean;\n iconSetId: string;\n subjects: Array<SubjectWithIconModel>;\n}\n\nexport interface SubjectMenuSimpleModel {\n id: string;\n name: string;\n isMain: boolean;\n iconSetId: string;\n}","/**\n * Роли для модуля Tutor\n */\nexport class TutorRoles {\n\n /**\n * Куратор - проверяет домашние задания студентов (учеников).\n */\n static readonly curator: string = 'Tutor.Curator';\n\n /**\n * Администратор - управляет и настраивает платформу\n */\n static readonly admin: string = 'Tutor.Admin';\n\n /**\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\n */\n static readonly student: string = 'Tutor.Student';\n\n /**\n * Пользователь, который может вносить вопросы\n */\n static readonly testAuthor: string = 'Tutor.TestAuthor';\n\n /**\n * Администратор конкретной школы\n */\n static readonly schoolAdmin: string = 'Tutor.SchoolAdmin';\n}","export class ImageSrcExtensions {\n\n /**\n * Вовзращает полный путь к изображению по идентификатору файла и типу размера изображения \n * @param publicImageUrlFormat Форматированная строка содержащая {fileId} и {sizeType} для замены\n * @param imageId Идентификатор изображения\n * @param imageType Тип изображения\n * @returns \n */\n static createImagePath(publicImageUrlFormat: string, imageId: number, imageType = 'Medium'): string | null {\n \n if (imageId === null || imageId === undefined) {\n return null;\n }\n\n return publicImageUrlFormat.replace('{sizeType}', imageType).replace('{fileId}', imageId.toString())\n }\n}\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/consts';\nexport * from './lib/extensions'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;AAEV,iBAAA;;;MCCY,YAAY,CAAA;IAGrB,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;QAEpC,MAAM,MAAM,GAAG,iBAAiB;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,MAAM;IAC7C;AAEO,IAAA,0BAA0B,CAAC,KAAyB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iBAAA,CAAmB,EAAE,KAAK,CAAC;IAC7H;AAEO,IAAA,MAAM,CAAC,KAAwB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC5F;AAEO,IAAA,IAAI,CAAC,KAAsB,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,KAAA,CAAO,EAAE,KAAK,CAAC;IAC1F;AAnBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,4CAIT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;;4FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;MCLb,0BAA0B,CAAA;IAGnC,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oBAAoB;IAC3D;AAEA,IAAA,GAAG,CAAC,IAAY,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAC;IACtF;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAe,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,KAAA,EAAQ,IAAI,CAAA,OAAA,CAAS,CAAC;IAC7F;AAEA,IAAA,GAAG,CAAC,KAAmB,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,IAAA,CAAM,EAAE,KAAK,CAAC;IACzF;AAlBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;ACN1B;;AAEE;MAIW,wBAAwB,CAAA;IAEjC,UAAU,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,yBAAyB;IACpD;IAEA,WAAA,CAAoB,WAAuB,EACX,QAAgB,EAAA;QAD5B,IAAA,CAAA,WAAW,GAAX,WAAW;QACC,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACxC;AAEA;;AAEG;AACI,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,aAAA,CAAe,EAAE,KAAK,CAAC;IACpH;AAEO,IAAA,oBAAoB,CAAC,KAA0C,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAqD,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,6BAAA,CAA+B,EAAE,KAAK,CAAC;IAChJ;AAEA;;;;AAIG;AACI,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,aAAA,EAAgB,EAAE,CAAA,CAAE,CAAC;IACpG;AAEO,IAAA,cAAc,CAAC,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,YAAA,EAAe,EAAE,CAAA,CAAE,CAAC;IACnG;AAEA;;;;AAIG;AACI,IAAA,eAAe,CAAC,KAA4B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2C,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,gBAAA,CAAkB,EAAE,KAAK,CAAC;IACzH;AAEA;;;;;AAKG;IACI,cAAc,CAAC,OAAe,EAAE,SAAiB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,oBAAA,EAAuB,OAAO,IAAI,SAAS,CAAA,CAAE,CAAC;IAC7H;AAnDS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAOrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAPb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAQQ,MAAM;2BAAC,UAAU;;;MCXb,mBAAmB,CAAA;IAG5B,WAAA,CAAoB,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAA,CAAA,WAAW,GAAX,WAAW;AAE3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B;IACjE;AAEO,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAE,CAAC;IAC1F;AAEO,IAAA,eAAe,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,IAAI,CAAC,iBAAiB,GAAG,CAAA,aAAA,EAAgB,UAAU,CAAA,CAAE,CAAC;IAC1G;AAEO,IAAA,MAAM,CAAC,WAAkC,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAoC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,WAAW,CAAC;IACnH;AAlBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAIhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;MCJb,wBAAwB,CAAA;IAGjC,WAAA,CAAoB,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAA,CAAA,WAAW,GAAX,WAAW;AAE3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC;IACvE;AAEO,IAAA,YAAY,CAAC,KAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,CAAC;IACrG;AAEO,IAAA,iBAAiB,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,EAAE,CAAA,CAAE,EAAE,EAAE,CAAC;IAC7G;AAdS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;MCLb,wBAAwB,CAAA;IAIjC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHf,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMlC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,OAAO,+BAA+B;IAC7D;AAEO,IAAA,eAAe,CAAC,KAAiC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,kBAAA,CAAoB,EAAE,KAAK,CAAC;IAC7H;AAEO,IAAA,aAAa,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,WAAA,EAAc,EAAE,CAAA,YAAA,CAAc,CAAC;IACvG;AAEO,IAAA,eAAe,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC;IAC7F;AArBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAMrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAOQ,MAAM;2BAAC,UAAU;;;ACV1B;;;AAGE;MAIW,yBAAyB,CAAA;IAGlC,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,gCAAgC;IACvE;AAEO,IAAA,mCAAmC,CAAC,UAAkB,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,WAAA,EAAc,UAAU,CAAA,CAAE,CAAC;IACjH;AAEO,IAAA,0CAA0C,CAAC,UAAkB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,QAAA,EAAW,UAAU,CAAA,CAAE,CAAC;IACnH;AAEO,IAAA,MAAM,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,WAAW,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC;IACvG;AAEO,IAAA,WAAW,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,gBAAgB,UAAU,CAAA,CAAE,EAAE,EAAE,CAAC;IAC5G;AAEO,IAAA,kBAAkB,CAAC,KAAmC,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,yBAAA,CAA2B,EAAE,KAAK,CAAC;IAC/I;AAEO,IAAA,oBAAoB,CAAC,KAAgC,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,2BAAA,CAA6B,EAAE,KAAK,CAAC;IACjJ;AA9BS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAItB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA;;4FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;MCTb,+BAA+B,CAAA;IAGxC,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,+BAA+B;IACtE;AAEA,IAAA,aAAa,CAAC,KAAgC,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,UAAA,CAAY,EAAE,KAAK,CAAC;IACzG;AAEA,IAAA,gBAAgB,CAAC,KAAiC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,aAAA,CAAe,EAAE,KAAK,CAAC;IAC5G;AAEA,IAAA,aAAa,CAAC,KAAwC,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,UAAA,CAAY,EAAE,KAAK,CAAC;IACzG;AAlBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA;;4FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAKzB,MAAM;2BAAC,UAAU;;;MCHb,0BAA0B,CAAA;IAInC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHf,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMlC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,OAAO,kCAAkC;IAChE;AAEO,IAAA,MAAM,CAAC,KAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IACpG;AAbS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAMvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAOQ,MAAM;2BAAC,UAAU;;;MCNb,0BAA0B,CAAA;IAInC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHf,IAAA,CAAA,QAAQ,GAAW,EAAE;QAMlC,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,iCAAiC;IACrE;AAEO,IAAA,OAAO,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC;IACnF;AAbS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAMvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAOQ,MAAM;2BAAC,UAAU;;;MCPb,0BAA0B,CAAA;IAGnC,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,0BAA0B;IACjE;AAEA,IAAA,WAAW,CAAC,KAA8B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmD,IAAI,CAAC,iBAAiB,GAAG,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC;IAClI;AAEA,IAAA,cAAc,CAAC,KAA+B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAuD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC;IAChI;AAdS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAIvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA,CAAA;;4FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAKzB,MAAM;2BAAC,UAAU;;;ACN1B;;;AAGE;MAEW,+BAA+B,CAAA;IAGxC,WAAA,CAAoB,WAAuB,EACnB,OAAe,EAAA;QADnB,IAAA,CAAA,WAAW,GAAX,WAAW;AAE3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,qCAAqC;IAC5E;AAEA,IAAA,MAAM,CAAC,KAA4B,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiD,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC;IAC1H;AAEA,IAAA,aAAa,CAAC,EAAU,EAAA;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,OAAA,CAAS;QAE3D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuD,GAAG,CAAC;IAC1F;AAEA,IAAA,WAAW,CAAC,MAAc,EAAA;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAA,cAAA,EAAiB,MAAM,CAAA,CAAE;QAE5D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA8B,GAAG,CAAC;IACjE;AAtBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAI5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA;;4FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAKzB,MAAM;2BAAC,UAAU;;;MCNb,oCAAoC,CAAA;IAE7C,UAAU,GAAA;AACN,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,+BAA+B;IAC1D;IAIA,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHf,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMlC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;IAC3B;IAEA,OAAO,CAAC,cAAsB,EAAE,MAAc,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAwC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,SAAA,EAAY,MAAM,IAAI,cAAc,CAAA,CAAE,CAAC;IAClI;AAjBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,4CAUjC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAVb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA;;4FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAWQ,MAAM;2BAAC,UAAU;;;MCRb,6BAA6B,CAAA;IACxC,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,qCAAqC;IAC9D;IAIA,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHb,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMpC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;IACzB;AAEO,IAAA,cAAc,CAAC,KAA2C,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,KAAK,CAAC;IACxG;AAEO,IAAA,MAAM,CAAC,KAAmC,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC;IAC9F;AAEO,IAAA,MAAM,CAAC,KAAoC,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1B,IAAI,CAAC,oBAAoB,EAAE,GAAG,QAAQ,EACtC,KAAK,CACN;IACH;AA3BW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,4CAS9B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AATT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;;4FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAUI,MAAM;2BAAC,UAAU;;;ACbtB;;;;;;AAMG;MAIU,4BAA4B,CAAA;IAGrC,WAAA,CACY,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAA,CAAA,WAAW,GAAX,WAAW;AAGnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oCAAoC;IAC3E;AAEA,IAAA,kBAAkB,CAAC,KAAwD,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA+C,IAAI,CAAC,iBAAiB,GAAG,CAAA,qBAAA,CAAuB,EAAE,KAAK,CAAC;IACvI;AAEA,IAAA,yBAAyB,CAAC,KAAwD,EAAA;AAC9E,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAsC,IAAI,CAAC,iBAAiB,GAAG,CAAA,yBAAA,CAA2B,EAAE,KAAK,CAAC;IAClI;AAhBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,4CAKzB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;ACd1B;;;;;;AAMG;MAIU,qCAAqC,CAAA;IAG9C,WAAA,CACqB,KAAiB,EACd,OAAe,EAAA;QADlB,IAAA,CAAA,KAAK,GAAL,KAAK;AAGtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,8CAA8C;IACrF;AAEA,IAAA,SAAS,CAAC,KAA2C,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IACtF;AAEA,IAAA,SAAS,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,QAAA,EAAW,EAAE,CAAA,CAAE,CAAC;IACzF;AAEA,IAAA,SAAS,CAAC,QAAgB,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,eAAe,QAAQ,CAAA,CAAE,EAAE,EAAE,CAAC;IACnG;AAEA,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,iBAAiB,QAAQ,CAAA,MAAA,CAAQ,EAAE,EAAE,CAAC;IAC3G;AAEA,IAAA,mBAAmB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,cAAA,EAAiB,QAAQ,CAAA,MAAA,CAAQ,CAAC;IAC7H;AA5BS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,4CAKlC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFlC,MAAM,EAAA,CAAA,CAAA;;4FAET,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;ACf1B;;;;;;AAMG;MAIU,kBAAkB,CAAA;IAG7B,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,wBAAwB;IAC7D;AAEO,IAAA,cAAc,CAAC,SAAiB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,0BAAA,EAA6B,SAAS,CAAA,CAAE,CAAC;IAC7G;AAEO,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAc,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iCAAA,EAAoC,SAAS,CAAA,CAAE,CAAC;IACpH;AAEO,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC1F;AAEO,IAAA,MAAM,CAAC,KAA+B,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC1F;IAEO,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,WAAA,CAAa,CAAC;IAC7F;AA5BW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAKnB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;ACZtB;;;;;;AAMG;MAIU,mBAAmB,CAAA;IAG9B,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAA,EAAG,OAAO,yBAAyB;IAC/D;IAEO,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,QAAA,CAAU,CAAC;IACnF;IAEO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,eAAA,CAAiB,CAAC;IAC1F;IAEO,wBAAwB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,4BAAA,CAA8B,CAAC;IACzH;IAEO,8BAA8B,GAAA;AACnC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,mCAAA,CAAqC,CAAC;IAChI;AAEO,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,qCAAA,EAAwC,SAAS,CAAA,CAAE,CAAC;IACpI;AAEO,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,0BAAA,EAA6B,EAAE,CAAA,CAAE,CAAC;IAC9G;AAEO,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqB,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,iCAAA,EAAoC,SAAS,CAAA,CAAE,CAAC;IAC5H;AApCW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAKpB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;ACdtB;;;;;;AAMG;MAIU,eAAe,CAAA;IAG1B,WAAA,CACU,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAA,CAAA,WAAW,GAAX,WAAW;AAGnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,oBAAoB;IACzD;AAEO,IAAA,MAAM,CAAC,KAAoB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC;IACzF;AAEO,IAAA,KAAK,CAAC,KAA2B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,KAAK,CAAC;IACxF;AAEO,IAAA,MAAM,CAAC,KAA2B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,EAAE,KAAK,CAAC;IACzF;AApBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,4CAKhB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;ACnBtB;;;;;;AAMG;MAIU,4CAA4C,CAAA;IAGrD,WAAA,CACqB,KAAiB,EACd,OAAe,EAAA;QADlB,IAAA,CAAA,KAAK,GAAL,KAAK;AAGtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,uDAAuD;IAC9F;AAEA,IAAA,gBAAgB,CAAC,KAA4C,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC;IACrF;AAEA,IAAA,qBAAqB,CAAC,KAAsD,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkC,IAAI,CAAC,iBAAiB,GAAG,CAAA,oCAAA,CAAsC,EAAE,KAAK,CAAC;IACnI;AAEA,IAAA,wCAAwC,CAAC,KAAsD,EAAA;AAC3F,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqD,IAAI,CAAC,iBAAiB,GAAG,CAAA,0DAAA,CAA4D,EAAE,KAAK,CAAC;IAC5K;AAEA,IAAA,cAAc,CAAC,KAAoD,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsD,IAAI,CAAC,iBAAiB,GAAG,cAAc,EAAE,KAAK,CAAC;IAC/H;AAxBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4CAA4C,4CAKzC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4CAA4C,cAFzC,MAAM,EAAA,CAAA,CAAA;;4FAET,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAHxD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;AChB1B;;;;;;AAMG;MAKU,yBAAyB,CAAA;IAGpC,WAAA,CACU,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAA,CAAA,WAAW,GAAX,WAAW;AAGnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,iCAAiC;IACtE;IAEO,KAAK,CAAC,SAAiB,EAAE,SAAiB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,SAAS,CAAA,WAAA,EAAc,SAAS,CAAA,CAAE,CAAC;IAClJ;AAZW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAK1B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA;;4FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;ACftB;;;;AAIG;MAIU,wBAAwB,CAAA;IAGjC,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC;IACvE;AAEA;;;;;AAKG;IACI,oCAAoC,CAAC,iBAAyB,EAAE,WAAmB,EAAA;AACtF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAoD,IAAI,CAAC,iBAAiB,GAAG,0DAA0D,iBAAiB,CAAA,aAAA,EAAgB,WAAW,CAAA,CAAE,CAAC;IACrN;AAhBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,4CAIrB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;ACb1B;;AAEG;MAIU,gCAAgC,CAAA;IAIzC,WAAA,CACY,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAA,CAAA,WAAW,GAAX,WAAW;QAHf,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMzB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,gCAAgC;IAC9D;AAEA;;;;AAIG;AACI,IAAA,GAAG,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmC,IAAI,CAAC,QAAQ,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,SAAA,CAAW,CAAC;IAC7G;AAlBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,4CAM7B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAF7B,MAAM,EAAA,CAAA,CAAA;;4FAET,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAOQ,MAAM;2BAAC,UAAU;;;ACb1B;;;AAGG;MAIU,6BAA6B,CAAA;IAIxC,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;QAHb,IAAA,CAAA,QAAQ,GAAW,EAAE;AAMpC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,qCAAqC;IACjE;AAEA;;;;AAIG;AACH,IAAA,MAAM,CAAC,KAAqC,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA8C,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IAC7G;AAEA;;;;;AAKG;IACH,OAAO,CAAC,EAAU,EAAE,QAAiB,EAAA;QACnC,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B;AAEA,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,cAAA,EAAiB,EAAE,CAAA,CAAE,CAAC;IACpG;AAEQ,IAAA,aAAa,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAiC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,qBAAA,EAAwB,EAAE,CAAA,CAAE,CAAC;IAC3G;AApCW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,4CAM9B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;;4FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAOI,MAAM;2BAAC,UAAU;;;ACZtB;;AAEG;MAIU,kBAAkB,CAAA;IAG3B,WAAA,CACY,WAAuB,EACX,OAAe,EAAA;QAD3B,IAAA,CAAA,WAAW,GAAX,WAAW;AAGnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,wBAAwB;IAC/D;AAEA;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAmB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iBAAA,EAAoB,EAAE,CAAA,CAAE,CAAC;IACpG;AAEA;;;;AAIG;AACH,IAAA,MAAM,CAAC,KAA+B,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IACtG;AA1BS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAKf,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFf,MAAM,EAAA,CAAA,CAAA;;4FAET,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;MCRb,+BAA+B,CAAA;IAGxC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,uCAAuC;IAC9E;IAEA,OAAO,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,KAAA,CAAO,CAAC;IAChG;IAEA,aAAa,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,YAAA,CAAc,CAAC;IACvG;AAEA,IAAA,OAAO,CAAC,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,EAAU,EAAE,CAAA,CAAE,CAAC;IACvG;AAEA,IAAA,aAAa,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,EAAU,EAAE,CAAA,OAAA,CAAS,CAAC;IAC9G;AAxBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAK5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF5B,MAAM,EAAA,CAAA,CAAA;;4FAET,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;ACP1B;;AAEG;MAIU,mCAAmC,CAAA;IAC5C,UAAU,GAAA;AACN,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,4CAA4C;IACvE;IAEA,WAAA,CACY,WAAuB,EACH,QAAgB,EAAA;QADpC,IAAA,CAAA,WAAW,GAAX,WAAW;QACS,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACpC;AAEJ;;;;AAIG;AACI,IAAA,eAAe,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAA,eAAA,EAAkB,EAAE,CAAA,CAAE,CAAC;IAC1G;AAjBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,4CAOhC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAPb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,cAFhC,MAAM,EAAA,CAAA,CAAA;;4FAET,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAQQ,MAAM;2BAAC,UAAU;;;ACd1B;;AAEG;MAIU,4BAA4B,CAAA;aAErB,IAAA,CAAA,WAAW,GAAG,2BAAH,CAA+B;IAI1D,WAAA,CACqB,KAAiB,EACd,OAAe,EAAA;QADlB,IAAA,CAAA,KAAK,GAAL,KAAK;AAGtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,gCAAgC;IACvE;AAEA;;;AAGG;IACH,GAAG,GAAA;AACC,QAAA,OAAO,4BAA4B,CAAC,aAAa,EAAE;IACvD;AAEA;;;AAGG;AACH,IAAA,OAAO,aAAa,GAAA;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,4BAA4B,CAAC,WAAW,CAAC;QAE9D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,CAAA,mCAAA,EAAsC,4BAA4B,CAAC,WAAW,CAAA,CAAE,CAAC;QACrG;AAEA,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,GAAG,CAAC,KAAwC,EAAA;AACxC,QAAA,MAAM,CAAC,4BAA4B,CAAC,WAAW,CAAC,GAAG,KAAK;IAC5D;IAEA,0BAA0B,GAAA;QAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,4BAA4B,CAAC,WAAW,CAAC;QAE9D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AACvC,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAG;AAC9F,gBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACf,gBAAA,OAAO,KAAK;YAChB,CAAC,CAAC,CAAC;QACP;AAGA,QAAA,OAAO,EAAE,CAAoC,KAAK,CAAC;IACvD;AApDS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,4CAQzB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AARb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BASQ,MAAM;2BAAC,UAAU;;;MCXb,mBAAmB,CAAA;IAG9B,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,2BAA2B;IAChE;AAEO,IAAA,MAAM,CAAC,KAAyB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC;IACzF;AAEO,IAAA,eAAe,CAAC,EAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAA,aAAA,EAAgB,EAAE,CAAA,CAAE,CAAC;IAClG;AAhBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,4CAKpB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;MCLT,iCAAiC,CAAA;IAG5C,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,yCAAyC;IAC9E;AAEA;;;;AAIG;AACH,IAAA,OAAO,CAAC,QAAgB,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA6B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAE,CAAC;IACvG;AAEA,IAAA,MAAM,CAAC,KAAoC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAClC,KAAK,CACN;IACH;AAxBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,4CAKlC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;4FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;ACRtB;;AAEG;MAIU,4BAA4B,CAAA;IAGvC,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,mCAAmC;IACxE;AAEA,IAAA,UAAU,CAAC,KAA8B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC;IAC/F;AAEA,IAAA,mBAAmB,CAAC,KAA8C,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,aAAA,CAAe,EAAE,KAAK,CAAC;IACvH;AAEA,IAAA,WAAW,CAAC,KAA8C,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,aAAA,CAAe,EAAE,KAAK,CAAC;IACvH;AAEA,IAAA,qBAAqB,CAAC,KAAsC,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAiC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,sBAAA,CAAwB,EAAE,KAAK,CAAC;IACxH;AAxBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,4CAK7B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF3B,MAAM,EAAA,CAAA,CAAA;;4FAEP,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMI,MAAM;2BAAC,UAAU;;;MCTT,2BAA2B,CAAA;IAGpC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,+BAA+B;IACtE;AAEA,IAAA,YAAY,CAAC,KAAyC,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAgD,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iBAAA,CAAmB,EAAE,KAAK,CAAC;IACpI;AAZS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,4CAKxB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADd,MAAM,EAAA,CAAA,CAAA;;4FACnB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAMzB,MAAM;2BAAC,UAAU;;;MCJb,oBAAoB,CAAA;IAG7B,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,mCAAmC;IAC1E;AAEA,IAAA,GAAG,CAAC,KAA8B,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAyB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,IAAA,CAAM,EAAE,KAAK,CAAC;IAChG;AAEA,IAAA,gBAAgB,CAAC,KAAuC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,mBAAA,CAAqB,EAAE,KAAK,CAAC;IACxG;AAhBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,4CAKjB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAET,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;MCLb,yBAAyB,CAAA;IAGlC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,yCAAyC;IAChF;AAEA,IAAA,OAAO,CAAC,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,MAAA,EAAS,EAAE,CAAA,CAAE,CAAC;IAClG;AAEA,IAAA,cAAc,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC;IACvG;AAEA,IAAA,MAAM,CAAC,KAAyC,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA2C,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IACrH;AAEA,IAAA,cAAc,CAAC,KAAyC,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,gBAAA,CAAkB,EAC3C,KAAK,CACR;IACL;IAEA,QAAQ,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAyD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;IACzH;AA/BS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,4CAKtB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA;;4FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;MCRb,iCAAiC,CAAA;IAG5C,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,8BAA8B;IACnE;AAEA,IAAA,MAAM,CAAC,KAA+C,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,aAAA,CAAe,EACxC,KAAK,CACN;IACH;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAkC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,MAAA,CAAQ,CAAC;IACjG;AAnBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,4CAKlC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cADpB,MAAM,EAAA,CAAA,CAAA;;4FACnB,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAM7B,MAAM;2BAAC,UAAU;;;MCLT,+BAA+B,CAAA;IAGxC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,gCAAgC;IACvE;AAEA,IAAA,GAAG,CAAC,KAAyC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4C,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,IAAA,CAAM,EAAE,KAAK,CAAC;IACnH;AAZS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,4CAK5B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA;;4FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAMzB,MAAM;2BAAC,UAAU;;;MCJb,0BAA0B,CAAA;IAGnC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,GAAG,mBAAmB;IAC3D;AAEA,IAAA,QAAQ,CAAC,KAAoB,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,SAAA,CAAW,EAAE,KAAK,CAAC;IACzG;AAEA,IAAA,UAAU,CAAC,KAA6B,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,YAAA,CAAc,EAAE,KAAK,CAAC;IAC5G;IAEA,gBAAgB,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA4B,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,cAAA,CAAgB,EAAE,EAAE,CAAC;IAC3G;AApBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,4CAKvB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA,CAAA;;4FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAMzB,MAAM;2BAAC,UAAU;;;MCJb,gBAAgB,CAAA;IAGzB,WAAA,CACqB,KAAiB,EACd,OAAe,EAAA;QADlB,IAAA,CAAA,KAAK,GAAL,KAAK;AAGtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,gBAAgB;IACvD;AAEA,IAAA,MAAM,CAAC,KAAkC,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,OAAA,CAAS,EAAE,KAAK,CAAC;IACxG;IAEA,uBAAuB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,mBAAA,CAAqB,CAAC;IAC/F;AAEA,IAAA,OAAO,CAAC,IAAY,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,WAAA,EAAc,IAAI,CAAA,CAAE,CAAC;IAC5F;AAEA,IAAA,KAAK,CAAC,KAAiC,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,MAAA,CAAQ,EAAE,KAAK,CAAC;IACrF;AAEA,IAAA,cAAc,CAAC,KAAyB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iBAAA,CAAmB,EAAE,KAAK,CAAC;IAChG;AA5BS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,4CAKb,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;MCLb,oCAAoC,CAAA;IAG7C,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAA,EAAG,OAAO,6CAA6C;IACrF;AAEA,IAAA,OAAO,CAAC,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,WAAA,EAAc,EAAE,CAAA,CAAE,CAAC;IAC5G;AAZS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,4CAKjC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA;;4FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAMQ,MAAM;2BAAC,UAAU;;;MCNb,2BAA2B,CAAA;IAGpC,WAAA,CACqB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,mCAAmC;IAC1E;AAEA,IAAA,GAAG,CAAC,KAAqC,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,IAAA,CAAM,EAC/B,KAAK,CACR;IACL;AAfS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,4CAKxB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADd,MAAM,EAAA,CAAA,CAAA;;4FACnB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAMzB,MAAM;2BAAC,UAAU;;;MCNb,yCAAyC,CAAA;IAGpD,WAAA,CACmB,WAAuB,EACpB,OAAe,EAAA;QADlB,IAAA,CAAA,WAAW,GAAX,WAAW;AAG5B,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,iDAAiD;IACtF;AAEO,IAAA,GAAG,CAAC,SAAiB,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAqC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,iBAAA,EAAoB,SAAS,CAAA,CAAE,CAAC;IAC3H;AAZW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yCAAyC,4CAK1C,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yCAAyC,cAD5B,MAAM,EAAA,CAAA,CAAA;;4FACnB,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBADrD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAM7B,MAAM;2BAAC,UAAU;;;MCHT,oCAAoC,CAAA;IAG7C,WAAA,CAA6B,WAAuB,EAC5B,OAAe,EAAA;QADV,IAAA,CAAA,WAAW,GAAX,WAAW;AAEpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,EAAG,OAAO,+CAA+C;IACtF;AAEA;;;;AAIG;AACH,IAAA,GAAG,CAAC,KAAgD,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA8C,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,IAAA,CAAM,EAAE,KAAK,CAAC;IACrH;AAfS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,4CAIjC,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFjC,MAAM,EAAA,CAAA,CAAA;;4FAET,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;0BAKQ,MAAM;2BAAC,UAAU;;;ICqFd;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C;AAC/C,IAAA,0BAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD;AACjD,IAAA,0BAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,0BAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AAC3B,CAAC,EANW,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;ICjF1B;AAAZ,CAAA,UAAY,4BAA4B,EAAA;AACpC,IAAA,4BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,4BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EAJW,4BAA4B,KAA5B,4BAA4B,GAAA,EAAA,CAAA,CAAA;;ICkC5B;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;ICVnB;AAAZ,CAAA,UAAY,uCAAuC,EAAA;AAC/C,IAAA,uCAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,uCAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACzC,CAAC,EAHW,uCAAuC,KAAvC,uCAAuC,GAAA,EAAA,CAAA,CAAA;;ICvCvC;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD;AACzD,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,gBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACjC,IAAA,gBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C;AAC7C,IAAA,gBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACzC,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;ICahB;AAAZ,CAAA,UAAY,wBAAwB,EAAA;AAChC,IAAA,wBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,wBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AAC7C,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;ICSxB;AAAZ,CAAA,UAAY,oCAAoC,EAAA;AAC5C,IAAA,oCAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,oCAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AACjC,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,GAAA,EAAA,CAAA,CAAA;;ICRpC;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACvC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;ACd/B;;AAEG;MACU,UAAU,CAAA;AAEnB;;AAEG;aACa,IAAA,CAAA,OAAO,GAAW,eAAe,CAAC;AAElD;;AAEG;aACa,IAAA,CAAA,KAAK,GAAW,aAAa,CAAC;AAE9C;;AAEG;aACa,IAAA,CAAA,OAAO,GAAW,eAAe,CAAC;AAElD;;AAEG;aACa,IAAA,CAAA,UAAU,GAAW,kBAAkB,CAAC;AAExD;;AAEG;aACa,IAAA,CAAA,WAAW,GAAW,mBAAmB,CAAC;;;MC5BjD,kBAAkB,CAAA;AAE3B;;;;;;AAMG;IACH,OAAO,eAAe,CAAC,oBAA4B,EAAE,OAAe,EAAE,SAAS,GAAG,QAAQ,EAAA;QAEtF,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC3C,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,OAAO,oBAAoB,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxG;AACH;;ACjBD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"tutor-logic.mjs","sources":["../../../projects/tutor-logic/src/lib/tutor-logic.module.ts","../../../projects/tutor-logic/src/lib/services/TestsService.ts","../../../projects/tutor-logic/src/lib/services/TutorCommonSettingsService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupEnterService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionResultService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionStartService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiQuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/open-api/OpenApiTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionService.ts","../../../projects/tutor-logic/src/lib/services/StudentTestSolutionQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupTestRelationQueryService.ts","../../../projects/tutor-logic/src/lib/services/CuratorMessageTemplateService.ts","../../../projects/tutor-logic/src/lib/services/CourseDeadlineWarningService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionService.ts","../../../projects/tutor-logic/src/lib/services/SubjectQueryService.ts","../../../projects/tutor-logic/src/lib/services/SubjectsService.ts","../../../projects/tutor-logic/src/lib/services/CourseThemeItemTestRestrictionStudentService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseViewService.ts","../../../projects/tutor-logic/src/lib/services/TestSolutionDetailedQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/CourseOrderService.ts","../../../projects/tutor-logic/src/lib/services/CourseShopWindowDetailedService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupPaymentPlanQueryService.ts","../../../projects/tutor-logic/src/lib/services/TutorAppConfigurationService.ts","../../../projects/tutor-logic/src/lib/services/QuestionLikeService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentCourseProgressService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupMaterialService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentService.ts","../../../projects/tutor-logic/src/lib/services/CoursePaymentQueryService.ts","../../../projects/tutor-logic/src/lib/services/TestQuestionStatisticQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupCourseAccessService.ts","../../../projects/tutor-logic/src/lib/services/StudentRegistrationService.ts","../../../projects/tutor-logic/src/lib/services/PmtSystemService.ts","../../../projects/tutor-logic/src/lib/services/DefaultCourseLandingPageQueryService.ts","../../../projects/tutor-logic/src/lib/services/StudentGroupInfoPageService.ts","../../../projects/tutor-logic/src/lib/services/StudentAggregatedStatisticSnapshotService.ts","../../../projects/tutor-logic/src/lib/services/GroupStatisticSnapshotStudentService.ts","../../../projects/tutor-logic/src/lib/models/test-solution-models.ts","../../../projects/tutor-logic/src/lib/models/solution-validation-models.ts","../../../projects/tutor-logic/src/lib/models/course-models.ts","../../../projects/tutor-logic/src/lib/models/test-restriction-models.ts","../../../projects/tutor-logic/src/lib/models/question-models.ts","../../../projects/tutor-logic/src/lib/models/course-payment-models.ts","../../../projects/tutor-logic/src/lib/models/student-statistic-models.ts","../../../projects/tutor-logic/src/lib/consts/TutorRoles.ts","../../../projects/tutor-logic/src/lib/extensions/ImageSrcExtensions.ts","../../../projects/tutor-logic/src/public-api.ts","../../../projects/tutor-logic/src/tutor-logic.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [ \n ],\n imports: [\n ],\n exports: [\n ]\n})\nexport class TutorLogicModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { BaseApiResponse, GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchTestsRequest, CreateTestRequest, EditTestRequest } from \"../models/test-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestsService {\n baseControllerUrl:string;\n \n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string){\n const adding = 'api/tutor/tests';\n this.baseControllerUrl = baseUrl + adding;\n }\n\n public searchGroupRelationsInTest(model: SearchTestsRequest): Observable<GetListResult<StudentGroupSimpleModel>>{\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.baseControllerUrl}/groups/search/in`, model);\n }\n\n public create(model: CreateTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create`, model);\n }\n\n public edit(model: EditTestRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/edit`, model);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { SettingModel } from \"../models/setting-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorCommonSettingsService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/settings';\n }\n\n get(name: string) {\n return this._httpClient.get<SettingModel>(`${this.baseControllerUrl}/get/${name}`);\n }\n\n getCached(name: string) {\n return this._httpClient.get<SettingModel>(`${this.baseControllerUrl}/get/${name}/cached`);\n }\n\n set(model: SettingModel) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, StudentGroupSimpleModel } from \"../models\";\nimport { SearchStudentGroupsRequest, StudentGroupDetailedModel, SearchStudentsInGroup, StudentInGroupSimpleModel, SearchStudentGroupsByStudentRequest, StudentGroupWithCourseProgressModel } from \"../models/group-models\";\n\n/**\n* Методы контроллера StudentGroupQueryController\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupQueryService {\n\n getBaseUrl() {\n return this._baseUrl + 'api/tutor/student-group';\n }\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string) {\n }\n\n /**\n * Поиск групп учеников\n */\n public search(model: SearchStudentGroupsRequest): Observable<GetListResult<StudentGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentGroupSimpleModel>>(`${this.getBaseUrl()}/query/search`, model);\n }\n\n public searchWithProgresses(model: SearchStudentGroupsByStudentRequest): Observable<GetListResult<StudentGroupWithCourseProgressModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithCourseProgressModel>>(`${this.getBaseUrl()}/query/search/with-progresses`, model);\n }\n\n /**\n * Получить группу по идентификатору\n * @param id идентификатор группы учеников\n * @returns группу учеников\n */\n public getById(id: string): Observable<StudentGroupDetailedModel> {\n return this._httpClient.get<StudentGroupDetailedModel>(`${this.getBaseUrl()}/query/by-id/${id}`);\n }\n\n public getByStudentId(id: string): Observable<StudentGroupSimpleModel[]> {\n return this._httpClient.get<StudentGroupSimpleModel[]>(`${this.getBaseUrl()}/by-student/${id}`);\n }\n\n /**\n * Получить список студентов в группе по фильтру\n * @param model модель для поиска\n * @returns список студентов\n */\n public getStudentsList(model: SearchStudentsInGroup): Observable<GetListResult<StudentInGroupSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentInGroupSimpleModel>>(`${this.getBaseUrl()}/students/search`, model);\n }\n\n /**\n * Получить студента в группе\n * @param groupId идентификатор группы\n * @param studentId идентификатор студента\n * @returns \n */\n public getStudentById(groupId: string, studentId: string): Observable<StudentInGroupSimpleModel> {\n return this._httpClient.get<StudentInGroupSimpleModel>(`${this.getBaseUrl()}/students/get-by-id/${groupId}/${studentId}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult, SearchStudentsRequest, StudentSimpleModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student/query/';\n }\n\n public getById(id: string): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ById/${id}`);\n }\n\n public getByTelegramId(telegramId: number): Observable<StudentSimpleModel> {\n return this._httpClient.get<StudentSimpleModel>(this.baseControllerUrl + `ByTelegramId/${telegramId}`);\n }\n\n public search(searchModel: SearchStudentsRequest): Observable<GetListResult<StudentSimpleModel>> {\n return this._httpClient.post<GetListResult<StudentSimpleModel>>(this.baseControllerUrl + 'Search', searchModel);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { GetToGroupByCodeRequest, GetToGroupByCodeResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupEnterService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/enter/';\n }\n\n public enterViaCode(model: GetToGroupByCodeRequest): Observable<GetToGroupByCodeResponse> {\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + 'ViaCode', model);\n }\n\n public enterFreeOfCharge(id: string): Observable<GetToGroupByCodeResponse> {\n return this._httpClient.post<GetToGroupByCodeResponse>(this.baseControllerUrl + `FreeOfCharge/${id}`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { SearchStudentTestSolutions, GetListResult, TestSolutionCourseData, StudentTestSolutionWithChatInfo, StudentTestSolutionModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/test-solution/query`;\n }\n\n public searchByStudent(model: SearchStudentTestSolutions): Observable<GetListResult<StudentTestSolutionWithChatInfo>> {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(`${this._baseUrl}/Search/By/Student`, model);\n }\n\n public getCourseData(id: string): Observable<TestSolutionCourseData> {\n return this._httpClient.get<TestSolutionCourseData>(`${this._baseUrl}/Get/By/Id/${id}/course-data`);\n }\n\n public getSolutionById(id: string): Observable<StudentTestSolutionModel> {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/Get/By/Id/${id}`);\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GenericBaseApiResponse, QuestionAnswerWithResult, QuestionInSolutionIdModel, SaveQuestionPointsValidation, TestQuestionWithModifiers, TestSolutionWithPointsValidation } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.TestSolutionResultController\nBasePath = api/tutor/test-solution-result\n*/\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionResultService {\n readonly baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/test-solution-result`;\n }\n\n public getQuestionsWithModifiersBySolution(solutionId: string) {\n return this._httpClient.get<TestQuestionWithModifiers[]>(`${this.baseControllerUrl}/modifiers/${solutionId}`);\n }\n\n public getQuestionsWithPointsValidationBySolution(solutionId: string) {\n return this._httpClient.get<TestSolutionWithPointsValidation>(`${this.baseControllerUrl}/points/${solutionId}`);\n }\n\n public create(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/create/${solutionId}`, {});\n }\n\n public recalculate(solutionId: string) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/recalculate/${solutionId}`, {});\n }\n\n public saveQuestionResult(model: SaveQuestionPointsValidation) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/save`, model);\n }\n\n public removeQuestionResult(model: QuestionInSolutionIdModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(`${this.baseControllerUrl}/question/validation/remove`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CreateTestForStudentErrorsRequest, StartSolutionFromDirectory, StartTestSolutionByTestId, TestSolutionCreatedResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionStartService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/start';\n }\n\n startByTestId(model: StartTestSolutionByTestId): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/TestId`, model);\n }\n\n startByDirectory(model: StartSolutionFromDirectory): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Directory`, model);\n }\n\n startByErrors(model: CreateTestForStudentErrorsRequest): Observable<TestSolutionCreatedResult> {\n return this._httpClient.post<TestSolutionCreatedResult>(`${this.baseControllerUrl}/By/Errors`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GetListResult, SearchQuestionsByLikes, TestQuestionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiQuestionLikeService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${baseUrl}api/tutor/open-api/question-like`;\n }\n\n public search(model: SearchQuestionsByLikes) {\n return this._httpClient.post<GetListResult<TestQuestionModel>>(`${this._baseUrl}/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestSolutionModel } from \"../../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenApiTestSolutionService {\n \n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = `${this._baseUrl}api/tutor/open-api/test-soluton`;\n }\n\n public getById(id: string) {\n return this._httpClient.get<StudentTestSolutionModel>(`${this._baseUrl}/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, QuestionAnswerWithResult, SolutionWithAnswerModel, SolutionWithAnswersModel, StudentTestSolutionDataModel } from \"../models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/';\n }\n\n checkAnswer(model: SolutionWithAnswerModel) {\n return this._httpClient.post<GenericBaseApiResponse<QuestionAnswerWithResult>>(this.baseControllerUrl + `check-answer`, model);\n }\n\n finishSolution(model: SolutionWithAnswersModel): Observable<GenericBaseApiResponse<StudentTestSolutionDataModel>> {\n return this._httpClient.post<GenericBaseApiResponse<StudentTestSolutionDataModel>>(this.baseControllerUrl + \"finish\", model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { GenericBaseApiResponse, GetListResult, SearchMyTestSolutions, StudentTestSolutionDataModel, StudentTestSolutionWithChatInfo, TestWithActiveSolutionModel } from \"../models\";\n\n/**\nМетоды контроллера Tutor.Api.Controllers.TestSolutions.StudentTestSolutionQueryController\nBasePath = api/tutor/test-solution/query/mine\n*/\n@Injectable({ providedIn: 'root' })\nexport class StudentTestSolutionQueryService {\n baseControllerUrl: string;\n\n constructor(private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/test-solution/query/mine/';\n }\n\n search(model: SearchMyTestSolutions) {\n return this._httpClient.post<GetListResult<StudentTestSolutionWithChatInfo>>(this.baseControllerUrl + `search`, model);\n }\n\n getResultById(id: string){\n let url = this.baseControllerUrl + `Get/By/Id/${id}/result`;\n\n return this._httpClient.get<GenericBaseApiResponse<StudentTestSolutionDataModel>>(url);\n }\n\n getByTestId(testId: string){\n let url = this.baseControllerUrl + `Get/By/TestId/${testId}`;\n\n return this._httpClient.get<TestWithActiveSolutionModel>(url);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { StudentTestGroupRelationDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupTestRelationQueryService {\n\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group/tests`;\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n getById(studentGroupId: string, testId: string) {\n return this._httpClient.get<StudentTestGroupRelationDetailedModel>(`${this.getBaseUrl()}/getById/${testId}/${studentGroupId}`);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, GetListResult } from '../models';\nimport { CreateOrUpdateCuratorMessageTemplate, DeleteCuratorMessageTemplate, SearchCuratorMessageTemplates, CuratorMessageTemplateModel } from '../models/curator-models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CuratorMessageTemplateService {\n getBaseControllerUrl() {\n return this._baseUrl + 'api/tutor/curator/message-template/';\n }\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this._baseUrl = baseUrl;\n }\n\n public createOrUpdate(model: CreateOrUpdateCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'create-or-update', model);\n }\n\n public delete(model: DeleteCuratorMessageTemplate): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.getBaseControllerUrl() + 'delete', model);\n }\n\n public search(model: SearchCuratorMessageTemplates): Observable<GetListResult<CuratorMessageTemplateModel>> {\n return this._httpClient.post<GetListResult<CuratorMessageTemplateModel>>(\n this.getBaseControllerUrl() + 'search',\n model,\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { GetStudentCourseThemeItemsDeadlineWarningsRequest, CourseThemeItemStudentDeadlineWarningModel, CourseThemeIdWithDeadlineWarnings } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n * \n * Предоставляет методы для работы с предупреждениями о наступающем дедлайне в курсе\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseDeadlineWarningService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-deadline-warning/';\n }\n\n getStudentWarnings(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeItemStudentDeadlineWarningModel[]>(this.baseControllerUrl + `query/for-student/all`, model);\n }\n\n getStudentWarningsGrouped(model: GetStudentCourseThemeItemsDeadlineWarningsRequest) {\n return this._httpClient.post<CourseThemeIdWithDeadlineWarnings[]>(this.baseControllerUrl + `query/for-student/grouped`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse } from \"../models\";\nimport { CourseItemGlobalTestRestrictionModel, CourseRemovingAllTestRestrictionsState, TestRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemTestRestrictionController\n * \n * Предоставляет методы для управления глобальными ограничениями теста для блока курса\n * \n * базовый путь = api/tutor/course-theme-item/test-restriction\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionService {\n private readonly baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction';\n }\n\n setGlobal(model: CourseItemGlobalTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/global`, model);\n }\n\n getGlobal(id: string) {\n return this._http.get<TestRestrictionModel>(`${this.baseControllerUrl}/global/${id}`);\n }\n\n removeAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/remove-all/${courseId}`, {});\n }\n\n startRemovingAll(courseId: string) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/removing-all/${courseId}/start`, {})\n }\n\n getRemovingAllState(courseId: string) {\n return this._http.get<CourseRemovingAllTestRestrictionsState>(`${this.baseControllerUrl}/removing-all/${courseId}/state`)\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport {\n SubjectCountsModel,\n SubjectModel,\n SubjectWithClarificationsModel\n} from '../models/subject.models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController\n * \n * Базовый урл = api/tutor/subject/query\n * \n * Методы для получения предметов\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/subject/query`;\n }\n\n public getAll() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all`);\n }\n\n public getAllCached() {\n return this._httpClient.get<SubjectModel[]>(`${this._baseControllerUrl}/get-all/cached`);\n }\n\n public getAllWithClarifications() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications`);\n }\n\n public getAllWithClarificationsCached() {\n return this._httpClient.get<SubjectWithClarificationsModel[]>(`${this._baseControllerUrl}/get-all/with-clarifications/cached`);\n }\n\n public getByAliasOrId(id: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId?idOrAlias=${id}`);\n }\n\n public getByAliasOrIdCached(idOrAlias: string) {\n return this._httpClient.get<SubjectCountsModel>(`${this._baseControllerUrl}/GetByAliasOrId/Cached?idOrAlias=${idOrAlias}`);\n }\n}\n\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CreateSubject,\n OrderSubjectsRequest,\n UpdateSubjectRequest,\n} from '../models/subject.models';\nimport { BaseApiResponse } from '../models';\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectController\n * \n * Базовый урл = api/tutor/subject\n * \n * Методы для работы с предметами\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SubjectsService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/subject/';\n }\n\n public create(model: CreateSubject): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Create', model);\n }\n\n public order(model: OrderSubjectsRequest): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'order', model);\n }\n\n public update(model: UpdateSubjectRequest) : Observable<BaseApiResponse>{\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + 'Update', model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult } from \"../models\";\nimport { CourseItemStudentTestRestrictionModel, GetCourseThemeItemStudentTestRestrictionRequest, TestRestrictionValidationResult, TestRestrictionValidationWithDeadLineWarningResult, SearchStudentThemeItemTestRestrictionsRequest, ThemeItemTestStudentRestrictionModel } from \"../models/test-restriction-models\";\n\n/**\n * Методы контроллера Tutor.Api.Controllers.Courses.CourseThemeItemStudentTestRestrictionController\n *\n * Предоставляет методы для управления ограничениями теста для блока курса\n *\n * базовый путь = api/tutor/course-theme-item/test-restriction/student\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseThemeItemTestRestrictionStudentService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-theme-item/test-restriction/student/';\n }\n\n updateForStudent(model: CourseItemStudentTestRestrictionModel) {\n return this._http.post<BaseApiResponse>(this.baseControllerUrl + `update`, model);\n }\n\n getStudentRestriction(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationResult>(this.baseControllerUrl + `query/get-validated-item-restriction`, model);\n }\n\n getStudentRestrictionWithDeadLineWarning(model: GetCourseThemeItemStudentTestRestrictionRequest) {\n return this._http.post<TestRestrictionValidationWithDeadLineWarningResult>(this.baseControllerUrl + `query/get-validated-item-restriction-with-deadline-warning`, model);\n }\n\n searchStudents(model: SearchStudentThemeItemTestRestrictionsRequest) {\n return this._http.post<GetListResult<ThemeItemTestStudentRestrictionModel>>(this.baseControllerUrl + 'query/search', model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CourseThemeSolutionsWithTestRestrictionsViewModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.Courses.StudentCourseViewController\n * Оптимизированные методы для работы студентов с курсами\n * Базовый урл = api/tutor/student-course-view\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseViewService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course-view/';\n }\n\n /**\n * \n * @param studentProgressId Запрос для получения решений тестов по блоку в теме курса и ограничения по количеству попыток и дедлайну. Метод кешируется на 30 секунд. \n * @param themeItemId \n * @returns \n */\n public loadThemeSolutionsAndTestRestriction(studentProgressId: string, themeItemId: string): Observable<CourseThemeSolutionsWithTestRestrictionsViewModel> {\n return this._httpClient.get<CourseThemeSolutionsWithTestRestrictionsViewModel>(this.baseControllerUrl + `load-theme-solutions-and-restriction?studentProgressId=${studentProgressId}&themeItemId=${themeItemId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentTestSolutionDetailedModel } from \"../models\";\n\n/**\n * Предоставляет методы для поиска решений тестов \n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TestSolutionDetailedQueryService {\n\n private _baseUrl: string = \"\";\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + \"api/tutor/test-solution/query/\";\n }\n\n /**\n * \n * @param id Идентификатор решения теста\n * @returns \n */\n public get(id: string): Observable<StudentTestSolutionDetailedModel> {\n return this._httpClient.get<StudentTestSolutionDetailedModel>(this._baseUrl + `Get/By/Id/${id}/detailed`);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { CourseLandingPageDetailedModel, CourseLandingPageSimpleModel, GetListResult, SearchCourseLandingPageRequest } from '../models';\n\n/**\n * Предоставляет методы для работы с лендинг страницами для курса\n * Контроллер = Tutor.Api.Controllers.Landings.CourseLandingPageController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseLandingPageQueryService {\n\n private readonly _baseUrl: string = \"\";\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseUrl = baseUrl + 'api/tutor/course-landing-page/query';\n }\n\n /**\n * Поиск лендинг страниц\n * @param model \n * @returns \n */\n search(model: SearchCourseLandingPageRequest) {\n return this._httpClient.post<GetListResult<CourseLandingPageSimpleModel>>(`${this._baseUrl}/search`, model);\n }\n\n /**\n * Получить лендинг страницу по идентификатору\n * @param id идентификатор страницы\n * @param useCache использовать кеш\n * @returns \n */\n getById(id: string, useCache: boolean) {\n if (useCache) {\n return this.getByIdCached(id);\n }\n\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id?id=${id}`);\n }\n\n private getByIdCached(id: string) {\n return this._httpClient.get<CourseLandingPageDetailedModel>(`${this._baseUrl}/get-by-id/cached?id=${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseOrderModel, CreateCourseOrderRequest, CreateCourseOrderResponse } from \"../models/course-shop-models\";\n\n/**\n * Предоставляем методы контроллера Tutor.Api.Controllers.Courses.CourseOrderController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseOrderService {\n baseControllerUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-order';\n }\n\n /**\n * Получить заказ на покупку курса по идентификатору\n * @param id идентификатор заказа\n * @returns \n */\n getById(id: string) {\n return this._httpClient.get<CourseOrderModel>(`${this.baseControllerUrl}/query/get-by-id/${id}`);\n }\n\n /**\n * созать заказ на покупку курса\n * @param model запрос для создания заказа на покупку курса\n * @returns \n */\n create(model: CreateCourseOrderRequest) {\n return this._httpClient.post<CreateCourseOrderResponse>(`${this.baseControllerUrl}/create`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { CourseShopWindowDetailedModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseShopWindowDetailedService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/course-shop-window-detailed';\n }\n\n getMain() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main`);\n }\n\n getMainCached() {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/main/cached`);\n }\n\n getById(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}`);\n }\n\n getByIdCached(id: string) {\n return this._httpClient.get<CourseShopWindowDetailedModel>(`${this.baseControllerUrl}/by-id/${id}/cached`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject } from \"@angular/core\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { StudentGroupPaymentPlansModel } from \"../models\";\n\n/**\n * Предоставляет методы контроллера Tutor.Api.Controllers.StudentGroupPaymentPlans.StudentGroupPaymentPlanQueryController\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentGroupPaymentPlanQueryService {\n getBaseUrl() {\n return `${this._baseUrl}api/tutor/student-group-payment-plan/query`;\n }\n\n constructor(\n private _httpClient: HttpClient,\n @Inject('BASE_URL') private _baseUrl: string\n ) { }\n\n /**\n * Получить группу и глобальные планы оплаты с ней связанные\n * @param id идентификатор группы\n * @returns групп с планами оплаты\n */\n public getPaymentPlans(id: string): Observable<StudentGroupPaymentPlansModel> {\n return this._httpClient.get<StudentGroupPaymentPlansModel>(`${this.getBaseUrl()}/payment-plans/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { TutorFullApplicationPublicOptions } from \"../models\";\nimport { of, tap } from \"rxjs\";\n\n/**\n * Сервис для предоставления публичной конфигурации по приложению\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TutorAppConfigurationService {\n\n static readonly VariableKey = \"__Tutor.FullConfiguration\";\n\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/settings/application`;\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n get(): TutorFullApplicationPublicOptions {\n return TutorAppConfigurationService.getFromWindow();\n }\n\n /**\n * Получить конифгурацию из window\n * @returns\n */\n static getFromWindow(): TutorFullApplicationPublicOptions {\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n throw new Error(`в window не установлена переменная ${TutorAppConfigurationService.VariableKey}`);\n }\n\n return value;\n }\n\n set(value: TutorFullApplicationPublicOptions) {\n window[TutorAppConfigurationService.VariableKey] = value;\n }\n\n getFromServerIfValueNotSet() {\n\n const value = window[TutorAppConfigurationService.VariableKey];\n\n if (value === undefined || value === null) {\n return this._http.get<TutorFullApplicationPublicOptions>(this.baseControllerUrl).pipe(tap(value => {\n this.set(value);\n return value;\n }));\n }\n\n\n return of<TutorFullApplicationPublicOptions>(value);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiResponse, ChangeQuestionLike, QuestionIdWithLike } from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class QuestionLikeService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-likes/';\n }\n\n public change(model: ChangeQuestionLike): Observable<BaseApiResponse> {\n return this._httpClient.post<BaseApiResponse>(this.baseControllerUrl + `change`, model);\n }\n\n public getBySolutionId(id: string): Observable<QuestionIdWithLike[]> {\n return this._httpClient.get<QuestionIdWithLike[]>(this.baseControllerUrl + `for-solution/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchCourseProgressesRequest, StudentCourseProgressModel, StudentCourseProgressWithStudentModel } from '../models/student-course-models';\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress/query`;\n }\n\n /**\n * Получить прогресс студента по курсу\n * @param courseId Идентификатор курса\n * @returns \n */\n getMine(courseId: string) {\n return this._httpClient.get<StudentCourseProgressModel>(`${this.baseControllerUrl}/mine/${courseId}`);\n }\n\n search(model: SearchCourseProgressesRequest) {\n return this._httpClient.post<GetListResult<StudentCourseProgressWithStudentModel>>(\n `${this.baseControllerUrl}/search`,\n model\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { BaseApiResponse } from '../models';\nimport { FinishStudentCourseThemeProgressRequest, StartCourseThemeItemTestRequest, StartCourseThemeItemTestResult, StartCourseThemeRequest, UpdateStudentCourseThemeProgressRequest, UpdateStudentCourseThemeProgressResult } from '../models/student-course-models';\n\n/**\n * Сервис для прохождения курса студентом\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class StudentCourseProgressService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course-progress`;\n }\n\n startTheme(model: StartCourseThemeRequest) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/theme/start`, model);\n }\n\n updateThemeProgress(model: UpdateStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/update`, model);\n }\n\n finishTheme(model: FinishStudentCourseThemeProgressRequest) {\n return this._httpClient.post<UpdateStudentCourseThemeProgressResult>(`${this.baseControllerUrl}/theme/finish`, model);\n }\n\n startTestForItemBlock(model: StartCourseThemeItemTestRequest) {\n return this._httpClient.post<StartCourseThemeItemTestResult>(`${this.baseControllerUrl}/theme/item/start-test`, model);\n }\n}\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { SearchStudentGroupMaterialsRequest, StudentGroupWithMaterialsModel } from \"../models/material-models\";\nimport { Observable } from \"rxjs\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupMaterialService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-group/query`;\n }\n\n getMaterials(model: SearchStudentGroupMaterialsRequest): Observable<GetListResult<StudentGroupWithMaterialsModel>> {\n return this._httpClient.post<GetListResult<StudentGroupWithMaterialsModel>>(`${this.baseControllerUrl}/materials/search`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { AddCoursePaymentRequest, AddCoursePaymentResult, SetPaymentSystemForCoursePayment } from \"../models/course-payment-models\";\nimport { BaseApiResponse } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-course/payments`;\n }\n\n add(model: AddCoursePaymentRequest) {\n return this._httpClient.post<AddCoursePaymentResult>(`${this.baseControllerUrl}/add`, model);\n }\n\n setPaymentSystem(model: SetPaymentSystemForCoursePayment) {\n return this._httpClient.post<BaseApiResponse>(`${this.baseControllerUrl}/set-payment-system`, model);\n }\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { EnumValueTypeWithDescriptionStudentCoursePaymentType, SearchStudentCoursePaymentsRequest, StudentCoursePaymentDetailedModel, StudentCoursePaymentModel } from \"../models/course-payment-models\";\nimport { GetListResult } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CoursePaymentQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-course/payments/query';\n }\n\n getById(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/byId/${id}`);\n }\n\n getByPaymentId(id: string) {\n return this._httpClient.get<StudentCoursePaymentModel>(`${this.baseControllerUrl}/by/pmt-id/${id}`);\n }\n\n search(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n searchDetailed(model: SearchStudentCoursePaymentsRequest) {\n return this._httpClient.post<GetListResult<StudentCoursePaymentDetailedModel>>(\n `${this.baseControllerUrl}/search-detailed`,\n model\n );\n }\n\n getTypes() {\n return this._httpClient.get<EnumValueTypeWithDescriptionStudentCoursePaymentType[]>(this.baseControllerUrl + 'Types');\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetListResult, QuestionStatisticComputingState, SearchTestQuestionErrorsStatisticRequest, StudentTestQuestionStatisticDetailedModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class TestQuestionStatisticQueryService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/question-statistic';\n }\n\n search(model: SearchTestQuestionErrorsStatisticRequest) {\n return this._httpClient.post<GetListResult<StudentTestQuestionStatisticDetailedModel>>(\n `${this.baseControllerUrl}/query/search`,\n model\n );\n }\n\n getState() {\n return this._httpClient.get<QuestionStatisticComputingState>(`${this.baseControllerUrl}/state`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupCourseAccessRequest, StudentGroupCourseWithDetailedAccessModel } from \"../models/group-access-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupCourseAccessService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group-access';\n }\n\n get(model: GetStudentGroupCourseAccessRequest) {\n return this._httpClient.post<StudentGroupCourseWithDetailedAccessModel>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { RegisterModel, RegisterStudentRequest, StudentRegistrationResult } from \"../models/student-models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentRegistrationService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = baseUrl + 'api/tutor/student';\n }\n\n register(model: RegisterModel): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register`, model);\n }\n\n registerV2(model: RegisterStudentRequest): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/v2`, model);\n }\n\n demoRegistration(): Observable<StudentRegistrationResult> {\n return this._httpClient.post<StudentRegistrationResult>(`${this._baseControllerUrl}/register/demo`, {});\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { BaseApiResponse, GetListResult, OrderPaymentSystemsRequest, PaymentSystemModel, SearchPaymentSystemsRequest } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PmtSystemService {\n private baseControllerUrl: string;\n\n constructor(\n private readonly _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = `${baseUrl}api/pmt/system`;\n }\n\n search(model: SearchPaymentSystemsRequest) {\n return this._http.post<GetListResult<PaymentSystemModel>>(`${this.baseControllerUrl}/search`, model);\n }\n\n getEnabledSystemsCached() {\n return this._http.get<PaymentSystemModel[]>(`${this.baseControllerUrl}/cache/enabled-list`);\n }\n\n getById(name: string) {\n return this._http.get<PaymentSystemModel>(`${this.baseControllerUrl}/get/by-id/${name}`);\n }\n\n order(model: OrderPaymentSystemsRequest) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/order`, model);\n }\n\n createOrUpdate(model: PaymentSystemModel) {\n return this._http.post<BaseApiResponse>(`${this.baseControllerUrl}/create-or-update`, model);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { DefaultCourseLandingPageModel } from \"../models/default-course-landing-page-models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultCourseLandingPageQueryService {\n private readonly _baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this._baseControllerUrl = `${baseUrl}api/tutor/default-course-landing-page/query`;\n }\n\n getById(id: string) {\n return this._httpClient.get<DefaultCourseLandingPageModel>(`${this._baseControllerUrl}/get-by-id/${id}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentGroupInfoPageRequest, StudentGroupInfoPageDetailedModel } from \"../models/group-page-info-models\";\nimport { Observable } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentGroupInfoPageService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-group/info-page';\n }\n\n get(model: GetStudentGroupInfoPageRequest): Observable<StudentGroupInfoPageDetailedModel> {\n return this._httpClient.post<StudentGroupInfoPageDetailedModel>(\n `${this.baseControllerUrl}/get`,\n model\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { StudentStatisticSnapshotValueModel } from \"../models\";\n\n@Injectable({ providedIn: 'root' })\nexport class StudentAggregatedStatisticSnapshotService {\n baseControllerUrl: string;\n\n constructor(\n private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string\n ) {\n this.baseControllerUrl = baseUrl + 'api/tutor/student-aggregated-statistic-snapshot';\n }\n\n public get(studentId: string) {\n return this._httpClient.get<StudentStatisticSnapshotValueModel>(`${this.baseControllerUrl}/query/get-by-id/${studentId}`);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable, Inject } from \"@angular/core\";\nimport { GetStudentInGroupStatisticSnapshotRequest, StudentInGroupStatisticSnapshotModel } from \"../models\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GroupStatisticSnapshotStudentService {\n baseControllerUrl: string;\n\n constructor(private readonly _httpClient: HttpClient,\n @Inject('BASE_URL') baseUrl: string) {\n this.baseControllerUrl = `${baseUrl}api/tutor/student-in-group-statistic-snapshot`;\n }\n\n /**\n * \n * @param model запрос для получения снапшота агрегированной статистики ученика по предметам и тегам в рамках группы (курса)\n * @returns \n */\n get(model: GetStudentInGroupStatisticSnapshotRequest) {\n return this._httpClient.post<StudentInGroupStatisticSnapshotModel | null>(`${this.baseControllerUrl}/get`, model);\n }\n}\n","import { CourseThemeItemModel } from \"./course-models\";\nimport { TestQuestionModel, TestQuestionType } from \"./question-models\";\nimport { QuestionValidationSourceType } from \"./solution-validation-models\";\nimport { TestQuestionErrorsStatisticOrderType } from \"./student-statistic-models\";\n\nexport interface SearchStudentTestSolutions {\n isFinished: boolean | null;\n studentId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface TestSolutionCourseData {\n solutionId: string;\n courseThemeItemId: string;\n courseThemeItemIndex: number;\n courseThemeId: string;\n courseThemeName: string;\n courseName: string;\n courseId: string;\n nextItem: CourseThemeItemModel;\n}\n\nexport interface SolutionWithAnswerModel {\n solutionId: string;\n answer: QuestionAnswer;\n}\n\nexport interface QuestionAnswer {\n questionId: string;\n answerOrAnswers: string;\n}\n\nexport interface StudentTestSolutionWithChatInfo {\n solution: StudentTestSolutionSimpleModel;\n systemValidation: TestSolutionSystemValidationModel;\n unreadMessagesCount: number;\n}\n\nexport interface TestSolutionSystemValidationModel {\n studentTotalPoints: number;\n studentProgressPercents: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport interface StartSolutionFromDirectory {\n workSpaceId: string;\n directoryId: string;\n useFilter: boolean;\n canCheckSingleQuestion: boolean;\n filter: QuestionsFilter;\n}\n\nexport interface CreateTestForStudentErrorsRequest {\n testName: string; \n questionsCount: number; \n questionTypes: Array<TestQuestionType>; \n orderType: TestQuestionErrorsStatisticOrderType; \n canCheckSingleQuestion: boolean; \n}\n\nexport interface TestSolutionCreatedResult {\n succeeded: boolean;\n errorMessage: string;\n solutionId: string;\n}\n\nexport interface QuestionsFilter {\n types: Array<TestQuestionType>;\n}\n\nexport interface StartTestSolutionByTestId {\n testId: string;\n studentGroupId: string;\n canCheckSingleQuestion: boolean;\n}\n\nexport interface SearchMyTestSolutions {\n isFinished: boolean | null;\n testId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface StudentTestSolutionSimpleModel {\n id: string;\n testName: string;\n testId: string;\n isFinished: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n}\n\nexport enum AnswerValidationResultType {\n NeedToCheckByYourSelf = 'NeedToCheckByYourSelf',\n NotCorrectAnswer = 'NotCorrectAnswer',\n PartiallyCorrectAnswer = 'PartiallyCorrectAnswer',\n CorrectAnswer = 'CorrectAnswer',\n InProcess = 'InProcess'\n}\n\nexport interface SolutionWithAnswersModel {\n solutionId: string;\n answers: Array<QuestionAnswer>;\n}\n\nexport interface StudentTestSolutionModel {\n studentId: string;\n solutionId: string;\n studentGroupId: string;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n startedOnUtc: string; /* Date */\n finishedOnUtc: string | null; /* Date */\n isFinished: boolean;\n solution: StudentTestSolutionDataModel;\n test: TestModel;\n}\n\n\nexport interface StudentTestSolutionDataModel {\n /**\n * Есть ли вопросы, которые находятся в процессе расчёта результата\n */\n hasAnswersInProcess: boolean;\n answers: Array<QuestionAnswerWithResult>;\n}\n\nexport interface TestModel {\n name: string;\n description: string;\n questions: Array<TestQuestionModel>;\n}\n\nexport interface TestWithActiveSolutionModel {\n testId: string;\n activeSolutionId: string;\n test: TestModel;\n}\n\n\nexport interface QuestionAnswerWithResult {\n isChecked: boolean;\n questionId: string;\n answerOrAnswers: string;\n pointsValidation: QuestionPointsValidationModel;\n resultType: AnswerValidationResultType;\n}\n\nexport interface QuestionPointsValidationModel {\n errorOccured: boolean;\n inProcess: boolean;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n isValidated: boolean;\n sourceType: QuestionValidationSourceType;\n validatorId: string;\n}\n\nexport interface StudentTestSolutionDetailedModel {\n solutionId: string;\n hasAnswersInProcess: boolean;\n hasCuratorValidation: boolean;\n canCheckSingleQuestion: boolean;\n studentGroupId: string;\n studentId: string;\n startedOnUtc: Date;\n finishedOnUtc: Date | null;\n isFinished: boolean;\n test: StudentTestSolutionDetailedTestModel;\n}\n\nexport interface StudentTestSolutionDetailedTestModel {\n name: string;\n description: string;\n questions: Array<StudentTestSolutionDetailedTestQuestion>;\n}\n\nexport interface StudentTestSolutionDetailedTestQuestion {\n question: TestQuestionModel;\n answerWithValidation: QuestionAnswerWithResult;\n isQuestionLikedByStudent: boolean;\n}\n","import { QuestionAnswerWithResult } from \"./test-solution-models\";\n\nexport interface TestSolutionWithPointsValidation {\n solutionId: string;\n isFinished: boolean;\n hasPointsResult: boolean;\n questions: Array<QuestionAnswerWithResult>;\n studentTotalPoints: number;\n maxTotalPoints: number;\n questionsCount: number;\n validatedQuestionsCount: number;\n inProcessQuestionsCount: number;\n hasRightAnswerQuestionsCount: number;\n}\n\nexport enum QuestionValidationSourceType {\n System = 'System',\n Student = 'Student',\n Curator = 'Curator'\n}\n\nexport interface TestQuestionWithModifiers {\n questionId: string;\n modifiers: Array<TestQuestionModiferModel>;\n}\n\nexport interface TestQuestionModiferModel {\n name: string;\n data: string;\n}\n\nexport interface SaveQuestionPointsValidation {\n idModel: QuestionInSolutionIdModel;\n answerPoints: number;\n questionTotalPoints: number;\n description: string;\n}\n\nexport interface QuestionInSolutionIdModel {\n solutionId: string;\n questionId: string;\n}","export interface CourseDetailedModel {\n id: string;\n name: string;\n templateId: string;\n weight: number;\n versionId: string;\n themes: Array<CourseThemeDetailedModel>;\n}\n\nexport interface CourseSimpleModel {\n id: string;\n name: string;\n weight: number;\n versionId: string;\n templateVersionId: string;\n needsUpdating: boolean;\n}\n\nexport interface CourseThemeDetailedModel {\n id: string;\n name: string;\n description: string;\n weight: number;\n courseVersionId: string;\n items: Array<CourseThemeItemModel>;\n}\n\nexport interface CourseThemeItemModel {\n id: string;\n name: string;\n html: string;\n type: CourseThemeItemType;\n weight: number;\n templateItemId: string;\n test: CourseThemeItemTestModel;\n userInterfaceSettings: CourseThemeItemUISettingsModel;\n computedThemeProgress: ProgressModel;\n}\n\nexport interface ProgressModel {\n weight: number;\n progressPercents: number;\n}\n\nexport interface CourseThemeItemUISettingsModel {\n previousSlideBtnText: string;\n nextSlideBtnText: string;\n}\n\nexport enum CourseThemeItemType {\n JustHtml = 'JustHtml',\n Test = 'Test'\n}\n\nexport interface CourseThemeItemTestModel {\n testId: string;\n testName: string;\n totalPointsToPass: number;\n totalPercentageToPass: number;\n canCheckSingleQuestion: boolean;\n}","import { StudentSimpleModel } from \"./student-models\";\n\nexport interface CourseItemGlobalTestRestrictionModel {\n courseThemeItemId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionModel {\n maxTriesCount: number | null;\n maxStartDate: string | null;\n}\n\nexport interface SearchStudentThemeItemTestRestrictionsRequest {\n q: string;\n courseThemeItemId: string;\n count: number | null;\n offSet: number;\n}\n\nexport interface ThemeItemTestStudentRestrictionModel {\n restriction: TestRestrictionModel;\n student: StudentSimpleModel;\n}\n\nexport interface CourseItemStudentTestRestrictionModel {\n courseThemeItemId: string;\n studentId: string;\n testRestriction: TestRestrictionModel;\n}\n\nexport interface TestRestrictionValidationResult {\n testRestriction: TestRestrictionModel;\n canStartTest: boolean;\n restrictionRuleType: TestRestrictionValidationResultRuleType | null;\n validationMessage: string;\n solutionsCount: number;\n attemptsLeft: number;\n}\n\nexport enum TestRestrictionValidationResultRuleType {\n DateExpired = 'DateExpired',\n AttemptsExceeded = 'AttemptsExceeded'\n}\n\nexport interface GetCourseThemeItemStudentTestRestrictionRequest {\n courseThemeItemId: string;\n studentId: string;\n}\n\nexport interface TestRestrictionValidationWithDeadLineWarningResult {\n deadLineWarning: DeadLineWithWarningMessage;\n restrictionValidationResult: TestRestrictionValidationResult;\n}\n\nexport interface CourseThemeItemStudentDeadlineWarningModel {\n themeItemId: string;\n courseThemeId: string;\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface GetStudentCourseThemeItemsDeadlineWarningsRequest {\n courseId: string;\n studentId: string;\n}\n\nexport interface CourseThemeIdWithDeadlineWarnings {\n courseThemeId: string;\n deadlines: Array<DeadLineWithWarningMessage>;\n}\n\nexport interface DeadLineWithWarningMessage {\n deadLine: string;\n warningMessage: string;\n}\n\nexport interface CourseRemovingAllTestRestrictionsState {\n taskId: string;\n inProcess: boolean;\n state: CourseRemovingAllTestRestrictionsStateModel;\n}\n\nexport interface CourseRemovingAllTestRestrictionsStateModel {\n courseId: string;\n themeIdsLeftToUpdate: Array<string>;\n totalThemesToUpdateCount: number;\n updateProgressPercents: number;\n}\n","export enum TestQuestionType {\n SelectRightAnswerOrAnswers = 'SelectRightAnswerOrAnswers',\n TypeRightAnswer = 'TypeRightAnswer',\n DetailedAnswer = 'DetailedAnswer',\n TypeAnswerWithErrors = 'TypeAnswerWithErrors',\n ManyAnswersBoxes = 'ManyAnswersBoxes'\n}\n\nexport interface TestQuestionModel {\n id: string;\n title: string;\n titleBodyMarkUp: string;\n helpBodyMarkUp: string;\n answerExplanationMarkUp: string;\n versionId: string;\n type: TestQuestionType;\n selectRightAnswerOrAnswersData: SelectRightAnswerOrAnswersQuestionData;\n typeRightAnswerQuestionData: TypeRightAnswerQuestionData;\n typeAnswerWithErrorsData: TypeAnswerWithErrorsQuestionData;\n manyAnswersBoxesData: ManyAnswersBoxesQuestionData;\n}\n\nexport interface ManyAnswersBoxesQuestionData {\n answerBoxes: Array<QuestionAnswerBox>;\n}\n\nexport interface QuestionAnswerBox {\n label: string;\n rightAnswer: string;\n}\n\nexport interface TypeAnswerWithErrorsQuestionData {\n rightAnswer: string;\n ignoreTextOrder: boolean;\n}\n\n\nexport interface SelectRightAnswerOrAnswersQuestionData {\n selectRightAnswerTitle: string;\n rightAnswersCount: number;\n answers: Array<Answer>;\n}\n\nexport interface Answer {\n text: string;\n isRightAnswer: boolean;\n}\n\nexport interface TypeRightAnswerQuestionData {\n caseInSensitive: boolean;\n rightAnswers: Array<string>;\n}\n","import { StudentGroupSimpleModel } from \"./group-models\";\nimport { StudentSimpleModel } from \"./student-models\";\n\nexport interface AddCoursePaymentRequest {\n planId: string;\n isPrivatePaymentPlan: boolean;\n type: StudentCoursePaymentType;\n courseId: string;\n source: string;\n sourceDescription: string;\n paymentSystemId: string;\n}\n\nexport enum StudentCoursePaymentType {\n BuyCourse = 'BuyCourse',\n ExtendSubscription = 'ExtendSubscription'\n}\n\nexport interface AddCoursePaymentResult {\n succeeded: boolean;\n coursePaymentId: string;\n errorMessage: string;\n}\n\nexport interface SetPaymentSystemForCoursePayment {\n coursePaymentId: string;\n paymentSystemId: string;\n}\n\nexport interface DemoPaymentDescription {\n html: string;\n}\n\nexport interface StudentCoursePaymentModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n studentGroupId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n type: StudentCoursePaymentType;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n}\n\nexport interface SearchStudentCoursePaymentsRequest {\n q: string;\n studentId: string;\n groupId: string;\n isPaid: boolean | null;\n paymentType: StudentCoursePaymentType | null;\n hasError: boolean | null;\n count: number | null;\n offSet: number;\n}\n\n\nexport interface StudentCoursePaymentDetailedModel {\n id: string;\n name: string;\n description: string;\n courseName: string;\n courseMiniHtml: string;\n courseDetailedHtml: string;\n daysLength: number;\n amount: number;\n amountString: string;\n paymentId: string;\n paymentSystemId: string;\n paymentSystemProviderName: string;\n isFinished: boolean;\n isPaid: boolean;\n studentProcessedToGroup: boolean;\n hasError: boolean;\n errorType: string;\n errorMessage: string;\n providerErrorType: string;\n providerErrorMessage: string;\n createdOnUtc: string;\n paidOnUtc: string;\n finishedOnUtc: string;\n type: StudentCoursePaymentType;\n student: StudentSimpleModel;\n group: StudentGroupSimpleModel;\n}\n\nexport interface EnumValueTypeWithDescriptionStudentCoursePaymentType {\n type: StudentCoursePaymentType;\n description: string;\n}","import { TestQuestionModel, TestQuestionType } from \"./question-models\";\n\nexport interface StudentTestQuestionStatisticDetailedModel {\n id: string;\n studentId: string;\n questionVersionId: string;\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n question: TestQuestionModel;\n}\n\nexport interface SearchTestQuestionErrorsStatisticRequest {\n studentId: string;\n questionTypes: Array<TestQuestionType>;\n orderType: TestQuestionErrorsStatisticOrderType;\n count: number | null;\n offSet: number;\n}\n\n\nexport enum TestQuestionErrorsStatisticOrderType {\n MostErrors = 'MostErrors',\n RecentErrors = 'RecentErrors'\n}\n\nexport interface QuestionStatisticComputingState {\n toComputeQuestionReportsCount: number;\n toComputeStudentSnapshotsCount: number;\n toComputeStudentGroupSnapshotsCount: number;\n dataOnUtc: string;\n}\n\nexport interface StudentStatisticSnapshotValueModel {\n studentId: string;\n dataOnUtc: string;\n computedOnUtc: string;\n recomputingRequired: boolean;\n tags: Array<StudentStatisticSnapshotTagValueModel>;\n subjects: Array<StudentStatisticSnapshotSubjectValueModel>;\n}\n\nexport interface StudentStatisticSnapshotTagValueModel {\n tagId: string;\n tagDisplayName: string;\n statistic: ComputedStatisticPresentationModel;\n}\n\nexport interface ComputedStatisticPresentationModel {\n errorsAnswersCount: number;\n almostRightAnswersCount: number;\n rightAnswersCount: number;\n score: number;\n attemptsWithScoreTotalCount: number;\n totalAttemptsCount: number;\n successRatePercents: string;\n successRateRankValue: number;\n earnedPoints: number;\n totalPoints: number;\n}\n\nexport interface StudentStatisticSnapshotSubjectValueModel {\n subjectId: string;\n subjectName: string;\n statistic: ComputedStatisticPresentationModel;\n}","/**\n * Роли для модуля Tutor\n */\nexport class TutorRoles {\n\n /**\n * Куратор - проверяет домашние задания студентов (учеников).\n */\n static readonly curator: string = 'Tutor.Curator';\n\n /**\n * Администратор - управляет и настраивает платформу\n */\n static readonly admin: string = 'Tutor.Admin';\n\n /**\n * Студент (ученик) - проходит курсы, решает тесты, просматривает материалы.\n */\n static readonly student: string = 'Tutor.Student';\n\n /**\n * Пользователь, который может вносить вопросы\n */\n static readonly testAuthor: string = 'Tutor.TestAuthor';\n\n /**\n * Администратор конкретной школы\n */\n static readonly schoolAdmin: string = 'Tutor.SchoolAdmin';\n}","export class ImageSrcExtensions {\n\n /**\n * Вовзращает полный путь к изображению по идентификатору файла и типу размера изображения \n * @param publicImageUrlFormat Форматированная строка содержащая {fileId} и {sizeType} для замены\n * @param imageId Идентификатор изображения\n * @param imageType Тип изображения\n * @returns \n */\n static createImagePath(publicImageUrlFormat: string, imageId: number, imageType = 'Medium'): string | null {\n \n if (imageId === null || imageId === undefined) {\n return null;\n }\n\n return publicImageUrlFormat.replace('{sizeType}', imageType).replace('{fileId}', imageId.toString())\n }\n}\n","/*\n * Public API Surface of tutor-logic\n */\n\nexport * from './lib/tutor-logic.module';\nexport * from './lib/services';\nexport * from './lib/models';\nexport * from './lib/consts';\nexport * from './lib/extensions'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ export * from './course-models';
11
11
  export * from './curator-models';
12
12
  export * from './test-restriction-models';
13
13
  export * from './subject.models';
14
- export * from './icon-models';
15
14
  export * from './course-test-models';
16
15
  export * from './landing-models';
17
16
  export * from './course-shop-models';
@@ -27,4 +26,3 @@ export * from './payment-system-models';
27
26
  export * from './default-course-landing-page-models';
28
27
  export * from './group-page-info-models';
29
28
  export * from './student-statistic-snapshot-models';
30
- export * from './subject-menu-models';
@@ -1,4 +1,4 @@
1
- import { SubjectMenuWithIconsModel } from "./subject-menu-models";
1
+ import { SubjectMenuWithIconsModel } from "./subject.models";
2
2
  export interface SettingModel {
3
3
  name: string;
4
4
  description: string;
@@ -1,5 +1,3 @@
1
- import { IconSimpleModel } from "./icon-models";
2
- import { SubjectMenu } from "./subject-menu-models";
3
1
  export interface SubjectModel {
4
2
  id: string;
5
3
  name: string;
@@ -21,32 +19,30 @@ export interface SubjectCountsModel {
21
19
  questionsCount: number;
22
20
  testsCount: number;
23
21
  }
24
- export interface ChangeSubjectConfiguration {
25
- id: string;
26
- configuration: SubjectMenu;
27
- }
28
22
  export interface OrderSubjectsRequest {
29
23
  ids: Array<string>;
30
24
  }
31
- export interface SubjectWithIconModel {
25
+ export interface SubjectWithClarificationsModel {
32
26
  id: string;
33
27
  name: string;
34
28
  alias: string;
35
- icon: IconSimpleModel;
29
+ clarificationValues: Array<string>;
36
30
  }
37
- export interface SubjectForStudentDetailedViewModel {
31
+ export interface SubjectWithIconModel {
32
+ id: string;
33
+ name: string;
34
+ alias: string;
38
35
  icon: IconSimpleModel;
39
- subject: SubjectModel;
40
- menu: SubjectMenu;
41
- globalTests: Array<SubjectTestSimpleModel>;
42
36
  }
43
- export interface SubjectTestSimpleModel {
37
+ export interface IconSimpleModel {
44
38
  id: string;
39
+ setId: string;
45
40
  name: string;
41
+ fileId: number;
46
42
  }
47
- export interface SubjectWithClarificationsModel {
43
+ export interface SubjectMenuWithIconsModel {
48
44
  id: string;
49
- name: string;
50
- alias: string;
51
- clarificationValues: Array<string>;
45
+ isMain: boolean;
46
+ iconSetId: string;
47
+ subjects: Array<SubjectWithIconModel>;
52
48
  }
@@ -1,5 +1,5 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { SubjectCountsModel, SubjectModel, SubjectWithIconModel, SubjectWithClarificationsModel } from '../models/subject.models';
2
+ import { SubjectCountsModel, SubjectModel, SubjectWithClarificationsModel } from '../models/subject.models';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectQueryController
@@ -16,7 +16,6 @@ export declare class SubjectQueryService {
16
16
  getAllCached(): import("rxjs").Observable<SubjectModel[]>;
17
17
  getAllWithClarifications(): import("rxjs").Observable<SubjectWithClarificationsModel[]>;
18
18
  getAllWithClarificationsCached(): import("rxjs").Observable<SubjectWithClarificationsModel[]>;
19
- getAllWithIconsCached(iconSetId: string): import("rxjs").Observable<SubjectWithIconModel[]>;
20
19
  getByAliasOrId(id: string): import("rxjs").Observable<SubjectCountsModel>;
21
20
  getByAliasOrIdCached(idOrAlias: string): import("rxjs").Observable<SubjectCountsModel>;
22
21
  static ɵfac: i0.ɵɵFactoryDeclaration<SubjectQueryService, never>;
@@ -13,11 +13,9 @@ export { StudentGroupTestRelationQueryService } from './StudentGroupTestRelation
13
13
  export { CuratorMessageTemplateService } from './CuratorMessageTemplateService';
14
14
  export { CourseDeadlineWarningService } from './CourseDeadlineWarningService';
15
15
  export { CourseThemeItemTestRestrictionService } from './CourseThemeItemTestRestrictionService';
16
- export { SubjectMenuService } from './SubjectMenuService';
17
16
  export { SubjectQueryService } from './SubjectQueryService';
18
17
  export { SubjectsService } from './SubjectsService';
19
18
  export { CourseThemeItemTestRestrictionStudentService } from './CourseThemeItemTestRestrictionStudentService';
20
- export { StudentSubjectViewService } from './StudentSubjectViewService';
21
19
  export { StudentCourseViewService } from './StudentCourseViewService';
22
20
  export { TestSolutionDetailedQueryService } from './TestSolutionDetailedQueryService';
23
21
  export { CourseLandingPageQueryService } from './CourseLandingPageQueryService';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tutor-logic",
3
- "version": "4.0.13",
3
+ "version": "4.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.14",
6
6
  "@angular/core": "^19.2.14"
@@ -1,33 +0,0 @@
1
- import { SubjectWithIconModel } from "./subject.models";
2
- export interface SubjectMenu {
3
- root: SubjectMenuItem;
4
- }
5
- export interface SubjectMenuItem {
6
- text: string;
7
- path: string;
8
- type: SubjectMenuItemType;
9
- workSpaceId: string;
10
- children: Array<SubjectMenuItem>;
11
- }
12
- export declare enum SubjectMenuItemType {
13
- MenuItem = "MenuItem",
14
- WorkSpaceLink = "WorkSpaceLink",
15
- SubjectTestsLink = "SubjectTestsLink"
16
- }
17
- export interface CreateSubjectMenuRequest {
18
- isMain: boolean;
19
- name: string;
20
- iconSetId: string;
21
- }
22
- export interface SubjectMenuWithIconsModel {
23
- id: string;
24
- isMain: boolean;
25
- iconSetId: string;
26
- subjects: Array<SubjectWithIconModel>;
27
- }
28
- export interface SubjectMenuSimpleModel {
29
- id: string;
30
- name: string;
31
- isMain: boolean;
32
- iconSetId: string;
33
- }
@@ -1,19 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { SubjectForStudentDetailedViewModel } from '../models/subject.models';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Методы контроллера Tutor.Api.Controllers.Subjects.StudentSubjectViewController
7
- *
8
- * Базовый урл = api/tutor/student-subject-view
9
- *
10
- * Методы для построения меню предмета
11
- */
12
- export declare class StudentSubjectViewService {
13
- private _httpClient;
14
- baseControllerUrl: string;
15
- constructor(_httpClient: HttpClient, baseUrl: string);
16
- getV1(idOrAlias: string, iconSetId: string): Observable<SubjectForStudentDetailedViewModel>;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<StudentSubjectViewService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<StudentSubjectViewService>;
19
- }
@@ -1,24 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { ChangeSubjectConfiguration } from '../models/subject.models';
3
- import { BaseApiResponse } from '../models';
4
- import { CreateSubjectMenuRequest, SubjectMenu, SubjectMenuSimpleModel } from '../models/subject-menu-models';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Методы контроллера Tutor.Api.Controllers.Subjects.SubjectMenuController
8
- *
9
- * Базовый урл = api/tutor/subject/menu
10
- *
11
- * Методы для работы с меню предмета
12
- */
13
- export declare class SubjectMenuService {
14
- private readonly _httpClient;
15
- private readonly baseControllerUrl;
16
- constructor(_httpClient: HttpClient, baseUrl: string);
17
- getByAliasOrId(idOrAlias: string): import("rxjs").Observable<SubjectMenu>;
18
- getByAliasOrIdCached(idOrAlias: string): import("rxjs").Observable<SubjectMenu>;
19
- update(model: ChangeSubjectConfiguration): import("rxjs").Observable<BaseApiResponse>;
20
- create(model: CreateSubjectMenuRequest): import("rxjs").Observable<BaseApiResponse>;
21
- getMain(): import("rxjs").Observable<SubjectMenuSimpleModel>;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<SubjectMenuService, never>;
23
- static ɵprov: i0.ɵɵInjectableDeclaration<SubjectMenuService>;
24
- }