limitng 0.13.4 → 0.13.8
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/api/globalFunctions.d.ts +3 -0
- package/api/globalFunctions.d.ts.map +1 -1
- package/api/models/fourDConstants.d.ts +42 -40
- package/api/models/fourDConstants.d.ts.map +1 -1
- package/api/models/sistem-raporlari/sistemRaporlariData.d.ts +2 -0
- package/api/models/sistem-raporlari/sistemRaporlariData.d.ts.map +1 -1
- package/api/models/xlConfig.d.ts +10 -3
- package/api/models/xlConfig.d.ts.map +1 -1
- package/esm2020/alt-buyuk-kart/alt-buyuk-kart.component.mjs +7 -7
- package/esm2020/alt-kucuk-kart/alt-kucuk-kart.component.mjs +7 -7
- package/esm2020/api/globalFunctions.mjs +12 -2
- package/esm2020/api/models/fourDConstants.mjs +45 -43
- package/esm2020/api/models/sistem-raporlari/sistemRaporlariData.mjs +3 -1
- package/esm2020/api/models/xlConfig.mjs +32 -6
- package/esm2020/dikey-baslikli-panel/dikey-baslikli-panel.component.mjs +7 -7
- package/esm2020/directives/buyukHarf.directive/buyukHarf.directive.mjs +7 -7
- package/esm2020/directives/ciftBoslukTek.directive/ciftBoslukTek.directive.mjs +7 -7
- package/esm2020/directives/disable.directive/disable.directive.mjs +7 -7
- package/esm2020/directives/ilkHarfBuyuk.directive/ilkHarfBuyuk.directive.mjs +7 -7
- package/esm2020/directives/maksimumUzunluk.directive/maksimumUzunluk.directive.mjs +7 -7
- package/esm2020/directives/sagSolBoslukSil.directive/sagSolBoslukSil.directive.mjs +7 -7
- package/esm2020/directives/sutunGenisligi.directive/sutunGenisligi.directive.mjs +16 -16
- package/esm2020/directives/tumBoslukSil.directive/tumBoslukSil.directive.mjs +7 -7
- package/esm2020/directives/tumIlkHarfBuyuk.directive/tumIlkHarfBuyuk.directive.mjs +7 -7
- package/esm2020/filtre-bar/filtre-bar.component.mjs +7 -7
- package/esm2020/geri-ileri-detay/geri-ileri-detay.component.mjs +7 -7
- package/esm2020/geri-ileri-liste/geri-ileri-liste.component.mjs +7 -7
- package/esm2020/pipes/boolToPlus.pipe/boolToPlus.pipe.mjs +7 -7
- package/esm2020/pipes/boolToPlusMinus.pipe/boolToPlusMinus.pipe.mjs +7 -7
- package/esm2020/pipes/dateToText.pipe/dateToText.pipe.mjs +7 -7
- package/esm2020/pipes/evetHayir.pipe/evetHayir.pipe.mjs +7 -7
- package/esm2020/pipes/safe.pipe/safe.pipe.mjs +7 -7
- package/esm2020/rapor-kart/rapor-kart.component.mjs +7 -7
- package/esm2020/sol-buyuk-kart/sol-buyuk-kart.component.mjs +7 -7
- package/esm2020/sol-kucuk-kart/sol-kucuk-kart.component.mjs +7 -7
- package/esm2020/yatay-baslikli-panel/yatay-baslikli-panel.component.mjs +7 -7
- package/fesm2015/limitng-alt-buyuk-kart.mjs +8 -7
- package/fesm2015/limitng-alt-kucuk-kart.mjs +8 -7
- package/fesm2015/limitng-api-models.mjs +77 -47
- package/fesm2015/limitng-api-models.mjs.map +1 -1
- package/fesm2015/limitng-api.mjs +12 -1
- package/fesm2015/limitng-api.mjs.map +1 -1
- package/fesm2015/limitng-dikey-baslikli-panel.mjs +8 -7
- package/fesm2015/limitng-directives-buyukHarf.directive.mjs +8 -7
- package/fesm2015/limitng-directives-ciftBoslukTek.directive.mjs +8 -7
- package/fesm2015/limitng-directives-disable.directive.mjs +8 -7
- package/fesm2015/limitng-directives-ilkHarfBuyuk.directive.mjs +8 -7
- package/fesm2015/limitng-directives-maksimumUzunluk.directive.mjs +8 -7
- package/fesm2015/limitng-directives-sagSolBoslukSil.directive.mjs +8 -7
- package/fesm2015/limitng-directives-sutunGenisligi.directive.mjs +17 -16
- package/fesm2015/limitng-directives-tumBoslukSil.directive.mjs +8 -7
- package/fesm2015/limitng-directives-tumIlkHarfBuyuk.directive.mjs +8 -7
- package/fesm2015/limitng-directives.mjs +73 -72
- package/fesm2015/limitng-filtre-bar.mjs +8 -7
- package/fesm2015/limitng-geri-ileri-detay.mjs +8 -7
- package/fesm2015/limitng-geri-ileri-liste.mjs +8 -7
- package/fesm2015/limitng-pipes-boolToPlus.pipe.mjs +8 -7
- package/fesm2015/limitng-pipes-boolToPlusMinus.pipe.mjs +8 -7
- package/fesm2015/limitng-pipes-dateToText.pipe.mjs +8 -7
- package/fesm2015/limitng-pipes-evetHayir.pipe.mjs +8 -7
- package/fesm2015/limitng-pipes-safe.pipe.mjs +8 -7
- package/fesm2015/limitng-pipes.mjs +29 -28
- package/fesm2015/limitng-rapor-kart-models.mjs +1 -0
- package/fesm2015/limitng-rapor-kart.mjs +8 -7
- package/fesm2015/limitng-sol-buyuk-kart.mjs +8 -7
- package/fesm2015/limitng-sol-kucuk-kart.mjs +8 -7
- package/fesm2015/limitng-yatay-baslikli-panel.mjs +8 -7
- package/fesm2015/limitng.mjs +1 -0
- package/fesm2020/limitng-alt-buyuk-kart.mjs +8 -7
- package/fesm2020/limitng-alt-kucuk-kart.mjs +8 -7
- package/fesm2020/limitng-api-models.mjs +77 -47
- package/fesm2020/limitng-api-models.mjs.map +1 -1
- package/fesm2020/limitng-api.mjs +12 -1
- package/fesm2020/limitng-api.mjs.map +1 -1
- package/fesm2020/limitng-dikey-baslikli-panel.mjs +8 -7
- package/fesm2020/limitng-directives-buyukHarf.directive.mjs +8 -7
- package/fesm2020/limitng-directives-ciftBoslukTek.directive.mjs +8 -7
- package/fesm2020/limitng-directives-disable.directive.mjs +8 -7
- package/fesm2020/limitng-directives-ilkHarfBuyuk.directive.mjs +8 -7
- package/fesm2020/limitng-directives-maksimumUzunluk.directive.mjs +8 -7
- package/fesm2020/limitng-directives-sagSolBoslukSil.directive.mjs +8 -7
- package/fesm2020/limitng-directives-sutunGenisligi.directive.mjs +17 -16
- package/fesm2020/limitng-directives-tumBoslukSil.directive.mjs +8 -7
- package/fesm2020/limitng-directives-tumIlkHarfBuyuk.directive.mjs +8 -7
- package/fesm2020/limitng-directives.mjs +73 -72
- package/fesm2020/limitng-filtre-bar.mjs +8 -7
- package/fesm2020/limitng-geri-ileri-detay.mjs +8 -7
- package/fesm2020/limitng-geri-ileri-liste.mjs +8 -7
- package/fesm2020/limitng-pipes-boolToPlus.pipe.mjs +8 -7
- package/fesm2020/limitng-pipes-boolToPlusMinus.pipe.mjs +8 -7
- package/fesm2020/limitng-pipes-dateToText.pipe.mjs +8 -7
- package/fesm2020/limitng-pipes-evetHayir.pipe.mjs +8 -7
- package/fesm2020/limitng-pipes-safe.pipe.mjs +8 -7
- package/fesm2020/limitng-pipes.mjs +29 -28
- package/fesm2020/limitng-rapor-kart-models.mjs +1 -0
- package/fesm2020/limitng-rapor-kart.mjs +8 -7
- package/fesm2020/limitng-sol-buyuk-kart.mjs +8 -7
- package/fesm2020/limitng-sol-kucuk-kart.mjs +8 -7
- package/fesm2020/limitng-yatay-baslikli-panel.mjs +8 -7
- package/fesm2020/limitng.mjs +1 -0
- package/package.json +1 -1
package/api/globalFunctions.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SelectItem } from 'primeng/api';
|
|
1
2
|
import { MecraTurleri, MecraTurleriStr } from './models/enums';
|
|
2
3
|
export declare class GlobalFunctions {
|
|
3
4
|
static shadeColor(color: string, percent: number): string;
|
|
@@ -34,5 +35,7 @@ export declare class GlobalFunctions {
|
|
|
34
35
|
static mecraTuruNoVer(mecraTuruStr: MecraTurleriStr): MecraTurleri;
|
|
35
36
|
static mecraTuruStrVer(mecraTuruNo: MecraTurleri): MecraTurleriStr;
|
|
36
37
|
static padLeadingZeros(num: number, size: number): string;
|
|
38
|
+
static arrayToSelectItem(array: string[]): SelectItem<string>[];
|
|
39
|
+
static arrayNumberToSelectItem(array: number[]): SelectItem<number>[];
|
|
37
40
|
}
|
|
38
41
|
//# sourceMappingURL=globalFunctions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,qBAAa,eAAe;IAC1B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAqBhD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAMzD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAW5D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAI1D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAazC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ5C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ9C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAQtC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9C,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9C,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAexC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgCrC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgCzC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgClC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAsBvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3D,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc5C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAW5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI3C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;IAe3B,MAAM,CAAC,cAAc,CAAC,KAAK,KAAA;IAmC3B,MAAM,CAAC,iCAAiC,CAAC,kBAAkB,EAAE,MAAM;IAYnE,MAAM,CAAC,YAAY,IAAI,MAAM;IAU7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAe9C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB1C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU7C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK1C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAqB1C,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,GAAG,YAAY;IAqClE,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe;IAqClE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,45 +37,47 @@ export declare enum VariableType {
|
|
|
37
37
|
Istext = 2,
|
|
38
38
|
Istime = 11
|
|
39
39
|
}
|
|
40
|
-
export declare enum
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
40
|
+
export declare enum NumberFormatlar {
|
|
41
|
+
Genel = -1000,
|
|
42
|
+
Metin = -1001,
|
|
43
|
+
Tarih = 101,
|
|
44
|
+
Long = 1,
|
|
45
|
+
Real = 3,
|
|
46
|
+
Yuzde_BirHane = 102,
|
|
47
|
+
Dolar_Kurussuz = 23,
|
|
48
|
+
Saat_Saniyesiz = 9,
|
|
49
|
+
Kur = 15,
|
|
50
|
+
Saat_Saniyeli = 16,
|
|
51
|
+
TL_Kuruslu = 17,
|
|
52
|
+
Dolar_Kuruslu = 18,
|
|
53
|
+
Yuzde_SifirHane = 19,
|
|
54
|
+
Yuzde_IkiHane = 20,
|
|
55
|
+
Yuzde_BesHane = 21,
|
|
56
|
+
TL_Kurussuz = 22,
|
|
57
|
+
Tarih_YYYYMMDD = 103,
|
|
58
|
+
Tarih_GGAAAAYYYY = 104,
|
|
59
|
+
Tarih_LongDate = 105,
|
|
60
|
+
imp = 106,
|
|
61
|
+
Clicks = 107,
|
|
62
|
+
Gun = 108,
|
|
63
|
+
Tarih_ga = 109,
|
|
64
|
+
Tarih_ggaa = 110,
|
|
65
|
+
Tarih_ggaaa = 111,
|
|
66
|
+
Tarih_ggaaaa = 112,
|
|
67
|
+
Tarih_gaaaa = 113,
|
|
68
|
+
View = 114,
|
|
69
|
+
Session = 115,
|
|
70
|
+
Kisi = 116,
|
|
71
|
+
Okunma = 117,
|
|
72
|
+
Dinlenme = 118,
|
|
73
|
+
Euro_Kuruslu = 24,
|
|
74
|
+
Euro_Kurussuz = 25,
|
|
75
|
+
Sterlin_Kuruslu = 26,
|
|
76
|
+
Sterlin_Kurussuz = 27,
|
|
77
|
+
Tarih_yyyymmdd_tireli = 120,
|
|
78
|
+
TLSembol_Kuruslu = 28,
|
|
79
|
+
TLSembol_Kurussuz = 29,
|
|
80
|
+
Lead = 47,
|
|
81
|
+
Tarih_AAAAYYYY = 121
|
|
80
82
|
}
|
|
81
83
|
//# sourceMappingURL=fourDConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fourDConstants.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/fourDConstants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;IACV,SAAS,IAAI;CACd;AAED,oBAAY,MAAM;IAChB,OAAO,MAAM;IACb,OAAO,aAAa;IACpB,QAAQ,QAAQ;IAChB,OAAO,UAAU;IACjB,OAAO,UAAU;IACjB,MAAM,YAAY;IAClB,QAAQ,YAAY;IACpB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,QAAQ,aAAa;IACrB,KAAK,QAAQ;IACb,MAAM,UAAU;IAChB,QAAQ,UAAU;IAClB,MAAM,aAAa;IACnB,SAAS,aAAa;IACtB,MAAM,aAAa;IACnB,QAAQ,aAAa;IACrB,QAAQ,YAAY;CACrB;AAGD,oBAAY,YAAY;IACtB,MAAM,KAAK;IACX,SAAS,IAAI;IACb,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,QAAQ,KAAK;IACb,SAAS,IAAI;IACb,SAAS,KAAK;IACd,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,KAAK;CACZ;AAGD,oBAAY,
|
|
1
|
+
{"version":3,"file":"fourDConstants.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/fourDConstants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;IACV,SAAS,IAAI;CACd;AAED,oBAAY,MAAM;IAChB,OAAO,MAAM;IACb,OAAO,aAAa;IACpB,QAAQ,QAAQ;IAChB,OAAO,UAAU;IACjB,OAAO,UAAU;IACjB,MAAM,YAAY;IAClB,QAAQ,YAAY;IACpB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,QAAQ,aAAa;IACrB,KAAK,QAAQ;IACb,MAAM,UAAU;IAChB,QAAQ,UAAU;IAClB,MAAM,aAAa;IACnB,SAAS,aAAa;IACtB,MAAM,aAAa;IACnB,QAAQ,aAAa;IACrB,QAAQ,YAAY;CACrB;AAGD,oBAAY,YAAY;IACtB,MAAM,KAAK;IACX,SAAS,IAAI;IACb,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,QAAQ,KAAK;IACb,SAAS,IAAI;IACb,SAAS,KAAK;IACd,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,KAAK;CACZ;AAGD,oBAAY,eAAe;IACzB,KAAK,QAAQ;IACb,KAAK,QAAQ;IACb,KAAK,MAAM;IACX,IAAI,IAAI;IACR,IAAI,IAAI;IACR,aAAa,MAAM;IACnB,cAAc,KAAK;IACnB,cAAc,IAAI;IAClB,GAAG,KAAK;IACR,aAAa,KAAK;IAClB,UAAU,KAAK;IACf,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,aAAa,KAAK;IAClB,aAAa,KAAK;IAClB,WAAW,KAAK;IAChB,cAAc,MAAM;IACpB,gBAAgB,MAAM;IACtB,cAAc,MAAM;IACpB,GAAG,MAAM;IACT,MAAM,MAAM;IACZ,GAAG,MAAM;IACT,QAAQ,MAAM;IACd,UAAU,MAAM;IAChB,WAAW,MAAM;IACjB,YAAY,MAAM;IAClB,WAAW,MAAM;IACjB,IAAI,MAAM;IACV,OAAO,MAAM;IACb,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,QAAQ,MAAM;IACd,YAAY,KAAK;IACjB,aAAa,KAAK;IAClB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,qBAAqB,MAAM;IAC3B,gBAAgB,KAAK;IACrB,iBAAiB,KAAK;IACtB,IAAI,KAAK;IACT,cAAc,MAAM;CACrB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { RaporKartSecenekler } from 'limitng/rapor-kart/models';
|
|
2
|
+
import { Favori } from '../ortak';
|
|
2
3
|
export declare class SistemRaporlari {
|
|
3
4
|
raporlar: SistemRaporlariListe[];
|
|
5
|
+
favoriBilgileri: Favori;
|
|
4
6
|
}
|
|
5
7
|
export interface SistemRaporlariListe {
|
|
6
8
|
baslik: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sistemRaporlariData.d.ts","sourceRoot":"","sources":["../../../../src/app/components/api/models/sistem-raporlari/sistemRaporlariData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"sistemRaporlariData.d.ts","sourceRoot":"","sources":["../../../../src/app/components/api/models/sistem-raporlari/sistemRaporlariData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,eAAe;IAC1B,QAAQ,EAAE,oBAAoB,EAAE,CAAM;IACtC,eAAe,SAAgB;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC"}
|
package/api/models/xlConfig.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FontStyle, VariableType, XLRenk } from './fourDConstants';
|
|
1
|
+
import { FontStyle, NumberFormatlar, VariableType, XLRenk } from './fourDConstants';
|
|
2
2
|
import { XlBorderWeigh, XLFuncs, XLHAlign, XLLineStyle, XlVAlign } from './xlConstants';
|
|
3
3
|
export declare class XLConfig {
|
|
4
4
|
logo: XLLogo;
|
|
@@ -116,7 +116,7 @@ export declare class XLTable {
|
|
|
116
116
|
rowFontSizes: number[];
|
|
117
117
|
rowFontColors: RowFontColor[];
|
|
118
118
|
rowFontStyles: FontStyle[];
|
|
119
|
-
rowInteriorColors:
|
|
119
|
+
rowInteriorColors: RowInteriorColor[];
|
|
120
120
|
rowFormats: string[];
|
|
121
121
|
rowHorizontalAlignments: XLHAlign[];
|
|
122
122
|
rowVerticalAlignments: XlVAlign[];
|
|
@@ -137,7 +137,9 @@ export declare class XLTable {
|
|
|
137
137
|
rangeHorizontalAlignments: XLHAlign[];
|
|
138
138
|
rangeVerticalAlignments: XlVAlign[];
|
|
139
139
|
addColumn(property: string, type?: VariableType, header?: string, genislik?: number): void;
|
|
140
|
+
columnFormat(format: NumberFormatlar, columnNo?: number): void;
|
|
140
141
|
rowFontColorAdd(color: XLRenk, rowNo?: number): void;
|
|
142
|
+
rowInteriorColorAdd(color: XLRenk, rowNo?: number): void;
|
|
141
143
|
setColumnFooter(title: string, columnNo?: number): void;
|
|
142
144
|
setColumnFooterFunction(footerFunction: XLFuncs, columnNo?: number): void;
|
|
143
145
|
hiddenRowsInit(): void;
|
|
@@ -170,7 +172,7 @@ export declare class XLTableColumn {
|
|
|
170
172
|
footer: XLTableColumnFooter;
|
|
171
173
|
horizontalAlignment: XLHAlign;
|
|
172
174
|
verticalAlignment: XlVAlign;
|
|
173
|
-
format:
|
|
175
|
+
format: NumberFormatlar;
|
|
174
176
|
width: number;
|
|
175
177
|
setFooterFunction(footerFunction: XLFuncs): void;
|
|
176
178
|
setFooter(title: string): void;
|
|
@@ -180,4 +182,9 @@ export declare class RowFontColor {
|
|
|
180
182
|
rowNo: number;
|
|
181
183
|
constructor(color: XLRenk, rowNo: number);
|
|
182
184
|
}
|
|
185
|
+
export declare class RowInteriorColor {
|
|
186
|
+
color: XLRenk;
|
|
187
|
+
rowNo: number;
|
|
188
|
+
constructor(color: XLRenk, rowNo: number);
|
|
189
|
+
}
|
|
183
190
|
//# sourceMappingURL=xlConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,9 @@ export class AltBuyukKartComponent {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
AltBuyukKartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
22
|
-
AltBuyukKartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
21
|
+
AltBuyukKartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
AltBuyukKartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: AltBuyukKartComponent, selector: "alt-buyuk-kart", inputs: { baslik: "baslik", baslikRenk: "baslikRenk", genislik: "genislik", yukseklik: "yukseklik", baslikYukseklik: "baslikYukseklik", baslikFontSize: "baslikFontSize" }, queries: [{ propertyName: "sagAlt", first: true, predicate: ["sagAlt"], descendants: true }, { propertyName: "solAlt", first: true, predicate: ["solAlt"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"alt-buyuk-kart\" [style.width]=\"genislik\">\r\n <div class=\"wrapper\" [style.height.em]=\"yukseklik\">\r\n <div class=\"alt-baslik\" [style.backgroundColor]=\"baslikRenk\" [style.height.em]=\"baslikYukseklik\"\r\n [style.top.em]=\"baslikUst\">\r\n </div>\r\n\r\n <div class=\"baslik-yazi\" [style.font-size.em]=\"baslikFontSize\" [style.height.em]=\"baslikYukseklik\"\r\n [style.color]=\"baslikRenk\" [style.top.em]=\"baslikUst\">\r\n <b>{{baslik}}</b>\r\n </div>\r\n\r\n <div *ngIf=\"sagAlt\" class=\"sag-alt\" [style.height.em]=\"baslikYukseklik\" [style.top.em]=\"baslikUst\">\r\n <ng-container *ngTemplateOutlet=\"sagAlt; context: {$implicit: sagIcerik}\">\r\n {{sagIcerik}}\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"solAlt\" class=\"sol-alt\" [style.height.em]=\"baslikYukseklik\" [style.top.em]=\"baslikUst\">\r\n <ng-container *ngTemplateOutlet=\"solAlt; context: {$implicit: solIcerik}\">\r\n {{solIcerik}}\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".alt-buyuk-kart{float:left;margin:.5em 0 0 .5em;background-color:transparent;border:transparent}.alt-buyuk-kart .wrapper{background-color:#fff;position:relative;border-radius:.35em;box-shadow:inset 0 0 .35em .15em #0003}.alt-buyuk-kart .alt-baslik{position:absolute;opacity:.2;width:100%}.alt-buyuk-kart .baslik-yazi{position:absolute;width:100%;display:flex;justify-content:center;align-items:center;padding-right:.4rem;padding-left:.4rem;line-height:1.5}.alt-buyuk-kart .sag-alt{position:absolute;padding:.4em;width:50%;text-align:right;left:50%;z-index:1000}.alt-buyuk-kart .sol-alt{position:absolute;padding:.4em;width:50%;text-align:left;z-index:1000}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'alt-buyuk-kart', template: "<div class=\"alt-buyuk-kart\" [style.width]=\"genislik\">\r\n <div class=\"wrapper\" [style.height.em]=\"yukseklik\">\r\n <div class=\"alt-baslik\" [style.backgroundColor]=\"baslikRenk\" [style.height.em]=\"baslikYukseklik\"\r\n [style.top.em]=\"baslikUst\">\r\n </div>\r\n\r\n <div class=\"baslik-yazi\" [style.font-size.em]=\"baslikFontSize\" [style.height.em]=\"baslikYukseklik\"\r\n [style.color]=\"baslikRenk\" [style.top.em]=\"baslikUst\">\r\n <b>{{baslik}}</b>\r\n </div>\r\n\r\n <div *ngIf=\"sagAlt\" class=\"sag-alt\" [style.height.em]=\"baslikYukseklik\" [style.top.em]=\"baslikUst\">\r\n <ng-container *ngTemplateOutlet=\"sagAlt; context: {$implicit: sagIcerik}\">\r\n {{sagIcerik}}\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"solAlt\" class=\"sol-alt\" [style.height.em]=\"baslikYukseklik\" [style.top.em]=\"baslikUst\">\r\n <ng-container *ngTemplateOutlet=\"solAlt; context: {$implicit: solIcerik}\">\r\n {{solIcerik}}\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".alt-buyuk-kart{float:left;margin:.5em 0 0 .5em;background-color:transparent;border:transparent}.alt-buyuk-kart .wrapper{background-color:#fff;position:relative;border-radius:.35em;box-shadow:inset 0 0 .35em .15em #0003}.alt-buyuk-kart .alt-baslik{position:absolute;opacity:.2;width:100%}.alt-buyuk-kart .baslik-yazi{position:absolute;width:100%;display:flex;justify-content:center;align-items:center;padding-right:.4rem;padding-left:.4rem;line-height:1.5}.alt-buyuk-kart .sag-alt{position:absolute;padding:.4em;width:50%;text-align:right;left:50%;z-index:1000}.alt-buyuk-kart .sol-alt{position:absolute;padding:.4em;width:50%;text-align:left;z-index:1000}\n"] }]
|
|
26
26
|
}], ctorParameters: function () { return []; }, propDecorators: { baslik: [{
|
|
@@ -44,10 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
44
44
|
}] } });
|
|
45
45
|
export class AltBuyukKartModule {
|
|
46
46
|
}
|
|
47
|
-
AltBuyukKartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
48
|
-
AltBuyukKartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.
|
|
49
|
-
AltBuyukKartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
47
|
+
AltBuyukKartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
|
+
AltBuyukKartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartModule, declarations: [AltBuyukKartComponent], imports: [CommonModule], exports: [AltBuyukKartComponent] });
|
|
49
|
+
AltBuyukKartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartModule, imports: [[CommonModule]] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltBuyukKartModule, decorators: [{
|
|
51
51
|
type: NgModule,
|
|
52
52
|
args: [{
|
|
53
53
|
imports: [CommonModule],
|
|
@@ -18,9 +18,9 @@ export class AltKucukKartComponent {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
AltKucukKartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
22
|
-
AltKucukKartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
21
|
+
AltKucukKartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
AltKucukKartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: AltKucukKartComponent, selector: "alt-kucuk-kart", inputs: { baslik: "baslik", baslikRenk: "baslikRenk", genislik: "genislik", yukseklik: "yukseklik", baslikYukseklik: "baslikYukseklik", baslikFontSize: "baslikFontSize" }, queries: [{ propertyName: "sagAlt", first: true, predicate: ["sagAlt"], descendants: true }, { propertyName: "solAlt", first: true, predicate: ["solAlt"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"alt-kucuk-kart\" [style.width]=\"genislik\">\r\n <div class=\"wrapper\" [style.height.em]=\"yukseklik\">\r\n <div class=\"alt-baslik\" [style.backgroundColor]=\"baslikRenk\" [style.height.em]=\"baslikYukseklik\"\r\n [style.top.em]=\"baslikUst\">\r\n </div>\r\n\r\n <div class=\"baslik-yazi\" [style.font-size.em]=\"baslikFontSize\" [style.height.em]=\"baslikYukseklik\"\r\n [style.color]=\"baslikRenk\" [style.top.em]=\"baslikUst\">\r\n <b>{{baslik}}</b>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".alt-kucuk-kart{float:left;margin:.5em 0 0 .5em;background-color:transparent;border:transparent}.alt-kucuk-kart .wrapper{background-color:#fff;position:relative;border-radius:.35em;box-shadow:inset 0 0 .35em .15em #0003}.alt-kucuk-kart .alt-baslik{position:absolute;opacity:.2;width:100%}.alt-kucuk-kart .baslik-yazi{position:absolute;width:100%;text-align:center;display:flex;justify-content:center;align-items:center;padding-right:.4rem;padding-left:.4rem}\n"] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'alt-kucuk-kart', template: "<div class=\"alt-kucuk-kart\" [style.width]=\"genislik\">\r\n <div class=\"wrapper\" [style.height.em]=\"yukseklik\">\r\n <div class=\"alt-baslik\" [style.backgroundColor]=\"baslikRenk\" [style.height.em]=\"baslikYukseklik\"\r\n [style.top.em]=\"baslikUst\">\r\n </div>\r\n\r\n <div class=\"baslik-yazi\" [style.font-size.em]=\"baslikFontSize\" [style.height.em]=\"baslikYukseklik\"\r\n [style.color]=\"baslikRenk\" [style.top.em]=\"baslikUst\">\r\n <b>{{baslik}}</b>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".alt-kucuk-kart{float:left;margin:.5em 0 0 .5em;background-color:transparent;border:transparent}.alt-kucuk-kart .wrapper{background-color:#fff;position:relative;border-radius:.35em;box-shadow:inset 0 0 .35em .15em #0003}.alt-kucuk-kart .alt-baslik{position:absolute;opacity:.2;width:100%}.alt-kucuk-kart .baslik-yazi{position:absolute;width:100%;text-align:center;display:flex;justify-content:center;align-items:center;padding-right:.4rem;padding-left:.4rem}\n"] }]
|
|
26
26
|
}], ctorParameters: function () { return []; }, propDecorators: { baslik: [{
|
|
@@ -44,10 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
44
44
|
}] } });
|
|
45
45
|
export class AltKucukKartModule {
|
|
46
46
|
}
|
|
47
|
-
AltKucukKartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
48
|
-
AltKucukKartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.
|
|
49
|
-
AltKucukKartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
47
|
+
AltKucukKartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
|
+
AltKucukKartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartModule, declarations: [AltKucukKartComponent], imports: [CommonModule, RouterModule], exports: [AltKucukKartComponent] });
|
|
49
|
+
AltKucukKartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartModule, imports: [[CommonModule, RouterModule]] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AltKucukKartModule, decorators: [{
|
|
51
51
|
type: NgModule,
|
|
52
52
|
args: [{
|
|
53
53
|
imports: [CommonModule, RouterModule],
|
|
@@ -429,10 +429,20 @@ export class GlobalFunctions {
|
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
431
|
static padLeadingZeros(num, size) {
|
|
432
|
-
|
|
432
|
+
let s = num + '';
|
|
433
433
|
while (s.length < size)
|
|
434
434
|
s = '0' + s;
|
|
435
435
|
return s;
|
|
436
436
|
}
|
|
437
|
+
static arrayToSelectItem(array) {
|
|
438
|
+
return array.map(element => {
|
|
439
|
+
return { label: element, value: element };
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
static arrayNumberToSelectItem(array) {
|
|
443
|
+
return array.map(element => {
|
|
444
|
+
return { label: element.toString(), value: element };
|
|
445
|
+
});
|
|
446
|
+
}
|
|
437
447
|
}
|
|
438
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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ZSxDQUFDLEtBQUssQ0FBQztZQUUvQixLQUFLLFlBQVksQ0FBQyxLQUFLO2dCQUNyQixPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFFL0IsS0FBSyxZQUFZLENBQUMsTUFBTTtnQkFDdEIsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBRWhDLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUVqQyxLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUM7WUFFbEMsS0FBSyxZQUFZLENBQUMsVUFBVTtnQkFDMUIsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBRXBDLEtBQUssWUFBWSxDQUFDLFFBQVE7Z0JBQ3hCLE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUVsQyxLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNuQixPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWNyYVR1cmxlcmksIE1lY3JhVHVybGVyaVN0ciB9IGZyb20gJy4vbW9kZWxzL2VudW1zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxGdW5jdGlvbnMge1xyXG4gIHN0YXRpYyBzaGFkZUNvbG9yKGNvbG9yOiBzdHJpbmcsIHBlcmNlbnQ6IG51bWJlcikge1xyXG5cclxuICAgIGxldCBSID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDEsIDMpLCAxNik7XHJcbiAgICBsZXQgRyA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgbGV0IEIgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoNSwgNyksIDE2KTtcclxuXHJcbiAgICBSID0gcGFyc2VJbnQoKFIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG4gICAgRyA9IHBhcnNlSW50KChHICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEIgPSBwYXJzZUludCgoQiAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcblxyXG4gICAgUiA9IChSIDwgMjU1KSA/IFIgOiAyNTU7XHJcbiAgICBHID0gKEcgPCAyNTUpID8gRyA6IDI1NTtcclxuICAgIEIgPSAoQiA8IDI1NSkgPyBCIDogMjU1O1xyXG5cclxuICAgIGNvbnN0IFJSID0gKChSLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgUi50b1N0cmluZygxNikgOiBSLnRvU3RyaW5nKDE2KSk7XHJcbiAgICBjb25zdCBHRyA9ICgoRy50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIEcudG9TdHJpbmcoMTYpIDogRy50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgQkIgPSAoKEIudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBCLnRvU3RyaW5nKDE2KSA6IEIudG9TdHJpbmcoMTYpKTtcclxuXHJcbiAgICByZXR1cm4gJyMnICsgUlIgKyBHRyArIEJCO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHlhcmltU2FhdGVZdXZhcmxhKHZhbHVlOiBudW1iZXIsIHN0ZXBQYXJhbTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBzdGVwID0gc3RlcFBhcmFtIHx8IChzdGVwUGFyYW0gPSAxLjApO1xyXG4gICAgY29uc3QgaW52ID0gMS4wIC8gc3RlcDtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogaW52KSAvIGludjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBldmVuUm91bmQobnVtOiBudW1iZXIsIGRlY2ltYWxQbGFjZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCBkID0gZGVjaW1hbFBsYWNlcyB8fCAwO1xyXG4gICAgY29uc3QgbSA9IE1hdGgucG93KDEwLCBkKTtcclxuICAgIGNvbnN0IG4gPSArKGQgPyBudW0gKiBtIDogbnVtKS50b0ZpeGVkKDgpOyAvLyBBdm9pZCByb3VuZGluZyBlcnJvcnNcclxuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKG4pO1xyXG4gICAgY29uc3QgZiA9IG4gLSBpO1xyXG4gICAgY29uc3QgZSA9IDFlLTg7IC8vIEFsbG93IGZvciByb3VuZGluZyBlcnJvcnMgaW4gZlxyXG4gICAgY29uc3QgciA9IChmID4gMC41IC0gZSAmJiBmIDwgMC41ICsgZSkgPyAoKGkgJSAyID09PSAwKSA/IGkgOiBpICsgMSkgOiBNYXRoLnJvdW5kKG4pO1xyXG4gICAgcmV0dXJuIGQgPyByIC8gbSA6IHI7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcm91bmRJa2lIYW5lKHBhcmFtOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IocGFyYW0gKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlGYXJrKHBhcmFtMTogbnVtYmVyLCBwYXJhbTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgocGFyYW0xIC0gcGFyYW0yKSAqIDEwMCkgLyAxMDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaWtpU2F5aVRvcGxhKHBhcmFtMTogbnVtYmVyLCBwYXJhbTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgocGFyYW0xICsgcGFyYW0yKSAqIDEwMCkgLyAxMDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3RyVG9OdW1iZXIobWV0aW46IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBsZXQgc3RyID0gbWV0aW47XHJcbiAgICBzdHIgPSBzdHIuc3BsaXQoJywnKS5qb2luKCcuJyk7XHJcbiAgICBjb25zdCByZWdleDogUmVnRXhwID0gL1teXFxkLi1dL2c7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgY29uc3QgYXJyID0gc3RyLnNwbGl0KCcuJyk7XHJcbiAgICBpZiAoYXJyLmxlbmd0aCA+IDIpIHsgLy8gQmlyZGVuIMOnb2sgbm9rdGEgdmFyc2FcclxuICAgICAgY29uc3Qgc29uID0gYXJyLnBvcCgpO1xyXG4gICAgICBzdHIgPSBhcnIuam9pbignJykgKyAnLicgKyBzb247XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyKHN0cik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3V0dW5TdHJWZXIoZ2VuaXNsaWs6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuICd4cyc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gJ3NtJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAnbWQnOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiAnbGcnOyB9XHJcbiAgICByZXR1cm4gJ3hsJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1bkdlbk5vVmVyKGdlbmlzbGlrOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKGdlbmlzbGlrIDwgNTc2KSB7IHJldHVybiAxOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA3NjgpIHsgcmV0dXJuIDI7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDk5MikgeyByZXR1cm4gMzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgMTIwMCkgeyByZXR1cm4gNDsgfVxyXG4gICAgcmV0dXJuIDU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRvVGV4dCh0YXJpaDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRhcmloICE9PSB1bmRlZmluZWQpICYmICh0YXJpaCAhPT0gbnVsbCkpIHtcclxuICAgICAgcmV0dXJuIHRhcmloLmdldERhdGUoKS50b1N0cmluZygpICsgJy4nICsgKHRhcmloLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpICsgJy4nICsgdGFyaWguZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5SWxrR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5U29uR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSwgMCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgSlNPTkRhdGVUb0RhdGUodGFyaWg6IERhdGUpOiBEYXRlIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICBjb25zdCB0ZW1wID0gdGFyaWgudG9TdHJpbmcoKTtcclxuICAgICAgaWYgKHRlbXAgIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh0ZW1wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcihheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYWsnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViYXQnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXJ0JztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzYW4nO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXnEsXMnO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXppcmFuJztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtbXV6JztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdXN0b3MnO1xyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmV0dXJuICdFeWzDvGwnO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHJldHVybiAnRWtpbSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXPEsW0nO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhbMSxayc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcktpc2EoYXlObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYXlObykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdPY2EnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViJztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnTWFyJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnTWF5JztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnSGF6JztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtJztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdSc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2knO1xyXG4gICAgICBjYXNlIDExOlxyXG4gICAgICAgIHJldHVybiAnS2FzJztcclxuICAgICAgY2FzZSAxMjpcclxuICAgICAgICByZXR1cm4gJ0FyYSc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheU5vVmVyKGF5OiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgc3dpdGNoIChheSkge1xyXG4gICAgICBjYXNlICdPYyc6XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ8WedSc6XHJcbiAgICAgICAgcmV0dXJuIDI7XHJcbiAgICAgIGNhc2UgJ01hJzpcclxuICAgICAgICByZXR1cm4gMztcclxuICAgICAgY2FzZSAnTmknOlxyXG4gICAgICAgIHJldHVybiA0O1xyXG4gICAgICBjYXNlICdNeSc6XHJcbiAgICAgICAgcmV0dXJuIDU7XHJcbiAgICAgIGNhc2UgJ0hhJzpcclxuICAgICAgICByZXR1cm4gNjtcclxuICAgICAgY2FzZSAnVGUnOlxyXG4gICAgICAgIHJldHVybiA3O1xyXG4gICAgICBjYXNlICdBxJ8nOlxyXG4gICAgICAgIHJldHVybiA4O1xyXG4gICAgICBjYXNlICdFeSc6XHJcbiAgICAgICAgcmV0dXJuIDk7XHJcbiAgICAgIGNhc2UgJ0VrJzpcclxuICAgICAgICByZXR1cm4gMTA7XHJcbiAgICAgIGNhc2UgJ0thJzpcclxuICAgICAgICByZXR1cm4gMTE7XHJcbiAgICAgIGNhc2UgJ0FyJzpcclxuICAgICAgICByZXR1cm4gMTI7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFkaVZlcihndW5ObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoZ3VuTm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXJ0ZXNpJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnU2FsxLEnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICfDh2FyxZ9hbWJhJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnUGVyxZ9lbWJlJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYSc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0N1bWFydGVzaSc7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICByZXR1cm4gJ1BhemFyJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFydHRpckF6YWx0KHRhcmloOiBEYXRlLCBndW5TYXlpc2k6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRhcmloLmdldFRpbWUoKSArIGd1blNheWlzaSAqIDI0ICogNjAgKiA2MCAqIDEwMDApO1xyXG5cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0YXJpaFBhcmFtVG9EYXRlKHBhcmFtOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgIGxldCB0YXJpaDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAocGFyYW0gIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgdGFyaWhBcnI6IHN0cmluZ1tdID0gcGFyYW0uc3BsaXQoJy0nKTtcclxuICAgICAgaWYgKHRhcmloQXJyLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBjb25zdCBndW4gPSBOdW1iZXIodGFyaWhBcnJbMF0pO1xyXG4gICAgICAgIGNvbnN0IGF5ID0gTnVtYmVyKHRhcmloQXJyWzFdKSAtIDE7XHJcbiAgICAgICAgY29uc3QgeWlsID0gTnVtYmVyKHRhcmloQXJyWzJdKTtcclxuICAgICAgICB0YXJpaCA9IG5ldyBEYXRlKHlpbCwgYXksIGd1bik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0YXJpaDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UYXJpaFBhcmFtKHBhcmFtOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBndW4gPSBwYXJhbS5nZXREYXRlKCk7XHJcbiAgICAgIGNvbnN0IGF5ID0gcGFyYW0uZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgIGNvbnN0IHlpbCA9IHBhcmFtLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIHJldHVybiBndW4udG9TdHJpbmcoKSArICctJyArIGF5LnRvU3RyaW5nKCkgKyAnLScgKyB5aWwudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGhleFRvUkdCQShoZXgsIGFscGhhKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhoZXgpO1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleC5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleC5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYiA9IHBhcnNlSW50KGhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG5cclxuICAgIC8vIHJldHVybiByICsgJywnICsgZyArICcsJyArIGI7XHJcblxyXG4gICAgaWYgKGFscGhhKSB7XHJcbiAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0pYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBjb2xvck5hbWVUb0hleChjb2xvcikge1xyXG4gICAgY29uc3QgY29sb3JzID0ge1xyXG4gICAgICBhbGljZWJsdWU6ICcjZjBmOGZmJywgYW50aXF1ZXdoaXRlOiAnI2ZhZWJkNycsIGFxdWE6ICcjMDBmZmZmJywgYXF1YW1hcmluZTogJyM3ZmZmZDQnLCBhenVyZTogJyNmMGZmZmYnLFxyXG4gICAgICBiZWlnZTogJyNmNWY1ZGMnLCBiaXNxdWU6ICcjZmZlNGM0JywgYmxhY2s6ICcjMDAwMDAwJywgYmxhbmNoZWRhbG1vbmQ6ICcjZmZlYmNkJywgYmx1ZTogJyMwMDAwZmYnLCBibHVldmlvbGV0OiAnIzhhMmJlMicsIGJyb3duOiAnI2E1MmEyYScsIGJ1cmx5d29vZDogJyNkZWI4ODcnLFxyXG4gICAgICBjYWRldGJsdWU6ICcjNWY5ZWEwJywgY2hhcnRyZXVzZTogJyM3ZmZmMDAnLCBjaG9jb2xhdGU6ICcjZDI2OTFlJywgY29yYWw6ICcjZmY3ZjUwJywgY29ybmZsb3dlcmJsdWU6ICcjNjQ5NWVkJywgY29ybnNpbGs6ICcjZmZmOGRjJywgY3JpbXNvbjogJyNkYzE0M2MnLCBjeWFuOiAnIzAwZmZmZicsXHJcbiAgICAgIGRhcmtibHVlOiAnIzAwMDA4YicsIGRhcmtjeWFuOiAnIzAwOGI4YicsIGRhcmtnb2xkZW5yb2Q6ICcjYjg4NjBiJywgZGFya2dyYXk6ICcjYTlhOWE5JywgZGFya2dyZWVuOiAnIzAwNjQwMCcsIGRhcmtraGFraTogJyNiZGI3NmInLCBkYXJrbWFnZW50YTogJyM4YjAwOGInLCBkYXJrb2xpdmVncmVlbjogJyM1NTZiMmYnLFxyXG4gICAgICBkYXJrb3JhbmdlOiAnI2ZmOGMwMCcsIGRhcmtvcmNoaWQ6ICcjOTkzMmNjJywgZGFya3JlZDogJyM4YjAwMDAnLCBkYXJrc2FsbW9uOiAnI2U5OTY3YScsIGRhcmtzZWFncmVlbjogJyM4ZmJjOGYnLCBkYXJrc2xhdGVibHVlOiAnIzQ4M2Q4YicsIGRhcmtzbGF0ZWdyYXk6ICcjMmY0ZjRmJywgZGFya3R1cnF1b2lzZTogJyMwMGNlZDEnLFxyXG4gICAgICBkYXJrdmlvbGV0OiAnIzk0MDBkMycsIGRlZXBwaW5rOiAnI2ZmMTQ5MycsIGRlZXBza3libHVlOiAnIzAwYmZmZicsIGRpbWdyYXk6ICcjNjk2OTY5JywgZG9kZ2VyYmx1ZTogJyMxZTkwZmYnLFxyXG4gICAgICBmaXJlYnJpY2s6ICcjYjIyMjIyJywgZmxvcmFsd2hpdGU6ICcjZmZmYWYwJywgZm9yZXN0Z3JlZW46ICcjMjI4YjIyJywgZnVjaHNpYTogJyNmZjAwZmYnLFxyXG4gICAgICBnYWluc2Jvcm86ICcjZGNkY2RjJywgZ2hvc3R3aGl0ZTogJyNmOGY4ZmYnLCBnb2xkOiAnI2ZmZDcwMCcsIGdvbGRlbnJvZDogJyNkYWE1MjAnLCBncmF5OiAnIzgwODA4MCcsIGdyZWVuOiAnIzAwODAwMCcsIGdyZWVueWVsbG93OiAnI2FkZmYyZicsXHJcbiAgICAgIGhvbmV5ZGV3OiAnI2YwZmZmMCcsIGhvdHBpbms6ICcjZmY2OWI0JyxcclxuICAgICAgaW5kaWFucmVkOiAnI2NkNWM1YycsIGluZGlnbzogJyM0YjAwODInLCBpdm9yeTogJyNmZmZmZjAnLCBraGFraTogJyNmMGU2OGMnLFxyXG4gICAgICBsYXZlbmRlcjogJyNlNmU2ZmEnLCBsYXZlbmRlcmJsdXNoOiAnI2ZmZjBmNScsIGxhd25ncmVlbjogJyM3Y2ZjMDAnLCBsZW1vbmNoaWZmb246ICcjZmZmYWNkJywgbGlnaHRibHVlOiAnI2FkZDhlNicsIGxpZ2h0Y29yYWw6ICcjZjA4MDgwJywgbGlnaHRjeWFuOiAnI2UwZmZmZicsIGxpZ2h0Z29sZGVucm9keWVsbG93OiAnI2ZhZmFkMicsXHJcbiAgICAgIGxpZ2h0Z3JleTogJyNkM2QzZDMnLCBsaWdodGdyZWVuOiAnIzkwZWU5MCcsIGxpZ2h0cGluazogJyNmZmI2YzEnLCBsaWdodHNhbG1vbjogJyNmZmEwN2EnLCBsaWdodHNlYWdyZWVuOiAnIzIwYjJhYScsIGxpZ2h0c2t5Ymx1ZTogJyM4N2NlZmEnLCBsaWdodHNsYXRlZ3JheTogJyM3Nzg4OTknLCBsaWdodHN0ZWVsYmx1ZTogJyNiMGM0ZGUnLFxyXG4gICAgICBsaWdodHllbGxvdzogJyNmZmZmZTAnLCBsaW1lOiAnIzAwZmYwMCcsIGxpbWVncmVlbjogJyMzMmNkMzInLCBsaW5lbjogJyNmYWYwZTYnLFxyXG4gICAgICBtYWdlbnRhOiAnI2ZmMDBmZicsIG1hcm9vbjogJyM4MDAwMDAnLCBtZWRpdW1hcXVhbWFyaW5lOiAnIzY2Y2RhYScsIG1lZGl1bWJsdWU6ICcjMDAwMGNkJywgbWVkaXVtb3JjaGlkOiAnI2JhNTVkMycsIG1lZGl1bXB1cnBsZTogJyM5MzcwZDgnLCBtZWRpdW1zZWFncmVlbjogJyMzY2IzNzEnLCBtZWRpdW1zbGF0ZWJsdWU6ICcjN2I2OGVlJyxcclxuICAgICAgbWVkaXVtc3ByaW5nZ3JlZW46ICcjMDBmYTlhJywgbWVkaXVtdHVycXVvaXNlOiAnIzQ4ZDFjYycsIG1lZGl1bXZpb2xldHJlZDogJyNjNzE1ODUnLCBtaWRuaWdodGJsdWU6ICcjMTkxOTcwJywgbWludGNyZWFtOiAnI2Y1ZmZmYScsIG1pc3R5cm9zZTogJyNmZmU0ZTEnLCBtb2NjYXNpbjogJyNmZmU0YjUnLFxyXG4gICAgICBuYXZham93aGl0ZTogJyNmZmRlYWQnLCBuYXZ5OiAnIzAwMDA4MCcsXHJcbiAgICAgIG9sZGxhY2U6ICcjZmRmNWU2Jywgb2xpdmU6ICcjODA4MDAwJywgb2xpdmVkcmFiOiAnIzZiOGUyMycsIG9yYW5nZTogJyNmZmE1MDAnLCBvcmFuZ2VyZWQ6ICcjZmY0NTAwJywgb3JjaGlkOiAnI2RhNzBkNicsXHJcbiAgICAgIHBhbGVnb2xkZW5yb2Q6ICcjZWVlOGFhJywgcGFsZWdyZWVuOiAnIzk4ZmI5OCcsIHBhbGV0dXJxdW9pc2U6ICcjYWZlZWVlJywgcGFsZXZpb2xldHJlZDogJyNkODcwOTMnLCBwYXBheWF3aGlwOiAnI2ZmZWZkNScsIHBlYWNocHVmZjogJyNmZmRhYjknLCBwZXJ1OiAnI2NkODUzZicsIHBpbms6ICcjZmZjMGNiJywgcGx1bTogJyNkZGEwZGQnLCBwb3dkZXJibHVlOiAnI2IwZTBlNicsIHB1cnBsZTogJyM4MDAwODAnLFxyXG4gICAgICByZWJlY2NhcHVycGxlOiAnIzY2MzM5OScsIHJlZDogJyNmZjAwMDAnLCByb3N5YnJvd246ICcjYmM4ZjhmJywgcm95YWxibHVlOiAnIzQxNjllMScsXHJcbiAgICAgIHNhZGRsZWJyb3duOiAnIzhiNDUxMycsIHNhbG1vbjogJyNmYTgwNzInLCBzYW5keWJyb3duOiAnI2Y0YTQ2MCcsIHNlYWdyZWVuOiAnIzJlOGI1NycsIHNlYXNoZWxsOiAnI2ZmZjVlZScsIHNpZW5uYTogJyNhMDUyMmQnLCBzaWx2ZXI6ICcjYzBjMGMwJywgc2t5Ymx1ZTogJyM4N2NlZWInLCBzbGF0ZWJsdWU6ICcjNmE1YWNkJywgc2xhdGVncmF5OiAnIzcwODA5MCcsIHNub3c6ICcjZmZmYWZhJywgc3ByaW5nZ3JlZW46ICcjMDBmZjdmJywgc3RlZWxibHVlOiAnIzQ2ODJiNCcsXHJcbiAgICAgIHRhbjogJyNkMmI0OGMnLCB0ZWFsOiAnIzAwODA4MCcsIHRoaXN0bGU6ICcjZDhiZmQ4JywgdG9tYXRvOiAnI2ZmNjM0NycsIHR1cnF1b2lzZTogJyM0MGUwZDAnLFxyXG4gICAgICB2aW9sZXQ6ICcjZWU4MmVlJyxcclxuICAgICAgd2hlYXQ6ICcjZjVkZWIzJywgd2hpdGU6ICcjZmZmZmZmJywgd2hpdGVzbW9rZTogJyNmNWY1ZjUnLFxyXG4gICAgICB5ZWxsb3c6ICcjZmZmZjAwJywgeWVsbG93Z3JlZW46ICcjOWFjZDMyJ1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHlwZW9mIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZW5hbWVGcm9tQ29udGVudERpc3Bvc2l0aW9uKGNvbnRlbnREaXNwb3NpdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZWdleCA9IC9maWxlbmFtZVteOz1cXG5dKj0oVVRGLTgoWydcIl0qKSk/KC4qKS87XHJcbiAgICBjb25zdCBtYXRjaGVzID0gcmVnZXguZXhlYyhjb250ZW50RGlzcG9zaXRpb24pO1xyXG4gICAgbGV0IGZpbGVuYW1lID0gJyc7XHJcblxyXG4gICAgaWYgKG1hdGNoZXMgIT0gbnVsbCAmJiBtYXRjaGVzWzNdKSB7XHJcbiAgICAgIGZpbGVuYW1lID0gbWF0Y2hlc1szXS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlY29kZVVSSShmaWxlbmFtZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGVtYUd1bk5vVmVyKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBkbiA9IG5ldyBEYXRlKCkuZ2V0RGF5KCk7XHJcbiAgICBpZiAoZG4gPT09IDApIHtcclxuICAgICAgcmV0dXJuIDY7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGRuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNpZnRCb3NsdWtUZWtZYXAobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgc3RhdGljIHJha2FtbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvWzAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGJvc2x1a2xhcmlUZW1pemxlKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gIH1cclxuKi9cclxuXHJcbiAgc3RhdGljIGJ1eXVrSGFyZmVDZXZpcihtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB1enVubHVrID0gbWV0aW4ubGVuZ3RoO1xyXG4gICAgaWYgKHV6dW5sdWsgPiAwKSB7XHJcbiAgICAgIGlmICh1enVubHVrID4gMSkge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJykgKyBtZXRpbi5zdWJzdHIoMSwgMTAwKS50b0xvY2FsZUxvd2VyQ2FzZSgndHItVFInKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbWV0aW4uc3Vic3RyKDAsIDEpLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1JbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICBjb25zdCBzb251YyA9IFtdO1xyXG4gICAgcGFyY2FsYXIuZm9yRWFjaChwYXJjYSA9PiB7XHJcbiAgICAgIHNvbnVjLnB1c2godGhpcy5pbGtIYXJmQnV5dXQocGFyY2EpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzb251Yy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVtQm9zbHVrU2lsKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1cmtjZUF5aWtsYShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBzb251YyA9IG1ldGluO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDnCcsICdVJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SeJywgJ0cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLAnLCAnSScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnicsICdTJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OHJywgJ0MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw5YnLCAnTycpO1xyXG5cclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7wnLCAndScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEnycsICdnJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SxJywgJ2knKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxZ8nLCAncycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDpycsICdjJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8O2JywgJ28nKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxb4nLCAnaScpO1xyXG5cclxuICAgIC8vIHNvbnVjID0gc29udWMucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgcmV0dXJuIHNvbnVjO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydU5vVmVyKG1lY3JhVHVydVN0cjogTWVjcmFUdXJsZXJpU3RyKTogTWVjcmFUdXJsZXJpIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1U3RyKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydVN0clZlcihtZWNyYVR1cnVObzogTWVjcmFUdXJsZXJpKTogTWVjcmFUdXJsZXJpU3RyIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1Tm8pIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5TcG9uc29ybHVrOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuU3BvbnNvcmx1aztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkJlbGlyc2l6OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuQmVsaXJzaXo7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5Cb3M6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5Cb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFkTGVhZGluZ1plcm9zKG51bTogbnVtYmVyLCBzaXplOiBudW1iZXIpIHtcclxuICAgIHZhciBzID0gbnVtICsgJyc7XHJcbiAgICB3aGlsZSAocy5sZW5ndGggPCBzaXplKSBzID0gJzAnICsgcztcclxuICAgIHJldHVybiBzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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LENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVjcmFUdXJsZXJpLCBNZWNyYVR1cmxlcmlTdHIgfSBmcm9tICcuL21vZGVscy9lbnVtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRnVuY3Rpb25zIHtcclxuICBzdGF0aWMgc2hhZGVDb2xvcihjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgUiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygxLCAzKSwgMTYpO1xyXG4gICAgbGV0IEcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMywgNSksIDE2KTtcclxuICAgIGxldCBCID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgUiA9IHBhcnNlSW50KChSICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEcgPSBwYXJzZUludCgoRyAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBCID0gcGFyc2VJbnQoKEIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG5cclxuICAgIFIgPSAoUiA8IDI1NSkgPyBSIDogMjU1O1xyXG4gICAgRyA9IChHIDwgMjU1KSA/IEcgOiAyNTU7XHJcbiAgICBCID0gKEIgPCAyNTUpID8gQiA6IDI1NTtcclxuXHJcbiAgICBjb25zdCBSUiA9ICgoUi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIFIudG9TdHJpbmcoMTYpIDogUi50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgR0cgPSAoKEcudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBHLnRvU3RyaW5nKDE2KSA6IEcudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEJCID0gKChCLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgQi50b1N0cmluZygxNikgOiBCLnRvU3RyaW5nKDE2KSk7XHJcblxyXG4gICAgcmV0dXJuICcjJyArIFJSICsgR0cgKyBCQjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB5YXJpbVNhYXRlWXV2YXJsYSh2YWx1ZTogbnVtYmVyLCBzdGVwUGFyYW06IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3RlcCA9IHN0ZXBQYXJhbSB8fCAoc3RlcFBhcmFtID0gMS4wKTtcclxuICAgIGNvbnN0IGludiA9IDEuMCAvIHN0ZXA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGludikgLyBpbnY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZXZlblJvdW5kKG51bTogbnVtYmVyLCBkZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZCA9IGRlY2ltYWxQbGFjZXMgfHwgMDtcclxuICAgIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgZCk7XHJcbiAgICBjb25zdCBuID0gKyhkID8gbnVtICogbSA6IG51bSkudG9GaXhlZCg4KTsgLy8gQXZvaWQgcm91bmRpbmcgZXJyb3JzXHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihuKTtcclxuICAgIGNvbnN0IGYgPSBuIC0gaTtcclxuICAgIGNvbnN0IGUgPSAxZS04OyAvLyBBbGxvdyBmb3Igcm91bmRpbmcgZXJyb3JzIGluIGZcclxuICAgIGNvbnN0IHIgPSAoZiA+IDAuNSAtIGUgJiYgZiA8IDAuNSArIGUpID8gKChpICUgMiA9PT0gMCkgPyBpIDogaSArIDEpIDogTWF0aC5yb3VuZChuKTtcclxuICAgIHJldHVybiBkID8gciAvIG0gOiByO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJvdW5kSWtpSGFuZShwYXJhbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHBhcmFtICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpRmFyayhwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSAtIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlUb3BsYShwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSArIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN0clRvTnVtYmVyKG1ldGluOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IHN0ciA9IG1ldGluO1xyXG4gICAgc3RyID0gc3RyLnNwbGl0KCcsJykuam9pbignLicpO1xyXG4gICAgY29uc3QgcmVnZXggPSAvW15cXGQuLV0vZztcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcbiAgICBjb25zdCBhcnIgPSBzdHIuc3BsaXQoJy4nKTtcclxuICAgIGlmIChhcnIubGVuZ3RoID4gMikgeyAvLyBCaXJkZW4gw6dvayBub2t0YSB2YXJzYVxyXG4gICAgICBjb25zdCBzb24gPSBhcnIucG9wKCk7XHJcbiAgICAgIHN0ciA9IGFyci5qb2luKCcnKSArICcuJyArIHNvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIoc3RyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1blN0clZlcihnZW5pc2xpazogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChnZW5pc2xpayA8IDU3NikgeyByZXR1cm4gJ3hzJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgNzY4KSB7IHJldHVybiAnc20nOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA5OTIpIHsgcmV0dXJuICdtZCc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDEyMDApIHsgcmV0dXJuICdsZyc7IH1cclxuICAgIHJldHVybiAneGwnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN1dHVuR2VuTm9WZXIoZ2VuaXNsaWs6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuIDE7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gMjsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAzOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiA0OyB9XHJcbiAgICByZXR1cm4gNTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UZXh0KHRhcmloOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdGFyaWguZ2V0RGF0ZSgpLnRvU3RyaW5nKCkgKyAnLicgKyAodGFyaWguZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkgKyAnLicgKyB0YXJpaC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlJbGtHdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5IC0gMSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlTb25HdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5LCAwKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBKU09ORGF0ZVRvRGF0ZSh0YXJpaDogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKCh0YXJpaCAhPT0gdW5kZWZpbmVkKSAmJiAodGFyaWggIT09IG51bGwpKSB7XHJcbiAgICAgIGNvbnN0IHRlbXAgPSB0YXJpaC50b1N0cmluZygpO1xyXG4gICAgICBpZiAodGVtcCAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRlbXApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyKGF5Tm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGF5Tm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnT2Nhayc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWJhdCc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ01hcnQnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXNhbic7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ01hecSxcyc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0hhemlyYW4nO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW1tdXonO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91c3Rvcyc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bMO8bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2ltJztcclxuICAgICAgY2FzZSAxMTpcclxuICAgICAgICByZXR1cm4gJ0thc8SxbSc7XHJcbiAgICAgIGNhc2UgMTI6XHJcbiAgICAgICAgcmV0dXJuICdBcmFsxLFrJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyS2lzYShheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYSc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWInO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXInO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXMnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXknO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXonO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW0nO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91JztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJldHVybiAnRXlsJztcclxuICAgICAgY2FzZSAxMDpcclxuICAgICAgICByZXR1cm4gJ0VraSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXMnO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5Tm9WZXIoYXk6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBzd2l0Y2ggKGF5KSB7XHJcbiAgICAgIGNhc2UgJ09jJzpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgY2FzZSAnxZ51JzpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgY2FzZSAnTWEnOlxyXG4gICAgICAgIHJldHVybiAzO1xyXG4gICAgICBjYXNlICdOaSc6XHJcbiAgICAgICAgcmV0dXJuIDQ7XHJcbiAgICAgIGNhc2UgJ015JzpcclxuICAgICAgICByZXR1cm4gNTtcclxuICAgICAgY2FzZSAnSGEnOlxyXG4gICAgICAgIHJldHVybiA2O1xyXG4gICAgICBjYXNlICdUZSc6XHJcbiAgICAgICAgcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ0HEnyc6XHJcbiAgICAgICAgcmV0dXJuIDg7XHJcbiAgICAgIGNhc2UgJ0V5JzpcclxuICAgICAgICByZXR1cm4gOTtcclxuICAgICAgY2FzZSAnRWsnOlxyXG4gICAgICAgIHJldHVybiAxMDtcclxuICAgICAgY2FzZSAnS2EnOlxyXG4gICAgICAgIHJldHVybiAxMTtcclxuICAgICAgY2FzZSAnQXInOlxyXG4gICAgICAgIHJldHVybiAxMjtcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQWRpVmVyKGd1bk5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChndW5Obykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdQYXphcnRlc2knO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICdTYWzEsSc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ8OHYXLFn2FtYmEnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdQZXLFn2VtYmUnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdDdW1hJztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYXJ0ZXNpJztcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXInO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQXJ0dGlyQXphbHQodGFyaWg6IERhdGUsIGd1blNheWlzaTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGFyaWguZ2V0VGltZSgpICsgZ3VuU2F5aXNpICogMjQgKiA2MCAqIDYwICogMTAwMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhcmloUGFyYW1Ub0RhdGUocGFyYW06IHN0cmluZyk6IERhdGUge1xyXG4gICAgbGV0IHRhcmloOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCB0YXJpaEFycjogc3RyaW5nW10gPSBwYXJhbS5zcGxpdCgnLScpO1xyXG4gICAgICBpZiAodGFyaWhBcnIubGVuZ3RoID4gMikge1xyXG4gICAgICAgIGNvbnN0IGd1biA9IE51bWJlcih0YXJpaEFyclswXSk7XHJcbiAgICAgICAgY29uc3QgYXkgPSBOdW1iZXIodGFyaWhBcnJbMV0pIC0gMTtcclxuICAgICAgICBjb25zdCB5aWwgPSBOdW1iZXIodGFyaWhBcnJbMl0pO1xyXG4gICAgICAgIHRhcmloID0gbmV3IERhdGUoeWlsLCBheSwgZ3VuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhcmloO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUb1RhcmloUGFyYW0ocGFyYW06IERhdGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBhcmFtICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGd1biA9IHBhcmFtLmdldERhdGUoKTtcclxuICAgICAgY29uc3QgYXkgPSBwYXJhbS5nZXRNb250aCgpICsgMTtcclxuICAgICAgY29uc3QgeWlsID0gcGFyYW0uZ2V0RnVsbFllYXIoKTtcclxuICAgICAgcmV0dXJuIGd1bi50b1N0cmluZygpICsgJy0nICsgYXkudG9TdHJpbmcoKSArICctJyArIHlpbC50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJy4nICsgZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaGV4VG9SR0JBKGhleCwgYWxwaGEpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGhleCk7XHJcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICBjb25zdCBnID0gcGFyc2VJbnQoaGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4LnNsaWNlKDUsIDcpLCAxNik7XHJcblxyXG4gICAgLy8gcmV0dXJuIHIgKyAnLCcgKyBnICsgJywnICsgYjtcclxuXHJcbiAgICBpZiAoYWxwaGEpIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YWxwaGF9KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSlgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNvbG9yTmFtZVRvSGV4KGNvbG9yKSB7XHJcbiAgICBjb25zdCBjb2xvcnMgPSB7XHJcbiAgICAgIGFsaWNlYmx1ZTogJyNmMGY4ZmYnLCBhbnRpcXVld2hpdGU6ICcjZmFlYmQ3JywgYXF1YTogJyMwMGZmZmYnLCBhcXVhbWFyaW5lOiAnIzdmZmZkNCcsIGF6dXJlOiAnI2YwZmZmZicsXHJcbiAgICAgIGJlaWdlOiAnI2Y1ZjVkYycsIGJpc3F1ZTogJyNmZmU0YzQnLCBibGFjazogJyMwMDAwMDAnLCBibGFuY2hlZGFsbW9uZDogJyNmZmViY2QnLCBibHVlOiAnIzAwMDBmZicsIGJsdWV2aW9sZXQ6ICcjOGEyYmUyJywgYnJvd246ICcjYTUyYTJhJywgYnVybHl3b29kOiAnI2RlYjg4NycsXHJcbiAgICAgIGNhZGV0Ymx1ZTogJyM1ZjllYTAnLCBjaGFydHJldXNlOiAnIzdmZmYwMCcsIGNob2NvbGF0ZTogJyNkMjY5MWUnLCBjb3JhbDogJyNmZjdmNTAnLCBjb3JuZmxvd2VyYmx1ZTogJyM2NDk1ZWQnLCBjb3Juc2lsazogJyNmZmY4ZGMnLCBjcmltc29uOiAnI2RjMTQzYycsIGN5YW46ICcjMDBmZmZmJyxcclxuICAgICAgZGFya2JsdWU6ICcjMDAwMDhiJywgZGFya2N5YW46ICcjMDA4YjhiJywgZGFya2dvbGRlbnJvZDogJyNiODg2MGInLCBkYXJrZ3JheTogJyNhOWE5YTknLCBkYXJrZ3JlZW46ICcjMDA2NDAwJywgZGFya2toYWtpOiAnI2JkYjc2YicsIGRhcmttYWdlbnRhOiAnIzhiMDA4YicsIGRhcmtvbGl2ZWdyZWVuOiAnIzU1NmIyZicsXHJcbiAgICAgIGRhcmtvcmFuZ2U6ICcjZmY4YzAwJywgZGFya29yY2hpZDogJyM5OTMyY2MnLCBkYXJrcmVkOiAnIzhiMDAwMCcsIGRhcmtzYWxtb246ICcjZTk5NjdhJywgZGFya3NlYWdyZWVuOiAnIzhmYmM4ZicsIGRhcmtzbGF0ZWJsdWU6ICcjNDgzZDhiJywgZGFya3NsYXRlZ3JheTogJyMyZjRmNGYnLCBkYXJrdHVycXVvaXNlOiAnIzAwY2VkMScsXHJcbiAgICAgIGRhcmt2aW9sZXQ6ICcjOTQwMGQzJywgZGVlcHBpbms6ICcjZmYxNDkzJywgZGVlcHNreWJsdWU6ICcjMDBiZmZmJywgZGltZ3JheTogJyM2OTY5NjknLCBkb2RnZXJibHVlOiAnIzFlOTBmZicsXHJcbiAgICAgIGZpcmVicmljazogJyNiMjIyMjInLCBmbG9yYWx3aGl0ZTogJyNmZmZhZjAnLCBmb3Jlc3RncmVlbjogJyMyMjhiMjInLCBmdWNoc2lhOiAnI2ZmMDBmZicsXHJcbiAgICAgIGdhaW5zYm9ybzogJyNkY2RjZGMnLCBnaG9zdHdoaXRlOiAnI2Y4ZjhmZicsIGdvbGQ6ICcjZmZkNzAwJywgZ29sZGVucm9kOiAnI2RhYTUyMCcsIGdyYXk6ICcjODA4MDgwJywgZ3JlZW46ICcjMDA4MDAwJywgZ3JlZW55ZWxsb3c6ICcjYWRmZjJmJyxcclxuICAgICAgaG9uZXlkZXc6ICcjZjBmZmYwJywgaG90cGluazogJyNmZjY5YjQnLFxyXG4gICAgICBpbmRpYW5yZWQ6ICcjY2Q1YzVjJywgaW5kaWdvOiAnIzRiMDA4MicsIGl2b3J5OiAnI2ZmZmZmMCcsIGtoYWtpOiAnI2YwZTY4YycsXHJcbiAgICAgIGxhdmVuZGVyOiAnI2U2ZTZmYScsIGxhdmVuZGVyYmx1c2g6ICcjZmZmMGY1JywgbGF3bmdyZWVuOiAnIzdjZmMwMCcsIGxlbW9uY2hpZmZvbjogJyNmZmZhY2QnLCBsaWdodGJsdWU6ICcjYWRkOGU2JywgbGlnaHRjb3JhbDogJyNmMDgwODAnLCBsaWdodGN5YW46ICcjZTBmZmZmJywgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6ICcjZmFmYWQyJyxcclxuICAgICAgbGlnaHRncmV5OiAnI2QzZDNkMycsIGxpZ2h0Z3JlZW46ICcjOTBlZTkwJywgbGlnaHRwaW5rOiAnI2ZmYjZjMScsIGxpZ2h0c2FsbW9uOiAnI2ZmYTA3YScsIGxpZ2h0c2VhZ3JlZW46ICcjMjBiMmFhJywgbGlnaHRza3libHVlOiAnIzg3Y2VmYScsIGxpZ2h0c2xhdGVncmF5OiAnIzc3ODg5OScsIGxpZ2h0c3RlZWxibHVlOiAnI2IwYzRkZScsXHJcbiAgICAgIGxpZ2h0eWVsbG93OiAnI2ZmZmZlMCcsIGxpbWU6ICcjMDBmZjAwJywgbGltZWdyZWVuOiAnIzMyY2QzMicsIGxpbmVuOiAnI2ZhZjBlNicsXHJcbiAgICAgIG1hZ2VudGE6ICcjZmYwMGZmJywgbWFyb29uOiAnIzgwMDAwMCcsIG1lZGl1bWFxdWFtYXJpbmU6ICcjNjZjZGFhJywgbWVkaXVtYmx1ZTogJyMwMDAwY2QnLCBtZWRpdW1vcmNoaWQ6ICcjYmE1NWQzJywgbWVkaXVtcHVycGxlOiAnIzkzNzBkOCcsIG1lZGl1bXNlYWdyZWVuOiAnIzNjYjM3MScsIG1lZGl1bXNsYXRlYmx1ZTogJyM3YjY4ZWUnLFxyXG4gICAgICBtZWRpdW1zcHJpbmdncmVlbjogJyMwMGZhOWEnLCBtZWRpdW10dXJxdW9pc2U6ICcjNDhkMWNjJywgbWVkaXVtdmlvbGV0cmVkOiAnI2M3MTU4NScsIG1pZG5pZ2h0Ymx1ZTogJyMxOTE5NzAnLCBtaW50Y3JlYW06ICcjZjVmZmZhJywgbWlzdHlyb3NlOiAnI2ZmZTRlMScsIG1vY2Nhc2luOiAnI2ZmZTRiNScsXHJcbiAgICAgIG5hdmFqb3doaXRlOiAnI2ZmZGVhZCcsIG5hdnk6ICcjMDAwMDgwJyxcclxuICAgICAgb2xkbGFjZTogJyNmZGY1ZTYnLCBvbGl2ZTogJyM4MDgwMDAnLCBvbGl2ZWRyYWI6ICcjNmI4ZTIzJywgb3JhbmdlOiAnI2ZmYTUwMCcsIG9yYW5nZXJlZDogJyNmZjQ1MDAnLCBvcmNoaWQ6ICcjZGE3MGQ2JyxcclxuICAgICAgcGFsZWdvbGRlbnJvZDogJyNlZWU4YWEnLCBwYWxlZ3JlZW46ICcjOThmYjk4JywgcGFsZXR1cnF1b2lzZTogJyNhZmVlZWUnLCBwYWxldmlvbGV0cmVkOiAnI2Q4NzA5MycsIHBhcGF5YXdoaXA6ICcjZmZlZmQ1JywgcGVhY2hwdWZmOiAnI2ZmZGFiOScsIHBlcnU6ICcjY2Q4NTNmJywgcGluazogJyNmZmMwY2InLCBwbHVtOiAnI2RkYTBkZCcsIHBvd2RlcmJsdWU6ICcjYjBlMGU2JywgcHVycGxlOiAnIzgwMDA4MCcsXHJcbiAgICAgIHJlYmVjY2FwdXJwbGU6ICcjNjYzMzk5JywgcmVkOiAnI2ZmMDAwMCcsIHJvc3licm93bjogJyNiYzhmOGYnLCByb3lhbGJsdWU6ICcjNDE2OWUxJyxcclxuICAgICAgc2FkZGxlYnJvd246ICcjOGI0NTEzJywgc2FsbW9uOiAnI2ZhODA3MicsIHNhbmR5YnJvd246ICcjZjRhNDYwJywgc2VhZ3JlZW46ICcjMmU4YjU3Jywgc2Vhc2hlbGw6ICcjZmZmNWVlJywgc2llbm5hOiAnI2EwNTIyZCcsIHNpbHZlcjogJyNjMGMwYzAnLCBza3libHVlOiAnIzg3Y2VlYicsIHNsYXRlYmx1ZTogJyM2YTVhY2QnLCBzbGF0ZWdyYXk6ICcjNzA4MDkwJywgc25vdzogJyNmZmZhZmEnLCBzcHJpbmdncmVlbjogJyMwMGZmN2YnLCBzdGVlbGJsdWU6ICcjNDY4MmI0JyxcclxuICAgICAgdGFuOiAnI2QyYjQ4YycsIHRlYWw6ICcjMDA4MDgwJywgdGhpc3RsZTogJyNkOGJmZDgnLCB0b21hdG86ICcjZmY2MzQ3JywgdHVycXVvaXNlOiAnIzQwZTBkMCcsXHJcbiAgICAgIHZpb2xldDogJyNlZTgyZWUnLFxyXG4gICAgICB3aGVhdDogJyNmNWRlYjMnLCB3aGl0ZTogJyNmZmZmZmYnLCB3aGl0ZXNtb2tlOiAnI2Y1ZjVmNScsXHJcbiAgICAgIHllbGxvdzogJyNmZmZmMDAnLCB5ZWxsb3dncmVlbjogJyM5YWNkMzInXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0eXBlb2YgY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm4gY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xvcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlbmFtZUZyb21Db250ZW50RGlzcG9zaXRpb24oY29udGVudERpc3Bvc2l0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL2ZpbGVuYW1lW147PVxcbl0qPShVVEYtOChbJ1wiXSopKT8oLiopLztcclxuICAgIGNvbnN0IG1hdGNoZXMgPSByZWdleC5leGVjKGNvbnRlbnREaXNwb3NpdGlvbik7XHJcbiAgICBsZXQgZmlsZW5hbWUgPSAnJztcclxuXHJcbiAgICBpZiAobWF0Y2hlcyAhPSBudWxsICYmIG1hdGNoZXNbM10pIHtcclxuICAgICAgZmlsZW5hbWUgPSBtYXRjaGVzWzNdLnJlcGxhY2UoL1snXCJdL2csICcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVjb2RlVVJJKGZpbGVuYW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0ZW1hR3VuTm9WZXIoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGRuID0gbmV3IERhdGUoKS5nZXREYXkoKTtcclxuICAgIGlmIChkbiA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gNjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZG47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2lmdEJvc2x1a1Rla1lhcChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBzdGF0aWMgcmFrYW1sYXJpVGVtaXpsZShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi5yZXBsYWNlKC9bMC05XS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYm9zbHVrbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvIC9nLCAnJyk7XHJcbiAgfVxyXG4qL1xyXG5cclxuICBzdGF0aWMgYnV5dWtIYXJmZUNldmlyKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHV6dW5sdWsgPSBtZXRpbi5sZW5ndGg7XHJcbiAgICBpZiAodXp1bmx1ayA+IDApIHtcclxuICAgICAgaWYgKHV6dW5sdWsgPiAxKSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGluLnN1YnN0cigwLCAxKS50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKSArIG1ldGluLnN1YnN0cigxLCAxMDApLnRvTG9jYWxlTG93ZXJDYXNlKCd0ci1UUicpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJyk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1bUlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IHNvbnVjID0gW107XHJcbiAgICBwYXJjYWxhci5mb3JFYWNoKHBhcmNhID0+IHtcclxuICAgICAgc29udWMucHVzaCh0aGlzLmlsa0hhcmZCdXl1dChwYXJjYSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHNvbnVjLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1Cb3NsdWtTaWwobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVya2NlQXlpa2xhKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHNvbnVjID0gbWV0aW47XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OcJywgJ1UnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxJ4nLCAnRycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEsCcsICdJJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8WeJywgJ1MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw4cnLCAnQycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDlicsICdPJyk7XHJcblxyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDvCcsICd1Jyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SfJywgJ2cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLEnLCAnaScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnycsICdzJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OnJywgJ2MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7YnLCAnbycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFvicsICdpJyk7XHJcblxyXG4gICAgLy8gc29udWMgPSBzb251Yy5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICByZXR1cm4gc29udWM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWVjcmFUdXJ1Tm9WZXIobWVjcmFUdXJ1U3RyOiBNZWNyYVR1cmxlcmlTdHIpOiBNZWNyYVR1cmxlcmkge1xyXG4gICAgc3dpdGNoIChtZWNyYVR1cnVTdHIpIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5TcG9uc29ybHVrOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuU3BvbnNvcmx1aztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkJlbGlyc2l6OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuQmVsaXJzaXo7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5Cb3M6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5Cb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWVjcmFUdXJ1U3RyVmVyKG1lY3JhVHVydU5vOiBNZWNyYVR1cmxlcmkpOiBNZWNyYVR1cmxlcmlTdHIge1xyXG4gICAgc3dpdGNoIChtZWNyYVR1cnVObykge1xyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5UdW11OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuVHVtdTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlRWOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuVFY7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5HYXpldGU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5HYXpldGU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5EZXJnaTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkRlcmdpO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuUmFkeW86XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5SYWR5bztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlNpbmVtYTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlNpbmVtYTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLk91dGRvb3I6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5PdXRkb29yO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuSW50ZXJuZXQ6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5JbnRlcm5ldDtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYWRMZWFkaW5nWmVyb3MobnVtOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xyXG4gICAgbGV0IHMgPSBudW0gKyAnJztcclxuICAgIHdoaWxlIChzLmxlbmd0aCA8IHNpemUpIHMgPSAnMCcgKyBzO1xyXG4gICAgcmV0dXJuIHM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlUb1NlbGVjdEl0ZW0oYXJyYXk6IHN0cmluZ1tdKTogU2VsZWN0SXRlbTxzdHJpbmc+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQsIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFycmF5TnVtYmVyVG9TZWxlY3RJdGVtKGFycmF5OiBudW1iZXJbXSk6IFNlbGVjdEl0ZW08bnVtYmVyPltdIHtcclxuICAgIHJldHVybiBhcnJheS5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgIHJldHVybiB7IGxhYmVsOiBlbGVtZW50LnRvU3RyaW5nKCksIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|