Comparing version 2.0.0-alpha.1 to 2.0.0-alpha.2
20
lang.js
@@ -12,4 +12,14 @@ (function (factory) { | ||
var hasOwnProperty = Object.prototype.hasOwnProperty; | ||
function isObject(item) { | ||
return Object.prototype.toString.call(item) === '[object Object]'; | ||
/** | ||
* Type guard that ensures that the value can be coerced to Object | ||
* to weed out host objects that do not derive from Object. | ||
* This function is used to check if we want to deep copy an object or not. | ||
* Note: In ES6 it is possible to modify an object's Symbol.toStringTag property, which will | ||
* change the value returned by `toString`. This is a rare edge case that is difficult to handle, | ||
* so it is not handled here. | ||
* @param value The value to check | ||
* @return If the value is coercible into an Object | ||
*/ | ||
function shouldDeepCopyObject(value) { | ||
return Object.prototype.toString.call(value) === '[object Object]'; | ||
} | ||
@@ -21,3 +31,3 @@ function copyArray(array, inherited) { | ||
} | ||
return !isObject(item) ? | ||
return !shouldDeepCopyObject(item) ? | ||
item : | ||
@@ -45,3 +55,3 @@ _mixin({ | ||
} | ||
else if (isObject(value)) { | ||
else if (shouldDeepCopyObject(value)) { | ||
value = _mixin({ | ||
@@ -273,2 +283,2 @@ deep: true, | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYW5nLnRzIl0sIm5hbWVzIjpbImlzT2JqZWN0IiwiY29weUFycmF5IiwiX21peGluIiwiY3JlYXRlIiwiZGVlcEFzc2lnbiIsImRlZXBNaXhpbiIsImR1cGxpY2F0ZSIsImlzSWRlbnRpY2FsIiwibGF0ZUJpbmQiLCJtaXhpbiIsInBhcnRpYWwiLCJjcmVhdGVIYW5kbGUiLCJjcmVhdGVDb21wb3NpdGVIYW5kbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0lBQUEsb0JBQWdCLE9BQU8sQ0FBQyxDQUFBO0lBR3hCLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3BDLElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0lBRXZELGtCQUFrQixJQUFTO1FBQzFCQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxTQUFTQSxDQUFDQSxRQUFRQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxLQUFLQSxpQkFBaUJBLENBQUNBO0lBQ25FQSxDQUFDQTtJQUVELG1CQUFzQixLQUFVLEVBQUUsU0FBa0I7UUFDbkRDLE1BQU1BLENBQUNBLEtBQUtBLENBQUNBLEdBQUdBLENBQUNBLFVBQVVBLElBQU9BO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENBQVEsU0FBUyxDQUFPLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSTtnQkFDSixNQUFNLENBQUM7b0JBQ04sSUFBSSxFQUFFLElBQUk7b0JBQ1YsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLE9BQU8sRUFBYSxDQUFFLElBQUksQ0FBRTtvQkFDNUIsTUFBTSxFQUFNLEVBQUU7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Q0EsQ0FBQ0E7SUFDSkEsQ0FBQ0E7SUFOZSw2QkFBcUIsd0JBTXBDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFzIGZyb20gJy4vaGFzJztcbmltcG9ydCB7IEhhbmRsZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG5mdW5jdGlvbiBpc09iamVjdChpdGVtOiBhbnkpOiBib29sZWFuIHtcblx0cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVtKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59XG5cbmZ1bmN0aW9uIGNvcHlBcnJheTxUPihhcnJheTogVFtdLCBpbmhlcml0ZWQ6IGJvb2xlYW4pOiBUW10ge1xuXHRyZXR1cm4gYXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtOiBUKTogVCB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcblx0XHRcdHJldHVybiAgPGFueT4gY29weUFycmF5KDxhbnk+IGl0ZW0sIGluaGVyaXRlZCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuICFpc09iamVjdChpdGVtKSA/XG5cdFx0XHRpdGVtIDpcblx0XHRcdF9taXhpbih7XG5cdFx0XHRcdGRlZXA6IHRydWUsXG5cdFx0XHRcdGluaGVyaXRlZDogaW5oZXJpdGVkLFxuXHRcdFx0XHRzb3VyY2VzOiA8QXJyYXk8VD4+IFsgaXRlbSBdLFxuXHRcdFx0XHR0YXJnZXQ6IDxUPiB7fVxuXHRcdFx0fSk7XG5cdH0pO1xufVxuXG5pbnRlcmZhY2UgTWl4aW5BcmdzPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9PiB7XG5cdGRlZXA6IGJvb2xlYW47XG5cdGluaGVyaXRlZDogYm9vbGVhbjtcblx0c291cmNlczogVVtdO1xuXHR0YXJnZXQ6IFQ7XG59XG5cbmZ1bmN0aW9uIF9taXhpbjxUIGV4dGVuZHMge30sIFUgZXh0ZW5kcyB7fT4oa3dBcmdzOiBNaXhpbkFyZ3M8VCwgVT4pOiBUJlUge1xuXHRjb25zdCBkZWVwID0ga3dBcmdzLmRlZXA7XG5cdGNvbnN0IGluaGVyaXRlZCA9IGt3QXJncy5pbmhlcml0ZWQ7XG5cdGNvbnN0IHRhcmdldCA9IGt3QXJncy50YXJnZXQ7XG5cblx0Zm9yIChsZXQgc291cmNlIG9mIGt3QXJncy5zb3VyY2VzKSB7XG5cdFx0Zm9yIChsZXQga2V5IGluIHNvdXJjZSkge1xuXHRcdFx0aWYgKGluaGVyaXRlZCB8fCBoYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuXHRcdFx0XHRsZXQgdmFsdWU6IGFueSA9ICg8YW55PiBzb3VyY2UpW2tleV07XG5cblx0XHRcdFx0aWYgKGRlZXApIHtcblx0XHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0XHRcdHZhbHVlID0gY29weUFycmF5KHZhbHVlLCBpbmhlcml0ZWQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcblx0XHRcdFx0XHRcdHZhbHVlID0gX21peGluKHtcblx0XHRcdFx0XHRcdFx0ZGVlcDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0aW5oZXJpdGVkOiBpbmhlcml0ZWQsXG5cdFx0XHRcdFx0XHRcdHNvdXJjZXM6IDxVW10+IFsgdmFsdWUgXSxcblx0XHRcdFx0XHRcdFx0dGFyZ2V0OiB7fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0KDxhbnk+IHRhcmdldClba2V5XSA9IHZhbHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiA8VCZVPiB0YXJnZXQ7XG59XG5cbmludGVyZmFjZSBPYmplY3RBc3NpZ25Db25zdHJ1Y3RvciBleHRlbmRzIE9iamVjdENvbnN0cnVjdG9yIHtcblx0YXNzaWduPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9Pih0YXJnZXQ6IFQsIC4uLnNvdXJjZXM6IFVbXSk6IFQmVTtcbn1cblxuLyoqXG4gKiBDb3BpZXMgdGhlIHZhbHVlcyBvZiBhbGwgZW51bWVyYWJsZSBvd24gcHJvcGVydGllcyBvZiBvbmUgb3IgbW9yZSBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgdGFyZ2V0IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgb2JqZWN0IHRvIHJlY2VpdmUgdmFsdWVzIGZyb20gc291cmNlIG9iamVjdHNcbiAqIEBwYXJhbSBzb3VyY2VzIEFueSBudW1iZXIgb2Ygb2JqZWN0cyB3aG9zZSBlbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIHdpbGwgYmUgY29waWVkIHRvIHRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcmV0dXJuIFRoZSBtb2RpZmllZCB0YXJnZXQgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBhc3NpZ24gPSBoYXMoJ29iamVjdC1hc3NpZ24nKSA/XG5cdCg8T2JqZWN0QXNzaWduQ29uc3RydWN0b3I+IE9iamVjdCkuYXNzaWduIDpcblx0ZnVuY3Rpb248VCBleHRlbmRzIHt9LCBVIGV4dGVuZHMge30+ICh0YXJnZXQ6IFQsIC4uLnNvdXJjZXM6IFVbXSk6IFQmVSB7XG5cdFx0cmV0dXJuIF9taXhpbih7XG5cdFx0XHRkZWVwOiBmYWxzZSxcblx0XHRcdGluaGVyaXRlZDogZmFsc2UsXG5cdFx0XHRzb3VyY2VzOiBzb3VyY2VzLFxuXHRcdFx0dGFyZ2V0OiB0YXJnZXRcblx0XHR9KTtcblx0fTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IG9iamVjdCBmcm9tIHRoZSBnaXZlbiBwcm90b3R5cGUsIGFuZCBjb3BpZXMgYWxsIGVudW1lcmFibGUgb3duIHByb3BlcnRpZXMgb2Ygb25lIG9yIG1vcmVcbiAqIHNvdXJjZSBvYmplY3RzIHRvIHRoZSBuZXdseSBjcmVhdGVkIHRhcmdldCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHByb3RvdHlwZSBUaGUgcHJvdG90eXBlIHRvIGNyZWF0ZSBhIG5ldyBvYmplY3QgZnJvbVxuICogQHBhcmFtIG1peGlucyBBbnkgbnVtYmVyIG9mIG9iamVjdHMgd2hvc2UgZW51bWVyYWJsZSBvd24gcHJvcGVydGllcyB3aWxsIGJlIGNvcGllZCB0byB0aGUgY3JlYXRlZCBvYmplY3RcbiAqIEByZXR1cm4gVGhlIG5ldyBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZTxUIGV4dGVuZHMge30sIFUgZXh0ZW5kcyB7fT4ocHJvdG90eXBlOiBULCAuLi5taXhpbnM6IFVbXSk6IFQmVSB7XG5cdGlmICghbWl4aW5zLmxlbmd0aCkge1xuXHRcdHRocm93IG5ldyBSYW5nZUVycm9yKCdsYW5nLmNyZWF0ZSByZXF1aXJlcyBhdCBsZWFzdCBvbmUgbWl4aW4gb2JqZWN0LicpO1xuXHR9XG5cblx0Y29uc3QgYXJncyA9IG1peGlucy5zbGljZSgpO1xuXHRhcmdzLnVuc2hpZnQoT2JqZWN0LmNyZWF0ZShwcm90b3R5cGUpKTtcblxuXHRyZXR1cm4gYXNzaWduLmFwcGx5KG51bGwsIGFyZ3MpO1xufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdmFsdWVzIG9mIGFsbCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIG9mIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzIHRvIHRoZSB0YXJnZXQgb2JqZWN0LFxuICogcmVjdXJzaXZlbHkgY29weWluZyBhbGwgbmVzdGVkIG9iamVjdHMgYW5kIGFycmF5cyBhcyB3ZWxsLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBvYmplY3QgdG8gcmVjZWl2ZSB2YWx1ZXMgZnJvbSBzb3VyY2Ugb2JqZWN0c1xuICogQHBhcmFtIHNvdXJjZXMgQW55IG51bWJlciBvZiBvYmplY3RzIHdob3NlIGVudW1lcmFibGUgb3duIHByb3BlcnRpZXMgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIHRhcmdldCBvYmplY3RcbiAqIEByZXR1cm4gVGhlIG1vZGlmaWVkIHRhcmdldCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBBc3NpZ248VCBleHRlbmRzIHt9LCBVIGV4dGVuZHMge30+KHRhcmdldDogVCwgLi4uc291cmNlczogVVtdKTogVCZVIHtcblx0cmV0dXJuIF9taXhpbih7XG5cdFx0ZGVlcDogdHJ1ZSxcblx0XHRpbmhlcml0ZWQ6IGZhbHNlLFxuXHRcdHNvdXJjZXM6IHNvdXJjZXMsXG5cdFx0dGFyZ2V0OiB0YXJnZXRcblx0fSk7XG59XG5cbi8qKlxuICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYWxsIGVudW1lcmFibGUgKG93biBvciBpbmhlcml0ZWQpIHByb3BlcnRpZXMgb2Ygb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gdGhlXG4gKiB0YXJnZXQgb2JqZWN0LCByZWN1cnNpdmVseSBjb3B5aW5nIGFsbCBuZXN0ZWQgb2JqZWN0cyBhbmQgYXJyYXlzIGFzIHdlbGwuXG4gKlxuICogQHBhcmFtIHRhcmdldCBUaGUgdGFyZ2V0IG9iamVjdCB0byByZWNlaXZlIHZhbHVlcyBmcm9tIHNvdXJjZSBvYmplY3RzXG4gKiBAcGFyYW0gc291cmNlcyBBbnkgbnVtYmVyIG9mIG9iamVjdHMgd2hvc2UgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIHdpbGwgYmUgY29waWVkIHRvIHRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcmV0dXJuIFRoZSBtb2RpZmllZCB0YXJnZXQgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwTWl4aW48VCBleHRlbmRzIHt9LCBVIGV4dGVuZHMge30+KHRhcmdldDogVCwgLi4uc291cmNlczogVVtdKTogVCZVIHtcblx0cmV0dXJuIF9taXhpbih7XG5cdFx0ZGVlcDogdHJ1ZSxcblx0XHRpbmhlcml0ZWQ6IHRydWUsXG5cdFx0c291cmNlczogc291cmNlcyxcblx0XHR0YXJnZXQ6IHRhcmdldFxuXHR9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IG9iamVjdCB1c2luZyB0aGUgcHJvdmlkZWQgc291cmNlJ3MgcHJvdG90eXBlIGFzIHRoZSBwcm90b3R5cGUgZm9yIHRoZSBuZXcgb2JqZWN0LCBhbmQgdGhlblxuICogZGVlcCBjb3BpZXMgdGhlIHByb3ZpZGVkIHNvdXJjZSdzIHZhbHVlcyBpbnRvIHRoZSBuZXcgdGFyZ2V0LlxuICpcbiAqIEBwYXJhbSBzb3VyY2UgVGhlIG9iamVjdCB0byBkdXBsaWNhdGVcbiAqIEByZXR1cm4gVGhlIG5ldyBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGR1cGxpY2F0ZTxUIGV4dGVuZHMge30+KHNvdXJjZTogVCk6IFQge1xuXHRjb25zdCB0YXJnZXQgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzb3VyY2UpKTtcblxuXHRyZXR1cm4gZGVlcE1peGluKHRhcmdldCwgc291cmNlKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdHdvIHZhbHVlcyBhcmUgdGhlIHNhbWUgdmFsdWUuXG4gKlxuICogQHBhcmFtIGEgRmlyc3QgdmFsdWUgdG8gY29tcGFyZVxuICogQHBhcmFtIGIgU2Vjb25kIHZhbHVlIHRvIGNvbXBhcmVcbiAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgdmFsdWVzIGFyZSB0aGUgc2FtZTsgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lkZW50aWNhbChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gYSA9PT0gYiB8fFxuXHRcdC8qIGJvdGggdmFsdWVzIGFyZSBOYU4gKi9cblx0XHQoYSAhPT0gYSAmJiBiICE9PSBiKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBiaW5kcyBhIG1ldGhvZCB0byB0aGUgc3BlY2lmaWVkIG9iamVjdCBhdCBydW50aW1lLiBUaGlzIGlzIHNpbWlsYXIgdG9cbiAqIGBGdW5jdGlvbi5wcm90b3R5cGUuYmluZGAsIGJ1dCBpbnN0ZWFkIG9mIGEgZnVuY3Rpb24gaXQgdGFrZXMgdGhlIG5hbWUgb2YgYSBtZXRob2Qgb24gYW4gb2JqZWN0LlxuICogQXMgYSByZXN1bHQsIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBgbGF0ZUJpbmRgIHdpbGwgYWx3YXlzIGNhbGwgdGhlIGZ1bmN0aW9uIGN1cnJlbnRseSBhc3NpZ25lZCB0b1xuICogdGhlIHNwZWNpZmllZCBwcm9wZXJ0eSBvbiB0aGUgb2JqZWN0IGFzIG9mIHRoZSBtb21lbnQgdGhlIGZ1bmN0aW9uIGl0IHJldHVybnMgaXMgY2FsbGVkLlxuICpcbiAqIEBwYXJhbSBpbnN0YW5jZSBUaGUgY29udGV4dCBvYmplY3RcbiAqIEBwYXJhbSBtZXRob2QgVGhlIG5hbWUgb2YgdGhlIG1ldGhvZCBvbiB0aGUgY29udGV4dCBvYmplY3QgdG8gYmluZCB0byBpdHNlbGZcbiAqIEBwYXJhbSBzdXBwbGllZEFyZ3MgQW4gb3B0aW9uYWwgYXJyYXkgb2YgdmFsdWVzIHRvIHByZXBlbmQgdG8gdGhlIGBpbnN0YW5jZVttZXRob2RdYCBhcmd1bWVudHMgbGlzdFxuICogQHJldHVybiBUaGUgYm91bmQgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhdGVCaW5kKGluc3RhbmNlOiB7fSwgbWV0aG9kOiBzdHJpbmcsIC4uLnN1cHBsaWVkQXJnczogYW55W10pOiAoLi4uYXJnczogYW55W10pID0+IGFueSB7XG5cdHJldHVybiBzdXBwbGllZEFyZ3MubGVuZ3RoID9cblx0XHRmdW5jdGlvbiAoKSB7XG5cdFx0XHRjb25zdCBhcmdzOiBhbnlbXSA9IGFyZ3VtZW50cy5sZW5ndGggPyBzdXBwbGllZEFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkgOiBzdXBwbGllZEFyZ3M7XG5cblx0XHRcdC8vIFRTNzAxN1xuXHRcdFx0cmV0dXJuICg8YW55PiBpbnN0YW5jZSlbbWV0aG9kXS5hcHBseShpbnN0YW5jZSwgYXJncyk7XG5cdFx0fSA6XG5cdFx0ZnVuY3Rpb24gKCkge1xuXHRcdFx0Ly8gVFM3MDE3XG5cdFx0XHRyZXR1cm4gKDxhbnk+IGluc3RhbmNlKVttZXRob2RdLmFwcGx5KGluc3RhbmNlLCBhcmd1bWVudHMpO1xuXHRcdH07XG59XG5cbi8qKlxuICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYWxsIGVudW1lcmFibGUgKG93biBvciBpbmhlcml0ZWQpIHByb3BlcnRpZXMgb2Ygb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gdGhlXG4gKiB0YXJnZXQgb2JqZWN0LlxuICpcbiAqIEByZXR1cm4gVGhlIG1vZGlmaWVkIHRhcmdldCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1peGluPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9Pih0YXJnZXQ6IFQsIC4uLnNvdXJjZXM6IFVbXSk6IFQmVSB7XG5cdHJldHVybiBfbWl4aW4oe1xuXHRcdGRlZXA6IGZhbHNlLFxuXHRcdGluaGVyaXRlZDogdHJ1ZSxcblx0XHRzb3VyY2VzOiBzb3VyY2VzLFxuXHRcdHRhcmdldDogdGFyZ2V0XG5cdH0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBmdW5jdGlvbiB3aGljaCBpbnZva2VzIHRoZSBnaXZlbiBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMgcHJlcGVuZGVkIHRvIGl0cyBhcmd1bWVudCBsaXN0LlxuICogTGlrZSBgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmRgLCBidXQgZG9lcyBub3QgYWx0ZXIgZXhlY3V0aW9uIGNvbnRleHQuXG4gKlxuICogQHBhcmFtIHRhcmdldEZ1bmN0aW9uIFRoZSBmdW5jdGlvbiB0aGF0IG5lZWRzIHRvIGJlIGJvdW5kXG4gKiBAcGFyYW0gc3VwcGxpZWRBcmdzIEFuIG9wdGlvbmFsIGFycmF5IG9mIGFyZ3VtZW50cyB0byBwcmVwZW5kIHRvIHRoZSBgdGFyZ2V0RnVuY3Rpb25gIGFyZ3VtZW50cyBsaXN0XG4gKiBAcmV0dXJuIFRoZSBib3VuZCBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFydGlhbCh0YXJnZXRGdW5jdGlvbjogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksIC4uLnN1cHBsaWVkQXJnczogYW55W10pOiAoLi4uYXJnczogYW55W10pID0+IGFueSB7XG5cdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0Y29uc3QgYXJnczogYW55W10gPSBhcmd1bWVudHMubGVuZ3RoID8gc3VwcGxpZWRBcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpIDogc3VwcGxpZWRBcmdzO1xuXG5cdFx0cmV0dXJuIHRhcmdldEZ1bmN0aW9uLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHR9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gb2JqZWN0IHdpdGggYSBkZXN0cm95IG1ldGhvZCB0aGF0LCB3aGVuIGNhbGxlZCwgY2FsbHMgdGhlIHBhc3NlZC1pbiBkZXN0cnVjdG9yLlxuICogVGhpcyBpcyBpbnRlbmRlZCB0byBwcm92aWRlIGEgdW5pZmllZCBpbnRlcmZhY2UgZm9yIGNyZWF0aW5nIFwicmVtb3ZlXCIgLyBcImRlc3Ryb3lcIiBoYW5kbGVycyBmb3JcbiAqIGV2ZW50IGxpc3RlbmVycywgdGltZXJzLCBldGMuXG4gKlxuICogQHBhcmFtIGRlc3RydWN0b3IgQSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGhhbmRsZSdzIGBkZXN0cm95YCBtZXRob2QgaXMgaW52b2tlZFxuICogQHJldHVybiBUaGUgaGFuZGxlIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGFuZGxlKGRlc3RydWN0b3I6ICgpID0+IHZvaWQpOiBIYW5kbGUge1xuXHRyZXR1cm4ge1xuXHRcdGRlc3Ryb3k6IGZ1bmN0aW9uICgpIHtcblx0XHRcdHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHt9O1xuXHRcdFx0ZGVzdHJ1Y3Rvci5jYWxsKHRoaXMpO1xuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc2luZ2xlIGhhbmRsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlc3Ryb3kgbXVsdGlwbGUgaGFuZGxlcyBzaW11bHRhbmVvdXNseS5cbiAqXG4gKiBAcGFyYW0gaGFuZGxlcyBBbiBhcnJheSBvZiBoYW5kbGVzIHdpdGggYGRlc3Ryb3lgIG1ldGhvZHNcbiAqIEByZXR1cm4gVGhlIGhhbmRsZSBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbXBvc2l0ZUhhbmRsZSguLi5oYW5kbGVzOiBIYW5kbGVbXSk6IEhhbmRsZSB7XG5cdHJldHVybiBjcmVhdGVIYW5kbGUoZnVuY3Rpb24gKCkge1xuXHRcdGZvciAobGV0IGhhbmRsZSBvZiBoYW5kbGVzKSB7XG5cdFx0XHRoYW5kbGUuZGVzdHJveSgpO1xuXHRcdH1cblx0fSk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYW5nLnRzIl0sIm5hbWVzIjpbInNob3VsZERlZXBDb3B5T2JqZWN0IiwiY29weUFycmF5IiwiX21peGluIiwiY3JlYXRlIiwiZGVlcEFzc2lnbiIsImRlZXBNaXhpbiIsImR1cGxpY2F0ZSIsImlzSWRlbnRpY2FsIiwibGF0ZUJpbmQiLCJtaXhpbiIsInBhcnRpYWwiLCJjcmVhdGVIYW5kbGUiLCJjcmVhdGVDb21wb3NpdGVIYW5kbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0lBQUEsb0JBQWdCLE9BQU8sQ0FBQyxDQUFBO0lBR3hCLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3BDLElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0lBRXZEOzs7Ozs7Ozs7T0FTRztJQUNILDhCQUE4QixLQUFVO1FBQ3ZDQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxTQUFTQSxDQUFDQSxRQUFRQSxDQUFDQSxJQUFJQSxDQUFDQSxLQUFLQSxDQUFDQSxLQUFLQSxpQkFBaUJBLENBQUNBO0lBQ3BFQSxDQUFDQTtJQUVELG1CQUFzQixLQUFVLEVBQUUsU0FBa0I7UUFDbkRDLE1BQU1BLENBQUNBLEtBQUtBLENBQUNBLEdBQUdBLENBQUNBLFVBQVVBLElBQU9BO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENBQVEsU0FBUyxDQUFPLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsTUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJO2dCQUNKLE1BQU0sQ0FBQztvQkFDTixJQUFJLEVBQUUsSUFBSTtvQkFDVixTQUFTLEVBQUUsU0FBUztvQkFDcEIsT0FBTyxFQUFhLENBQUUs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T0FBTyxFQUFFLENBQUM7YUFDakI7UUFDRixDQUFDLENBQUNBLENBQUNBO0lBQ0pBLENBQUNBO0lBTmUsNkJBQXFCLHdCQU1wQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhcyBmcm9tICcuL2hhcyc7XG5pbXBvcnQgeyBIYW5kbGUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5jb25zdCBzbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTtcbmNvbnN0IGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRoYXQgZW5zdXJlcyB0aGF0IHRoZSB2YWx1ZSBjYW4gYmUgY29lcmNlZCB0byBPYmplY3RcbiAqIHRvIHdlZWQgb3V0IGhvc3Qgb2JqZWN0cyB0aGF0IGRvIG5vdCBkZXJpdmUgZnJvbSBPYmplY3QuXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY2hlY2sgaWYgd2Ugd2FudCB0byBkZWVwIGNvcHkgYW4gb2JqZWN0IG9yIG5vdC5cbiAqIE5vdGU6IEluIEVTNiBpdCBpcyBwb3NzaWJsZSB0byBtb2RpZnkgYW4gb2JqZWN0J3MgU3ltYm9sLnRvU3RyaW5nVGFnIHByb3BlcnR5LCB3aGljaCB3aWxsXG4gKiBjaGFuZ2UgdGhlIHZhbHVlIHJldHVybmVkIGJ5IGB0b1N0cmluZ2AuIFRoaXMgaXMgYSByYXJlIGVkZ2UgY2FzZSB0aGF0IGlzIGRpZmZpY3VsdCB0byBoYW5kbGUsXG4gKiBzbyBpdCBpcyBub3QgaGFuZGxlZCBoZXJlLlxuICogQHBhcmFtICB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2tcbiAqIEByZXR1cm4gICAgICAgSWYgdGhlIHZhbHVlIGlzIGNvZXJjaWJsZSBpbnRvIGFuIE9iamVjdFxuICovXG5mdW5jdGlvbiBzaG91bGREZWVwQ29weU9iamVjdCh2YWx1ZTogYW55KTogdmFsdWUgaXMgT2JqZWN0IHtcblx0cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufVxuXG5mdW5jdGlvbiBjb3B5QXJyYXk8VD4oYXJyYXk6IFRbXSwgaW5oZXJpdGVkOiBib29sZWFuKTogVFtdIHtcblx0cmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbiAoaXRlbTogVCk6IFQge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XG5cdFx0XHRyZXR1cm4gIDxhbnk+IGNvcHlBcnJheSg8YW55PiBpdGVtLCBpbmhlcml0ZWQpO1xuXHRcdH1cblxuXHRcdHJldHVybiAhc2hvdWxkRGVlcENvcHlPYmplY3QoaXRlbSkgP1xuXHRcdFx0aXRlbSA6XG5cdFx0XHRfbWl4aW4oe1xuXHRcdFx0XHRkZWVwOiB0cnVlLFxuXHRcdFx0XHRpbmhlcml0ZWQ6IGluaGVyaXRlZCxcblx0XHRcdFx0c291cmNlczogPEFycmF5PFQ+PiBbIGl0ZW0gXSxcblx0XHRcdFx0dGFyZ2V0OiA8VD4ge31cblx0XHRcdH0pO1xuXHR9KTtcbn1cblxuaW50ZXJmYWNlIE1peGluQXJnczxUIGV4dGVuZHMge30sIFUgZXh0ZW5kcyB7fT4ge1xuXHRkZWVwOiBib29sZWFuO1xuXHRpbmhlcml0ZWQ6IGJvb2xlYW47XG5cdHNvdXJjZXM6IFVbXTtcblx0dGFyZ2V0OiBUO1xufVxuXG5mdW5jdGlvbiBfbWl4aW48VCBleHRlbmRzIHt9LCBVIGV4dGVuZHMge30+KGt3QXJnczogTWl4aW5BcmdzPFQsIFU+KTogVCZVIHtcblx0Y29uc3QgZGVlcCA9IGt3QXJncy5kZWVwO1xuXHRjb25zdCBpbmhlcml0ZWQgPSBrd0FyZ3MuaW5oZXJpdGVkO1xuXHRjb25zdCB0YXJnZXQgPSBrd0FyZ3MudGFyZ2V0O1xuXG5cdGZvciAobGV0IHNvdXJjZSBvZiBrd0FyZ3Muc291cmNlcykge1xuXHRcdGZvciAobGV0IGtleSBpbiBzb3VyY2UpIHtcblx0XHRcdGlmIChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcblx0XHRcdFx0bGV0IHZhbHVlOiBhbnkgPSAoPGFueT4gc291cmNlKVtrZXldO1xuXG5cdFx0XHRcdGlmIChkZWVwKSB7XG5cdFx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRcdFx0XHR2YWx1ZSA9IGNvcHlBcnJheSh2YWx1ZSwgaW5oZXJpdGVkKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZWxzZSBpZiAoc2hvdWxkRGVlcENvcHlPYmplY3QodmFsdWUpKSB7XG5cdFx0XHRcdFx0XHR2YWx1ZSA9IF9taXhpbih7XG5cdFx0XHRcdFx0XHRcdGRlZXA6IHRydWUsXG5cdFx0XHRcdFx0XHRcdGluaGVyaXRlZDogaW5oZXJpdGVkLFxuXHRcdFx0XHRcdFx0XHRzb3VyY2VzOiA8VVtdPiBbIHZhbHVlIF0sXG5cdFx0XHRcdFx0XHRcdHRhcmdldDoge31cblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCg8YW55PiB0YXJnZXQpW2tleV0gPSB2YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gPFQmVT4gdGFyZ2V0O1xufVxuXG5pbnRlcmZhY2UgT2JqZWN0QXNzaWduQ29uc3RydWN0b3IgZXh0ZW5kcyBPYmplY3RDb25zdHJ1Y3RvciB7XG5cdGFzc2lnbjxUIGV4dGVuZHMge30sIFUgZXh0ZW5kcyB7fT4odGFyZ2V0OiBULCAuLi5zb3VyY2VzOiBVW10pOiBUJlU7XG59XG5cbi8qKlxuICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYWxsIGVudW1lcmFibGUgb3duIHByb3BlcnRpZXMgb2Ygb25lIG9yIG1vcmUgc291cmNlIG9iamVjdHMgdG8gdGhlIHRhcmdldCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHRhcmdldCBUaGUgdGFyZ2V0IG9iamVjdCB0byByZWNlaXZlIHZhbHVlcyBmcm9tIHNvdXJjZSBvYmplY3RzXG4gKiBAcGFyYW0gc291cmNlcyBBbnkgbnVtYmVyIG9mIG9iamVjdHMgd2hvc2UgZW51bWVyYWJsZSBvd24gcHJvcGVydGllcyB3aWxsIGJlIGNvcGllZCB0byB0aGUgdGFyZ2V0IG9iamVjdFxuICogQHJldHVybiBUaGUgbW9kaWZpZWQgdGFyZ2V0IG9iamVjdFxuICovXG5leHBvcnQgY29uc3QgYXNzaWduID0gaGFzKCdvYmplY3QtYXNzaWduJykgP1xuXHQoPE9iamVjdEFzc2lnbkNvbnN0cnVjdG9yPiBPYmplY3QpLmFzc2lnbiA6XG5cdGZ1bmN0aW9uPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9PiAodGFyZ2V0OiBULCAuLi5zb3VyY2VzOiBVW10pOiBUJlUge1xuXHRcdHJldHVybiBfbWl4aW4oe1xuXHRcdFx0ZGVlcDogZmFsc2UsXG5cdFx0XHRpbmhlcml0ZWQ6IGZhbHNlLFxuXHRcdFx0c291cmNlczogc291cmNlcyxcblx0XHRcdHRhcmdldDogdGFyZ2V0XG5cdFx0fSk7XG5cdH07XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBvYmplY3QgZnJvbSB0aGUgZ2l2ZW4gcHJvdG90eXBlLCBhbmQgY29waWVzIGFsbCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIG9mIG9uZSBvciBtb3JlXG4gKiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgbmV3bHkgY3JlYXRlZCB0YXJnZXQgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwcm90b3R5cGUgVGhlIHByb3RvdHlwZSB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IGZyb21cbiAqIEBwYXJhbSBtaXhpbnMgQW55IG51bWJlciBvZiBvYmplY3RzIHdob3NlIGVudW1lcmFibGUgb3duIHByb3BlcnRpZXMgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIGNyZWF0ZWQgb2JqZWN0XG4gKiBAcmV0dXJuIFRoZSBuZXcgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGU8VCBleHRlbmRzIHt9LCBVIGV4dGVuZHMge30+KHByb3RvdHlwZTogVCwgLi4ubWl4aW5zOiBVW10pOiBUJlUge1xuXHRpZiAoIW1peGlucy5sZW5ndGgpIHtcblx0XHR0aHJvdyBuZXcgUmFuZ2VFcnJvcignbGFuZy5jcmVhdGUgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIG1peGluIG9iamVjdC4nKTtcblx0fVxuXG5cdGNvbnN0IGFyZ3MgPSBtaXhpbnMuc2xpY2UoKTtcblx0YXJncy51bnNoaWZ0KE9iamVjdC5jcmVhdGUocHJvdG90eXBlKSk7XG5cblx0cmV0dXJuIGFzc2lnbi5hcHBseShudWxsLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBDb3BpZXMgdGhlIHZhbHVlcyBvZiBhbGwgZW51bWVyYWJsZSBvd24gcHJvcGVydGllcyBvZiBvbmUgb3IgbW9yZSBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgdGFyZ2V0IG9iamVjdCxcbiAqIHJlY3Vyc2l2ZWx5IGNvcHlpbmcgYWxsIG5lc3RlZCBvYmplY3RzIGFuZCBhcnJheXMgYXMgd2VsbC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgb2JqZWN0IHRvIHJlY2VpdmUgdmFsdWVzIGZyb20gc291cmNlIG9iamVjdHNcbiAqIEBwYXJhbSBzb3VyY2VzIEFueSBudW1iZXIgb2Ygb2JqZWN0cyB3aG9zZSBlbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIHdpbGwgYmUgY29waWVkIHRvIHRoZSB0YXJnZXQgb2JqZWN0XG4gKiBAcmV0dXJuIFRoZSBtb2RpZmllZCB0YXJnZXQgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQXNzaWduPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9Pih0YXJnZXQ6IFQsIC4uLnNvdXJjZXM6IFVbXSk6IFQmVSB7XG5cdHJldHVybiBfbWl4aW4oe1xuXHRcdGRlZXA6IHRydWUsXG5cdFx0aW5oZXJpdGVkOiBmYWxzZSxcblx0XHRzb3VyY2VzOiBzb3VyY2VzLFxuXHRcdHRhcmdldDogdGFyZ2V0XG5cdH0pO1xufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdmFsdWVzIG9mIGFsbCBlbnVtZXJhYmxlIChvd24gb3IgaW5oZXJpdGVkKSBwcm9wZXJ0aWVzIG9mIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzIHRvIHRoZVxuICogdGFyZ2V0IG9iamVjdCwgcmVjdXJzaXZlbHkgY29weWluZyBhbGwgbmVzdGVkIG9iamVjdHMgYW5kIGFycmF5cyBhcyB3ZWxsLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBvYmplY3QgdG8gcmVjZWl2ZSB2YWx1ZXMgZnJvbSBzb3VyY2Ugb2JqZWN0c1xuICogQHBhcmFtIHNvdXJjZXMgQW55IG51bWJlciBvZiBvYmplY3RzIHdob3NlIGVudW1lcmFibGUgcHJvcGVydGllcyB3aWxsIGJlIGNvcGllZCB0byB0aGUgdGFyZ2V0IG9iamVjdFxuICogQHJldHVybiBUaGUgbW9kaWZpZWQgdGFyZ2V0IG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcE1peGluPFQgZXh0ZW5kcyB7fSwgVSBleHRlbmRzIHt9Pih0YXJnZXQ6IFQsIC4uLnNvdXJjZXM6IFVbXSk6IFQmVSB7XG5cdHJldHVybiBfbWl4aW4oe1xuXHRcdGRlZXA6IHRydWUsXG5cdFx0aW5oZXJpdGVkOiB0cnVlLFxuXHRcdHNvdXJjZXM6IHNvdXJjZXMsXG5cdFx0dGFyZ2V0OiB0YXJnZXRcblx0fSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBvYmplY3QgdXNpbmcgdGhlIHByb3ZpZGVkIHNvdXJjZSdzIHByb3RvdHlwZSBhcyB0aGUgcHJvdG90eXBlIGZvciB0aGUgbmV3IG9iamVjdCwgYW5kIHRoZW5cbiAqIGRlZXAgY29waWVzIHRoZSBwcm92aWRlZCBzb3VyY2UncyB2YWx1ZXMgaW50byB0aGUgbmV3IHRhcmdldC5cbiAqXG4gKiBAcGFyYW0gc291cmNlIFRoZSBvYmplY3QgdG8gZHVwbGljYXRlXG4gKiBAcmV0dXJuIFRoZSBuZXcgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkdXBsaWNhdGU8VCBleHRlbmRzIHt9Pihzb3VyY2U6IFQpOiBUIHtcblx0Y29uc3QgdGFyZ2V0ID0gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc291cmNlKSk7XG5cblx0cmV0dXJuIGRlZXBNaXhpbih0YXJnZXQsIHNvdXJjZSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHR3byB2YWx1ZXMgYXJlIHRoZSBzYW1lIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBhIEZpcnN0IHZhbHVlIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSBiIFNlY29uZCB2YWx1ZSB0byBjb21wYXJlXG4gKiBAcmV0dXJuIHRydWUgaWYgdGhlIHZhbHVlcyBhcmUgdGhlIHNhbWU7IGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJZGVudGljYWwoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcblx0cmV0dXJuIGEgPT09IGIgfHxcblx0XHQvKiBib3RoIHZhbHVlcyBhcmUgTmFOICovXG5cdFx0KGEgIT09IGEgJiYgYiAhPT0gYik7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgYmluZHMgYSBtZXRob2QgdG8gdGhlIHNwZWNpZmllZCBvYmplY3QgYXQgcnVudGltZS4gVGhpcyBpcyBzaW1pbGFyIHRvXG4gKiBgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmRgLCBidXQgaW5zdGVhZCBvZiBhIGZ1bmN0aW9uIGl0IHRha2VzIHRoZSBuYW1lIG9mIGEgbWV0aG9kIG9uIGFuIG9iamVjdC5cbiAqIEFzIGEgcmVzdWx0LCB0aGUgZnVuY3Rpb24gcmV0dXJuZWQgYnkgYGxhdGVCaW5kYCB3aWxsIGFsd2F5cyBjYWxsIHRoZSBmdW5jdGlvbiBjdXJyZW50bHkgYXNzaWduZWQgdG9cbiAqIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgb24gdGhlIG9iamVjdCBhcyBvZiB0aGUgbW9tZW50IHRoZSBmdW5jdGlvbiBpdCByZXR1cm5zIGlzIGNhbGxlZC5cbiAqXG4gKiBAcGFyYW0gaW5zdGFuY2UgVGhlIGNvbnRleHQgb2JqZWN0XG4gKiBAcGFyYW0gbWV0aG9kIFRoZSBuYW1lIG9mIHRoZSBtZXRob2Qgb24gdGhlIGNvbnRleHQgb2JqZWN0IHRvIGJpbmQgdG8gaXRzZWxmXG4gKiBAcGFyYW0gc3VwcGxpZWRBcmdzIEFuIG9wdGlvbmFsIGFycmF5IG9mIHZhbHVlcyB0byBwcmVwZW5kIHRvIHRoZSBgaW5zdGFuY2VbbWV0aG9kXWAgYXJndW1lbnRzIGxpc3RcbiAqIEByZXR1cm4gVGhlIGJvdW5kIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsYXRlQmluZChpbnN0YW5jZToge30sIG1ldGhvZDogc3RyaW5nLCAuLi5zdXBwbGllZEFyZ3M6IGFueVtdKTogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkge1xuXHRyZXR1cm4gc3VwcGxpZWRBcmdzLmxlbmd0aCA/XG5cdFx0ZnVuY3Rpb24gKCkge1xuXHRcdFx0Y29uc3QgYXJnczogYW55W10gPSBhcmd1bWVudHMubGVuZ3RoID8gc3VwcGxpZWRBcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpIDogc3VwcGxpZWRBcmdzO1xuXG5cdFx0XHQvLyBUUzcwMTdcblx0XHRcdHJldHVybiAoPGFueT4gaW5zdGFuY2UpW21ldGhvZF0uYXBwbHkoaW5zdGFuY2UsIGFyZ3MpO1xuXHRcdH0gOlxuXHRcdGZ1bmN0aW9uICgpIHtcblx0XHRcdC8vIFRTNzAxN1xuXHRcdFx0cmV0dXJuICg8YW55PiBpbnN0YW5jZSlbbWV0aG9kXS5hcHBseShpbnN0YW5jZSwgYXJndW1lbnRzKTtcblx0XHR9O1xufVxuXG4vKipcbiAqIENvcGllcyB0aGUgdmFsdWVzIG9mIGFsbCBlbnVtZXJhYmxlIChvd24gb3IgaW5oZXJpdGVkKSBwcm9wZXJ0aWVzIG9mIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzIHRvIHRoZVxuICogdGFyZ2V0IG9iamVjdC5cbiAqXG4gKiBAcmV0dXJuIFRoZSBtb2RpZmllZCB0YXJnZXQgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaXhpbjxUIGV4dGVuZHMge30sIFUgZXh0ZW5kcyB7fT4odGFyZ2V0OiBULCAuLi5zb3VyY2VzOiBVW10pOiBUJlUge1xuXHRyZXR1cm4gX21peGluKHtcblx0XHRkZWVwOiBmYWxzZSxcblx0XHRpbmhlcml0ZWQ6IHRydWUsXG5cdFx0c291cmNlczogc291cmNlcyxcblx0XHR0YXJnZXQ6IHRhcmdldFxuXHR9KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gd2hpY2ggaW52b2tlcyB0aGUgZ2l2ZW4gZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzIHByZXBlbmRlZCB0byBpdHMgYXJndW1lbnQgbGlzdC5cbiAqIExpa2UgYEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kYCwgYnV0IGRvZXMgbm90IGFsdGVyIGV4ZWN1dGlvbiBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSB0YXJnZXRGdW5jdGlvbiBUaGUgZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBib3VuZFxuICogQHBhcmFtIHN1cHBsaWVkQXJncyBBbiBvcHRpb25hbCBhcnJheSBvZiBhcmd1bWVudHMgdG8gcHJlcGVuZCB0byB0aGUgYHRhcmdldEZ1bmN0aW9uYCBhcmd1bWVudHMgbGlzdFxuICogQHJldHVybiBUaGUgYm91bmQgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpYWwodGFyZ2V0RnVuY3Rpb246ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55LCAuLi5zdXBwbGllZEFyZ3M6IGFueVtdKTogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkge1xuXHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdGNvbnN0IGFyZ3M6IGFueVtdID0gYXJndW1lbnRzLmxlbmd0aCA/IHN1cHBsaWVkQXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKSA6IHN1cHBsaWVkQXJncztcblxuXHRcdHJldHVybiB0YXJnZXRGdW5jdGlvbi5hcHBseSh0aGlzLCBhcmdzKTtcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIGEgZGVzdHJveSBtZXRob2QgdGhhdCwgd2hlbiBjYWxsZWQsIGNhbGxzIHRoZSBwYXNzZWQtaW4gZGVzdHJ1Y3Rvci5cbiAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gcHJvdmlkZSBhIHVuaWZpZWQgaW50ZXJmYWNlIGZvciBjcmVhdGluZyBcInJlbW92ZVwiIC8gXCJkZXN0cm95XCIgaGFuZGxlcnMgZm9yXG4gKiBldmVudCBsaXN0ZW5lcnMsIHRpbWVycywgZXRjLlxuICpcbiAqIEBwYXJhbSBkZXN0cnVjdG9yIEEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCB3aGVuIHRoZSBoYW5kbGUncyBgZGVzdHJveWAgbWV0aG9kIGlzIGludm9rZWRcbiAqIEByZXR1cm4gVGhlIGhhbmRsZSBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUhhbmRsZShkZXN0cnVjdG9yOiAoKSA9PiB2b2lkKTogSGFuZGxlIHtcblx0cmV0dXJuIHtcblx0XHRkZXN0cm95OiBmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7fTtcblx0XHRcdGRlc3RydWN0b3IuY2FsbCh0aGlzKTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHNpbmdsZSBoYW5kbGUgdGhhdCBjYW4gYmUgdXNlZCB0byBkZXN0cm95IG11bHRpcGxlIGhhbmRsZXMgc2ltdWx0YW5lb3VzbHkuXG4gKlxuICogQHBhcmFtIGhhbmRsZXMgQW4gYXJyYXkgb2YgaGFuZGxlcyB3aXRoIGBkZXN0cm95YCBtZXRob2RzXG4gKiBAcmV0dXJuIFRoZSBoYW5kbGUgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21wb3NpdGVIYW5kbGUoLi4uaGFuZGxlczogSGFuZGxlW10pOiBIYW5kbGUge1xuXHRyZXR1cm4gY3JlYXRlSGFuZGxlKGZ1bmN0aW9uICgpIHtcblx0XHRmb3IgKGxldCBoYW5kbGUgb2YgaGFuZGxlcykge1xuXHRcdFx0aGFuZGxlLmRlc3Ryb3koKTtcblx0XHR9XG5cdH0pO1xufVxuIl19 |
{ | ||
"name": "dojo-core", | ||
"version": "2.0.0-alpha.1", | ||
"version": "2.0.0-alpha.2", | ||
"description": "Basic utilites for common TypeScript development", | ||
@@ -36,3 +36,3 @@ "homepage": "http://dojotoolkit.org", | ||
}, | ||
"typings": "typings/dojo-core/dojo-core-2.0.0-alpha.1.d.ts" | ||
"typings": "typings/dojo-core/dojo-core-2.0.0-alpha.2.d.ts" | ||
} |
@@ -144,21 +144,9 @@ var __extends = (this && this.__extends) || function (d, b) { | ||
exports.filterRegistry.register(function (response, url, options) { | ||
return typeof response.data === 'string' && options.responseType === 'json'; | ||
return typeof response.data && options && (options.responseType === 'json' || options.handleAs === 'json'); | ||
}, function (response, url, options) { | ||
return { | ||
data: JSON.parse(response.data) | ||
data: JSON.parse(String(response.data)) | ||
}; | ||
}); | ||
/** | ||
* Add a filter that automatically parses incoming Buffer responses in Node. | ||
*/ | ||
if (has_1.default('node-buffer')) { | ||
exports.filterRegistry.register(function (response, url, options) { | ||
return options && options.responseType === 'json' && typeof Buffer.isBuffer(response.data) !== 'undefined'; | ||
}, function (response, url, options) { | ||
return { | ||
data: JSON.parse(String(response.data)) | ||
}; | ||
}); | ||
} | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbIkZpbHRlclJlZ2lzdHJ5IiwiRmlsdGVyUmVnaXN0cnkuY29uc3RydWN0b3IiLCJGaWx0ZXJSZWdpc3RyeS5yZWdpc3RlciIsIlByb3ZpZGVyUmVnaXN0cnkiLCJQcm92aWRlclJlZ2lzdHJ5LmNvbnN0cnVjdG9yIiwiUHJvdmlkZXJSZWdpc3RyeS5yZWdpc3RlciIsInJlcXVlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBQSxxQkFBaUIsY0FBYyxDQUFDLENBQUE7SUFDaEMsb0JBQWdCLGVBQWUsQ0FBQyxDQUFBO0lBR2hDLHlCQUErQixZQUFZLENBQUMsQ0FBQTtJQUM1QyxxQkFBaUIsUUFBUSxDQUFDLENBQUE7SUFLMUI7UUFBb0NBLGtDQUF1QkE7UUFBM0RBO1lBQW9DQyw4QkFBdUJBO1FBb0IzREEsQ0FBQ0E7UUFuQkFELGlDQUFRQSxHQUFSQSxVQUFTQSxJQUF5Q0EsRUFBRUEsS0FBb0JBLEVBQUVBLEtBQWVBO1lBQ3hGRSxJQUFJQSxTQUFlQSxDQUFDQTtZQUVwQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsSUFBSUEsS0FBS0EsUUFBUUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQzlCQSxTQUFTQSxHQUFHQSxVQUFDQSxRQUFRQSxFQUFFQSxHQUFHQSxFQUFFQSxPQUFPQTtvQkFDbENBLE1BQU1BLENBQUNBLElBQUlBLEtBQUtBLEdBQUdBLENBQUNBO2dCQUNyQkEsQ0FBQ0EsQ0FBQ0E7WUFDSEEsQ0FBQ0E7WUFDREEsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsWUFBWUEsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ2pDQSxTQUFTQSxHQUFHQSxVQUFDQSxRQUFRQSxFQUFFQSxHQUFHQSxFQUFFQSxPQUFPQTtvQkFDbENBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO2dCQUN2QkEsQ0FBQ0EsQ0FBQ0E7WUFDSEEsQ0FBQ0E7WUFDREEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ0xBLFNBQVNBLEdBQXVCQSxJQUFJQSxDQUFDQTtZQUN0Q0EsQ0FBQ0E7WUFFREEsTUFBTUEsQ0FBQ0EsZ0JBQUtBLENBQUNBLFFBQVFBLFlBQUNBLFNBQVNBLEVBQUVBLEtBQUtBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBO1FBQ2hEQSxDQUFDQTtRQUNGRixxQkFBQ0E7SUFBREEsQ0FBQ0EsQUFwQkQsRUFBb0Msa0JBQVEsRUFvQjNDO0lBcEJZLHNCQUFjLGlCQW9CMUIsQ0FBQTtJQUVELElBQUksZUFBZSxHQUFXLGVBQWUsQ0FBQztJQUM5QyxFQUFFLENBQUMsQ0FBQyxhQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7UUFBc0NHLG9DQUF5QkE7UUFHOURBO1lBSERDLGlCQTJEQ0E7WUF2RENBLGlCQUFPQSxDQUFDQTtZQUVSQSxJQUFNQSxZQUFZQSxHQUFHQSxVQUFDQSxHQUFXQSxFQUFFQSxPQUF3QkE7Z0JBQzFEQSxJQUFJQSxRQUFRQSxHQUFHQSxLQUFLQSxDQUFDQTtnQkFDckJBLElBQUlBLGNBQW9DQSxDQUFDQTtnQkFDekNBLE1BQU1BLENBQUNBLElBQUlBLGNBQUlBLENBQWdCQSxVQUFDQSxPQUFPQSxFQUFFQSxNQUFNQTtvQkFDOUNBLEtBQUlBLENBQUNBLGdCQUFnQkEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsVUFBVUEsUUFBUUE7d0JBQzVDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7NEJBQ2QsTUFBTSxDQUFDO3dCQUNSLENBQUM7d0JBQ0QsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ3hDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN0QyxDQUFDLENBQUNBLENBQUNBO2dCQUNKQSxDQUFDQSxFQUFFQTtvQkFDRixFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQ2YsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDakIsQ0FBQztvQkFDRCxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3pCLENBQUM7Z0JBQ0YsQ0FBQyxDQUFDQSxDQUFDQTtZQUNKQSxDQUFDQSxDQUFDQTtZQUVGQSxxRkFBcUZBO1lBQ3JGQSxvRkFBb0ZBO1lBQ3BGQSw0Q0FBNENBO1lBQzVDQSxJQUFJQSxDQUFDQSxhQUFhQSxHQUFHQSxVQUFDQSxHQUFXQSxFQUFFQSxPQUF3QkE7Z0JBQzFEQSxLQUFJQSxDQUFDQSxnQkFBZ0JBLEdBQUdBLGNBQUlBLENBQUNBLE9BQU9BLEVBQUVBLGVBQWVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLFVBQUNBLEVBQW9EQTt3QkFBbERBLGNBQWNBO29CQUM1RUEsS0FBSUEsQ0FBQ0EsYUFBYUEsR0FBR0EsY0FBY0EsQ0FBQ0EsT0FBT0EsQ0FBQ0E7b0JBQzVDQSxNQUFNQSxDQUFDQSxjQUFjQSxDQUFDQSxPQUFPQSxDQUFDQTtnQkFDL0JBLENBQUNBLENBQUNBLENBQUNBO2dCQUNIQSxLQUFJQSxDQUFDQSxhQUFhQSxHQUFHQSxZQUFZQSxDQUFDQTtnQkFDbENBLE1BQU1BLENBQUNBLFlBQVlBLENBQUNBLEdBQUdBLEVBQUVBLE9BQU9BLENBQUNBLENBQUNBO1lBQ25DQSxDQUFDQSxDQUFDQTtRQUNIQSxDQUFDQTtRQUVERCxtQ0FBUUEsR0FBUkEsVUFBU0EsSUFBMkNBLEVBQUVBLEtBQXNCQSxFQUFFQSxLQUFlQTtZQUM1RkUsSUFBSUEsU0FBZUEsQ0FBQ0E7WUFFcEJBLEVBQUVBLENBQUNBLENBQUNBLE9BQU9BLElBQUlBLEtBQUtBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBO2dCQUM5QkEsU0FBU0EsR0FBR0EsVUFBQ0EsR0FBR0EsRUFBRUEsT0FBT0E7b0JBQ3hCQSxNQUFNQSxDQUFDQSxJQUFJQSxLQUFLQSxHQUFHQSxDQUFDQTtnQkFDckJBLENBQUNBLENBQUNBO1lBQ0hBLENBQUNBO1lBQ0RBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLFlBQVlBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO2dCQUNqQ0EsU0FBU0EsR0FBR0EsVUFBQ0EsR0FBR0EsRUFBRUEsT0FBT0E7b0JBQ3hCQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTtnQkFDdkJBLENBQUNBLENBQUNBO1lBQ0hBLENBQUNBO1lBQ0RBLElBQUlBLENBQUNBLENBQUNBO2dCQUNMQSxTQUFTQSxHQUF5QkEsSUFBSUEsQ0FBQ0E7WUFDeENBLENBQUNBO1lBRURBLE1BQU1BLENBQUNBLGdCQUFLQSxDQUFDQSxRQUFRQSxZQUFDQSxTQUFTQSxFQUFFQSxLQUFLQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQTtRQUNoREEsQ0FBQ0E7UUFDRkYsdUJBQUNBO0lBQURBLENBQUNBLEFBM0RELEVBQXNDLGtCQUFRLEVBMkQ3QztJQTNEWSx3QkFBZ0IsbUJBMkQ1QixDQUFBO0lBRUQ7O09BRUc7SUFDVSxzQkFBYyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsUUFBdUI7UUFDakYsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ1Usd0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBb0R2RDs7T0FFRztJQUNILElBQU0sT0FBTyxHQU1ILGlCQUFvQixHQUFXLEVBQUUsT0FBNEI7UUFBNUJHLHVCQUE0QkEsR0FBNUJBLFlBQTRCQTtRQUN0RUEsSUFBTUEsT0FBT0EsR0FBR0Esd0JBQWdCQSxDQUFDQSxLQUFLQSxDQUFDQSxHQUFHQSxFQUFFQSxPQUFPQSxDQUFDQSxDQUFDQSxHQUFHQSxFQUFFQSxPQUFPQSxDQUFDQTthQUNoRUEsSUFBSUEsQ0FBQ0EsVUFBVUEsUUFBcUJBO1lBQ3BDLE1BQU0sQ0FBQyxjQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDdkYsSUFBSSxDQUFDLFVBQVUsY0FBbUI7Z0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQ0EsQ0FBQ0E7UUFFSkEsTUFBTUEsQ0FBQ0EsT0FBT0EsQ0FBQ0E7SUFDaEJBLENBQUNBLENBQUM7SUFFRixDQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLE1BQU07UUFDbkQsT0FBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLFVBQWEsR0FBVyxFQUFFLE9BQTRCO1lBQTVCLHVCQUE0QixHQUE1QixZQUE0QjtZQUM3RixPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVIO3NCQUFlLE9BQU8sQ0FBQztJQUV2Qjs7T0FFRztJQUNILHNCQUFjLENBQUMsUUFBUSxDQUN0QixVQUFVLFFBQXVCLEVBQUUsR0FBVyxFQUFFLE9BQXVCO1FBQ3RFLE1BQU0sQ0FBQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDO0lBQzdFLENBQUMsRUFDRCxVQUFVLFFBQXVCLEVBQUUsR0FBVyxFQUFFLE9BQXVCO1FBQ3RFLE1BQU0sQ0FBQztZQUNOLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDL0IsQ0FBQztJQUNILENBQUMsQ0FDRCxDQUFDO0lBRUY7O09BRUc7SUFDSCxFQUFFLENBQUMsQ0FBQyxhQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLHNCQUFjLENBQUMsUUFBUSxDQUNyQixVQUFVLFFBQXVCLEVBQUUsR0FBVyxFQUFFLE9BQXdCO1lBQ3RFLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxXQUFXLENBQUM7UUFDN0csQ0FBQyxFQUNELFVBQVUsUUFBdUIsRUFBRSxHQUFXLEVBQUUsT0FBdUI7WUFDckUsTUFBTSxDQUFDO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEMsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUYXNrIGZyb20gJy4vYXN5bmMvVGFzayc7XG5pbXBvcnQgaGFzIGZyb20gJy4vcmVxdWVzdC9oYXMnO1xuaW1wb3J0IHsgSGFuZGxlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCBQcm9taXNlIGZyb20gJy4vUHJvbWlzZSc7XG5pbXBvcnQgUmVnaXN0cnksIHsgVGVzdCB9IGZyb20gJy4vUmVnaXN0cnknO1xuaW1wb3J0IGxvYWQgZnJvbSAnLi9sb2FkJztcbmltcG9ydCB7IFBhcmFtTGlzdCB9IGZyb20gJy4vVXJsU2VhcmNoUGFyYW1zJztcblxuZGVjbGFyZSB2YXIgcmVxdWlyZTogYW55O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyUmVnaXN0cnkgZXh0ZW5kcyBSZWdpc3RyeTxSZXF1ZXN0RmlsdGVyPiB7XG5cdHJlZ2lzdGVyKHRlc3Q6IHN0cmluZyB8IFJlZ0V4cCB8IFJlcXVlc3RGaWx0ZXJUZXN0LCB2YWx1ZTogUmVxdWVzdEZpbHRlciwgZmlyc3Q/OiBib29sZWFuKTogSGFuZGxlIHtcblx0XHRsZXQgZW50cnlUZXN0OiBUZXN0O1xuXG5cdFx0aWYgKHR5cGVvZiB0ZXN0ID09PSAnc3RyaW5nJykge1xuXHRcdFx0ZW50cnlUZXN0ID0gKHJlc3BvbnNlLCB1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QgPT09IHVybDtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRlc3QgaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRcdGVudHJ5VGVzdCA9IChyZXNwb25zZSwgdXJsLCBvcHRpb25zKSA9PiB7XG5cdFx0XHRcdHJldHVybiB0ZXN0LnRlc3QodXJsKTtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0ZW50cnlUZXN0ID0gPFJlcXVlc3RGaWx0ZXJUZXN0PiB0ZXN0O1xuXHRcdH1cblxuXHRcdHJldHVybiBzdXBlci5yZWdpc3RlcihlbnRyeVRlc3QsIHZhbHVlLCBmaXJzdCk7XG5cdH1cbn1cblxubGV0IGRlZmF1bHRQcm92aWRlcjogc3RyaW5nID0gJy4vcmVxdWVzdC94aHInO1xuaWYgKGhhcygnaG9zdC1ub2RlJykpIHtcblx0ZGVmYXVsdFByb3ZpZGVyID0gJy4vcmVxdWVzdC9ub2RlJztcbn1cblxuZXhwb3J0IGNsYXNzIFByb3ZpZGVyUmVnaXN0cnkgZXh0ZW5kcyBSZWdpc3RyeTxSZXF1ZXN0UHJvdmlkZXI+IHtcblx0cHJpdmF0ZSBfcHJvdmlkZXJQcm9taXNlOiBQcm9taXNlPFJlcXVlc3RQcm92aWRlcj47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblxuXHRcdGNvbnN0IGRlZmVyUmVxdWVzdCA9ICh1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPGFueT4gPT4ge1xuXHRcdFx0bGV0IGNhbmNlbGVkID0gZmFsc2U7XG5cdFx0XHRsZXQgYWN0dWFsUmVzcG9uc2U6IFJlc3BvbnNlUHJvbWlzZTxhbnk+O1xuXHRcdFx0cmV0dXJuIG5ldyBUYXNrPFJlc3BvbnNlPGFueT4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0dGhpcy5fcHJvdmlkZXJQcm9taXNlLnRoZW4oZnVuY3Rpb24gKHByb3ZpZGVyKSB7XG5cdFx0XHRcdFx0aWYgKGNhbmNlbGVkKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGFjdHVhbFJlc3BvbnNlID0gcHJvdmlkZXIodXJsLCBvcHRpb25zKTtcblx0XHRcdFx0XHRhY3R1YWxSZXNwb25zZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSwgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRpZiAoIWNhbmNlbGVkKSB7XG5cdFx0XHRcdFx0Y2FuY2VsZWQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChhY3R1YWxSZXNwb25zZSkge1xuXHRcdFx0XHRcdGFjdHVhbFJlc3BvbnNlLmNhbmNlbCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0Ly8gVGhlIGZpcnN0IHJlcXVlc3QgdG8gaGl0IHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwga2ljayBvZmYgdGhlIGltcG9ydCBvZiB0aGUgZGVmYXVsdFxuXHRcdC8vIHByb3ZpZGVyLiBXaGlsZSB0aGF0IGltcG9ydCBpcyBpbi1mbGlnaHQsIHN1YnNlcXVlbnQgcmVxdWVzdHMgd2lsbCBxdWV1ZSB1cCB3aGlsZVxuXHRcdC8vIHdhaXRpbmcgZm9yIHRoZSBwcm92aWRlciB0byBiZSBmdWxmaWxsZWQuXG5cdFx0dGhpcy5fZGVmYXVsdFZhbHVlID0gKHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBSZXNwb25zZVByb21pc2U8YW55PiA9PiB7XG5cdFx0XHR0aGlzLl9wcm92aWRlclByb21pc2UgPSBsb2FkKHJlcXVpcmUsIGRlZmF1bHRQcm92aWRlcikudGhlbigoWyBwcm92aWRlck1vZHVsZSBdOiBbIHsgZGVmYXVsdDogUmVxdWVzdFByb3ZpZGVyIH0gXSk6IFJlcXVlc3RQcm92aWRlciA9PiB7XG5cdFx0XHRcdHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHByb3ZpZGVyTW9kdWxlLmRlZmF1bHQ7XG5cdFx0XHRcdHJldHVybiBwcm92aWRlck1vZHVsZS5kZWZhdWx0O1xuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLl9kZWZhdWx0VmFsdWUgPSBkZWZlclJlcXVlc3Q7XG5cdFx0XHRyZXR1cm4gZGVmZXJSZXF1ZXN0KHVybCwgb3B0aW9ucyk7XG5cdFx0fTtcblx0fVxuXG5cdHJlZ2lzdGVyKHRlc3Q6IHN0cmluZyB8IFJlZ0V4cCB8IFJlcXVlc3RQcm92aWRlclRlc3QsIHZhbHVlOiBSZXF1ZXN0UHJvdmlkZXIsIGZpcnN0PzogYm9vbGVhbik6IEhhbmRsZSB7XG5cdFx0bGV0IGVudHJ5VGVzdDogVGVzdDtcblxuXHRcdGlmICh0eXBlb2YgdGVzdCA9PT0gJ3N0cmluZycpIHtcblx0XHRcdGVudHJ5VGVzdCA9ICh1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QgPT09IHVybDtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRlc3QgaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRcdGVudHJ5VGVzdCA9ICh1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QudGVzdCh1cmwpO1xuXHRcdFx0fTtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRlbnRyeVRlc3QgPSA8UmVxdWVzdFByb3ZpZGVyVGVzdD4gdGVzdDtcblx0XHR9XG5cblx0XHRyZXR1cm4gc3VwZXIucmVnaXN0ZXIoZW50cnlUZXN0LCB2YWx1ZSwgZmlyc3QpO1xuXHR9XG59XG5cbi8qKlxuICogUmVxdWVzdCBmaWx0ZXJzLCB3aGljaCBmaWx0ZXIgb3IgbW9kaWZ5IHJlc3BvbnNlcy4gVGhlIGRlZmF1bHQgZmlsdGVyIHNpbXBseSBwYXNzZXMgYSByZXNwb25zZSB0aHJvdWdoIHVuY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGZpbHRlclJlZ2lzdHJ5ID0gbmV3IEZpbHRlclJlZ2lzdHJ5KGZ1bmN0aW9uIChyZXNwb25zZTogUmVzcG9uc2U8YW55Pik6IFJlc3BvbnNlPGFueT4ge1xuXHRyZXR1cm4gcmVzcG9uc2U7XG59KTtcblxuLyoqXG4gKiBSZXF1ZXN0IHByb3ZpZGVycywgd2hpY2ggZnVsZmlsbCByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb3ZpZGVyUmVnaXN0cnkgPSBuZXcgUHJvdmlkZXJSZWdpc3RyeSgpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFcnJvcjxUPiBleHRlbmRzIEVycm9yIHtcblx0cmVzcG9uc2U6IFJlc3BvbnNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RGaWx0ZXIge1xuXHQ8VD4ocmVzcG9uc2U6IFJlc3BvbnNlPFQ+LCB1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RmlsdGVyVGVzdCBleHRlbmRzIFRlc3Qge1xuXHQ8VD4ocmVzcG9uc2U6IFJlc3BvbnNlPGFueT4sIHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RPcHRpb25zIHtcblx0YXV0aD86IHN0cmluZztcblx0Y2FjaGVCdXN0PzogYW55O1xuXHRkYXRhPzogYW55O1xuXHRoYW5kbGVBcz86IHN0cmluZztcblx0aGVhZGVycz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZzsgfTtcblx0bWV0aG9kPzogc3RyaW5nO1xuXHRwYXNzd29yZD86IHN0cmluZztcblx0cXVlcnk/OiBzdHJpbmcgfCBQYXJhbUxpc3Q7XG5cdHJlc3BvbnNlVHlwZT86IHN0cmluZztcblx0dGltZW91dD86IG51bWJlcjtcblx0dXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UHJvdmlkZXIge1xuXHQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UHJvdmlkZXJUZXN0IGV4dGVuZHMgVGVzdCB7XG5cdCh1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZTxUPiB7XG5cdGRhdGE6IFQ7XG5cdG5hdGl2ZVJlc3BvbnNlPzogYW55O1xuXHRyZXF1ZXN0T3B0aW9uczogUmVxdWVzdE9wdGlvbnM7XG5cdHN0YXR1c0NvZGU6IG51bWJlcjtcblx0c3RhdHVzVGV4dD86IHN0cmluZztcblx0dXJsOiBzdHJpbmc7XG5cblx0Z2V0SGVhZGVyKG5hbWU6IHN0cmluZyk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgdGFzayByZXR1cm5lZCBieSBhIHJlcXVlc3QsIHdoaWNoIHdpbGwgcmVzb2x2ZSB0byBhIFJlc3BvbnNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQcm9taXNlPFQ+IGV4dGVuZHMgVGFzazxSZXNwb25zZTxUPj4ge31cblxuLyoqXG4gKiBNYWtlIGEgcmVxdWVzdCwgcmV0dXJuaW5nIGEgUHJvbWlzZSB0aGF0IHdpbGwgcmVzb2x2ZSBvciByZWplY3Qgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gKi9cbmNvbnN0IHJlcXVlc3Q6IHtcblx0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBSZXNwb25zZVByb21pc2U8VD47XG5cdGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPFQ+O1xuXHRnZXQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcblx0cG9zdDxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPFQ+O1xuXHRwdXQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcbn0gPSA8YW55PiBmdW5jdGlvbiByZXF1ZXN0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogUmVzcG9uc2VQcm9taXNlPFQ+IHtcblx0Y29uc3QgcHJvbWlzZSA9IHByb3ZpZGVyUmVnaXN0cnkubWF0Y2godXJsLCBvcHRpb25zKSh1cmwsIG9wdGlvbnMpXG5cdFx0LnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlOiBSZXNwb25zZTxUPikge1xuXHRcdFx0cmV0dXJuIFRhc2sucmVzb2x2ZShmaWx0ZXJSZWdpc3RyeS5tYXRjaChyZXNwb25zZSwgdXJsLCBvcHRpb25zKShyZXNwb25zZSwgdXJsLCBvcHRpb25zKSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKGZpbHRlclJlc3BvbnNlOiBhbnkpIHtcblx0XHRcdFx0XHRyZXNwb25zZS5kYXRhID0gZmlsdGVyUmVzcG9uc2UuZGF0YTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XG5cdFx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdHJldHVybiBwcm9taXNlO1xufTtcblxuWyAnREVMRVRFJywgJ0dFVCcsICdQT1NUJywgJ1BVVCcgXS5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcblx0KDxhbnk+IHJlcXVlc3QpW21ldGhvZC50b0xvd2VyQ2FzZSgpXSA9IGZ1bmN0aW9uIDxUPih1cmw6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSk6IFJlc3BvbnNlUHJvbWlzZTxUPiB7XG5cdFx0b3B0aW9ucyA9IE9iamVjdC5jcmVhdGUob3B0aW9ucyk7XG5cdFx0b3B0aW9ucy5tZXRob2QgPSBtZXRob2Q7XG5cdFx0cmV0dXJuIHJlcXVlc3QodXJsLCBvcHRpb25zKTtcblx0fTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCByZXF1ZXN0O1xuXG4vKipcbiAqIEFkZCBhIGZpbHRlciB0aGF0IGF1dG9tYXRpY2FsbHkgcGFyc2VzIGluY29taW5nIEpTT04gcmVzcG9uc2VzLlxuICovXG5maWx0ZXJSZWdpc3RyeS5yZWdpc3Rlcihcblx0ZnVuY3Rpb24gKHJlc3BvbnNlOiBSZXNwb25zZTxhbnk+LCB1cmw6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMpIHtcblx0XHRyZXR1cm4gdHlwZW9mIHJlc3BvbnNlLmRhdGEgPT09ICdzdHJpbmcnICYmIG9wdGlvbnMucmVzcG9uc2VUeXBlID09PSAnanNvbic7XG5cdH0sXG5cdGZ1bmN0aW9uIChyZXNwb25zZTogUmVzcG9uc2U8YW55PiwgdXJsOiBzdHJpbmcsIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogT2JqZWN0IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZGF0YTogSlNPTi5wYXJzZShyZXNwb25zZS5kYXRhKVxuXHRcdH07XG5cdH1cbik7XG5cbi8qKlxuICogQWRkIGEgZmlsdGVyIHRoYXQgYXV0b21hdGljYWxseSBwYXJzZXMgaW5jb21pbmcgQnVmZmVyIHJlc3BvbnNlcyBpbiBOb2RlLlxuICovXG5pZiAoaGFzKCdub2RlLWJ1ZmZlcicpKSB7XG4gIGZpbHRlclJlZ2lzdHJ5LnJlZ2lzdGVyKFxuICAgIGZ1bmN0aW9uIChyZXNwb25zZTogUmVzcG9uc2U8YW55PiwgdXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucykge1xuICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5yZXNwb25zZVR5cGUgPT09ICdqc29uJyAmJiB0eXBlb2YgQnVmZmVyLmlzQnVmZmVyKHJlc3BvbnNlLmRhdGEpICE9PSAndW5kZWZpbmVkJztcbiAgICB9LFxuICAgIGZ1bmN0aW9uIChyZXNwb25zZTogUmVzcG9uc2U8YW55PiwgdXJsOiBzdHJpbmcsIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogT2JqZWN0IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGE6IEpTT04ucGFyc2UoU3RyaW5nKHJlc3BvbnNlLmRhdGEpKVxuICAgICAgfTtcbiAgICB9XG4gICk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbIkZpbHRlclJlZ2lzdHJ5IiwiRmlsdGVyUmVnaXN0cnkuY29uc3RydWN0b3IiLCJGaWx0ZXJSZWdpc3RyeS5yZWdpc3RlciIsIlByb3ZpZGVyUmVnaXN0cnkiLCJQcm92aWRlclJlZ2lzdHJ5LmNvbnN0cnVjdG9yIiwiUHJvdmlkZXJSZWdpc3RyeS5yZWdpc3RlciIsInJlcXVlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBQSxxQkFBaUIsY0FBYyxDQUFDLENBQUE7SUFDaEMsb0JBQWdCLGVBQWUsQ0FBQyxDQUFBO0lBR2hDLHlCQUErQixZQUFZLENBQUMsQ0FBQTtJQUM1QyxxQkFBaUIsUUFBUSxDQUFDLENBQUE7SUFLMUI7UUFBb0NBLGtDQUF1QkE7UUFBM0RBO1lBQW9DQyw4QkFBdUJBO1FBb0IzREEsQ0FBQ0E7UUFuQkFELGlDQUFRQSxHQUFSQSxVQUFTQSxJQUF5Q0EsRUFBRUEsS0FBb0JBLEVBQUVBLEtBQWVBO1lBQ3hGRSxJQUFJQSxTQUFlQSxDQUFDQTtZQUVwQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsSUFBSUEsS0FBS0EsUUFBUUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQzlCQSxTQUFTQSxHQUFHQSxVQUFDQSxRQUFRQSxFQUFFQSxHQUFHQSxFQUFFQSxPQUFPQTtvQkFDbENBLE1BQU1BLENBQUNBLElBQUlBLEtBQUtBLEdBQUdBLENBQUNBO2dCQUNyQkEsQ0FBQ0EsQ0FBQ0E7WUFDSEEsQ0FBQ0E7WUFDREEsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsWUFBWUEsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ2pDQSxTQUFTQSxHQUFHQSxVQUFDQSxRQUFRQSxFQUFFQSxHQUFHQSxFQUFFQSxPQUFPQTtvQkFDbENBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLEdB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VSxRQUF1QixFQUFFLEdBQVcsRUFBRSxPQUF1QjtRQUN0RSxNQUFNLENBQUM7WUFDTixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDLENBQUM7SUFDSCxDQUFDLENBQ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUYXNrIGZyb20gJy4vYXN5bmMvVGFzayc7XG5pbXBvcnQgaGFzIGZyb20gJy4vcmVxdWVzdC9oYXMnO1xuaW1wb3J0IHsgSGFuZGxlIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCBQcm9taXNlIGZyb20gJy4vUHJvbWlzZSc7XG5pbXBvcnQgUmVnaXN0cnksIHsgVGVzdCB9IGZyb20gJy4vUmVnaXN0cnknO1xuaW1wb3J0IGxvYWQgZnJvbSAnLi9sb2FkJztcbmltcG9ydCB7IFBhcmFtTGlzdCB9IGZyb20gJy4vVXJsU2VhcmNoUGFyYW1zJztcblxuZGVjbGFyZSB2YXIgcmVxdWlyZTogYW55O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyUmVnaXN0cnkgZXh0ZW5kcyBSZWdpc3RyeTxSZXF1ZXN0RmlsdGVyPiB7XG5cdHJlZ2lzdGVyKHRlc3Q6IHN0cmluZyB8IFJlZ0V4cCB8IFJlcXVlc3RGaWx0ZXJUZXN0LCB2YWx1ZTogUmVxdWVzdEZpbHRlciwgZmlyc3Q/OiBib29sZWFuKTogSGFuZGxlIHtcblx0XHRsZXQgZW50cnlUZXN0OiBUZXN0O1xuXG5cdFx0aWYgKHR5cGVvZiB0ZXN0ID09PSAnc3RyaW5nJykge1xuXHRcdFx0ZW50cnlUZXN0ID0gKHJlc3BvbnNlLCB1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QgPT09IHVybDtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRlc3QgaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRcdGVudHJ5VGVzdCA9IChyZXNwb25zZSwgdXJsLCBvcHRpb25zKSA9PiB7XG5cdFx0XHRcdHJldHVybiB0ZXN0LnRlc3QodXJsKTtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0ZW50cnlUZXN0ID0gPFJlcXVlc3RGaWx0ZXJUZXN0PiB0ZXN0O1xuXHRcdH1cblxuXHRcdHJldHVybiBzdXBlci5yZWdpc3RlcihlbnRyeVRlc3QsIHZhbHVlLCBmaXJzdCk7XG5cdH1cbn1cblxubGV0IGRlZmF1bHRQcm92aWRlcjogc3RyaW5nID0gJy4vcmVxdWVzdC94aHInO1xuaWYgKGhhcygnaG9zdC1ub2RlJykpIHtcblx0ZGVmYXVsdFByb3ZpZGVyID0gJy4vcmVxdWVzdC9ub2RlJztcbn1cblxuZXhwb3J0IGNsYXNzIFByb3ZpZGVyUmVnaXN0cnkgZXh0ZW5kcyBSZWdpc3RyeTxSZXF1ZXN0UHJvdmlkZXI+IHtcblx0cHJpdmF0ZSBfcHJvdmlkZXJQcm9taXNlOiBQcm9taXNlPFJlcXVlc3RQcm92aWRlcj47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblxuXHRcdGNvbnN0IGRlZmVyUmVxdWVzdCA9ICh1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPGFueT4gPT4ge1xuXHRcdFx0bGV0IGNhbmNlbGVkID0gZmFsc2U7XG5cdFx0XHRsZXQgYWN0dWFsUmVzcG9uc2U6IFJlc3BvbnNlUHJvbWlzZTxhbnk+O1xuXHRcdFx0cmV0dXJuIG5ldyBUYXNrPFJlc3BvbnNlPGFueT4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0dGhpcy5fcHJvdmlkZXJQcm9taXNlLnRoZW4oZnVuY3Rpb24gKHByb3ZpZGVyKSB7XG5cdFx0XHRcdFx0aWYgKGNhbmNlbGVkKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGFjdHVhbFJlc3BvbnNlID0gcHJvdmlkZXIodXJsLCBvcHRpb25zKTtcblx0XHRcdFx0XHRhY3R1YWxSZXNwb25zZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSwgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRpZiAoIWNhbmNlbGVkKSB7XG5cdFx0XHRcdFx0Y2FuY2VsZWQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChhY3R1YWxSZXNwb25zZSkge1xuXHRcdFx0XHRcdGFjdHVhbFJlc3BvbnNlLmNhbmNlbCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0Ly8gVGhlIGZpcnN0IHJlcXVlc3QgdG8gaGl0IHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwga2ljayBvZmYgdGhlIGltcG9ydCBvZiB0aGUgZGVmYXVsdFxuXHRcdC8vIHByb3ZpZGVyLiBXaGlsZSB0aGF0IGltcG9ydCBpcyBpbi1mbGlnaHQsIHN1YnNlcXVlbnQgcmVxdWVzdHMgd2lsbCBxdWV1ZSB1cCB3aGlsZVxuXHRcdC8vIHdhaXRpbmcgZm9yIHRoZSBwcm92aWRlciB0byBiZSBmdWxmaWxsZWQuXG5cdFx0dGhpcy5fZGVmYXVsdFZhbHVlID0gKHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBSZXNwb25zZVByb21pc2U8YW55PiA9PiB7XG5cdFx0XHR0aGlzLl9wcm92aWRlclByb21pc2UgPSBsb2FkKHJlcXVpcmUsIGRlZmF1bHRQcm92aWRlcikudGhlbigoWyBwcm92aWRlck1vZHVsZSBdOiBbIHsgZGVmYXVsdDogUmVxdWVzdFByb3ZpZGVyIH0gXSk6IFJlcXVlc3RQcm92aWRlciA9PiB7XG5cdFx0XHRcdHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHByb3ZpZGVyTW9kdWxlLmRlZmF1bHQ7XG5cdFx0XHRcdHJldHVybiBwcm92aWRlck1vZHVsZS5kZWZhdWx0O1xuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLl9kZWZhdWx0VmFsdWUgPSBkZWZlclJlcXVlc3Q7XG5cdFx0XHRyZXR1cm4gZGVmZXJSZXF1ZXN0KHVybCwgb3B0aW9ucyk7XG5cdFx0fTtcblx0fVxuXG5cdHJlZ2lzdGVyKHRlc3Q6IHN0cmluZyB8IFJlZ0V4cCB8IFJlcXVlc3RQcm92aWRlclRlc3QsIHZhbHVlOiBSZXF1ZXN0UHJvdmlkZXIsIGZpcnN0PzogYm9vbGVhbik6IEhhbmRsZSB7XG5cdFx0bGV0IGVudHJ5VGVzdDogVGVzdDtcblxuXHRcdGlmICh0eXBlb2YgdGVzdCA9PT0gJ3N0cmluZycpIHtcblx0XHRcdGVudHJ5VGVzdCA9ICh1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QgPT09IHVybDtcblx0XHRcdH07XG5cdFx0fVxuXHRcdGVsc2UgaWYgKHRlc3QgaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRcdGVudHJ5VGVzdCA9ICh1cmwsIG9wdGlvbnMpID0+IHtcblx0XHRcdFx0cmV0dXJuIHRlc3QudGVzdCh1cmwpO1xuXHRcdFx0fTtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRlbnRyeVRlc3QgPSA8UmVxdWVzdFByb3ZpZGVyVGVzdD4gdGVzdDtcblx0XHR9XG5cblx0XHRyZXR1cm4gc3VwZXIucmVnaXN0ZXIoZW50cnlUZXN0LCB2YWx1ZSwgZmlyc3QpO1xuXHR9XG59XG5cbi8qKlxuICogUmVxdWVzdCBmaWx0ZXJzLCB3aGljaCBmaWx0ZXIgb3IgbW9kaWZ5IHJlc3BvbnNlcy4gVGhlIGRlZmF1bHQgZmlsdGVyIHNpbXBseSBwYXNzZXMgYSByZXNwb25zZSB0aHJvdWdoIHVuY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGZpbHRlclJlZ2lzdHJ5ID0gbmV3IEZpbHRlclJlZ2lzdHJ5KGZ1bmN0aW9uIChyZXNwb25zZTogUmVzcG9uc2U8YW55Pik6IFJlc3BvbnNlPGFueT4ge1xuXHRyZXR1cm4gcmVzcG9uc2U7XG59KTtcblxuLyoqXG4gKiBSZXF1ZXN0IHByb3ZpZGVycywgd2hpY2ggZnVsZmlsbCByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb3ZpZGVyUmVnaXN0cnkgPSBuZXcgUHJvdmlkZXJSZWdpc3RyeSgpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFcnJvcjxUPiBleHRlbmRzIEVycm9yIHtcblx0cmVzcG9uc2U6IFJlc3BvbnNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RGaWx0ZXIge1xuXHQ8VD4ocmVzcG9uc2U6IFJlc3BvbnNlPFQ+LCB1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RmlsdGVyVGVzdCBleHRlbmRzIFRlc3Qge1xuXHQ8VD4ocmVzcG9uc2U6IFJlc3BvbnNlPGFueT4sIHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RPcHRpb25zIHtcblx0YXV0aD86IHN0cmluZztcblx0Y2FjaGVCdXN0PzogYW55O1xuXHRkYXRhPzogYW55O1xuXHRoYW5kbGVBcz86IHN0cmluZztcblx0aGVhZGVycz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZzsgfTtcblx0bWV0aG9kPzogc3RyaW5nO1xuXHRwYXNzd29yZD86IHN0cmluZztcblx0cXVlcnk/OiBzdHJpbmcgfCBQYXJhbUxpc3Q7XG5cdHJlc3BvbnNlVHlwZT86IHN0cmluZztcblx0dGltZW91dD86IG51bWJlcjtcblx0dXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UHJvdmlkZXIge1xuXHQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UHJvdmlkZXJUZXN0IGV4dGVuZHMgVGVzdCB7XG5cdCh1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZTxUPiB7XG5cdGRhdGE6IFQ7XG5cdG5hdGl2ZVJlc3BvbnNlPzogYW55O1xuXHRyZXF1ZXN0T3B0aW9uczogUmVxdWVzdE9wdGlvbnM7XG5cdHN0YXR1c0NvZGU6IG51bWJlcjtcblx0c3RhdHVzVGV4dD86IHN0cmluZztcblx0dXJsOiBzdHJpbmc7XG5cblx0Z2V0SGVhZGVyKG5hbWU6IHN0cmluZyk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgdGFzayByZXR1cm5lZCBieSBhIHJlcXVlc3QsIHdoaWNoIHdpbGwgcmVzb2x2ZSB0byBhIFJlc3BvbnNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VQcm9taXNlPFQ+IGV4dGVuZHMgVGFzazxSZXNwb25zZTxUPj4ge31cblxuLyoqXG4gKiBNYWtlIGEgcmVxdWVzdCwgcmV0dXJuaW5nIGEgUHJvbWlzZSB0aGF0IHdpbGwgcmVzb2x2ZSBvciByZWplY3Qgd2hlbiB0aGUgcmVxdWVzdCBjb21wbGV0ZXMuXG4gKi9cbmNvbnN0IHJlcXVlc3Q6IHtcblx0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpOiBSZXNwb25zZVByb21pc2U8VD47XG5cdGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPFQ+O1xuXHRnZXQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcblx0cG9zdDxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKTogUmVzcG9uc2VQcm9taXNlPFQ+O1xuXHRwdXQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyk6IFJlc3BvbnNlUHJvbWlzZTxUPjtcbn0gPSA8YW55PiBmdW5jdGlvbiByZXF1ZXN0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogUmVzcG9uc2VQcm9taXNlPFQ+IHtcblx0Y29uc3QgcHJvbWlzZSA9IHByb3ZpZGVyUmVnaXN0cnkubWF0Y2godXJsLCBvcHRpb25zKSh1cmwsIG9wdGlvbnMpXG5cdFx0LnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlOiBSZXNwb25zZTxUPikge1xuXHRcdFx0cmV0dXJuIFRhc2sucmVzb2x2ZShmaWx0ZXJSZWdpc3RyeS5tYXRjaChyZXNwb25zZSwgdXJsLCBvcHRpb25zKShyZXNwb25zZSwgdXJsLCBvcHRpb25zKSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKGZpbHRlclJlc3BvbnNlOiBhbnkpIHtcblx0XHRcdFx0XHRyZXNwb25zZS5kYXRhID0gZmlsdGVyUmVzcG9uc2UuZGF0YTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XG5cdFx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdHJldHVybiBwcm9taXNlO1xufTtcblxuWyAnREVMRVRFJywgJ0dFVCcsICdQT1NUJywgJ1BVVCcgXS5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcblx0KDxhbnk+IHJlcXVlc3QpW21ldGhvZC50b0xvd2VyQ2FzZSgpXSA9IGZ1bmN0aW9uIDxUPih1cmw6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMgPSB7fSk6IFJlc3BvbnNlUHJvbWlzZTxUPiB7XG5cdFx0b3B0aW9ucyA9IE9iamVjdC5jcmVhdGUob3B0aW9ucyk7XG5cdFx0b3B0aW9ucy5tZXRob2QgPSBtZXRob2Q7XG5cdFx0cmV0dXJuIHJlcXVlc3QodXJsLCBvcHRpb25zKTtcblx0fTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCByZXF1ZXN0O1xuXG4vKipcbiAqIEFkZCBhIGZpbHRlciB0aGF0IGF1dG9tYXRpY2FsbHkgcGFyc2VzIGluY29taW5nIEpTT04gcmVzcG9uc2VzLlxuICovXG5maWx0ZXJSZWdpc3RyeS5yZWdpc3Rlcihcblx0ZnVuY3Rpb24gKHJlc3BvbnNlOiBSZXNwb25zZTxhbnk+LCB1cmw6IHN0cmluZywgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMpIHtcblx0XHRyZXR1cm4gdHlwZW9mIHJlc3BvbnNlLmRhdGEgJiYgb3B0aW9ucyAmJiAob3B0aW9ucy5yZXNwb25zZVR5cGUgPT09ICdqc29uJyB8fCBvcHRpb25zLmhhbmRsZUFzID09PSAnanNvbicpO1xuXHR9LFxuXHRmdW5jdGlvbiAocmVzcG9uc2U6IFJlc3BvbnNlPGFueT4sIHVybDogc3RyaW5nLCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IE9iamVjdCB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGRhdGE6IEpTT04ucGFyc2UoU3RyaW5nKHJlc3BvbnNlLmRhdGEpKVxuXHRcdH07XG5cdH1cbik7XG4iXX0= |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
930659
9502