@entake/particle 18.0.0 → 18.0.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/README.md +1 -1
- package/app/modules/keyfilter/keyfilter.directive.d.ts +8 -2
- package/esm2022/app/modules/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/app/modules/keyfilter/keyfilter.directive.mjs +19 -3
- package/esm2022/app/modules/multi-select/multi-select.component.mjs +3 -3
- package/fesm2022/entake-particle.mjs +22 -6
- package/fesm2022/entake-particle.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -23,12 +23,22 @@ export class KeyfilterDirective {
|
|
|
23
23
|
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
|
24
24
|
'u', 'v', 'w', 'x', 'y', 'z'
|
|
25
25
|
];
|
|
26
|
+
/**
|
|
27
|
+
* Array of keyboard alpha key names
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
static URL_TOKEN_KEYS = [
|
|
31
|
+
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
|
|
32
|
+
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
|
33
|
+
'u', 'v', 'w', 'x', 'y', 'z', '-', '0', '1', '2',
|
|
34
|
+
'3', '4', '5', '6', '7', '8', '9'
|
|
35
|
+
];
|
|
26
36
|
/**
|
|
27
37
|
* The type of filtering to apply
|
|
28
38
|
*/
|
|
29
39
|
filterType = null;
|
|
30
40
|
/**
|
|
31
|
-
* Whether
|
|
41
|
+
* Whether spaces should be allowed (default false)
|
|
32
42
|
*/
|
|
33
43
|
allowSpaces = false;
|
|
34
44
|
/**
|
|
@@ -37,7 +47,7 @@ export class KeyfilterDirective {
|
|
|
37
47
|
* @private
|
|
38
48
|
*/
|
|
39
49
|
static keyIsNumeric(key) {
|
|
40
|
-
return new RegExp('^\\d|[
|
|
50
|
+
return new RegExp('^\\d|[.-]$', 'g').test(key);
|
|
41
51
|
}
|
|
42
52
|
static keyIsDigit(key) {
|
|
43
53
|
return new RegExp('^\\d$', 'g').test(key);
|
|
@@ -54,6 +64,9 @@ export class KeyfilterDirective {
|
|
|
54
64
|
static keyIsAlpha(key) {
|
|
55
65
|
return KeyfilterDirective.ALPHA_KEYS.includes(key.toLowerCase());
|
|
56
66
|
}
|
|
67
|
+
static keyIsUrlToken(key) {
|
|
68
|
+
return KeyfilterDirective.URL_TOKEN_KEYS.includes(key.toLowerCase());
|
|
69
|
+
}
|
|
57
70
|
/**
|
|
58
71
|
* Dependency injection site
|
|
59
72
|
* @param hostElement
|
|
@@ -84,6 +97,9 @@ export class KeyfilterDirective {
|
|
|
84
97
|
else if (this.filterType === 'digits') {
|
|
85
98
|
preventDefault = !KeyfilterDirective.keyIsDigit(key);
|
|
86
99
|
}
|
|
100
|
+
else if (this.filterType === 'url-token') {
|
|
101
|
+
preventDefault = !KeyfilterDirective.keyIsUrlToken(key);
|
|
102
|
+
}
|
|
87
103
|
else if (this.filterType === 'alphanumeric') {
|
|
88
104
|
const isNumeric = KeyfilterDirective.keyIsDigit(key);
|
|
89
105
|
const isAlpha = KeyfilterDirective.keyIsAlpha(key);
|
|
@@ -155,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
155
171
|
type: HostListener,
|
|
156
172
|
args: ['blur']
|
|
157
173
|
}] } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9rZXlmaWx0ZXIva2V5ZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQWlFVDtJQS9EcEI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVztRQUNqRCxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0tBQzdELENBQUM7SUFFRjs7O09BR0c7SUFDSyxNQUFNLENBQVUsVUFBVSxHQUFHO1FBQ25DLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7UUFDaEQsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7S0FDN0IsQ0FBQztJQUVGOztPQUVHO0lBRUgsVUFBVSxHQUFvRCxJQUFXLENBQUM7SUFFMUU7O09BRUc7SUFFSCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRXBCOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDckMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFD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LENBQUM7WUFDOUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQzt1R0FoSlUsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7K0VBMkJDLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBTzFCLFdBQVc7c0JBRFYsS0FBSztnQkF5Q04sU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFrQ25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0NqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIERpcmVjdGl2ZSB0byBhcHBseSBrZXkgZmlsdGVyaW5nIHRvIGFuIEhUTUwgaW5wdXQgZWxlbWVudFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcGFydGljbGVLZXlmaWx0ZXJdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS2V5ZmlsdGVyRGlyZWN0aXZlIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQXJyYXkgb2Yga2V5Ym9hcmQga2V5IG5hbWVzIHRoYXQgYXJlIGFsd2F5cyBhbGxvd2VkXHJcbiAgICogKGFycm93IGtleXMsIGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSlcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMTE9XRURfS0VZUyA9IFtcclxuICAgICdBcnJvd0xlZnQnLCAnQXJyb3dVcCcsICdBcnJvd1JpZ2h0JywgJ0Fycm93RG93bicsXHJcbiAgICAnQmFja3NwYWNlJywgJ0RlbGV0ZScsICdUYWInLCAnRXNjJywgJ0VzY2FwZScsICdIb21lJywgJ0VuZCdcclxuICBdO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBrZXlib2FyZCBhbHBoYSBrZXkgbmFtZXNcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMUEhBX0tFWVMgPSBbXHJcbiAgICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsXHJcbiAgICAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsXHJcbiAgICAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onXHJcbiAgXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHR5cGUgb2YgZmlsdGVyaW5nIHRvIGFwcGx5XHJcbiAgICovXHJcbiAgQElucHV0KCdwYXJ0aWNsZUtleWZpbHRlcicpXHJcbiAgZmlsdGVyVHlwZTogJ2FscGhhJyB8ICdudW1lcmljJyB8ICdhbHBoYW51bWVyaWMnIHwgJ2RpZ2l0cycgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgc3BhY2VzIChkZWZhdWx0IGZhbHNlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dTcGFjZXMgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBpbnB1dCBrZXkgaXMgbnVtZXJpYyAoYSBkaWdpdClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNOdW1lcmljKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkfFtcXC4tXSQnLCAnZycpLnRlc3Qoa2V5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGtleUlzRGlnaXQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKCdeXFxcXGQkJywgJ2cnKS50ZXN0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyB2YWx1ZUlzTnVtZXJpYyh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXigtP1xcXFxkK1xcXFwuXFxcXGQrKSR8XigtP1xcXFxkKykkJywgJ2cnKS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZSBpZiB0aGUgaW5wdXQga2V5IGlzIGFuIGFscGhhIGtleSAoYSBsZXR0ZXIgb2ZcclxuICAgKiB0aGUgRW5nbGlzaCBhbHBoYWJldClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNBbHBoYShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEtleWZpbHRlckRpcmVjdGl2ZS5BTFBIQV9LRVlTLmluY2x1ZGVzKGtleS50b0xvd2VyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlcGVuZGVuY3kgaW5qZWN0aW9uIHNpdGVcclxuICAgKiBAcGFyYW0gaG9zdEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIG91dCBrZXlzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgZmlsdGVyIHR5cGVcclxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIGtleWRvd24gS2V5Ym9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB7IGtleSB9ID0gZXZlbnQ7XHJcblxyXG4gICAgICBpZiAoS2V5ZmlsdGVyRGlyZWN0aXZlLkFMTE9XRURfS0VZUy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmFsbG93U3BhY2VzICYmIGtleSA9PT0gJyAnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSAhZXZlbnQuY3RybEtleSAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzTnVtZXJpYyhrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycpIHtcclxuICAgICAgICBjb25zdCBpc051bWVyaWMgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG5cclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICEoaXNOdW1lcmljIHx8IGlzQWxwaGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IHBhc3RlIGlmIGlucHV0IGNvbnRhaW5zIGZvcmJpZGRlbiBjaGFyYWN0ZXJzXHJcbiAgICogQHBhcmFtIGV2ZW50IHRoZSBwYXN0ZSBDbGlwYm9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgY2xpcGJvYXJkRGF0YTogRGF0YVRyYW5zZmVyID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhO1xyXG4gICAgICB9IGVsc2UgaWYgKCdjbGlwYm9hcmREYXRhJyBpbiB3aW5kb3cpIHtcclxuICAgICAgICBjbGlwYm9hcmREYXRhID0gKHdpbmRvdyBhcyBhbnkpLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHBhc3RlZFRleHQgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNTcGFjZSA9IGNoYXIgPT09ICcgJztcclxuICAgICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShjaGFyKTtcclxuICAgICAgICAgIGNvbnN0IGlzTnVtZXJpYyA9IEtleWZpbHRlckRpcmVjdGl2ZS5rZXlJc051bWVyaWMoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0RpZ2l0ID0gS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzRGlnaXQoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0FscGhhTnVtZXJpYyA9IGlzQWxwaGEgfHwgaXNEaWdpdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBjaGFySXNWYWxpZCA9IChpc1NwYWNlICYmIHRoaXMuYWxsb3dTcGFjZXMpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScgJiYgaXNBbHBoYSkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnICYmIGlzTnVtZXJpYykgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycgJiYgaXNEaWdpdCkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycgJiYgaXNBbHBoYU51bWVyaWMpO1xyXG5cclxuICAgICAgICAgIGlmICghY2hhcklzVmFsaWQpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdudW1lcmljJyAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLnZhbHVlSXNOdW1lcmljKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9rZXlmaWx0ZXIva2V5ZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQWdGVDtJQTlFcEI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVztRQUNqRCxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0tBQzdELENBQUM7SUFFRjs7O09BR0c7SUFDSyxNQUFNLENBQVUsVUFBVSxHQUFHO1FBQ25DLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7UUFDaEQsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7S0FDN0IsQ0FBQztJQUVGOzs7T0FHRztJQUNLLE1BQU0sQ0FBVSxjQUFjLEdBQUc7UUFDdkMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztRQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFF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RFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0NuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DakMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgdG8gYXBwbHkga2V5IGZpbHRlcmluZyB0byBhbiBIVE1MIGlucHV0IGVsZW1lbnRcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3BhcnRpY2xlS2V5ZmlsdGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEtleWZpbHRlckRpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFycmF5IG9mIGtleWJvYXJkIGtleSBuYW1lcyB0aGF0IGFyZSBhbHdheXMgYWxsb3dlZFxyXG4gICAqIChhcnJvdyBrZXlzLCBiYWNrc3BhY2UsIGRlbGV0ZSwgdGFiLCBlc2NhcGUpXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTExPV0VEX0tFWVMgPSBbXHJcbiAgICAnQXJyb3dMZWZ0JywgJ0Fycm93VXAnLCAnQXJyb3dSaWdodCcsICdBcnJvd0Rvd24nLFxyXG4gICAgJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnVGFiJywgJ0VzYycsICdFc2NhcGUnLCAnSG9tZScsICdFbmQnXHJcbiAgXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQXJyYXkgb2Yga2V5Ym9hcmQgYWxwaGEga2V5IG5hbWVzXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFBIQV9LRVlTID0gW1xyXG4gICAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLFxyXG4gICAgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLFxyXG4gICAgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6J1xyXG4gIF07XHJcblxyXG4gIC8qKlxyXG4gICAqIEFycmF5IG9mIGtleWJvYXJkIGFscGhhIGtleSBuYW1lc1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVVJMX1RPS0VOX0tFWVMgPSBbXHJcbiAgICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsXHJcbiAgICAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsXHJcbiAgICAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLCAnLScsICcwJywgJzEnLCAnMicsXHJcbiAgICAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOSdcclxuICBdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdHlwZSBvZiBmaWx0ZXJpbmcgdG8gYXBwbHlcclxuICAgKi9cclxuICBASW5wdXQoJ3BhcnRpY2xlS2V5ZmlsdGVyJylcclxuICBmaWx0ZXJUeXBlOiAnYWxwaGEnIHwgJ251bWVyaWMnIHwgJ2FscGhhbnVtZXJpYycgfCAnZGlnaXRzJyB8ICd1cmwtdG9rZW4nID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgc3BhY2VzIHNob3VsZCBiZSBhbGxvd2VkIChkZWZhdWx0IGZhbHNlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dTcGFjZXMgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBpbnB1dCBrZXkgaXMgbnVtZXJpYyAoYSBkaWdpdClcclxuICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gdGVzdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMga2V5SXNOdW1lcmljKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkfFsuLV0kJywgJ2cnKS50ZXN0KGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBrZXlJc0RpZ2l0KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxkJCcsICdnJykudGVzdChrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgdmFsdWVJc051bWVyaWModmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJ14oLT9cXFxcZCtcXFxcLlxcXFxkKykkfF4oLT9cXFxcZCspJCcsICdnJykudGVzdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGlucHV0IGtleSBpcyBhbiBhbHBoYSBrZXkgKGEgbGV0dGVyIG9mXHJcbiAgICogdGhlIEVuZ2xpc2ggYWxwaGFiZXQpXHJcbiAgICogQHBhcmFtIGtleSB0aGUga2V5IHRvIHRlc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGtleUlzQWxwaGEoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBLZXlmaWx0ZXJEaXJlY3RpdmUuQUxQSEFfS0VZUy5pbmNsdWRlcyhrZXkudG9Mb3dlckNhc2UoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBrZXlJc1VybFRva2VuKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gS2V5ZmlsdGVyRGlyZWN0aXZlLlVSTF9UT0tFTl9LRVlTLmluY2x1ZGVzKGtleS50b0xvd2VyQ2FzZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlcGVuZGVuY3kgaW5qZWN0aW9uIHNpdGVcclxuICAgKiBAcGFyYW0gaG9zdEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+KSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIG91dCBrZXlzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgZmlsdGVyIHR5cGVcclxuICAgKiBAcGFyYW0gZXZlbnQgdGhlIGtleWRvd24gS2V5Ym9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gICAgICBjb25zdCB7IGtleSB9ID0gZXZlbnQ7XHJcblxyXG4gICAgICBpZiAoS2V5ZmlsdGVyRGlyZWN0aXZlLkFMTE9XRURfS0VZUy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmFsbG93U3BhY2VzICYmIGtleSA9PT0gJyAnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnKSB7XHJcbiAgICAgICAgcHJldmVudERlZmF1bHQgPSAhZXZlbnQuY3RybEtleSAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzTnVtZXJpYyhrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ3VybC10b2tlbicpIHtcclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICFLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNVcmxUb2tlbihrZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycpIHtcclxuICAgICAgICBjb25zdCBpc051bWVyaWMgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNEaWdpdChrZXkpO1xyXG4gICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShrZXkpO1xyXG5cclxuICAgICAgICBwcmV2ZW50RGVmYXVsdCA9ICEoaXNOdW1lcmljIHx8IGlzQWxwaGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50IHBhc3RlIGlmIGlucHV0IGNvbnRhaW5zIGZvcmJpZGRlbiBjaGFyYWN0ZXJzXHJcbiAgICogQHBhcmFtIGV2ZW50IHRoZSBwYXN0ZSBDbGlwYm9hcmRFdmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyVHlwZSkge1xyXG4gICAgICBsZXQgY2xpcGJvYXJkRGF0YTogRGF0YVRyYW5zZmVyID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gICAgICBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhO1xyXG4gICAgICB9IGVsc2UgaWYgKCdjbGlwYm9hcmREYXRhJyBpbiB3aW5kb3cpIHtcclxuICAgICAgICBjbGlwYm9hcmREYXRhID0gKHdpbmRvdyBhcyBhbnkpLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHBhc3RlZFRleHQgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNTcGFjZSA9IGNoYXIgPT09ICcgJztcclxuICAgICAgICAgIGNvbnN0IGlzQWxwaGEgPSBLZXlmaWx0ZXJEaXJlY3RpdmUua2V5SXNBbHBoYShjaGFyKTtcclxuICAgICAgICAgIGNvbnN0IGlzTnVtZXJpYyA9IEtleWZpbHRlckRpcmVjdGl2ZS5rZXlJc051bWVyaWMoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0RpZ2l0ID0gS2V5ZmlsdGVyRGlyZWN0aXZlLmtleUlzRGlnaXQoY2hhcik7XHJcbiAgICAgICAgICBjb25zdCBpc0FscGhhTnVtZXJpYyA9IGlzQWxwaGEgfHwgaXNEaWdpdDtcclxuXHJcbiAgICAgICAgICBjb25zdCBjaGFySXNWYWxpZCA9IChpc1NwYWNlICYmIHRoaXMuYWxsb3dTcGFjZXMpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmZpbHRlclR5cGUgPT09ICdhbHBoYScgJiYgaXNBbHBoYSkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ251bWVyaWMnICYmIGlzTnVtZXJpYykgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2RpZ2l0cycgJiYgaXNEaWdpdCkgfHxcclxuICAgICAgICAgICAgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ2FscGhhbnVtZXJpYycgJiYgaXNBbHBoYU51bWVyaWMpO1xyXG5cclxuICAgICAgICAgIGlmICghY2hhcklzVmFsaWQpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdudW1lcmljJyAmJiAhS2V5ZmlsdGVyRGlyZWN0aXZlLnZhbHVlSXNOdW1lcmljKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|