iptdevs-design-system 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2020/lib/components/components.module.mjs +75 -0
  2. package/esm2020/lib/components/forms/login-form/login-form.component.mjs +1 -1
  3. package/esm2020/lib/core/core.module.mjs +28 -0
  4. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -0
  5. package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -0
  6. package/esm2020/lib/core/models/session/session.model.mjs +3 -0
  7. package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -0
  8. package/esm2020/lib/core/models/url/url.model.mjs +2 -0
  9. package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -0
  10. package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -0
  11. package/esm2020/lib/core/services/course-service/course-service.model.mjs +56 -0
  12. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +82 -0
  13. package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -0
  14. package/esm2020/lib/core/services/user-service/user-service.mjs +59 -0
  15. package/esm2020/lib/design-system.module.mjs +9 -61
  16. package/esm2020/public-api.mjs +13 -2
  17. package/fesm2015/iptdevs-design-system.mjs +239 -16
  18. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  19. package/fesm2020/iptdevs-design-system.mjs +239 -16
  20. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  21. package/lib/components/components.module.d.ts +18 -0
  22. package/lib/core/core.module.d.ts +6 -0
  23. package/lib/core/models/cod/cod-rq.model.d.ts +51 -0
  24. package/lib/core/models/course/course-rq.model.d.ts +77 -0
  25. package/lib/core/models/session/session.model.d.ts +5 -0
  26. package/lib/core/models/table/table-rs.model.d.ts +7 -0
  27. package/lib/core/models/url/url.model.d.ts +8 -0
  28. package/lib/core/models/user/user-rq.model.d.ts +68 -0
  29. package/lib/core/models/user/user-rs.model.d.ts +35 -0
  30. package/lib/core/services/course-service/course-service.model.d.ts +19 -0
  31. package/lib/{services/parameters-services → core/services/parameters-service}/parameters.service.d.ts +8 -4
  32. package/lib/core/services/storage-service/storage-service.d.ts +18 -0
  33. package/lib/core/services/user-service/user-service.d.ts +20 -0
  34. package/lib/design-system.module.d.ts +3 -13
  35. package/package.json +7 -6
  36. package/public-api.d.ts +11 -1
  37. package/esm2020/lib/services/parameters-services/parameters.service.mjs +0 -64
@@ -0,0 +1,51 @@
1
+ export interface CodRq {
2
+ course: CourseInformationCOD;
3
+ student: StudentCOD;
4
+ payment: PaymentCOD;
5
+ aditionalInformation: AdiotionalInformationCOD;
6
+ }
7
+ export interface StudentCOD {
8
+ name: string;
9
+ last_name: string;
10
+ nick_name: string;
11
+ email: string;
12
+ agreement_email: string;
13
+ phone_indicative: number;
14
+ phone_number: string;
15
+ birthdate: string;
16
+ city: string;
17
+ id_card_type: number;
18
+ id_card: string;
19
+ password: string;
20
+ parent: Parent;
21
+ }
22
+ export interface CourseInformationCOD {
23
+ course_type: number;
24
+ agreement: number;
25
+ english_level: number;
26
+ course: number;
27
+ }
28
+ export interface Parent {
29
+ name: string;
30
+ last_name: string;
31
+ id_card_type: number;
32
+ id_card: string;
33
+ phone_indicative: number;
34
+ phone_number: string;
35
+ }
36
+ export interface AdiotionalInformationCOD {
37
+ grade: string;
38
+ program_name: string;
39
+ institution_name: string;
40
+ occupation: string;
41
+ marketing_reasons: string;
42
+ study_reasons: string;
43
+ observation: string;
44
+ }
45
+ export interface PaymentCOD {
46
+ payment_method: number;
47
+ value: string;
48
+ fee_numbers: string;
49
+ payment_date: string;
50
+ first_fee: string;
51
+ }
@@ -0,0 +1,77 @@
1
+ export interface CreateCourseRq {
2
+ token?: string;
3
+ teacher?: any;
4
+ academic_plan?: string;
5
+ course_type?: string;
6
+ start_date?: string;
7
+ finish_date?: string;
8
+ capacity?: string;
9
+ more_days?: string;
10
+ english_level?: string;
11
+ agreement?: string;
12
+ time_start_monday: string;
13
+ time_end_monday: string;
14
+ classroom_monday: string;
15
+ time_start_tuesday: string;
16
+ time_end_tuesday: string;
17
+ classroom_tuesday: string;
18
+ time_start_wednesday: string;
19
+ time_end_wednesday: string;
20
+ classroom_wednesday: string;
21
+ time_start_thursday: string;
22
+ time_end_thursday: string;
23
+ classroom_thursday: string;
24
+ time_start_friday: string;
25
+ time_end_friday: string;
26
+ classroom_friday: string;
27
+ time_start_saturday?: string;
28
+ time_end_saturday?: string;
29
+ classroom_saturday?: string;
30
+ }
31
+ export interface EditCourseRq {
32
+ token: string;
33
+ course_code: number;
34
+ teacher: any;
35
+ capacity: string;
36
+ more_days: string;
37
+ time_start_monday: string;
38
+ time_end_monday: string;
39
+ classroom_monday: string;
40
+ time_start_tuesday: string;
41
+ time_end_tuesday: string;
42
+ classroom_tuesday: string;
43
+ time_start_wednesday: string;
44
+ time_end_wednesday: string;
45
+ classroom_wednesday: string;
46
+ time_start_thursday: string;
47
+ time_end_thursday: string;
48
+ classroom_thursday: string;
49
+ time_start_friday: string;
50
+ time_end_friday: string;
51
+ classroom_friday: string;
52
+ time_start_saturday: string;
53
+ time_end_saturday: string;
54
+ classroom_saturday: string;
55
+ }
56
+ export interface GetCoursesRq {
57
+ token: string;
58
+ record: number;
59
+ page: number;
60
+ english_level?: number;
61
+ }
62
+ export interface GetCourseByCodeRq {
63
+ token: string;
64
+ course_code: number;
65
+ }
66
+ export interface GetCoursesByLevelRq {
67
+ token: string;
68
+ record: number;
69
+ page: number;
70
+ english_level: number;
71
+ }
72
+ export interface GetAvailibleCoursesRq {
73
+ token: string;
74
+ english_level: number;
75
+ agreement: number;
76
+ course_type: number;
77
+ }
@@ -0,0 +1,5 @@
1
+ import { UserRs } from '../user/user-rs.model';
2
+ export declare class Session {
3
+ token: string;
4
+ user: UserRs;
5
+ }
@@ -0,0 +1,7 @@
1
+ export interface agreementRs {
2
+ code: number;
3
+ name: string;
4
+ end_time: string;
5
+ updated_at: string;
6
+ created_at: string;
7
+ }
@@ -0,0 +1,8 @@
1
+ export interface embedUrl {
2
+ dashboard: string;
3
+ login: string;
4
+ academic: string;
5
+ marketing: string;
6
+ administrative: string;
7
+ commercial: string;
8
+ }
@@ -0,0 +1,68 @@
1
+ export interface UserRq {
2
+ name: string;
3
+ last_name: string;
4
+ id_card: number;
5
+ email: string;
6
+ phone_indicative: string;
7
+ phone_number: number;
8
+ password: string;
9
+ }
10
+ export interface LoginRq {
11
+ user: string;
12
+ password: string;
13
+ }
14
+ export interface RegisterRq {
15
+ name: string;
16
+ last_name: string;
17
+ id_card_type: string;
18
+ id_card: number;
19
+ indicative: string;
20
+ phone_number: number;
21
+ email: string;
22
+ password: string;
23
+ re_password: string;
24
+ city: number;
25
+ }
26
+ export interface RegisterIndexRq {
27
+ name: string;
28
+ last_name: string;
29
+ email: string;
30
+ phone_indicative: string;
31
+ phone_number: number;
32
+ id_card_type: number;
33
+ id_card: number;
34
+ city: string;
35
+ birthdate: string;
36
+ comment?: string;
37
+ }
38
+ export interface RegisterHomeRq {
39
+ name: string;
40
+ last_name: string;
41
+ type_id: string;
42
+ id_card: number;
43
+ city: string;
44
+ date_of_birth: string;
45
+ phone: number;
46
+ email: string;
47
+ comments: string;
48
+ }
49
+ export interface RegisterDashboardRq {
50
+ name: string;
51
+ last_name: string;
52
+ email: string;
53
+ phone_indicative: string;
54
+ phone_number: number;
55
+ id_card_type: number;
56
+ id_card: number;
57
+ city: string;
58
+ service_hour: number;
59
+ role: number;
60
+ password: string;
61
+ }
62
+ export interface UserTokenRq {
63
+ token: string;
64
+ }
65
+ export interface ForgotPasswordRq {
66
+ email: string;
67
+ id_card: number;
68
+ }
@@ -0,0 +1,35 @@
1
+ export declare class UserRs {
2
+ code: number;
3
+ name: string;
4
+ last_name: string;
5
+ nick_name: string;
6
+ email: string;
7
+ email_ipt: string;
8
+ role: number;
9
+ service_hour: number;
10
+ phone_indicative: number;
11
+ phone_number: number;
12
+ gender: string;
13
+ birthdate: string;
14
+ city: number;
15
+ id_card_type: number;
16
+ id_card: number;
17
+ comment?: string;
18
+ password: string;
19
+ token: string;
20
+ }
21
+ export declare class UserLoginRs {
22
+ code: number;
23
+ name: string;
24
+ last_name: string;
25
+ email: string;
26
+ id_card: string;
27
+ id_card_type: number;
28
+ phone_indicative: number;
29
+ phone: string;
30
+ gender: number;
31
+ city: number;
32
+ role: number;
33
+ birthdate: string;
34
+ token: string;
35
+ }
@@ -0,0 +1,19 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesRq } from '../../models/course/course-rq.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CourseService {
6
+ private http;
7
+ private SERVICE_URL;
8
+ httpOptions: any;
9
+ constructor(http: HttpClient);
10
+ createCourse(course: CreateCourseRq): Observable<any>;
11
+ editCourse(course: EditCourseRq): Observable<any>;
12
+ getAllCourses(params: GetCoursesRq): Observable<any>;
13
+ getCoursesByLevel(params: GetCoursesRq): Observable<any>;
14
+ getAvailibleCourses(availibleCourses: GetAvailibleCoursesRq): Observable<any>;
15
+ getCourseByCode(params: GetCourseByCodeRq): Observable<any>;
16
+ private generateRequestParams;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<CourseService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<CourseService>;
19
+ }
@@ -1,13 +1,13 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- export declare class ParametersService {
4
+ export declare class ParameterService {
5
5
  private http;
6
- httpOptions: any;
7
6
  private SERVICE_URL;
8
7
  constructor(http: HttpClient);
9
8
  getIndicatives(): Observable<any>;
10
9
  getCardTypes(country: string): Observable<any>;
10
+ getCountries(): Observable<any>;
11
11
  getStatesByCountry(country: string): Observable<any>;
12
12
  getCitiesByState(state: number): Observable<any>;
13
13
  getAllPlans(): Observable<any>;
@@ -17,6 +17,10 @@ export declare class ParametersService {
17
17
  getAllClassrooms(): Observable<any>;
18
18
  getCoursesTypes(): Observable<any>;
19
19
  getCoursesTypesByPlan(typePlan: any): Observable<any>;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<ParametersService, never>;
21
- static ɵprov: i0.ɵɵInjectableDeclaration<ParametersService>;
20
+ getDegrees(): Observable<any>;
21
+ getProgramsByDegree(typeDegree: any): Observable<any>;
22
+ getMarketingReasons(): Observable<any>;
23
+ getStudyReasons(): Observable<any>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ParameterService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<ParameterService>;
22
26
  }
@@ -0,0 +1,18 @@
1
+ import { Session } from "../../models/session/session.model";
2
+ import { UserRs } from "../../models/user/user-rs.model";
3
+ import * as i0 from "@angular/core";
4
+ export declare class StorageService {
5
+ private localStorageService;
6
+ private currentSession;
7
+ constructor();
8
+ setCurrentSession(session: Session): void;
9
+ loadSessionData(): Session | null;
10
+ getCurrentSession(): Session | null;
11
+ removeCurrentSession(): void;
12
+ getCurrentUser(): UserRs | null;
13
+ isAuthenticated(): boolean;
14
+ getCurrentToken(): string | null;
15
+ logout(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageService>;
18
+ }
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { UserRq, RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq } from '../../models/user/user-rq.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class UserService {
6
+ private http;
7
+ private SERVICE_URL;
8
+ httpOptions: any;
9
+ constructor(http: HttpClient);
10
+ login(userLogin: LoginRq): Observable<any>;
11
+ resetPassword(resetPassword: ForgotPasswordRq): Observable<any>;
12
+ register(user: UserRq): Observable<any>;
13
+ registerIndex(register: RegisterIndexRq): Observable<any>;
14
+ registerDashboard(user: RegisterDashboardRq): Observable<any>;
15
+ getAvailableTeachers(token: UserTokenRq): Observable<any>;
16
+ getUserByIdCard(value: string): Observable<any>;
17
+ private generateRequestParams;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
20
+ }
@@ -1,18 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./components/atoms/aside-button/aside-button.component";
3
- import * as i2 from "./components/atoms/button/button.component";
4
- import * as i3 from "./components/atoms/checkbox/checkbox.component";
5
- import * as i4 from "./components/atoms/datalist/datalist.component";
6
- import * as i5 from "./components/atoms/input/input.component";
7
- import * as i6 from "./components/atoms/radio/radio.component";
8
- import * as i7 from "./components/atoms/select/select.component";
9
- import * as i8 from "./components/forms/login-form/login-form.component";
10
- import * as i9 from "./components/forms/register-form/register-form.component";
11
- import * as i10 from "@angular/common";
12
- import * as i11 from "@angular/platform-browser";
13
- import * as i12 from "@angular/forms";
2
+ import * as i1 from "./components/components.module";
3
+ import * as i2 from "./core/core.module";
14
4
  export declare class DesignSystemModule {
15
5
  static ɵfac: i0.ɵɵFactoryDeclaration<DesignSystemModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<DesignSystemModule, [typeof i1.AsideButtonComponent, typeof i2.ButtonComponent, typeof i3.CheckboxComponent, typeof i4.DatalistComponent, typeof i5.InputComponent, typeof i6.RadioComponent, typeof i7.SelectComponent, typeof i8.LoginFormComponent, typeof i9.RegisterFormComponent], [typeof i10.CommonModule, typeof i11.BrowserModule, typeof i12.FormsModule, typeof i12.ReactiveFormsModule], [typeof i1.AsideButtonComponent, typeof i2.ButtonComponent, typeof i3.CheckboxComponent, typeof i4.DatalistComponent, typeof i5.InputComponent, typeof i6.RadioComponent, typeof i7.SelectComponent, typeof i8.LoginFormComponent]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DesignSystemModule, never, [typeof i1.ComponentsModule, typeof i2.CoreModule], never>;
17
7
  static ɵinj: i0.ɵɵInjectorDeclaration<DesignSystemModule>;
18
8
  }
package/package.json CHANGED
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "name": "iptdevs-design-system",
3
- "version": "1.2.0",
4
- "description": "Components library for IPT Academy devs.",
3
+ "version": "1.3.0",
4
+ "description": "Library common elements into IPT Plattform.",
5
5
  "keywords": [
6
6
  "IPT",
7
7
  "design",
8
- "system"
8
+ "system",
9
+ "services"
9
10
  ],
10
11
  "license": "MIT",
11
12
  "author": {
12
- "name": "Leiner Barrios",
13
- "email": "leiner.barrios@inglesparatodos.edu.co",
14
- "url": "https://github.com/Devipt-leiner"
13
+ "name": "Academia Ingles Para Todos S.A.S",
14
+ "email": "development@inglesparatodos.edu.co",
15
+ "url": "https:/inglesparatodos.edu.co"
15
16
  },
16
17
  "peerDependencies": {
17
18
  "@angular/common": "^13.1.0",
package/public-api.d.ts CHANGED
@@ -7,4 +7,14 @@ export * from "./lib/components/atoms/input/input.component";
7
7
  export * from "./lib/components/atoms/radio/radio.component";
8
8
  export * from "./lib/components/atoms/select/select.component";
9
9
  export * from "./lib/components/forms/login-form/login-form.component";
10
- export * from "./lib/services/parameters-services/parameters.service";
10
+ export * from "./lib/core/services/course-service/course-service.model";
11
+ export * from "./lib/core/services/parameters-service/parameters.service";
12
+ export * from "./lib/core/services/storage-service/storage-service";
13
+ export * from "./lib/core/services/user-service/user-service";
14
+ export * from "./lib/core/models/cod/cod-rq.model";
15
+ export * from "./lib/core/models/course/course-rq.model";
16
+ export * from "./lib/core/models/session/session.model";
17
+ export * from "./lib/core/models/table/table-rs.model";
18
+ export * from "./lib/core/models/url/url.model";
19
+ export * from "./lib/core/models/user/user-rq.model";
20
+ export * from "./lib/core/models/user/user-rs.model";
@@ -1,64 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common/http";
4
- export class ParametersService {
5
- constructor(http) {
6
- this.http = http;
7
- // private SERVICE_URL= 'https://iptdev.com.co/lab/parameters/api/';
8
- this.SERVICE_URL = 'https://iptdev.com.co/lab/parameters/api/';
9
- }
10
- getIndicatives() {
11
- let serviceUrl = this.SERVICE_URL + 'get/indicatives';
12
- return this.http.get(serviceUrl);
13
- }
14
- getCardTypes(country) {
15
- let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;
16
- return this.http.get(serviceUrl);
17
- }
18
- getStatesByCountry(country) {
19
- let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;
20
- return this.http.get(serviceUrl);
21
- }
22
- getCitiesByState(state) {
23
- let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;
24
- return this.http.get(serviceUrl);
25
- }
26
- // Endpoints de creación de cursos
27
- getAllPlans() {
28
- let serviceUrl = this.SERVICE_URL + 'get/all/plans';
29
- return this.http.get(serviceUrl);
30
- }
31
- getLevels() {
32
- let serviceUrl = this.SERVICE_URL + 'get/english/levels';
33
- return this.http.get(serviceUrl);
34
- }
35
- getAgreements() {
36
- let serviceUrl = this.SERVICE_URL + 'get/all/agreement';
37
- return this.http.get(serviceUrl);
38
- }
39
- getAgreementByCategory(typeCategory) {
40
- let serviceUrl = this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;
41
- return this.http.get(serviceUrl);
42
- }
43
- getAllClassrooms() {
44
- let serviceUrl = this.SERVICE_URL + 'get/all/classroom';
45
- return this.http.get(serviceUrl);
46
- }
47
- getCoursesTypes() {
48
- let serviceUrl = this.SERVICE_URL + 'get/all/course/type';
49
- return this.http.get(serviceUrl);
50
- }
51
- getCoursesTypesByPlan(typePlan) {
52
- let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;
53
- return this.http.get(serviceUrl);
54
- }
55
- }
56
- ParametersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParametersService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
57
- ParametersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParametersService, providedIn: 'root' });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ParametersService, decorators: [{
59
- type: Injectable,
60
- args: [{
61
- providedIn: 'root'
62
- }]
63
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLXN5c3RlbS9zcmMvbGliL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZXMvcGFyYW1ldGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFKcEMsb0VBQW9FO1FBRTVELGdCQUFXLEdBQUcsMkNBQTJDLENBQUM7SUFFM0IsQ0FBQztJQUV4QyxjQUFjO1FBQ1osSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUMxQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixHQUFHLE9BQU8sQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFlO1FBQ2hDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsd0JBQXdCLEdBQUcsT0FBTyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsa0NBQWtDO0lBRWxDLFdBQVc7UUFDVCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxzQkFBc0IsQ0FBRSxZQUFnQjtRQUN0QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDRCQUE0QixHQUFHLFlBQVksQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFQyxnQkFBZ0I7UUFDZCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQWE7UUFDakMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsR0FBRyxRQUFRLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs4R0FqRVUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FIaEIsTUFBTTsyRkFHUCxpQkFBaUI7a0JBSjdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJzU2VydmljZSB7XG5cbiAgaHR0cE9wdGlvbnM6IGFueTtcblxuICAvLyBwcml2YXRlIFNFUlZJQ0VfVVJMPSAnaHR0cHM6Ly9pcHRkZXYuY29tLmNvL2xhYi9wYXJhbWV0ZXJzL2FwaS8nO1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnaHR0cHM6Ly9pcHRkZXYuY29tLmNvL2xhYi9wYXJhbWV0ZXJzL2FwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBnZXRJbmRpY2F0aXZlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvaW5kaWNhdGl2ZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0Q2FyZFR5cGVzKGNvdW50cnk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9pZC9jYXJkL3R5cGUvY291bnRyeS8nICsgY291bnRyeTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFN0YXRlc0J5Q291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3RhdGUvY291bnRyeS9pc28vJyArIGNvdW50cnk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRDaXRpZXNCeVN0YXRlKHN0YXRlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY2l0aWVzL3N0YXRlLycgKyBzdGF0ZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIC8vIEVuZHBvaW50cyBkZSBjcmVhY2nDs24gZGUgY3Vyc29zXG5cbiAgZ2V0QWxsUGxhbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9wbGFucyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRMZXZlbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2VuZ2xpc2gvbGV2ZWxzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEFncmVlbWVudHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9hZ3JlZW1lbnQnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QWdyZWVtZW50QnlDYXRlZ29yeSggdHlwZUNhdGVnb3J5OmFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hZ3JlZW1lbnQvYnkvY2F0ZWdvcnkvJyArIHR5cGVDYXRlZ29yeTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbn1cblxuICBnZXRBbGxDbGFzc3Jvb21zKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY2xhc3Nyb29tJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENvdXJzZXNUeXBlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2NvdXJzZS90eXBlJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENvdXJzZXNUeXBlc0J5UGxhbih0eXBlUGxhbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvdXJzZS9ieS9wbGFuLycgKyB0eXBlUGxhbjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG59XG4iXX0=