ngx-spine
Version:
[](https://travis-ci.org/PoiScript/ngx-spine)
205 lines • 15.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* ***************************************************************************
* Spine Runtimes License Agreement
* Last updated May 1, 2019. Replaces all prior versions.
*
* Copyright (c) 2013-2019, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS
* INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ***************************************************************************
* @abstract
*/
export class Texture {
/**
* @param {?} image
*/
constructor(image) {
this._image = image;
}
/**
* @return {?}
*/
getImage() {
return this._image;
}
/**
* @param {?} text
* @return {?}
*/
static filterFromString(text) {
switch (text.toLowerCase()) {
case "nearest":
return TextureFilter.Nearest;
case "linear":
return TextureFilter.Linear;
case "mipmap":
return TextureFilter.MipMap;
case "mipmapnearestnearest":
return TextureFilter.MipMapNearestNearest;
case "mipmaplinearnearest":
return TextureFilter.MipMapLinearNearest;
case "mipmapnearestlinear":
return TextureFilter.MipMapNearestLinear;
case "mipmaplinearlinear":
return TextureFilter.MipMapLinearLinear;
default:
throw new Error(`Unknown texture filter ${text}`);
}
}
/**
* @param {?} text
* @return {?}
*/
static wrapFromString(text) {
switch (text.toLowerCase()) {
case "mirroredtepeat":
return TextureWrap.MirroredRepeat;
case "clamptoedge":
return TextureWrap.ClampToEdge;
case "repeat":
return TextureWrap.Repeat;
default:
throw new Error(`Unknown texture wrap ${text}`);
}
}
}
if (false) {
/**
* @type {?}
* @protected
*/
Texture.prototype._image;
/**
* @abstract
* @param {?} minFilter
* @param {?} magFilter
* @return {?}
*/
Texture.prototype.setFilters = function (minFilter, magFilter) { };
/**
* @abstract
* @param {?} uWrap
* @param {?} vWrap
* @return {?}
*/
Texture.prototype.setWraps = function (uWrap, vWrap) { };
/**
* @abstract
* @return {?}
*/
Texture.prototype.dispose = function () { };
}
/** @enum {number} */
const TextureFilter = {
Nearest: 9728,
Linear: 9729,
MipMap: 9987,
MipMapNearestNearest: 9984,
MipMapLinearNearest: 9985,
MipMapNearestLinear: 9986,
MipMapLinearLinear: 9987 // WebGLRenderingContext.LINEAR_MIPMAP_LINEAR
,
};
export { TextureFilter };
TextureFilter[TextureFilter.Nearest] = 'Nearest';
TextureFilter[TextureFilter.Linear] = 'Linear';
TextureFilter[TextureFilter.MipMap] = 'MipMap';
TextureFilter[TextureFilter.MipMapNearestNearest] = 'MipMapNearestNearest';
TextureFilter[TextureFilter.MipMapLinearNearest] = 'MipMapLinearNearest';
TextureFilter[TextureFilter.MipMapNearestLinear] = 'MipMapNearestLinear';
TextureFilter[TextureFilter.MipMapLinearLinear] = 'MipMapLinearLinear';
/** @enum {number} */
const TextureWrap = {
MirroredRepeat: 33648,
ClampToEdge: 33071,
Repeat: 10497 // WebGLRenderingContext.REPEAT
,
};
export { TextureWrap };
TextureWrap[TextureWrap.MirroredRepeat] = 'MirroredRepeat';
TextureWrap[TextureWrap.ClampToEdge] = 'ClampToEdge';
TextureWrap[TextureWrap.Repeat] = 'Repeat';
export class TextureRegion {
constructor() {
this.u = 0;
this.v = 0;
this.u2 = 0;
this.v2 = 0;
this.width = 0;
this.height = 0;
this.rotate = false;
this.offsetX = 0;
this.offsetY = 0;
this.originalWidth = 0;
this.originalHeight = 0;
}
}
if (false) {
/** @type {?} */
TextureRegion.prototype.renderObject;
/** @type {?} */
TextureRegion.prototype.u;
/** @type {?} */
TextureRegion.prototype.v;
/** @type {?} */
TextureRegion.prototype.u2;
/** @type {?} */
TextureRegion.prototype.v2;
/** @type {?} */
TextureRegion.prototype.width;
/** @type {?} */
TextureRegion.prototype.height;
/** @type {?} */
TextureRegion.prototype.rotate;
/** @type {?} */
TextureRegion.prototype.offsetX;
/** @type {?} */
TextureRegion.prototype.offsetY;
/** @type {?} */
TextureRegion.prototype.originalWidth;
/** @type {?} */
TextureRegion.prototype.originalHeight;
}
export class FakeTexture extends Texture {
/**
* @param {?} minFilter
* @param {?} magFilter
* @return {?}
*/
setFilters(minFilter, magFilter) { }
/**
* @param {?} uWrap
* @param {?} vWrap
* @return {?}
*/
setWraps(uWrap, vWrap) { }
/**
* @return {?}
*/
dispose() { }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zcGluZS8iLCJzb3VyY2VzIjpbImxpYi9zcGluZS10cy9jb3JlL1RleHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QkEsTUFBTSxPQUFnQixPQUFPOzs7O0lBRTNCLFlBQVksS0FBdUI7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7OztJQUNELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFJTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBWTtRQUN6QyxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMxQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQy9CLEtBQUssUUFBUTtnQkFDWCxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDOUIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUM5QixLQUFLLHNCQUFzQjtnQkFDekIsT0FBTyxhQUFhLENBQUMsb0JBQW9CLENBQUM7WUFDNUMsS0FBSyxxQkFBcUI7Z0JBQ3hCLE9BQU8sYUFBYSxDQUFDLG1CQUFtQixDQUFDO1lBQzNDLEtBQUsscUJBQXFCO2dCQUN4QixPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUMzQyxLQUFLLG9CQUFvQjtnQkFDdkIsT0FBTyxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDMUM7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7Ozs7O0lBQ00sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQ3ZDLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzFCLEtBQUssZ0JBQWdCO2dCQUNuQixPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDcEMsS0FBSyxhQUFhO2dCQUNoQixPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDakMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUM1QjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztDQUNGOzs7Ozs7SUExQ0MseUJBQW1DOzs7Ozs7O0lBT25DLG1FQUE4RTs7Ozs7OztJQUM5RSx5REFBZ0U7Ozs7O0lBQ2hFLDRDQUF5Qjs7OztJQW1DekIsYUFBYztJQUNkLFlBQWE7SUFDYixZQUFhO0lBQ2IsMEJBQTJCO0lBQzNCLHlCQUEwQjtJQUMxQix5QkFBMEI7SUFDMUIsd0JBQXlCLENBQUMsNkNBQTZDOzs7Ozs7Ozs7Ozs7O0lBR3ZFLHFCQUFzQjtJQUN0QixrQkFBbUI7SUFDbkIsYUFBYyxDQUFDLCtCQUErQjs7Ozs7OztBQUVoRCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUVFLE1BQUMsR0FBRyxDQUFDLENBQUM7UUFDTixNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sT0FBRSxHQUFHLENBQUMsQ0FBQztRQUNQLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Q0FBQTs7O0lBWkMscUNBQWtCOztJQUNsQiwwQkFBTTs7SUFDTiwwQkFBTTs7SUFDTiwyQkFBTzs7SUFDUCwyQkFBTzs7SUFDUCw4QkFBVTs7SUFDViwrQkFBVzs7SUFDWCwrQkFBZTs7SUFDZixnQ0FBWTs7SUFDWixnQ0FBWTs7SUFDWixzQ0FBa0I7O0lBQ2xCLHVDQUFtQjs7QUFFckIsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFPOzs7Ozs7SUFDdEMsVUFBVSxDQUFDLFNBQXdCLEVBQUUsU0FBd0IsSUFBRyxDQUFDOzs7Ozs7SUFDakUsUUFBUSxDQUFDLEtBQWtCLEVBQUUsS0FBa0IsSUFBRyxDQUFDOzs7O0lBQ25ELE9BQU8sS0FBSSxDQUFDO0NBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XHJcbiAqIExhc3QgdXBkYXRlZCBNYXkgMSwgMjAxOS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxOSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXHJcbiAqXHJcbiAqIEludGVncmF0aW9uIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlIG9yIG90aGVyd2lzZSBjcmVhdGluZ1xyXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxyXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxyXG4gKiBodHRwOi8vZXNvdGVyaWNzb2Z0d2FyZS5jb20vc3BpbmUtZWRpdG9yLWxpY2Vuc2VcclxuICpcclxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXHJcbiAqIG9yIG90aGVyd2lzZSBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgU3BpbmUgUnVudGltZXMgKGNvbGxlY3RpdmVseSxcclxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxyXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcclxuICogaW5jbHVkZSB0aGlzIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBub3RpY2UuXHJcbiAqXHJcbiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZIEVYUFJFU1NcclxuICogT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFU1xyXG4gKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTlxyXG4gKiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCxcclxuICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORyxcclxuICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLCBCVVNJTkVTU1xyXG4gKiBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZXHJcbiAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElOR1xyXG4gKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsXHJcbiAqIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRleHR1cmUge1xyXG4gIHByb3RlY3RlZCBfaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XHJcbiAgY29uc3RydWN0b3IoaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQpIHtcclxuICAgIHRoaXMuX2ltYWdlID0gaW1hZ2U7XHJcbiAgfVxyXG4gIGdldEltYWdlKCk6IEhUTUxJbWFnZUVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ltYWdlO1xyXG4gIH1cclxuICBhYnN0cmFjdCBzZXRGaWx0ZXJzKG1pbkZpbHRlcjogVGV4dHVyZUZpbHRlciwgbWFnRmlsdGVyOiBUZXh0dXJlRmlsdGVyKTogdm9pZDtcclxuICBhYnN0cmFjdCBzZXRXcmFwcyh1V3JhcDogVGV4dHVyZVdyYXAsIHZXcmFwOiBUZXh0dXJlV3JhcCk6IHZvaWQ7XHJcbiAgYWJzdHJhY3QgZGlzcG9zZSgpOiB2b2lkO1xyXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyRnJvbVN0cmluZyh0ZXh0OiBzdHJpbmcpOiBUZXh0dXJlRmlsdGVyIHtcclxuICAgIHN3aXRjaCAodGV4dC50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIGNhc2UgXCJuZWFyZXN0XCI6XHJcbiAgICAgICAgcmV0dXJuIFRleHR1cmVGaWx0ZXIuTmVhcmVzdDtcclxuICAgICAgY2FzZSBcImxpbmVhclwiOlxyXG4gICAgICAgIHJldHVybiBUZXh0dXJlRmlsdGVyLkxpbmVhcjtcclxuICAgICAgY2FzZSBcIm1pcG1hcFwiOlxyXG4gICAgICAgIHJldHVybiBUZXh0dXJlRmlsdGVyLk1pcE1hcDtcclxuICAgICAgY2FzZSBcIm1pcG1hcG5lYXJlc3RuZWFyZXN0XCI6XHJcbiAgICAgICAgcmV0dXJuIFRleHR1cmVGaWx0ZXIuTWlwTWFwTmVhcmVzdE5lYXJlc3Q7XHJcbiAgICAgIGNhc2UgXCJtaXBtYXBsaW5lYXJuZWFyZXN0XCI6XHJcbiAgICAgICAgcmV0dXJuIFRleHR1cmVGaWx0ZXIuTWlwTWFwTGluZWFyTmVhcmVzdDtcclxuICAgICAgY2FzZSBcIm1pcG1hcG5lYXJlc3RsaW5lYXJcIjpcclxuICAgICAgICByZXR1cm4gVGV4dHVyZUZpbHRlci5NaXBNYXBOZWFyZXN0TGluZWFyO1xyXG4gICAgICBjYXNlIFwibWlwbWFwbGluZWFybGluZWFyXCI6XHJcbiAgICAgICAgcmV0dXJuIFRleHR1cmVGaWx0ZXIuTWlwTWFwTGluZWFyTGluZWFyO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0ZXh0dXJlIGZpbHRlciAke3RleHR9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgd3JhcEZyb21TdHJpbmcodGV4dDogc3RyaW5nKTogVGV4dHVyZVdyYXAge1xyXG4gICAgc3dpdGNoICh0ZXh0LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSBcIm1pcnJvcmVkdGVwZWF0XCI6XHJcbiAgICAgICAgcmV0dXJuIFRleHR1cmVXcmFwLk1pcnJvcmVkUmVwZWF0O1xyXG4gICAgICBjYXNlIFwiY2xhbXB0b2VkZ2VcIjpcclxuICAgICAgICByZXR1cm4gVGV4dHVyZVdyYXAuQ2xhbXBUb0VkZ2U7XHJcbiAgICAgIGNhc2UgXCJyZXBlYXRcIjpcclxuICAgICAgICByZXR1cm4gVGV4dHVyZVdyYXAuUmVwZWF0O1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0ZXh0dXJlIHdyYXAgJHt0ZXh0fWApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5leHBvcnQgZW51bSBUZXh0dXJlRmlsdGVyIHtcclxuICBOZWFyZXN0ID0gOTcyOCwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0Lk5FQVJFU1RcclxuICBMaW5lYXIgPSA5NzI5LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTElORUFSXHJcbiAgTWlwTWFwID0gOTk4NywgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkxJTkVBUl9NSVBNQVBfTElORUFSXHJcbiAgTWlwTWFwTmVhcmVzdE5lYXJlc3QgPSA5OTg0LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVFxyXG4gIE1pcE1hcExpbmVhck5lYXJlc3QgPSA5OTg1LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTElORUFSX01JUE1BUF9ORUFSRVNUXHJcbiAgTWlwTWFwTmVhcmVzdExpbmVhciA9IDk5ODYsIC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5ORUFSRVNUX01JUE1BUF9MSU5FQVJcclxuICBNaXBNYXBMaW5lYXJMaW5lYXIgPSA5OTg3IC8vIFdlYkdMUmVuZGVyaW5nQ29udGV4dC5MSU5FQVJfTUlQTUFQX0xJTkVBUlxyXG59XHJcbmV4cG9ydCBlbnVtIFRleHR1cmVXcmFwIHtcclxuICBNaXJyb3JlZFJlcGVhdCA9IDMzNjQ4LCAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuTUlSUk9SRURfUkVQRUFUXHJcbiAgQ2xhbXBUb0VkZ2UgPSAzMzA3MSwgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0LkNMQU1QX1RPX0VER0VcclxuICBSZXBlYXQgPSAxMDQ5NyAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQuUkVQRUFUXHJcbn1cclxuZXhwb3J0IGNsYXNzIFRleHR1cmVSZWdpb24ge1xyXG4gIHJlbmRlck9iamVjdDogYW55O1xyXG4gIHUgPSAwO1xyXG4gIHYgPSAwO1xyXG4gIHUyID0gMDtcclxuICB2MiA9IDA7XHJcbiAgd2lkdGggPSAwO1xyXG4gIGhlaWdodCA9IDA7XHJcbiAgcm90YXRlID0gZmFsc2U7XHJcbiAgb2Zmc2V0WCA9IDA7XHJcbiAgb2Zmc2V0WSA9IDA7XHJcbiAgb3JpZ2luYWxXaWR0aCA9IDA7XHJcbiAgb3JpZ2luYWxIZWlnaHQgPSAwO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBGYWtlVGV4dHVyZSBleHRlbmRzIFRleHR1cmUge1xyXG4gIHNldEZpbHRlcnMobWluRmlsdGVyOiBUZXh0dXJlRmlsdGVyLCBtYWdGaWx0ZXI6IFRleHR1cmVGaWx0ZXIpIHt9XHJcbiAgc2V0V3JhcHModVdyYXA6IFRleHR1cmVXcmFwLCB2V3JhcDogVGV4dHVyZVdyYXApIHt9XHJcbiAgZGlzcG9zZSgpIHt9XHJcbn1cclxuIl19