@esfaenza/extensions 15.2.15 → 15.2.16
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.
|
@@ -199,6 +199,9 @@ export class UtilityService {
|
|
|
199
199
|
case '[object String]':
|
|
200
200
|
case '[object Date]':
|
|
201
201
|
return new source.constructor(source.valueOf());
|
|
202
|
+
// Clonazione di un file -> Restituisco il riferimento al file stesso
|
|
203
|
+
case "[object File]":
|
|
204
|
+
return source;
|
|
202
205
|
default: break;
|
|
203
206
|
}
|
|
204
207
|
// Oggetti Complessi
|
|
@@ -228,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
228
231
|
type: Injectable,
|
|
229
232
|
args: [{ providedIn: "root" }]
|
|
230
233
|
}] });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnV0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFFdkI7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBSSxTQUFTO2dCQUN4QyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQzdCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRyxVQUFVO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7U0FFL0M7YUFBTSxJQUFVLFFBQVMsQ0FBQyxTQUFTLEVBQUcsTUFBTTtZQUNuQyxRQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxlQUFlLENBQUksVUFBZSxFQUFFLGlCQUF5QixFQUFFLGFBQXFCO1FBQ3ZGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGFB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QUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25EO2FBQU0sSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRTtZQUM5RCxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDcEIsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztvQkFDMUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdEQ7U0FDSjtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OzJHQTdPUSxjQUFjOytHQUFkLGNBQWMsY0FERixNQUFNOzJGQUNsQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBUeXBlQ29kZSB9IGZyb20gJy4uL21vZGVscy9UeXBlQ29kZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSBjaGUgZm9ybmlzY2UgbWV0b2RpIGRpIHB1YmJsaWNhIHV0aWxpdMOgXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJyb290XCJ9KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzZWxlemlvbmEgaWwgdGVzdG8gZXZlbnR1YWxtZW50ZSBzZWxlemlvbmF0b1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXJUZXh0U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkpICAgLy8gQ2hyb21lXHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcclxuICAgICAgICAgICAgZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcykgIC8vIEZpcmVmb3hcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICgoPGFueT5kb2N1bWVudCkuc2VsZWN0aW9uKSAgLy8gSUU/XHJcbiAgICAgICAgICAgICg8YW55PmRvY3VtZW50KS5zZWxlY3Rpb24uZW1wdHkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnRlbmRvIGRhIHVuYSBsaXN0YSwgZGF0byBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgY2hpYXZlIGUgaWwgdmFsb3JlIGRlbGxhIGNoaWF2ZSBzZWxlemlvbmF0YSwgXHJcbiAgICAgKiB0cm92YSBlIHJlc3RpdHVpc2NlIGwnb2dnZXR0byBkZXNpZGVyYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VFtdfSBzb3VyY2VMaXN0IExpc3RhIGRpIG9nZ2V0dGkgZGVudHJvIGN1aSBjZXJjYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlSXRlbUlkRmllbGQgTm9tZSBkZWxsYSBwcm9wcmlldMOgIGNoZSByYXBwcmVzZW50YSBsYSBjaGlhdmUgZGkgdW4gb2dnZXR0byBkaSB0aXBvIFRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFZhbHVlIFZhbG9yZSBkaSBjaGlhdmUgc2VsZXppb25hdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1R9IE9nZ2V0dG8gbGEgY3VpIHByb3ByaWV0w6AgKipzb3VyY2VJdGVtSWRGaWVsZCoqIGFzc3VtZSBpbCB2YWxvcmUgKipzZWxlY3RlZFZhbHVlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNlbGVjdGVkSXRlbTxUPihzb3VyY2VMaXN0OiBUW10sIHNvdXJjZUl0ZW1JZEZpZWxkOiBzdHJpbmcsIHNlbGVjdGVkVmFsdWU6IHN0cmluZyk6IFQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgaXRlbSA9IHNvdXJjZUxpc3RbaV07XHJcbiAgICAgICAgICAgIGlmIChpdGVtW3NvdXJjZUl0ZW1JZEZpZWxkXSA9PSBzZWxlY3RlZFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgcmVzZXQgZGkgdW4gRm9ybSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7TmdGb3JtfSBmb3JtIEZvcm0gZGEgcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMSBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMiBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhbkZvcm0oZm9ybTogTmdGb3JtLCBleGNlcHRpb24xOiBzdHJpbmcgPSBudWxsLCBleGNlcHRpb24yOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBmb3JtLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lICYmIG5hbWUgIT0gZXhjZXB0aW9uMSAmJiBuYW1lICE9IGV4Y2VwdGlvbjEgKyBcIl9pbnRlcm5hbFwiICYmIG5hbWUgIT0gZXhjZXB0aW9uMiAmJiBuYW1lICE9IGV4Y2VwdGlvbjIgKyBcIl9pbnRlcm5hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1JlaW1wb3N0byBpbCBzdWJtaXR0ZWRcclxuICAgICAgICAoZm9ybSBhcyB7IHN1Ym1pdHRlZDogYm9vbGVhbiB9KS5zdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgZGF0byB1biBVUkwgKEdlbmVyYXRvIGRhIHVuYSBjaGlhbWF0YSBhZCAqKndpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgT2JqZWN0VVJMIGNoZSByYXBwcmVzZW50YSBpbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbGVEb3dubG9hZCh1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuICAgICAgICBhLmNsYXNzTmFtZSA9IFwidGEtZGlzcGxheS1ub25lXCI7XHJcbiAgICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIHBlciBsYSBmb3JtYXR0YXppb25lIGRpIHVuIG51bWVybyBkaSBtaWxsaXNlY29uZGkgaW4gdW5hIHN0cmluZ2EgcGnDuSBjb21wcmVuc2liaWxlIHBlciB1biB1bWFub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGVtcG8gZXNwcmVzc28gaW4gbWlsbGlzZWNvbmRpXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IER1cmF0YSBmb3JtYXR0YXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtc1RvVGltZShkdXJhdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWR1cmF0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gJSAxMDAwKSAvIDEwMCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gMTAwMCkgJSA2MCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gKDEwMDAgKiA2MCkpICUgNjApLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBob3VycyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAoMTAwMCAqIDYwICogNjApKSAlIDI0KS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgdmFyIHN0X2hvdXJzID0gKGhvdXJzIDwgMTApID8gXCIwXCIgKyBob3VycyA6IGhvdXJzO1xyXG4gICAgICAgIHZhciBzdF9taW51dGVzID0gKG1pbnV0ZXMgPCAxMCkgPyBcIjBcIiArIG1pbnV0ZXMgOiBtaW51dGVzO1xyXG4gICAgICAgIHZhciBzdF9zZWNvbmRzID0gKHNlY29uZHMgPCAxMCkgPyBcIjBcIiArIHNlY29uZHMgOiBzZWNvbmRzO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RfaG91cnMgKyBcIjpcIiArIHN0X21pbnV0ZXMgKyBcIjpcIiArIHN0X3NlY29uZHMgKyBcIi5cIiArIG1pbGxpc2Vjb25kcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgaW4gQmFzZTY0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlNjREYXRhIEJhc2U2NCBjaGUgcmFwcHJlc2VudGEgaWwgZmlsZSBkYSBzY2FyaWNhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBOb21lIGRlbCBmaWxlIHN1Z2dlcml0byBpbiBmYXNlIGRpIHNhbHZhdGFnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzYXZlRmlsZShiYXNlNjREYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgc2FtcGxlQXJyID0gdGhpcy5iYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NERhdGEpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUJ5dGVBcnJheShzYW1wbGVBcnIsIGZpbGVuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYXNmb3JtYSB1biBCYXNlNjQgaW4gdW4gQXJyYXlCdWZmZXJcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NERhdGEgQmFzZTY0IGRhIHRyYXNmb3JtYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBBcnJheSBVVEY4XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFzZTY0VG9BcnJheUJ1ZmZlcihiYXNlNjREYXRhOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuICAgICAgICB2YXIgYmluYXJ5U3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgdmFyIGJpbmFyeUxlbiA9IGJpbmFyeVN0cmluZy5sZW5ndGg7XHJcbiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5TGVuKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeUxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBhc2NpaSA9IGJpbmFyeVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBieXRlc1tpXSA9IGFzY2lpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnl0ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgY2hlIHBlcm1ldHRlIGRpIHNjYXJpY2FyZSB1biBmaWxlIGRhdG8gdW4gYXJyYXkgZGkgQnl0ZSAoKipVaW50OEFycmF5KiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VWludDhBcnJheX0gYnl0ZSBSYXBwcmVzZW50YXppb25lIGRlbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQnl0ZUFycmF5KGJ5dGU6IFVpbnQ4QXJyYXksIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtieXRlXSk7XHJcbiAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHZhciBmaWxlTmFtZSA9IGZpbGVuYW1lO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXR5IHBlciBsbyBzd2FwIGRpIGR1ZSBlbGVtZW50aSBkaSB1biBhcnJheVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBhcnJheSBBcnJheSBkaSBjdWkgaW52ZXJ0aXJlIGR1ZSBlbGVtZW50aVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHggSW5kaWNlIGRlbCBwcmltbyBlbGVtZW50b1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgSW5kaWNlIGRlbCBzZWNvbmRvIGVsZW1lbnRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzd2FwKGFycmF5OiBhbnlbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgICAgICB2YXIgYiA9IGFycmF5W3hdO1xyXG4gICAgICAgIGFycmF5W3hdID0gYXJyYXlbeV07XHJcbiAgICAgICAgYXJyYXlbeV0gPSBiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGRpIHRyYXNjb2RpZmljYSBkYSB0aXBvIGMjIGEgdGlwbyBUeXBlc2NyaXB0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VHlwZUNvZGV9IHR5cGUgVGlwbyBkYSB0cmFzY29kaWZpY2FyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7XCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwiZGF0ZVwifSBUaXBvIFR5cGVzY3JpcHQgY29ycmlzcG9uZGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEpzVHlwZUZyb21UeXBlQ29kZSh0eXBlOiBUeXBlQ29kZSk6IFwiYm9vbGVhblwiIHwgXCJudW1iZXJcIiB8IFwic3RyaW5nXCIgfCBcImRhdGVcIiAge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkJvb2xlYW46XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJib29sZWFuXCI7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkRlY2ltYWw6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuRG91YmxlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNpbmdsZTpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQzMjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQ2NDpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5CeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNCeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlVJbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5VSW50MzI6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuVUludDY0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuQ2hhcjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5TdHJpbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5EYXRlVGltZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImRhdGVcIjtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiVW5yZWNvZ25pemVkIGlucHV0IHR5cGUuIFR5cGVjb2RlOlwiICsgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBsYSBjbG9uYXppb25lIHByb2ZvbmRhIGRpIHVuIG9nZ2V0dG8gaW4gbWFuaWVyYSBtb2x0byBwacO5IHBlcmZvcm1hbnRlIGNoZSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCkpLlxyXG4gICAgICogXHJcbiAgICAgKiBVc2FyZSBzb2xvIHBlciBvZ2dldHRpIHB1cmkgZSBxdWFudG9tZW5vIHNlbXBsaWNpIHBlciBldml0YXJlIGNvbXBsaWNhemlvbmkgZGVyaXZhbnRpIGRhbGxlIHNlbXBsaWZpY2F6aW9uaSBjaGUgcXVlc3RvIG1ldG9kbyBhc3N1bWVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHNvdXJjZSBPZ2dldHRvIGRhIGNsb25hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybiB7YW55fSBDbG9uZSBkZWxsJ29nZ2V0dG8gcGFzc2F0byBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlZXBDbG9uZShzb3VyY2U6IGFueSk6IGFueSB7XHJcblxyXG4gICAgICAgIC8vIFZhbG9yaSBzZW1wbGljaVxyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCB8fCB0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuXHJcbiAgICAgICAgLy8gUHNldWRvIFN0cnVjdFxyXG4gICAgICAgIHN3aXRjaCAodG9TdHJpbmcuY2FsbChzb3VyY2UpKSB7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IEJvb2xlYW5dJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBOdW1iZXJdJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBTdHJpbmddJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBEYXRlXSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHNvdXJjZS5jb25zdHJ1Y3Rvcihzb3VyY2UudmFsdWVPZigpKTtcclxuICAgICAgICAgICAgZGVmYXVsdDogYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPZ2dldHRpIENvbXBsZXNzaVxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlY3Vyc2l2ZVN0ZXAoc291cmNlLCBBcnJheS5pc0FycmF5KHNvdXJjZSkgfHwgc291cmNlIGluc3RhbmNlb2YgQXJyYXkgPyBbXSA6IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNvdXJjZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFN0ZXAgcmljb3JzaXZvIHBlciBsYSBjbG9uYXR1cmEgZGVnbGkgb2dnZXR0aS4gVmVkZXJlICoqZGVlcENsb25lKipcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWN1cnNpdmVTdGVwKHNvdXJjZTogYW55LCBkZXN0aW5hdGlvbjogYW55KSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzb3VyY2UubGVuZ3RoOyBpIDwgaWk7IGkrKylcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLnB1c2godGhpcy5kZWVwQ2xvbmUoc291cmNlW2ldKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzb3VyY2UgJiYgdHlwZW9mIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gc291cmNlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KGtleSkpXHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25ba2V5XSA9IHRoaXMuZGVlcENsb25lKHNvdXJjZVtrZXldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uO1xyXG4gICAgfVxyXG59Il19
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnV0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRTlDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFFdkI7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBSSxTQUFTO2dCQUN4QyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQzdCLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRyxVQUFVO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7U0FFL0M7YUFBTSxJQUFVLFFBQVMsQ0FBQyxTQUFTLEVBQUcsTUFBTTtZQUNuQyxRQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxlQUFlLENBQUksVUFBZSxFQUFFLGlCQUF5QixFQUFFLGFBQXFCO1FBQ3ZGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGFB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S0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25EO2FBQU0sSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRTtZQUM5RCxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDcEIsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztvQkFDMUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdEQ7U0FDSjtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7OzJHQWhQUSxjQUFjOytHQUFkLGNBQWMsY0FERixNQUFNOzJGQUNsQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBUeXBlQ29kZSB9IGZyb20gJy4uL21vZGVscy9UeXBlQ29kZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSBjaGUgZm9ybmlzY2UgbWV0b2RpIGRpIHB1YmJsaWNhIHV0aWxpdMOgXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJyb290XCJ9KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzZWxlemlvbmEgaWwgdGVzdG8gZXZlbnR1YWxtZW50ZSBzZWxlemlvbmF0b1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXJUZXh0U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkpICAgLy8gQ2hyb21lXHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcclxuICAgICAgICAgICAgZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcykgIC8vIEZpcmVmb3hcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICgoPGFueT5kb2N1bWVudCkuc2VsZWN0aW9uKSAgLy8gSUU/XHJcbiAgICAgICAgICAgICg8YW55PmRvY3VtZW50KS5zZWxlY3Rpb24uZW1wdHkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnRlbmRvIGRhIHVuYSBsaXN0YSwgZGF0byBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgY2hpYXZlIGUgaWwgdmFsb3JlIGRlbGxhIGNoaWF2ZSBzZWxlemlvbmF0YSwgXHJcbiAgICAgKiB0cm92YSBlIHJlc3RpdHVpc2NlIGwnb2dnZXR0byBkZXNpZGVyYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VFtdfSBzb3VyY2VMaXN0IExpc3RhIGRpIG9nZ2V0dGkgZGVudHJvIGN1aSBjZXJjYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlSXRlbUlkRmllbGQgTm9tZSBkZWxsYSBwcm9wcmlldMOgIGNoZSByYXBwcmVzZW50YSBsYSBjaGlhdmUgZGkgdW4gb2dnZXR0byBkaSB0aXBvIFRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFZhbHVlIFZhbG9yZSBkaSBjaGlhdmUgc2VsZXppb25hdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1R9IE9nZ2V0dG8gbGEgY3VpIHByb3ByaWV0w6AgKipzb3VyY2VJdGVtSWRGaWVsZCoqIGFzc3VtZSBpbCB2YWxvcmUgKipzZWxlY3RlZFZhbHVlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNlbGVjdGVkSXRlbTxUPihzb3VyY2VMaXN0OiBUW10sIHNvdXJjZUl0ZW1JZEZpZWxkOiBzdHJpbmcsIHNlbGVjdGVkVmFsdWU6IHN0cmluZyk6IFQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgaXRlbSA9IHNvdXJjZUxpc3RbaV07XHJcbiAgICAgICAgICAgIGlmIChpdGVtW3NvdXJjZUl0ZW1JZEZpZWxkXSA9PSBzZWxlY3RlZFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgcmVzZXQgZGkgdW4gRm9ybSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7TmdGb3JtfSBmb3JtIEZvcm0gZGEgcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMSBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMiBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhbkZvcm0oZm9ybTogTmdGb3JtLCBleGNlcHRpb24xOiBzdHJpbmcgPSBudWxsLCBleGNlcHRpb24yOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBmb3JtLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lICYmIG5hbWUgIT0gZXhjZXB0aW9uMSAmJiBuYW1lICE9IGV4Y2VwdGlvbjEgKyBcIl9pbnRlcm5hbFwiICYmIG5hbWUgIT0gZXhjZXB0aW9uMiAmJiBuYW1lICE9IGV4Y2VwdGlvbjIgKyBcIl9pbnRlcm5hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1JlaW1wb3N0byBpbCBzdWJtaXR0ZWRcclxuICAgICAgICAoZm9ybSBhcyB7IHN1Ym1pdHRlZDogYm9vbGVhbiB9KS5zdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgZGF0byB1biBVUkwgKEdlbmVyYXRvIGRhIHVuYSBjaGlhbWF0YSBhZCAqKndpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgT2JqZWN0VVJMIGNoZSByYXBwcmVzZW50YSBpbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbGVEb3dubG9hZCh1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuICAgICAgICBhLmNsYXNzTmFtZSA9IFwidGEtZGlzcGxheS1ub25lXCI7XHJcbiAgICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIHBlciBsYSBmb3JtYXR0YXppb25lIGRpIHVuIG51bWVybyBkaSBtaWxsaXNlY29uZGkgaW4gdW5hIHN0cmluZ2EgcGnDuSBjb21wcmVuc2liaWxlIHBlciB1biB1bWFub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGVtcG8gZXNwcmVzc28gaW4gbWlsbGlzZWNvbmRpXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IER1cmF0YSBmb3JtYXR0YXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtc1RvVGltZShkdXJhdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWR1cmF0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gJSAxMDAwKSAvIDEwMCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gMTAwMCkgJSA2MCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gKDEwMDAgKiA2MCkpICUgNjApLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBob3VycyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAoMTAwMCAqIDYwICogNjApKSAlIDI0KS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgdmFyIHN0X2hvdXJzID0gKGhvdXJzIDwgMTApID8gXCIwXCIgKyBob3VycyA6IGhvdXJzO1xyXG4gICAgICAgIHZhciBzdF9taW51dGVzID0gKG1pbnV0ZXMgPCAxMCkgPyBcIjBcIiArIG1pbnV0ZXMgOiBtaW51dGVzO1xyXG4gICAgICAgIHZhciBzdF9zZWNvbmRzID0gKHNlY29uZHMgPCAxMCkgPyBcIjBcIiArIHNlY29uZHMgOiBzZWNvbmRzO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RfaG91cnMgKyBcIjpcIiArIHN0X21pbnV0ZXMgKyBcIjpcIiArIHN0X3NlY29uZHMgKyBcIi5cIiArIG1pbGxpc2Vjb25kcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgaW4gQmFzZTY0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlNjREYXRhIEJhc2U2NCBjaGUgcmFwcHJlc2VudGEgaWwgZmlsZSBkYSBzY2FyaWNhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBOb21lIGRlbCBmaWxlIHN1Z2dlcml0byBpbiBmYXNlIGRpIHNhbHZhdGFnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzYXZlRmlsZShiYXNlNjREYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgc2FtcGxlQXJyID0gdGhpcy5iYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NERhdGEpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUJ5dGVBcnJheShzYW1wbGVBcnIsIGZpbGVuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYXNmb3JtYSB1biBCYXNlNjQgaW4gdW4gQXJyYXlCdWZmZXJcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NERhdGEgQmFzZTY0IGRhIHRyYXNmb3JtYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBBcnJheSBVVEY4XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFzZTY0VG9BcnJheUJ1ZmZlcihiYXNlNjREYXRhOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuICAgICAgICB2YXIgYmluYXJ5U3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgdmFyIGJpbmFyeUxlbiA9IGJpbmFyeVN0cmluZy5sZW5ndGg7XHJcbiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5TGVuKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeUxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBhc2NpaSA9IGJpbmFyeVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBieXRlc1tpXSA9IGFzY2lpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnl0ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgY2hlIHBlcm1ldHRlIGRpIHNjYXJpY2FyZSB1biBmaWxlIGRhdG8gdW4gYXJyYXkgZGkgQnl0ZSAoKipVaW50OEFycmF5KiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VWludDhBcnJheX0gYnl0ZSBSYXBwcmVzZW50YXppb25lIGRlbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQnl0ZUFycmF5KGJ5dGU6IFVpbnQ4QXJyYXksIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtieXRlXSk7XHJcbiAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHZhciBmaWxlTmFtZSA9IGZpbGVuYW1lO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXR5IHBlciBsbyBzd2FwIGRpIGR1ZSBlbGVtZW50aSBkaSB1biBhcnJheVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBhcnJheSBBcnJheSBkaSBjdWkgaW52ZXJ0aXJlIGR1ZSBlbGVtZW50aVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHggSW5kaWNlIGRlbCBwcmltbyBlbGVtZW50b1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgSW5kaWNlIGRlbCBzZWNvbmRvIGVsZW1lbnRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzd2FwKGFycmF5OiBhbnlbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgICAgICB2YXIgYiA9IGFycmF5W3hdO1xyXG4gICAgICAgIGFycmF5W3hdID0gYXJyYXlbeV07XHJcbiAgICAgICAgYXJyYXlbeV0gPSBiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGRpIHRyYXNjb2RpZmljYSBkYSB0aXBvIGMjIGEgdGlwbyBUeXBlc2NyaXB0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VHlwZUNvZGV9IHR5cGUgVGlwbyBkYSB0cmFzY29kaWZpY2FyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7XCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwiZGF0ZVwifSBUaXBvIFR5cGVzY3JpcHQgY29ycmlzcG9uZGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEpzVHlwZUZyb21UeXBlQ29kZSh0eXBlOiBUeXBlQ29kZSk6IFwiYm9vbGVhblwiIHwgXCJudW1iZXJcIiB8IFwic3RyaW5nXCIgfCBcImRhdGVcIiAge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkJvb2xlYW46XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJib29sZWFuXCI7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkRlY2ltYWw6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuRG91YmxlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNpbmdsZTpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQzMjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQ2NDpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5CeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNCeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlVJbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5VSW50MzI6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuVUludDY0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuQ2hhcjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5TdHJpbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5EYXRlVGltZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImRhdGVcIjtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiVW5yZWNvZ25pemVkIGlucHV0IHR5cGUuIFR5cGVjb2RlOlwiICsgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBsYSBjbG9uYXppb25lIHByb2ZvbmRhIGRpIHVuIG9nZ2V0dG8gaW4gbWFuaWVyYSBtb2x0byBwacO5IHBlcmZvcm1hbnRlIGNoZSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCkpLlxyXG4gICAgICogXHJcbiAgICAgKiBVc2FyZSBzb2xvIHBlciBvZ2dldHRpIHB1cmkgZSBxdWFudG9tZW5vIHNlbXBsaWNpIHBlciBldml0YXJlIGNvbXBsaWNhemlvbmkgZGVyaXZhbnRpIGRhbGxlIHNlbXBsaWZpY2F6aW9uaSBjaGUgcXVlc3RvIG1ldG9kbyBhc3N1bWVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHNvdXJjZSBPZ2dldHRvIGRhIGNsb25hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybiB7YW55fSBDbG9uZSBkZWxsJ29nZ2V0dG8gcGFzc2F0byBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlZXBDbG9uZShzb3VyY2U6IGFueSk6IGFueSB7XHJcblxyXG4gICAgICAgIC8vIFZhbG9yaSBzZW1wbGljaVxyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCB8fCB0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuXHJcbiAgICAgICAgLy8gUHNldWRvIFN0cnVjdFxyXG4gICAgICAgIHN3aXRjaCAodG9TdHJpbmcuY2FsbChzb3VyY2UpKSB7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IEJvb2xlYW5dJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBOdW1iZXJdJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBTdHJpbmddJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBEYXRlXSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHNvdXJjZS5jb25zdHJ1Y3Rvcihzb3VyY2UudmFsdWVPZigpKTtcclxuICAgICAgICAgICAgLy8gQ2xvbmF6aW9uZSBkaSB1biBmaWxlIC0+IFJlc3RpdHVpc2NvIGlsIHJpZmVyaW1lbnRvIGFsIGZpbGUgc3Rlc3NvXHJcbiAgICAgICAgICAgIGNhc2UgXCJbb2JqZWN0IEZpbGVdXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9nZ2V0dGkgQ29tcGxlc3NpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlU3RlcChzb3VyY2UsIEFycmF5LmlzQXJyYXkoc291cmNlKSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBBcnJheSA/IFtdIDogT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc291cmNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICogU3RlcCByaWNvcnNpdm8gcGVyIGxhIGNsb25hdHVyYSBkZWdsaSBvZ2dldHRpLiBWZWRlcmUgKipkZWVwQ2xvbmUqKlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlY3Vyc2l2ZVN0ZXAoc291cmNlOiBhbnksIGRlc3RpbmF0aW9uOiBhbnkpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpIHx8IHNvdXJjZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHNvdXJjZS5sZW5ndGg7IGkgPCBpaTsgaSsrKVxyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24ucHVzaCh0aGlzLmRlZXBDbG9uZShzb3VyY2VbaV0pKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZSAmJiB0eXBlb2Ygc291cmNlLmhhc093blByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSlcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbltrZXldID0gdGhpcy5kZWVwQ2xvbmUoc291cmNlW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGVzdGluYXRpb247XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -568,6 +568,9 @@ class UtilityService {
|
|
|
568
568
|
case '[object String]':
|
|
569
569
|
case '[object Date]':
|
|
570
570
|
return new source.constructor(source.valueOf());
|
|
571
|
+
// Clonazione di un file -> Restituisco il riferimento al file stesso
|
|
572
|
+
case "[object File]":
|
|
573
|
+
return source;
|
|
571
574
|
default: break;
|
|
572
575
|
}
|
|
573
576
|
// Oggetti Complessi
|