sk-front-lib 0.18.5 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/article/sk-article-editor-server.component.d.ts +1 -1
- package/article/sk-article-editor.component.d.ts +1 -1
- package/article/sk-froala-editor.directive.d.ts +1 -1
- package/crud/sk-auth-admin.guard.d.ts +2 -2
- package/crud/sk-auth.guard.d.ts +2 -2
- package/{esm2022 → esm2020}/api/sk-api.module.mjs +9 -9
- package/{esm2022 → esm2020}/api/sk-api.service.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-editor-server.component.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-editor.component.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-article-server.module.mjs +5 -5
- package/{esm2022 → esm2020}/article/sk-article.module.mjs +7 -7
- package/{esm2022 → esm2020}/article/sk-article.service.mjs +4 -4
- package/{esm2022 → esm2020}/article/sk-froala-editor.directive.mjs +7 -7
- package/{esm2022 → esm2020}/crud/sk-account.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-affiliate.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth-admin.guard.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth.guard.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-auth.service.mjs +7 -7
- package/{esm2022 → esm2020}/crud/sk-board.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-brand.service.mjs +4 -4
- package/esm2020/crud/sk-cart.service.mjs +256 -0
- package/{esm2022 → esm2020}/crud/sk-category.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-comment.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-config.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-contact.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-coupon.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-document.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-etc.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-file.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-keyword.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-order.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-point.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-product.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-promotion.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-search.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-store.service.mjs +4 -4
- package/{esm2022 → esm2020}/crud/sk-user.service.mjs +4 -4
- package/{esm2022 → esm2020}/google-analytics/google-analytics-router.module.mjs +9 -9
- package/{esm2022 → esm2020}/google-analytics/google-analytics.module.mjs +5 -5
- package/esm2020/google-analytics/services/google-analytics.service.mjs +200 -0
- package/{esm2022 → esm2020}/image/sk-image.component.mjs +6 -6
- package/esm2020/image/sk-image.module.mjs +40 -0
- package/{esm2022 → esm2020}/lib/sk-byte.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date-time.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-date.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-front-lib.module.mjs +13 -13
- package/{esm2022 → esm2020}/lib/sk-keys.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/sk-time.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/model/lib/coupon.mjs +1 -1
- package/esm2020/model/lib/filetype.mjs +179 -0
- package/esm2020/model/lib/payment.mjs +35 -0
- package/esm2020/model/lib/tosspay.mjs +61 -0
- package/{esm2022 → esm2020}/model/public_api.mjs +2 -1
- package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
- package/{esm2022 → esm2020}/search-address/sk-search-address.directive.mjs +6 -6
- package/esm2020/search-address/sk-search-address.module.mjs +47 -0
- package/{esm2022 → esm2020}/search-address/sk-search-address.service.mjs +4 -4
- package/esm2020/uploader/sk-uploader.component.mjs +120 -0
- package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
- package/esm2020/uploader/sk-uploader.module.mjs +57 -0
- package/fesm2015/sk-front-lib-api.mjs +216 -0
- package/fesm2015/sk-front-lib-api.mjs.map +1 -0
- package/fesm2015/sk-front-lib-article.mjs +758 -0
- package/fesm2015/sk-front-lib-article.mjs.map +1 -0
- package/fesm2015/sk-front-lib-crud.mjs +1529 -0
- package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs +334 -0
- package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
- package/fesm2015/sk-front-lib-image.mjs +303 -0
- package/fesm2015/sk-front-lib-image.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/sk-front-lib-model.mjs +123 -57
- package/fesm2015/sk-front-lib-model.mjs.map +1 -0
- package/fesm2015/sk-front-lib-search-address.mjs +183 -0
- package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
- package/fesm2015/sk-front-lib-uploader.mjs +546 -0
- package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs +27 -27
- package/{fesm2022 → fesm2015}/sk-front-lib.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs +11 -11
- package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs +25 -25
- package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/sk-front-lib-crud.mjs +93 -93
- package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-google-analytics.mjs +16 -38
- package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-image.mjs +21 -21
- package/fesm2020/sk-front-lib-image.mjs.map +1 -0
- package/fesm2020/sk-front-lib-model.mjs +1171 -0
- package/fesm2020/sk-front-lib-model.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-search-address.mjs +32 -32
- package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/sk-front-lib-uploader.mjs +49 -48
- package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
- package/fesm2020/sk-front-lib.mjs +538 -0
- package/fesm2020/sk-front-lib.mjs.map +1 -0
- package/google-analytics/services/google-analytics.service.d.ts +1 -2
- package/google-analytics/types/ga-action.type.d.ts +1 -1
- package/google-analytics/types/ga-bind.type.d.ts +1 -1
- package/image/sk-image.component.d.ts +2 -2
- package/image/sk-image.module.d.ts +3 -3
- package/model/lib/coupon.d.ts +0 -2
- package/model/lib/payment.d.ts +6 -1
- package/model/lib/tosspay.d.ts +29 -0
- package/model/public_api.d.ts +1 -0
- package/package.json +66 -44
- package/search-address/dialog/dialog.component.d.ts +1 -1
- package/search-address/sk-search-address.directive.d.ts +2 -2
- package/search-address/sk-search-address.module.d.ts +3 -3
- package/uploader/sk-uploader.component.d.ts +1 -1
- package/uploader/sk-uploader.directive.d.ts +2 -2
- package/uploader/sk-uploader.module.d.ts +5 -5
- package/esm2022/crud/sk-cart.service.mjs +0 -256
- package/esm2022/google-analytics/services/google-analytics.service.mjs +0 -223
- package/esm2022/image/sk-image.module.mjs +0 -40
- package/esm2022/model/lib/filetype.mjs +0 -179
- package/esm2022/model/lib/payment.mjs +0 -30
- package/esm2022/search-address/dialog/dialog.component.mjs +0 -27
- package/esm2022/search-address/sk-search-address.module.mjs +0 -47
- package/esm2022/uploader/sk-uploader.component.mjs +0 -119
- package/esm2022/uploader/sk-uploader.directive.mjs +0 -44
- package/esm2022/uploader/sk-uploader.module.mjs +0 -57
- package/fesm2022/sk-front-lib-crud.mjs.map +0 -1
- package/fesm2022/sk-front-lib-google-analytics.mjs.map +0 -1
- package/fesm2022/sk-front-lib-image.mjs.map +0 -1
- package/fesm2022/sk-front-lib-model.mjs.map +0 -1
- package/fesm2022/sk-front-lib-search-address.mjs.map +0 -1
- package/fesm2022/sk-front-lib-uploader.mjs.map +0 -1
- /package/{esm2022 → esm2020}/api/model/api-config.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-pageable-param.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-pageable.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/api-response.mjs +0 -0
- /package/{esm2022 → esm2020}/api/model/index.mjs +0 -0
- /package/{esm2022 → esm2020}/api/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/api/sk-front-lib-api.mjs +0 -0
- /package/{esm2022 → esm2020}/article/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/article/sk-front-lib-article.mjs +0 -0
- /package/{esm2022 → esm2020}/crud/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/crud/sk-front-lib-crud.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/types/ga-action.type.mjs +0 -0
- /package/{esm2022 → esm2020}/google-analytics/types/ga-bind.type.mjs +0 -0
- /package/{esm2022 → esm2020}/image/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/image/sk-front-lib-image.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/sk-animations.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/sk-utils.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/article.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/audit.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/auth.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/board.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/cart.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/comment.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/contact.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/document.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/etc.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/file.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/grid.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/nicepay.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/order.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/point.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/product-series.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/product.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/promotion.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/shipping.mjs +0 -0
- /package/{esm2022 → esm2020}/model/lib/user.mjs +0 -0
- /package/{esm2022 → esm2020}/model/sk-front-lib-model.mjs +0 -0
- /package/{esm2022 → esm2020}/public-api.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/sk-front-lib-search-address.mjs +0 -0
- /package/{esm2022 → esm2020}/search-address/sk-search-address.model.mjs +0 -0
- /package/{esm2022 → esm2020}/sk-front-lib.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-front-lib-uploader.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader-file-item.model.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader.animation.mjs +0 -0
- /package/{esm2022 → esm2020}/uploader/sk-uploader.class.mjs +0 -0
|
@@ -2,11 +2,11 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./sk-image.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
4
|
import * as i3 from "ng-in-viewport";
|
|
5
|
-
import * as i4 from "@angular/material/dialog";
|
|
6
|
-
import * as i5 from "@angular/material/button";
|
|
5
|
+
import * as i4 from "@angular/material/legacy-dialog";
|
|
6
|
+
import * as i5 from "@angular/material/legacy-button";
|
|
7
7
|
import * as i6 from "@angular/material/icon";
|
|
8
8
|
export declare class SkImageModule {
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkImageModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SkImageModule, [typeof i1.SkImageComponent], [typeof i2.CommonModule, typeof i3.InViewportModule, typeof i4.
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SkImageModule, [typeof i1.SkImageComponent], [typeof i2.CommonModule, typeof i3.InViewportModule, typeof i4.MatLegacyDialogModule, typeof i5.MatLegacyButtonModule, typeof i6.MatIconModule], [typeof i1.SkImageComponent]>;
|
|
11
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<SkImageModule>;
|
|
12
12
|
}
|
package/model/lib/coupon.d.ts
CHANGED
package/model/lib/payment.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export declare enum SkPgType {
|
|
2
|
+
NicePay = "NICEPAY",
|
|
3
|
+
TossPayment = "TOSS"
|
|
4
|
+
}
|
|
1
5
|
export declare enum SkPaymentStatus {
|
|
2
6
|
Transfer = "TRANSFER",
|
|
3
7
|
Card = "CARD",
|
|
@@ -10,6 +14,7 @@ export declare enum SkPaymentStatus {
|
|
|
10
14
|
export interface ISkPayment {
|
|
11
15
|
id?: string;
|
|
12
16
|
type?: SkPaymentStatus;
|
|
17
|
+
pgType?: SkPgType;
|
|
13
18
|
txId?: string;
|
|
14
19
|
responseCode?: string;
|
|
15
20
|
responseMessage?: string;
|
|
@@ -24,4 +29,4 @@ export interface ISkPayment {
|
|
|
24
29
|
rawCancelResponse?: string;
|
|
25
30
|
paidDate?: string;
|
|
26
31
|
}
|
|
27
|
-
export declare function getSkPaymentStatusText(status: SkPaymentStatus): "
|
|
32
|
+
export declare function getSkPaymentStatusText(status: SkPaymentStatus): "무통장입금" | "카드결제 (일반 무이자)" | "카드결제 (분담 무이자)" | "카카오페이" | "PAYCO" | "네이버페이";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare enum SkTossPayCreditCards {
|
|
2
|
+
BC = "31",
|
|
3
|
+
KB = "11",
|
|
4
|
+
Samsung = "51",
|
|
5
|
+
Shinhan = "41",
|
|
6
|
+
Hyundae = "61",
|
|
7
|
+
Lotte = "71",
|
|
8
|
+
City = "36",
|
|
9
|
+
NH = "91",
|
|
10
|
+
SuHyup = "34",
|
|
11
|
+
Woori = "33",
|
|
12
|
+
HanaSK = "21",
|
|
13
|
+
DongName = "17",
|
|
14
|
+
Gwangju = "46",
|
|
15
|
+
Jeonbuk = "35",
|
|
16
|
+
Jeju = "42",
|
|
17
|
+
VISA = "4V",
|
|
18
|
+
MASTER = "4M",
|
|
19
|
+
Diners = "6D",
|
|
20
|
+
AMX = "7A",
|
|
21
|
+
JCB = "4J",
|
|
22
|
+
ePost = "37",
|
|
23
|
+
UnionPay = "3C",
|
|
24
|
+
KFCC = "38",
|
|
25
|
+
KDB = "30",
|
|
26
|
+
Kakao = "15",
|
|
27
|
+
KBank = "3A"
|
|
28
|
+
}
|
|
29
|
+
export declare function getTossPayCreditCardTitle(value: SkTossPayCreditCards): string;
|
package/model/public_api.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from './lib/payment';
|
|
|
15
15
|
export * from './lib/shipping';
|
|
16
16
|
export * from './lib/etc';
|
|
17
17
|
export * from './lib/nicepay';
|
|
18
|
+
export * from './lib/tosspay';
|
|
18
19
|
export * from './lib/point';
|
|
19
20
|
export * from './lib/coupon';
|
|
20
21
|
export * from './lib/comment';
|
package/package.json
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sk-front-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/router": "^
|
|
6
|
-
"@angular/animations": "^
|
|
7
|
-
"@angular/cdk": "^
|
|
8
|
-
"@angular/common": "^
|
|
9
|
-
"@angular/compiler": "^
|
|
10
|
-
"@angular/core": "^
|
|
11
|
-
"@angular/forms": "^
|
|
12
|
-
"@angular/material": "^
|
|
13
|
-
"@angular/platform-browser": "^
|
|
14
|
-
"@angular/platform-browser-dynamic": "^
|
|
5
|
+
"@angular/router": "^15.2.10",
|
|
6
|
+
"@angular/animations": "^15.2.10",
|
|
7
|
+
"@angular/cdk": "^15.2.9",
|
|
8
|
+
"@angular/common": "^15.2.10",
|
|
9
|
+
"@angular/compiler": "^15.2.10",
|
|
10
|
+
"@angular/core": "^15.2.10",
|
|
11
|
+
"@angular/forms": "^15.2.10",
|
|
12
|
+
"@angular/material": "^15.2.9",
|
|
13
|
+
"@angular/platform-browser": "^15.2.10",
|
|
14
|
+
"@angular/platform-browser-dynamic": "^15.2.10",
|
|
15
15
|
"froala-editor": "^3.2.2",
|
|
16
16
|
"intersection-observer": "^0.12.0",
|
|
17
17
|
"lodash": "^4.17.21",
|
|
18
18
|
"moment": "^2.29.1",
|
|
19
|
-
"ng-in-viewport": "^
|
|
19
|
+
"ng-in-viewport": "^6.1.5",
|
|
20
20
|
"rxjs": "^6.5.2",
|
|
21
21
|
"viewerjs": "^1.5.0",
|
|
22
|
-
"zone.js": "~0.
|
|
22
|
+
"zone.js": "~0.11.4"
|
|
23
23
|
},
|
|
24
|
-
"module": "
|
|
24
|
+
"module": "fesm2015/sk-front-lib.mjs",
|
|
25
|
+
"es2020": "fesm2020/sk-front-lib.mjs",
|
|
26
|
+
"esm2020": "esm2020/sk-front-lib.mjs",
|
|
27
|
+
"fesm2020": "fesm2020/sk-front-lib.mjs",
|
|
28
|
+
"fesm2015": "fesm2015/sk-front-lib.mjs",
|
|
25
29
|
"typings": "index.d.ts",
|
|
26
30
|
"exports": {
|
|
27
31
|
"./package.json": {
|
|
@@ -29,57 +33,75 @@
|
|
|
29
33
|
},
|
|
30
34
|
".": {
|
|
31
35
|
"types": "./index.d.ts",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
36
|
+
"esm2020": "./esm2020/sk-front-lib.mjs",
|
|
37
|
+
"es2020": "./fesm2020/sk-front-lib.mjs",
|
|
38
|
+
"es2015": "./fesm2015/sk-front-lib.mjs",
|
|
39
|
+
"node": "./fesm2015/sk-front-lib.mjs",
|
|
40
|
+
"default": "./fesm2020/sk-front-lib.mjs"
|
|
35
41
|
},
|
|
36
42
|
"./api": {
|
|
37
43
|
"types": "./api/index.d.ts",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
44
|
+
"esm2020": "./esm2020/api/sk-front-lib-api.mjs",
|
|
45
|
+
"es2020": "./fesm2020/sk-front-lib-api.mjs",
|
|
46
|
+
"es2015": "./fesm2015/sk-front-lib-api.mjs",
|
|
47
|
+
"node": "./fesm2015/sk-front-lib-api.mjs",
|
|
48
|
+
"default": "./fesm2020/sk-front-lib-api.mjs"
|
|
41
49
|
},
|
|
42
50
|
"./article": {
|
|
43
51
|
"types": "./article/index.d.ts",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
52
|
+
"esm2020": "./esm2020/article/sk-front-lib-article.mjs",
|
|
53
|
+
"es2020": "./fesm2020/sk-front-lib-article.mjs",
|
|
54
|
+
"es2015": "./fesm2015/sk-front-lib-article.mjs",
|
|
55
|
+
"node": "./fesm2015/sk-front-lib-article.mjs",
|
|
56
|
+
"default": "./fesm2020/sk-front-lib-article.mjs"
|
|
47
57
|
},
|
|
48
58
|
"./crud": {
|
|
49
59
|
"types": "./crud/index.d.ts",
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"types": "./image/index.d.ts",
|
|
56
|
-
"esm2022": "./esm2022/image/sk-front-lib-image.mjs",
|
|
57
|
-
"esm": "./esm2022/image/sk-front-lib-image.mjs",
|
|
58
|
-
"default": "./fesm2022/sk-front-lib-image.mjs"
|
|
60
|
+
"esm2020": "./esm2020/crud/sk-front-lib-crud.mjs",
|
|
61
|
+
"es2020": "./fesm2020/sk-front-lib-crud.mjs",
|
|
62
|
+
"es2015": "./fesm2015/sk-front-lib-crud.mjs",
|
|
63
|
+
"node": "./fesm2015/sk-front-lib-crud.mjs",
|
|
64
|
+
"default": "./fesm2020/sk-front-lib-crud.mjs"
|
|
59
65
|
},
|
|
60
66
|
"./google-analytics": {
|
|
61
67
|
"types": "./google-analytics/index.d.ts",
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
68
|
+
"esm2020": "./esm2020/google-analytics/sk-front-lib-google-analytics.mjs",
|
|
69
|
+
"es2020": "./fesm2020/sk-front-lib-google-analytics.mjs",
|
|
70
|
+
"es2015": "./fesm2015/sk-front-lib-google-analytics.mjs",
|
|
71
|
+
"node": "./fesm2015/sk-front-lib-google-analytics.mjs",
|
|
72
|
+
"default": "./fesm2020/sk-front-lib-google-analytics.mjs"
|
|
73
|
+
},
|
|
74
|
+
"./image": {
|
|
75
|
+
"types": "./image/index.d.ts",
|
|
76
|
+
"esm2020": "./esm2020/image/sk-front-lib-image.mjs",
|
|
77
|
+
"es2020": "./fesm2020/sk-front-lib-image.mjs",
|
|
78
|
+
"es2015": "./fesm2015/sk-front-lib-image.mjs",
|
|
79
|
+
"node": "./fesm2015/sk-front-lib-image.mjs",
|
|
80
|
+
"default": "./fesm2020/sk-front-lib-image.mjs"
|
|
65
81
|
},
|
|
66
82
|
"./model": {
|
|
67
83
|
"types": "./model/index.d.ts",
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
84
|
+
"esm2020": "./esm2020/model/sk-front-lib-model.mjs",
|
|
85
|
+
"es2020": "./fesm2020/sk-front-lib-model.mjs",
|
|
86
|
+
"es2015": "./fesm2015/sk-front-lib-model.mjs",
|
|
87
|
+
"node": "./fesm2015/sk-front-lib-model.mjs",
|
|
88
|
+
"default": "./fesm2020/sk-front-lib-model.mjs"
|
|
71
89
|
},
|
|
72
90
|
"./search-address": {
|
|
73
91
|
"types": "./search-address/index.d.ts",
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
92
|
+
"esm2020": "./esm2020/search-address/sk-front-lib-search-address.mjs",
|
|
93
|
+
"es2020": "./fesm2020/sk-front-lib-search-address.mjs",
|
|
94
|
+
"es2015": "./fesm2015/sk-front-lib-search-address.mjs",
|
|
95
|
+
"node": "./fesm2015/sk-front-lib-search-address.mjs",
|
|
96
|
+
"default": "./fesm2020/sk-front-lib-search-address.mjs"
|
|
77
97
|
},
|
|
78
98
|
"./uploader": {
|
|
79
99
|
"types": "./uploader/index.d.ts",
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
100
|
+
"esm2020": "./esm2020/uploader/sk-front-lib-uploader.mjs",
|
|
101
|
+
"es2020": "./fesm2020/sk-front-lib-uploader.mjs",
|
|
102
|
+
"es2015": "./fesm2015/sk-front-lib-uploader.mjs",
|
|
103
|
+
"node": "./fesm2015/sk-front-lib-uploader.mjs",
|
|
104
|
+
"default": "./fesm2020/sk-front-lib-uploader.mjs"
|
|
83
105
|
}
|
|
84
106
|
},
|
|
85
107
|
"sideEffects": false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AfterViewInit, ElementRef } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
|
|
3
3
|
import { SkSearchAddressService } from "../sk-search-address.service";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class SearchAddressDialogComponent implements AfterViewInit {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { MatDialog } from "@angular/material/dialog";
|
|
2
|
+
import { MatLegacyDialog as MatDialog } from "@angular/material/legacy-dialog";
|
|
3
3
|
import { SkSearchAddressModel } from "./sk-search-address.model";
|
|
4
4
|
import { SkSearchAddressService } from "./sk-search-address.service";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -11,5 +11,5 @@ export declare class SkSearchAddressDirective {
|
|
|
11
11
|
constructor(dialog: MatDialog, searchAddressService: SkSearchAddressService);
|
|
12
12
|
openDialog(): void;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkSearchAddressDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SkSearchAddressDirective, "[skSearchAddress]", never, { "skSearchAddress":
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkSearchAddressDirective, "[skSearchAddress]", never, { "skSearchAddress": "skSearchAddress"; }, { "addressSelected": "addressSelected"; }, never, never, false, never>;
|
|
15
15
|
}
|
|
@@ -5,10 +5,10 @@ import * as i3 from "@angular/common";
|
|
|
5
5
|
import * as i4 from "@angular/forms";
|
|
6
6
|
import * as i5 from "@angular/material/toolbar";
|
|
7
7
|
import * as i6 from "@angular/material/icon";
|
|
8
|
-
import * as i7 from "@angular/material/button";
|
|
9
|
-
import * as i8 from "@angular/material/dialog";
|
|
8
|
+
import * as i7 from "@angular/material/legacy-button";
|
|
9
|
+
import * as i8 from "@angular/material/legacy-dialog";
|
|
10
10
|
export declare class SkSearchAddressModule {
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkSearchAddressModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SkSearchAddressModule, [typeof i1.SearchAddressDialogComponent, typeof i2.SkSearchAddressDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatToolbarModule, typeof i6.MatIconModule, typeof i7.
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SkSearchAddressModule, [typeof i1.SearchAddressDialogComponent, typeof i2.SkSearchAddressDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatToolbarModule, typeof i6.MatIconModule, typeof i7.MatLegacyButtonModule, typeof i8.MatLegacyDialogModule], [typeof i2.SkSearchAddressDirective]>;
|
|
13
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<SkSearchAddressModule>;
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
|
|
3
3
|
import { SkApiService } from 'sk-front-lib/api';
|
|
4
4
|
import { SkFileUploader } from './sk-uploader.class';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
|
3
3
|
import { SkFile } from 'sk-front-lib/model';
|
|
4
4
|
import { SkFileUploaderOptions } from './sk-uploader.class';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -11,5 +11,5 @@ export declare class SkUploaderDirective {
|
|
|
11
11
|
onClick(): void;
|
|
12
12
|
constructor(_dialog: MatDialog);
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkUploaderDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SkUploaderDirective, "[skUploader]", never, { "skUploaderOptions":
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkUploaderDirective, "[skUploader]", never, { "skUploaderOptions": "skUploaderOptions"; "skSelected": "skSelected"; }, { "skUploaderFileSelected": "skUploaderFileSelected"; }, never, never, false, never>;
|
|
15
15
|
}
|
|
@@ -2,15 +2,15 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./sk-uploader.component";
|
|
3
3
|
import * as i2 from "./sk-uploader.directive";
|
|
4
4
|
import * as i3 from "@angular/common";
|
|
5
|
-
import * as i4 from "@angular/material/dialog";
|
|
5
|
+
import * as i4 from "@angular/material/legacy-dialog";
|
|
6
6
|
import * as i5 from "@angular/material/toolbar";
|
|
7
|
-
import * as i6 from "@angular/material/button";
|
|
7
|
+
import * as i6 from "@angular/material/legacy-button";
|
|
8
8
|
import * as i7 from "@angular/material/icon";
|
|
9
|
-
import * as i8 from "@angular/material/list";
|
|
10
|
-
import * as i9 from "@angular/material/progress-bar";
|
|
9
|
+
import * as i8 from "@angular/material/legacy-list";
|
|
10
|
+
import * as i9 from "@angular/material/legacy-progress-bar";
|
|
11
11
|
import * as i10 from "sk-front-lib";
|
|
12
12
|
export declare class SkUploaderModule {
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkUploaderModule, never>;
|
|
14
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SkUploaderModule, [typeof i1.SkUploaderComponent, typeof i2.SkUploaderDirective], [typeof i3.CommonModule, typeof i4.
|
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SkUploaderModule, [typeof i1.SkUploaderComponent, typeof i2.SkUploaderDirective], [typeof i3.CommonModule, typeof i4.MatLegacyDialogModule, typeof i5.MatToolbarModule, typeof i6.MatLegacyButtonModule, typeof i7.MatIconModule, typeof i8.MatLegacyListModule, typeof i9.MatLegacyProgressBarModule, typeof i10.SkFrontLibModule], [typeof i1.SkUploaderComponent, typeof i2.SkUploaderDirective]>;
|
|
15
15
|
static ɵinj: i0.ɵɵInjectorDeclaration<SkUploaderModule>;
|
|
16
16
|
}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
-
import { HttpParams } from '@angular/common/http';
|
|
3
|
-
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
4
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
5
|
-
import { map, switchMap, take, tap } from 'rxjs/operators';
|
|
6
|
-
import { SkUtils } from 'sk-front-lib';
|
|
7
|
-
import { SkCart } from 'sk-front-lib/model';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "sk-front-lib/api";
|
|
10
|
-
import * as i2 from "./sk-auth.service";
|
|
11
|
-
export class SkCartApiService {
|
|
12
|
-
constructor(_apiService) {
|
|
13
|
-
this._apiService = _apiService;
|
|
14
|
-
}
|
|
15
|
-
load() {
|
|
16
|
-
return this._apiService.get(`/api/public/carts`).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
|
|
17
|
-
}
|
|
18
|
-
add(cart) {
|
|
19
|
-
const data = {
|
|
20
|
-
product: cart.product.id,
|
|
21
|
-
selectedOptions: cart.options.map(item => ({
|
|
22
|
-
value: item.value.id,
|
|
23
|
-
option: item.option.id,
|
|
24
|
-
amount: item.amount
|
|
25
|
-
})),
|
|
26
|
-
amount: cart.amount,
|
|
27
|
-
selectedGifts: (cart.gifts || []).map(item => ({ id: item.id }))
|
|
28
|
-
};
|
|
29
|
-
return this._apiService.post(`/api/public/carts`, data).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
|
|
30
|
-
}
|
|
31
|
-
clear() {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
remove(carts) {
|
|
35
|
-
return this.removeByIdArray(carts.map(cart => cart.id));
|
|
36
|
-
}
|
|
37
|
-
removeByIdArray(idArray) {
|
|
38
|
-
const ids = idArray.filter(id => Number(id) >= 1);
|
|
39
|
-
return this._apiService.delete(`/api/public/carts`, new HttpParams().append('target', ids.join(','))).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
|
|
40
|
-
}
|
|
41
|
-
update(cart) {
|
|
42
|
-
return this._apiService.put(`/api/public/carts/${cart.id}`, { amount: cart.amount }).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
|
|
43
|
-
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartApiService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartApiService, providedIn: 'root' }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartApiService, decorators: [{
|
|
48
|
-
type: Injectable,
|
|
49
|
-
args: [{
|
|
50
|
-
providedIn: 'root'
|
|
51
|
-
}]
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
|
|
53
|
-
export class SkCartLocalService {
|
|
54
|
-
constructor(platformId) {
|
|
55
|
-
this.platformId = platformId;
|
|
56
|
-
this.isPlatformBrowser = isPlatformBrowser(this.platformId);
|
|
57
|
-
}
|
|
58
|
-
loadRaw() {
|
|
59
|
-
let data = [];
|
|
60
|
-
try {
|
|
61
|
-
if (this.isPlatformBrowser) {
|
|
62
|
-
data = (SkUtils.decodeBase64(localStorage.getItem('cartData')) || []).map(item => new SkCart(item));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch (e) {
|
|
66
|
-
data = [];
|
|
67
|
-
}
|
|
68
|
-
return data;
|
|
69
|
-
}
|
|
70
|
-
load() {
|
|
71
|
-
return of(this.loadRaw());
|
|
72
|
-
}
|
|
73
|
-
add(cart) {
|
|
74
|
-
cart.id = Math.random();
|
|
75
|
-
const cartList = [cart, ...this.loadRaw()];
|
|
76
|
-
localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
|
|
77
|
-
return of(cartList);
|
|
78
|
-
}
|
|
79
|
-
clear() {
|
|
80
|
-
const cartList = [];
|
|
81
|
-
localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
|
|
82
|
-
return of(cartList);
|
|
83
|
-
}
|
|
84
|
-
remove(carts) {
|
|
85
|
-
return this.removeByIdArray(carts.map(cart => cart.id));
|
|
86
|
-
}
|
|
87
|
-
removeByIdArray(idArray) {
|
|
88
|
-
const removedItems = this.loadRaw().filter(item => idArray.findIndex(id => id === item.id) < 0);
|
|
89
|
-
localStorage.setItem('cartData', SkUtils.encodeBase64(removedItems));
|
|
90
|
-
return of(removedItems);
|
|
91
|
-
}
|
|
92
|
-
update(cart) {
|
|
93
|
-
const cartList = this.loadRaw();
|
|
94
|
-
const index = this.loadRaw().findIndex(item => item.id === cart.id);
|
|
95
|
-
if (index > -1) {
|
|
96
|
-
cartList[index] = cart;
|
|
97
|
-
localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
|
|
98
|
-
}
|
|
99
|
-
return of(cartList);
|
|
100
|
-
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartLocalService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
102
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartLocalService, providedIn: 'root' }); }
|
|
103
|
-
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartLocalService, decorators: [{
|
|
105
|
-
type: Injectable,
|
|
106
|
-
args: [{
|
|
107
|
-
providedIn: 'root'
|
|
108
|
-
}]
|
|
109
|
-
}], ctorParameters: function () { return [{ type: Object, decorators: [{
|
|
110
|
-
type: Inject,
|
|
111
|
-
args: [PLATFORM_ID]
|
|
112
|
-
}] }]; } });
|
|
113
|
-
export class SkCartService {
|
|
114
|
-
get cartItems() {
|
|
115
|
-
return this._cartItems$.getValue();
|
|
116
|
-
}
|
|
117
|
-
set cartItems(value) {
|
|
118
|
-
this._cartItems$.next(value);
|
|
119
|
-
}
|
|
120
|
-
get selectedItems() {
|
|
121
|
-
return this._selectedItems$.getValue();
|
|
122
|
-
}
|
|
123
|
-
set selectedItems(value) {
|
|
124
|
-
this._selectedItems$.next(value);
|
|
125
|
-
}
|
|
126
|
-
constructor(_authService, _apiService, _apiCartService, _apiLocalService) {
|
|
127
|
-
this._authService = _authService;
|
|
128
|
-
this._apiService = _apiService;
|
|
129
|
-
this._apiCartService = _apiCartService;
|
|
130
|
-
this._apiLocalService = _apiLocalService;
|
|
131
|
-
this._cartItems$ = new BehaviorSubject([]);
|
|
132
|
-
this.cartItems$ = this._cartItems$.asObservable();
|
|
133
|
-
this._selectedItems$ = new BehaviorSubject([]);
|
|
134
|
-
this.selectedItems$ = this._selectedItems$.asObservable();
|
|
135
|
-
// this._myInfoSubscription = this._authService.userinfo$.subscribe(() => {
|
|
136
|
-
// this.load();
|
|
137
|
-
// });
|
|
138
|
-
}
|
|
139
|
-
load() {
|
|
140
|
-
this._authService.checkLogin()
|
|
141
|
-
.pipe(switchMap(result => result ? this._apiCartService.load() : this._apiLocalService.load()))
|
|
142
|
-
.subscribe(result => this._cartItems$.next(result));
|
|
143
|
-
}
|
|
144
|
-
clear() {
|
|
145
|
-
this._authService.checkLogin()
|
|
146
|
-
.pipe(switchMap(result => result ? this._apiCartService.clear() : this._apiLocalService.clear()))
|
|
147
|
-
.subscribe(result => this._cartItems$.next(result));
|
|
148
|
-
}
|
|
149
|
-
add(cart) {
|
|
150
|
-
return this._authService.checkLogin()
|
|
151
|
-
.pipe(switchMap(result => result ? this._apiCartService.add(cart) : this._apiLocalService.add(cart)), tap(result => this._cartItems$.next(result)));
|
|
152
|
-
}
|
|
153
|
-
remove(carts) {
|
|
154
|
-
this._authService.checkLogin()
|
|
155
|
-
.pipe(switchMap(result => result ? this._apiCartService.remove(carts) : this._apiLocalService.remove(carts)))
|
|
156
|
-
.subscribe(result => {
|
|
157
|
-
this._cartItems$.next(result);
|
|
158
|
-
this.checkSelectedItems();
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
removeByIdArray(idArray) {
|
|
162
|
-
this._authService.checkLogin()
|
|
163
|
-
.pipe(switchMap(result => result ? this._apiCartService.removeByIdArray(idArray) : this._apiLocalService.removeByIdArray(idArray)))
|
|
164
|
-
.subscribe(result => {
|
|
165
|
-
this._cartItems$.next(result);
|
|
166
|
-
this.checkSelectedItems();
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
update(cart) {
|
|
170
|
-
this._authService.checkLogin()
|
|
171
|
-
.pipe(switchMap(result => result ? this._apiCartService.update(cart) : this._apiLocalService.update(cart)))
|
|
172
|
-
.subscribe(result => this._cartItems$.next(result));
|
|
173
|
-
}
|
|
174
|
-
getCart(id) {
|
|
175
|
-
return this._cartItems$.getValue().find(value => value.id === id);
|
|
176
|
-
}
|
|
177
|
-
checkSelectedItems() {
|
|
178
|
-
this.selectedItems = this.selectedItems.filter(value => !!this.getCart(value));
|
|
179
|
-
}
|
|
180
|
-
selectAll() {
|
|
181
|
-
this.selectedItems = this._cartItems$.getValue().map(item => item.id);
|
|
182
|
-
}
|
|
183
|
-
deSelectAll() {
|
|
184
|
-
this.selectedItems = [];
|
|
185
|
-
}
|
|
186
|
-
toggleSelectAll() {
|
|
187
|
-
if (this.selectedItems.length === this._cartItems$.getValue().length) {
|
|
188
|
-
this.deSelectAll();
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
this.selectAll();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
toggleSelect(cart) {
|
|
195
|
-
const targetIndex = this.selectedItems.findIndex(item => item === cart.id);
|
|
196
|
-
if (targetIndex === -1) {
|
|
197
|
-
this.selectedItems = [...this.selectedItems, cart.id];
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
const target = this.selectedItems;
|
|
201
|
-
target.splice(targetIndex, 1);
|
|
202
|
-
this.selectedItems = target;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
isSelected(cart) {
|
|
206
|
-
return this.selectedItems.findIndex(item => item === cart.id) > -1;
|
|
207
|
-
}
|
|
208
|
-
isSelectedAll() {
|
|
209
|
-
return this.selectedItems.length > 0 && this.selectedItems.length === this._cartItems$.getValue().length;
|
|
210
|
-
}
|
|
211
|
-
isIntermediate() {
|
|
212
|
-
return this.selectedItems.length > 0 && this.selectedItems.length !== this._cartItems$.getValue().length;
|
|
213
|
-
}
|
|
214
|
-
createOrder(paymentType, affiliateKey) {
|
|
215
|
-
return this._authService.checkLogin()
|
|
216
|
-
.pipe(take(1), map(result => {
|
|
217
|
-
if (result) {
|
|
218
|
-
return {
|
|
219
|
-
apiUrl: `/api/public/orders/from-cart`,
|
|
220
|
-
items: this.selectedItems
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
return {
|
|
225
|
-
apiUrl: `/api/public/orders/from-data`,
|
|
226
|
-
items: this.selectedItems
|
|
227
|
-
.map(id => this.getCart(id))
|
|
228
|
-
.map(cart => ({
|
|
229
|
-
id: cart.id,
|
|
230
|
-
productId: cart.product.id,
|
|
231
|
-
amount: cart.amount,
|
|
232
|
-
options: (cart.options || []).map(option => ({
|
|
233
|
-
optionId: option.option.id,
|
|
234
|
-
valueId: option.value.id,
|
|
235
|
-
amount: option.amount || 1
|
|
236
|
-
})),
|
|
237
|
-
gifts: (cart.gifts || []).map(item => ({ id: item.id }))
|
|
238
|
-
}))
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
}), switchMap(result => this._apiService.post(result.apiUrl, {
|
|
242
|
-
items: result.items,
|
|
243
|
-
affiliateKey,
|
|
244
|
-
paymentType
|
|
245
|
-
})), map(result => result.data));
|
|
246
|
-
}
|
|
247
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartService, deps: [{ token: i2.SkAuthService }, { token: i1.SkApiService }, { token: SkCartApiService }, { token: SkCartLocalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
248
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartService, providedIn: 'root' }); }
|
|
249
|
-
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkCartService, decorators: [{
|
|
251
|
-
type: Injectable,
|
|
252
|
-
args: [{
|
|
253
|
-
providedIn: 'root'
|
|
254
|
-
}]
|
|
255
|
-
}], ctorParameters: function () { return [{ type: i2.SkAuthService }, { type: i1.SkApiService }, { type: SkCartApiService }, { type: SkCartLocalService }]; } });
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBZ0IsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFtQnpELE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFXLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZO1FBQ1osTUFBTSxJQUFJLEdBQWtCO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ3RCLENBQUMsQ0FBQztZQUNILE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUM7U0FDakUsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQVcsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWU7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWlCO1FBQzdCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBVyxtQkFBbUIsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoSCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBVyxxQkFBcUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDdkUsQ0FBQztJQUNOLENBQUM7K0dBaERRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUF1REQsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJO1lBQ0EsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3hCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkc7U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUk7UUFDQSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDWixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNqRSxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSztRQUNELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFpQjtRQUM3QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7K0dBekRRLGtCQUFrQixrQkFJUCxXQUFXO21IQUp0QixrQkFBa0IsY0FGZixNQUFNOzs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLZ0IsTUFBTTsyQkFBQyxXQUFXOztBQTJEbkMsTUFBTSxPQUFPLGFBQWE7SUFLdEIsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUtELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsWUFBb0IsWUFBMkIsRUFDM0IsV0FBeUIsRUFDekIsZUFBaUMsRUFDakMsZ0JBQW9DO1FBSHBDLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBM0JoRCxnQkFBVyxHQUE4QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxlQUFVLEdBQXlCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFVM0Usb0JBQWUsR0FBOEIsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsbUJBQWMsR0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWlCdkYsMkVBQTJFO1FBQzNFLG1CQUFtQjtRQUNuQixNQUFNO0lBQ1YsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTthQUN6QixJQUFJLENBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0Y7YUFDQSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUU7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDaEcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFO2FBQ2hDLElBQUksQ0FDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzlGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQy9DLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWU7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUU7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUM1RyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWlCO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDbEksU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFZO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUU7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUMxRyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDckIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksV0FBVyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0csQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUM3RyxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQW1CLEVBQUUsWUFBb0I7UUFDakQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRTthQUNoQyxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNULElBQUksTUFBTSxFQUFFO2dCQUNSLE9BQU87b0JBQ0gsTUFBTSxFQUFFLDhCQUE4QjtvQkFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhO2lCQUM1QixDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsT0FBTztvQkFDSCxNQUFNLEVBQUUsOEJBQThCO29CQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWE7eUJBQ3BCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7eUJBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ1YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQzFCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTt3QkFDbkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUN6QyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUMxQixPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDO3lCQUM3QixDQUFDLENBQUM7d0JBQ0gsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO3FCQUN6RCxDQUFDLENBQUM7aUJBQ1YsQ0FBQzthQUNMO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQU0sTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUMxRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsWUFBWTtZQUNaLFdBQVc7U0FDZCxDQUFDLENBQUMsRUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQzdCLENBQUM7SUFDVixDQUFDOytHQXJLUSxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNQbGF0Zm9ybUJyb3dzZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2tVdGlsc30gZnJvbSAnc2stZnJvbnQtbGliJztcbmltcG9ydCB7U2tBcGlTZXJ2aWNlfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7SVNrQ2FydENyZWF0ZSwgU2tDYXJ0fSBmcm9tICdzay1mcm9udC1saWIvbW9kZWwnO1xuaW1wb3J0IHtTa0F1dGhTZXJ2aWNlfSBmcm9tICcuL3NrLWF1dGguc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FydEFic3RyYWN0U2VydmljZSB7XG4gICAgbG9hZCgpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPjtcblxuICAgIGNsZWFyKCk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xuXG4gICAgYWRkKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xuXG4gICAgcmVtb3ZlKGNhcnRzOiBTa0NhcnRbXSk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xuXG4gICAgdXBkYXRlKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xufVxuXG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tDYXJ0QXBpU2VydmljZSBpbXBsZW1lbnRzIENhcnRBYnN0cmFjdFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICBsb2FkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tDYXJ0W10+KGAvYXBpL3B1YmxpYy9jYXJ0c2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHJlc3BvbnNlLmRhdGEgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa0NhcnQoaXRlbSkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZChjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IElTa0NhcnRDcmVhdGUgPSB7XG4gICAgICAgICAgICBwcm9kdWN0OiBjYXJ0LnByb2R1Y3QuaWQsXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnM6IGNhcnQub3B0aW9ucy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLmlkLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogaXRlbS5vcHRpb24uaWQsXG4gICAgICAgICAgICAgICAgYW1vdW50OiBpdGVtLmFtb3VudFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgYW1vdW50OiBjYXJ0LmFtb3VudCxcbiAgICAgICAgICAgIHNlbGVjdGVkR2lmdHM6IChjYXJ0LmdpZnRzIHx8IFtdKS5tYXAoaXRlbSA9PiAoe2lkOiBpdGVtLmlkfSkpXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa0NhcnRbXT4oYC9hcGkvcHVibGljL2NhcnRzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrQ2FydChpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJlbW92ZShjYXJ0czogU2tDYXJ0W10pOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUJ5SWRBcnJheShjYXJ0cy5tYXAoY2FydCA9PiBjYXJ0LmlkKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQnlJZEFycmF5KGlkQXJyYXk6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCBpZHMgPSBpZEFycmF5LmZpbHRlcihpZCA9PiBOdW1iZXIoaWQpID49IDEpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGU8U2tDYXJ0W10+KGAvYXBpL3B1YmxpYy9jYXJ0c2AsIG5ldyBIdHRwUGFyYW1zKCkuYXBwZW5kKCd0YXJnZXQnLCBpZHMuam9pbignLCcpKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrQ2FydChpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrQ2FydFtdPihgL2FwaS9wdWJsaWMvY2FydHMvJHtjYXJ0LmlkfWAsIHthbW91bnQ6IGNhcnQuYW1vdW50fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrQ2FydChpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQ2FydExvY2FsU2VydmljZSBpbXBsZW1lbnRzIENhcnRBYnN0cmFjdFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBpc1BsYXRmb3JtQnJvd3NlcjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0KSB7XG4gICAgICAgIHRoaXMuaXNQbGF0Zm9ybUJyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICAgIH1cblxuICAgIGxvYWRSYXcoKSB7XG4gICAgICAgIGxldCBkYXRhID0gW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1BsYXRmb3JtQnJvd3Nlcikge1xuICAgICAgICAgICAgICAgIGRhdGEgPSAoU2tVdGlscy5kZWNvZGVCYXNlNjQobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NhcnREYXRhJykpIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZGF0YSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgbG9hZCgpIHtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMubG9hZFJhdygpKTtcbiAgICB9XG5cbiAgICBhZGQoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjYXJ0LmlkID0gTWF0aC5yYW5kb20oKTtcbiAgICAgICAgY29uc3QgY2FydExpc3QgPSBbY2FydCwgLi4udGhpcy5sb2FkUmF3KCldO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY2FydERhdGEnLCBTa1V0aWxzLmVuY29kZUJhc2U2NChjYXJ0TGlzdCkpO1xuICAgICAgICByZXR1cm4gb2YoY2FydExpc3QpO1xuICAgIH1cblxuICAgIGNsZWFyKCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgY29uc3QgY2FydExpc3QgPSBbXTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnREYXRhJywgU2tVdGlscy5lbmNvZGVCYXNlNjQoY2FydExpc3QpKTtcbiAgICAgICAgcmV0dXJuIG9mKGNhcnRMaXN0KTtcbiAgICB9XG5cbiAgICByZW1vdmUoY2FydHM6IFNrQ2FydFtdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdmVCeUlkQXJyYXkoY2FydHMubWFwKGNhcnQgPT4gY2FydC5pZCkpO1xuICAgIH1cblxuICAgIHJlbW92ZUJ5SWRBcnJheShpZEFycmF5OiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZEl0ZW1zID0gdGhpcy5sb2FkUmF3KCkuZmlsdGVyKGl0ZW0gPT4gaWRBcnJheS5maW5kSW5kZXgoaWQgPT4gaWQgPT09IGl0ZW0uaWQpIDwgMCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0RGF0YScsIFNrVXRpbHMuZW5jb2RlQmFzZTY0KHJlbW92ZWRJdGVtcykpO1xuICAgICAgICByZXR1cm4gb2YocmVtb3ZlZEl0ZW1zKTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCBjYXJ0TGlzdCA9IHRoaXMubG9hZFJhdygpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubG9hZFJhdygpLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGNhcnQuaWQpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgY2FydExpc3RbaW5kZXhdID0gY2FydDtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0RGF0YScsIFNrVXRpbHMuZW5jb2RlQmFzZTY0KGNhcnRMaXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoY2FydExpc3QpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NhcnRTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgX2NhcnRJdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDxTa0NhcnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FydEl0ZW1zJDogT2JzZXJ2YWJsZTxTa0NhcnRbXT4gPSB0aGlzLl9jYXJ0SXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgZ2V0IGNhcnRJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBzZXQgY2FydEl0ZW1zKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2NhcnRJdGVtcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtcyQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPihbXSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkSXRlbXMkOiBPYnNlcnZhYmxlPG51bWJlcltdPiA9IHRoaXMuX3NlbGVjdGVkSXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgZ2V0IHNlbGVjdGVkSXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHNldCBzZWxlY3RlZEl0ZW1zKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX215SW5mb1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXV0aFNlcnZpY2U6IFNrQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2FwaUNhcnRTZXJ2aWNlOiBTa0NhcnRBcGlTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2FwaUxvY2FsU2VydmljZTogU2tDYXJ0TG9jYWxTZXJ2aWNlKSB7XG5cbiAgICAgICAgLy8gdGhpcy5fbXlJbmZvU3Vic2NyaXB0aW9uID0gdGhpcy5fYXV0aFNlcnZpY2UudXNlcmluZm8kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgLy8gfSk7XG4gICAgfVxuXG4gICAgbG9hZCgpIHtcbiAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+IHJlc3VsdCA/IHRoaXMuX2FwaUNhcnRTZXJ2aWNlLmxvYWQoKSA6IHRoaXMuX2FwaUxvY2FsU2VydmljZS5sb2FkKCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5jbGVhcigpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLmNsZWFyKCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4gdGhpcy5fY2FydEl0ZW1zJC5uZXh0KHJlc3VsdCkpO1xuICAgIH1cblxuICAgIGFkZChjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0ID8gdGhpcy5fYXBpQ2FydFNlcnZpY2UuYWRkKGNhcnQpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLmFkZChjYXJ0KSksXG4gICAgICAgICAgICAgICAgdGFwKHJlc3VsdCA9PiB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVtb3ZlKGNhcnRzOiBTa0NhcnRbXSkge1xuICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0ID8gdGhpcy5fYXBpQ2FydFNlcnZpY2UucmVtb3ZlKGNhcnRzKSA6IHRoaXMuX2FwaUxvY2FsU2VydmljZS5yZW1vdmUoY2FydHMpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrU2VsZWN0ZWRJdGVtcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQnlJZEFycmF5KGlkQXJyYXk6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5yZW1vdmVCeUlkQXJyYXkoaWRBcnJheSkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UucmVtb3ZlQnlJZEFycmF5KGlkQXJyYXkpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrU2VsZWN0ZWRJdGVtcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlKGNhcnQ6IFNrQ2FydCkge1xuICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0ID8gdGhpcy5fYXBpQ2FydFNlcnZpY2UudXBkYXRlKGNhcnQpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLnVwZGF0ZShjYXJ0KSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgZ2V0Q2FydChpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkuZmluZCh2YWx1ZSA9PiB2YWx1ZS5pZCA9PT0gaWQpO1xuICAgIH1cblxuICAgIGNoZWNrU2VsZWN0ZWRJdGVtcygpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcih2YWx1ZSA9PiAhIXRoaXMuZ2V0Q2FydCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpLm1hcChpdGVtID0+IGl0ZW0uaWQpO1xuICAgIH1cblxuICAgIGRlU2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgICB9XG5cbiAgICB0b2dnbGVTZWxlY3RBbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlU2VsZWN0QWxsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0KGNhcnQ6IFNrQ2FydCkge1xuICAgICAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBjYXJ0LmlkKTtcbiAgICAgICAgaWYgKHRhcmdldEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gWy4uLnRoaXMuc2VsZWN0ZWRJdGVtcywgY2FydC5pZF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnNlbGVjdGVkSXRlbXM7XG4gICAgICAgICAgICB0YXJnZXQuc3BsaWNlKHRhcmdldEluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRhcmdldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQoY2FydDogU2tDYXJ0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gY2FydC5pZCkgPiAtMTtcbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkQWxsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBpc0ludGVybWVkaWF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggIT09IHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgY3JlYXRlT3JkZXIocGF5bWVudFR5cGU6IHN0cmluZywgYWZmaWxpYXRlS2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaVVybDogYC9hcGkvcHVibGljL29yZGVycy9mcm9tLWNhcnRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaVVybDogYC9hcGkvcHVibGljL29yZGVycy9mcm9tLWRhdGFgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChpZCA9PiB0aGlzLmdldENhcnQoaWQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGNhcnQgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjYXJ0LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdElkOiBjYXJ0LnByb2R1Y3QuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQuYW1vdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogKGNhcnQub3B0aW9ucyB8fCBbXSkubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbklkOiBvcHRpb24ub3B0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlSWQ6IG9wdGlvbi52YWx1ZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG9wdGlvbi5hbW91bnQgfHwgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2lmdHM6IChjYXJ0LmdpZnRzIHx8IFtdKS5tYXAoaXRlbSA9PiAoe2lkOiBpdGVtLmlkfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gdGhpcy5fYXBpU2VydmljZS5wb3N0PGFueT4ocmVzdWx0LmFwaVVybCwge1xuICAgICAgICAgICAgICAgICAgICBpdGVtczogcmVzdWx0Lml0ZW1zLFxuICAgICAgICAgICAgICAgICAgICBhZmZpbGlhdGVLZXksXG4gICAgICAgICAgICAgICAgICAgIHBheW1lbnRUeXBlXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cblxuXG5cbiJdfQ==
|