Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

2gl

Package Overview
Dependencies
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

2gl - npm Package Compare versions

Comparing version 0.0.27 to 0.0.28

MultiSprite.js

37

Buffer.js

@@ -44,5 +44,11 @@ "use strict";

/**
* Указывает, как часто данные буфера будут изменяться.
* @type {Buffer.StaticDraw | Buffer.DynamicDraw}
*/
this.drawType = Buffer.StaticDraw;
/**
* Инициализация буфера происходит в момент первого рендеринга.
* Текущий WebGl контекст сохраняется в этой переменной.
* Если конекст меняется, буфер необходимо инициализровать заного.
* Если конекст меняется, буфер необходимо инициализировать заново.
* @type {?WebGLRenderingContext}

@@ -157,2 +163,18 @@ * @ignore

/**
* Заменяет часть буфера новыми данными и отправляет их в видеокарту
* @param {WebGLRenderingContext} gl
* @param {Number} index Индекс, с которого начать замену
* @param {TypedArray} data Новые данные
*/
}, {
key: "subData",
value: function subData(gl, index, data) {
gl.bindBuffer(this._toGlParam(gl, this.type), this._glBuffer);
gl.bufferSubData(this._toGlParam(gl, this.type), index * this.itemSize, data);
return this;
}
/**
* Кладёт данные в видеокарту

@@ -168,3 +190,3 @@ * @param {WebGLRenderingContext} gl

gl.bindBuffer(this._toGlParam(gl, this.type), this._glBuffer);
gl.bufferData(this._toGlParam(gl, this.type), this._array, gl.STATIC_DRAW);
gl.bufferData(this._toGlParam(gl, this.type), this._array, this._toGlParam(gl, this.drawType));
this._preparedGlContext = gl;

@@ -208,2 +230,8 @@ }

}
if (param === Buffer.StaticDraw) {
return gl.STATIC_DRAW;
}
if (param === Buffer.DynamicDraw) {
return gl.DYNAMIC_DRAW;
}
}

@@ -218,4 +246,7 @@ }]);

Buffer.StaticDraw = 10;
Buffer.DynamicDraw = 11;
exports.default = Buffer;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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LFNBQUwsQ0FBOUMsQ0FGUztBQUdULGVBQUcsVUFBSCxDQUFjLEtBQUssVUFBTCxDQUFnQixFQUFoQixFQUFvQixLQUFLLElBQUwsQ0FBbEMsRUFBOEMsS0FBSyxNQUFMLEVBQWEsR0FBRyxXQUFILENBQTNELENBSFM7QUFJVCxpQkFBSyxrQkFBTCxHQUEwQixFQUExQixDQUpTOzs7Ozs7Ozs7OzttQ0FZRixJQUFJO0FBQ1gsZ0JBQUksQ0FBQyxFQUFELEVBQUs7QUFBRSx1QkFBRjthQUFUOztBQUVBLGdCQUFJLEtBQUssU0FBTCxFQUFnQjtBQUNoQixtQkFBRyxZQUFILENBQWdCLEtBQUssU0FBTCxDQUFoQixDQURnQjthQUFwQjtBQUdBLGlCQUFLLFNBQUwsR0FBaUIsSUFBakIsQ0FOVzs7Ozs7Ozs7Ozs7O21DQWVKLElBQUksT0FBTztBQUNsQixnQkFBSSxVQUFVLE9BQU8sV0FBUCxFQUFvQjtBQUFFLHVCQUFPLEdBQUcsWUFBSCxDQUFUO2FBQWxDO0FBQ0EsZ0JBQUksVUFBVSxPQUFPLGtCQUFQLEVBQTJCO0FBQUUsdUJBQU8sR0FBRyxvQkFBSCxDQUFUO2FBQXpDOzs7O1dBMUpGOzs7QUE4Sk4sT0FBTyxXQUFQLEdBQXFCLENBQXJCO0FBQ0EsT0FBTyxrQkFBUCxHQUE0QixDQUE1Qjs7a0JBRWUiLCJmaWxlIjoiQnVmZmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINGF0YDQsNC90LXQvdC40Y8g0Lgg0L/QvtC00LPQvtGC0L7QstC60Lgg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C10YDQtdC00LDRh9C4INCyINCw0YLRgNC40LHRg9GC0Ysg0YjQtdC50LTQtdGA0LBcbiAqXG4gKiBAcGFyYW0ge1R5cGVkQXJyYXl9IGFycmF5INCi0LjQv9C40LfQuNGA0L7QstCw0L3QvdGL0Lkg0LzQsNGB0YHQuNCyINC00LDQvdC90YvRhSwg0L3QsNC/0YDQuNC80LXRgCwg0LrQvtC+0YDQtNC40L3QsNGCINCy0LXRgNGI0LjQvVxuICogQHBhcmFtIHtOdW1iZXJ9IGl0ZW1TaXplINCg0LDQt9C80LXRgNC90L7RgdGC0Ywg0LTQsNC90L3Ri9GFLCDQvdCw0L/RgNC40LzQtdGALCAzIC0g0LTQu9GPINC60L7QvtC00LjQvdCw0YIg0LLQtdGA0YjQuNC9XG4gKi9cbmNsYXNzIEJ1ZmZlciB7XG4gICAgY29uc3RydWN0b3IoYXJyYXksIGl0ZW1TaXplKSB7XG4gICAgICAgIHRoaXMuX2FycmF5ID0gYXJyYXk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCg0LDQt9C80LXRgNC90L7RgdGC0Ywg0LTQsNC90L3Ri9GFXG4gICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLml0ZW1TaXplID0gaXRlbVNpemU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQsiDQvNCw0YHRgdC40LLQtSDQtNCw0L3QvdGL0YVcbiAgICAgICAgICogQHR5cGUge051bWJlcn1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubGVuZ3RoID0gYXJyYXkubGVuZ3RoIC8gaXRlbVNpemU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCi0LjQvyDQsdGD0YTQtdGA0LAuINCR0YPRhNC10YAg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC00LvRjyDQv9C10YDQtdC00LDRh9C4INC80LDRgdGB0LjQstCwINC00LDQvdC90YvRhSxcbiAgICAgICAgICog0YLQsNC6INC4INC00LvRjyDQv9C10YDQtdC00LDRh9C4INC40L3QtNC10LrRgdC+0LIg0Y3Qu9C10LzQtdC90YLQvtCyINC40Lcg0LTQsNC90L3Ri9GFLlxuICAgICAgICAgKiBAdHlwZSB7QnVmZmVyLkFycmF5QnVmZmVyIHwgQnVmZmVyLkVsZW1lbnRBcnJheUJ1ZmZlcn1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMudHlwZSA9IEJ1ZmZlci5BcnJheUJ1ZmZlcjtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0JjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LHRg9GE0LXRgNCwINC/0YDQvtC40YHRhdC+0LTQuNGCINCyINC80L7QvNC10L3RgiDQv9C10YDQstC+0LPQviDRgNC10L3QtNC10YDQuNC90LPQsC5cbiAgICAgICAgICog0KLQtdC60YPRidC40LkgV2ViR2wg0LrQvtC90YLQtdC60YHRgiDRgdC+0YXRgNCw0L3Rj9C10YLRgdGPINCyINGN0YLQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5LlxuICAgICAgICAgKiDQldGB0LvQuCDQutC+0L3QtdC60YHRgiDQvNC10L3Rj9C10YLRgdGPLCDQsdGD0YTQtdGAINC90LXQvtCx0YXQvtC00LjQvNC+INC40L3QuNGG0LjQsNC70LjQt9GA0L7QstCw0YLRjCDQt9Cw0L3QvtCz0L4uXG4gICAgICAgICAqIEB0eXBlIHs/V2ViR0xSZW5kZXJpbmdDb250ZXh0fVxuICAgICAgICAgKiBAaWdub3JlXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9wcmVwYXJlZEdsQ29udGV4dCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstGP0LfRi9Cy0LDQtdGCINC00LDQvdC90YvQtSDRgSDQutC+0L3RgtC10LrRgdGC0L7QvCBXZWJHTC5cbiAgICAgKlxuICAgICAqINCSINGB0LvRg9GH0LDQtSBCdWZmZXIuQXJyYXlCdWZmZXIg0YHQstGP0LfRi9Cy0LDQtdGCINGBINCw0YLRgNC40LHRg9GC0LDQvNC4INGI0LXQudC00LXRgNCwLlxuICAgICAqINCQINCyINGB0LvRg9GH0LDQtSBCdWZmZXIuRWxlbWVudEFycmF5QnVmZmVyINGB0LLRj9C30YvQstCw0LXRgiDQvNCw0YHRgdC40LIg0LjQvdC00LXQutGB0L7Qsi5cbiAgICAgKlxuICAgICAqINCV0YHQu9C4INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQv9C10YDQstGL0Lkg0YDQsNC3LCDQtNC+0LHQsNCy0LvRj9C10YIg0LTQsNC90L3Ri9C1INCyINC60L7QvdGC0LXQutGB0YIgV2ViR0wuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAcGFyYW0gez9OdW1iZXJ9IGF0dHJpYnV0ZSDQkNGC0YLRgNC40LHRg9GCINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDQtNCw0L3QvdGL0YUg0YEg0L/QtdGA0LXQvNC10L3QvdGL0LzQuCDQsiDRiNC10LnQtNC10YDQtVxuICAgICAqL1xuICAgIGJpbmQoZ2wsIGF0dHJpYnV0ZSkge1xuICAgICAgICBpZiAodGhpcy5fcHJlcGFyZWRHbENvbnRleHQgIT09IGdsKSB7XG4gICAgICAgICAgICB0aGlzLl91bnByZXBhcmUodGhpcy5fcHJlcGFyZWRHbENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9nbEJ1ZmZlcikge1xuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZShnbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSBCdWZmZXIuQXJyYXlCdWZmZXIpIHtcbiAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB0aGlzLl9nbEJ1ZmZlcik7XG4gICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHJpYnV0ZSwgdGhpcy5pdGVtU2l6ZSwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IEJ1ZmZlci5FbGVtZW50QXJyYXlCdWZmZXIpIHtcbiAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHRoaXMuX2dsQnVmZmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC00LDQvdC90YvQtSDQuNC3INC60L7QvdGC0LXQutGB0YLQsCBXZWJHTC5cbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKi9cbiAgICByZW1vdmUoZ2wpIHtcbiAgICAgICAgdGhpcy5fdW5wcmVwYXJlKGdsKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFXG4gICAgICogQHJldHVybnMge1R5cGVkQXJyYXl9XG4gICAgICovXG4gICAgZ2V0QXJyYXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRjdC70LXQvNC10L3RgiDQuNC3INC80LDRgdGB0LjQstCwINC00LDQvdC90YvRhVxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCDQndC+0LzQtdGAINGN0LvQtdC80LXQvdGC0LAg0LIg0LzQsNGB0YHQuNCy0LUg0LTQsNC90L3Ri9GFXG4gICAgICogQHJldHVybnMge1R5cGVkQXJyYXl9XG4gICAgICovXG4gICAgZ2V0RWxlbWVudChpbmRleCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXJyYXkuc3ViYXJyYXkoaW5kZXggKiB0aGlzLml0ZW1TaXplLCAoaW5kZXggKyAxKSAqIHRoaXMuaXRlbVNpemUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGC0YDQvtC50LrRgyDRjdC70LXQvNC10L3RgtC+0LIg0LjQtyDQvNCw0YHRgdC40LLQsCDQtNCw0L3QvdGL0YVcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gaW5kZXgg0JjQvdC00LXQutGBXG4gICAgICogQHJldHVybnMge1R5cGVkQXJyYXlbXX1cbiAgICAgKi9cbiAgICBnZXRUcmlhbmdsZShpbmRleCkge1xuICAgICAgICBpbmRleCAqPSAzO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmdldEVsZW1lbnQoaW5kZXgpLFxuICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50KGluZGV4ICsgMSksXG4gICAgICAgICAgICB0aGlzLmdldEVsZW1lbnQoaW5kZXggKyAyKVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCa0L7QvdC60LDRgtC10L3QuNGA0YPQtdGCINC00LDQvdC90YvQuSDQsdGD0YTQtdGAINGBINC00YDRg9Cz0LjQvC5cbiAgICAgKiDQntGB0YLQvtGA0L7QttC90L4sINC80LXRgtC+0LQg0L3QtSDQv9GA0L7QstC10YDRj9C10YIg0L7QtNC40L3QsNC60L7QstC+0Lkg0YDQsNC30LzQtdGA0L3QvtGB0YLQuCDQtNCw0L3QvdGL0LUg0LjQu9C4INC90LXRgi5cbiAgICAgKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyXG4gICAgICovXG4gICAgY29uY2F0KGJ1ZmZlcikge1xuICAgICAgICBjb25zdCBhZGRBcnJheSA9IGJ1ZmZlci5nZXRBcnJheSgpO1xuICAgICAgICBjb25zdCBuZXdBcnJheSA9IG5ldyB0aGlzLl9hcnJheS5jb25zdHJ1Y3Rvcih0aGlzLl9hcnJheS5sZW5ndGggKyBhZGRBcnJheS5sZW5ndGgpO1xuICAgICAgICBuZXdBcnJheS5zZXQodGhpcy5fYXJyYXksIDApO1xuICAgICAgICBuZXdBcnJheS5zZXQoYWRkQXJyYXksIHRoaXMuX2FycmF5Lmxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5fYXJyYXkgPSBuZXdBcnJheTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBuZXdBcnJheS5sZW5ndGggLyB0aGlzLml0ZW1TaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCa0LvQsNC00ZHRgiDQtNCw0L3QvdGL0LUg0LIg0LLQuNC00LXQvtC60LDRgNGC0YNcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX3ByZXBhcmUoZ2wpIHtcbiAgICAgICAgdGhpcy5fZ2xCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTtcbiAgICAgICAgZ2wuYmluZEJ1ZmZlcih0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMudHlwZSksIHRoaXMuX2dsQnVmZmVyKTtcbiAgICAgICAgZ2wuYnVmZmVyRGF0YSh0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMudHlwZSksIHRoaXMuX2FycmF5LCBnbC5TVEFUSUNfRFJBVyk7XG4gICAgICAgIHRoaXMuX3ByZXBhcmVkR2xDb250ZXh0ID0gZ2w7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LTQsNC90L3Ri9C1INC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX3VucHJlcGFyZShnbCkge1xuICAgICAgICBpZiAoIWdsKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGlmICh0aGlzLl9nbEJ1ZmZlcikge1xuICAgICAgICAgICAgZ2wuZGVsZXRlQnVmZmVyKHRoaXMuX2dsQnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9nbEJ1ZmZlciA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC10L7QsdGA0LDQt9C+0LLRi9Cy0LDQtdGCINC/0LDRgNCw0LzQtdGC0YDRiyDQsdGD0YTQtdGA0LAg0LIg0L/QsNGA0LDQvNC10YLRgNGLIFdlYkdMXG4gICAgICogQHBhcmFtIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsXG4gICAgICogQHBhcmFtIHtCdWZmZXIuQXJyYXlCdWZmZXIgfCBCdWZmZXIuRWxlbWVudEFycmF5QnVmZmVyfSBwYXJhbVxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBfdG9HbFBhcmFtKGdsLCBwYXJhbSkge1xuICAgICAgICBpZiAocGFyYW0gPT09IEJ1ZmZlci5BcnJheUJ1ZmZlcikgeyByZXR1cm4gZ2wuQVJSQVlfQlVGRkVSOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gQnVmZmVyLkVsZW1lbnRBcnJheUJ1ZmZlcikgeyByZXR1cm4gZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVI7IH1cbiAgICB9XG59XG5cbkJ1ZmZlci5BcnJheUJ1ZmZlciA9IDE7XG5CdWZmZXIuRWxlbWVudEFycmF5QnVmZmVyID0gMjtcblxuZXhwb3J0IGRlZmF1bHQgQnVmZmVyO1xuIl19
//# sourceMappingURL=data:application/json;base64,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TyxXQUFQLEVBQW9CO0FBQUUsdUJBQU8sR0FBRyxZQUFILENBQVQ7YUFBbEM7Ozs7V0EvS0Y7OztBQW1MTixPQUFPLFdBQVAsR0FBcUIsQ0FBckI7QUFDQSxPQUFPLGtCQUFQLEdBQTRCLENBQTVCOztBQUVBLE9BQU8sVUFBUCxHQUFvQixFQUFwQjtBQUNBLE9BQU8sV0FBUCxHQUFxQixFQUFyQjs7a0JBRWUiLCJmaWxlIjoiQnVmZmVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINGF0YDQsNC90LXQvdC40Y8g0Lgg0L/QvtC00LPQvtGC0L7QstC60Lgg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C10YDQtdC00LDRh9C4INCyINCw0YLRgNC40LHRg9GC0Ysg0YjQtdC50LTQtdGA0LBcbiAqXG4gKiBAcGFyYW0ge1R5cGVkQXJyYXl9IGFycmF5INCi0LjQv9C40LfQuNGA0L7QstCw0L3QvdGL0Lkg0LzQsNGB0YHQuNCyINC00LDQvdC90YvRhSwg0L3QsNC/0YDQuNC80LXRgCwg0LrQvtC+0YDQtNC40L3QsNGCINCy0LXRgNGI0LjQvVxuICogQHBhcmFtIHtOdW1iZXJ9IGl0ZW1TaXplINCg0LDQt9C80LXRgNC90L7RgdGC0Ywg0LTQsNC90L3Ri9GFLCDQvdCw0L/RgNC40LzQtdGALCAzIC0g0LTQu9GPINC60L7QvtC00LjQvdCw0YIg0LLQtdGA0YjQuNC9XG4gKi9cbmNsYXNzIEJ1ZmZlciB7XG4gICAgY29uc3RydWN0b3IoYXJyYXksIGl0ZW1TaXplKSB7XG4gICAgICAgIHRoaXMuX2FycmF5ID0gYXJyYXk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCg0LDQt9C80LXRgNC90L7RgdGC0Ywg0LTQsNC90L3Ri9GFXG4gICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLml0ZW1TaXplID0gaXRlbVNpemU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQsiDQvNCw0YHRgdC40LLQtSDQtNCw0L3QvdGL0YVcbiAgICAgICAgICogQHR5cGUge051bWJlcn1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubGVuZ3RoID0gYXJyYXkubGVuZ3RoIC8gaXRlbVNpemU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCi0LjQvyDQsdGD0YTQtdGA0LAuINCR0YPRhNC10YAg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC00LvRjyDQv9C10YDQtdC00LDRh9C4INC80LDRgdGB0LjQstCwINC00LDQvdC90YvRhSxcbiAgICAgICAgICog0YLQsNC6INC4INC00LvRjyDQv9C10YDQtdC00LDRh9C4INC40L3QtNC10LrRgdC+0LIg0Y3Qu9C10LzQtdC90YLQvtCyINC40Lcg0LTQsNC90L3Ri9GFLlxuICAgICAgICAgKiBAdHlwZSB7QnVmZmVyLkFycmF5QnVmZmVyIHwgQnVmZmVyLkVsZW1lbnRBcnJheUJ1ZmZlcn1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMudHlwZSA9IEJ1ZmZlci5BcnJheUJ1ZmZlcjtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0KPQutCw0LfRi9Cy0LDQtdGCLCDQutCw0Log0YfQsNGB0YLQviDQtNCw0L3QvdGL0LUg0LHRg9GE0LXRgNCwINCx0YPQtNGD0YIg0LjQt9C80LXQvdGP0YLRjNGB0Y8uXG4gICAgICAgICAqIEB0eXBlIHtCdWZmZXIuU3RhdGljRHJhdyB8IEJ1ZmZlci5EeW5hbWljRHJhd31cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZHJhd1R5cGUgPSBCdWZmZXIuU3RhdGljRHJhdztcblxuICAgICAgICAvKipcbiAgICAgICAgICog0JjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LHRg9GE0LXRgNCwINC/0YDQvtC40YHRhdC+0LTQuNGCINCyINC80L7QvNC10L3RgiDQv9C10YDQstC+0LPQviDRgNC10L3QtNC10YDQuNC90LPQsC5cbiAgICAgICAgICog0KLQtdC60YPRidC40LkgV2ViR2wg0LrQvtC90YLQtdC60YHRgiDRgdC+0YXRgNCw0L3Rj9C10YLRgdGPINCyINGN0YLQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5LlxuICAgICAgICAgKiDQldGB0LvQuCDQutC+0L3QtdC60YHRgiDQvNC10L3Rj9C10YLRgdGPLCDQsdGD0YTQtdGAINC90LXQvtCx0YXQvtC00LjQvNC+INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINC30LDQvdC+0LLQvi5cbiAgICAgICAgICogQHR5cGUgez9XZWJHTFJlbmRlcmluZ0NvbnRleHR9XG4gICAgICAgICAqIEBpZ25vcmVcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3ByZXBhcmVkR2xDb250ZXh0ID0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodCy0Y/Qt9GL0LLQsNC10YIg0LTQsNC90L3Ri9C1INGBINC60L7QvdGC0LXQutGB0YLQvtC8IFdlYkdMLlxuICAgICAqXG4gICAgICog0JIg0YHQu9GD0YfQsNC1IEJ1ZmZlci5BcnJheUJ1ZmZlciDRgdCy0Y/Qt9GL0LLQsNC10YIg0YEg0LDRgtGA0LjQsdGD0YLQsNC80Lgg0YjQtdC50LTQtdGA0LAuXG4gICAgICog0JAg0LIg0YHQu9GD0YfQsNC1IEJ1ZmZlci5FbGVtZW50QXJyYXlCdWZmZXIg0YHQstGP0LfRi9Cy0LDQtdGCINC80LDRgdGB0LjQsiDQuNC90LTQtdC60YHQvtCyLlxuICAgICAqXG4gICAgICog0JXRgdC70Lgg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC/0LXRgNCy0YvQuSDRgNCw0LcsINC00L7QsdCw0LLQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LIg0LrQvtC90YLQtdC60YHRgiBXZWJHTC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBwYXJhbSB7P051bWJlcn0gYXR0cmlidXRlINCQ0YLRgtGA0LjQsdGD0YIg0LTQu9GPINGB0LLRj9C30YvQstCw0L3QuNGPINC00LDQvdC90YvRhSDRgSDQv9C10YDQtdC80LXQvdC90YvQvNC4INCyINGI0LXQudC00LXRgNC1XG4gICAgICovXG4gICAgYmluZChnbCwgYXR0cmlidXRlKSB7XG4gICAgICAgIGlmICh0aGlzLl9wcmVwYXJlZEdsQ29udGV4dCAhPT0gZ2wpIHtcbiAgICAgICAgICAgIHRoaXMuX3VucHJlcGFyZSh0aGlzLl9wcmVwYXJlZEdsQ29udGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX2dsQnVmZmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9wcmVwYXJlKGdsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09IEJ1ZmZlci5BcnJheUJ1ZmZlcikge1xuICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHRoaXMuX2dsQnVmZmVyKTtcbiAgICAgICAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoYXR0cmlidXRlLCB0aGlzLml0ZW1TaXplLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gQnVmZmVyLkVsZW1lbnRBcnJheUJ1ZmZlcikge1xuICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdGhpcy5fZ2xCdWZmZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LTQsNC90L3Ri9C1INC40Lcg0LrQvtC90YLQtdC60YHRgtCwIFdlYkdMLlxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqL1xuICAgIHJlbW92ZShnbCkge1xuICAgICAgICB0aGlzLl91bnByZXBhcmUoZ2wpO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQtNCw0L3QvdGL0YVcbiAgICAgKiBAcmV0dXJucyB7VHlwZWRBcnJheX1cbiAgICAgKi9cbiAgICBnZXRBcnJheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGN0LvQtdC80LXQvdGCINC40Lcg0LzQsNGB0YHQuNCy0LAg0LTQsNC90L3Ri9GFXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4INCd0L7QvNC10YAg0Y3Qu9C10LzQtdC90YLQsCDQsiDQvNCw0YHRgdC40LLQtSDQtNCw0L3QvdGL0YVcbiAgICAgKiBAcmV0dXJucyB7VHlwZWRBcnJheX1cbiAgICAgKi9cbiAgICBnZXRFbGVtZW50KGluZGV4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcnJheS5zdWJhcnJheShpbmRleCAqIHRoaXMuaXRlbVNpemUsIChpbmRleCArIDEpICogdGhpcy5pdGVtU2l6ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YLRgNC+0LnQutGDINGN0LvQtdC80LXQvdGC0L7QsiDQuNC3INC80LDRgdGB0LjQstCwINC00LDQvdC90YvRhVxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCDQmNC90LTQtdC60YFcbiAgICAgKiBAcmV0dXJucyB7VHlwZWRBcnJheVtdfVxuICAgICAqL1xuICAgIGdldFRyaWFuZ2xlKGluZGV4KSB7XG4gICAgICAgIGluZGV4ICo9IDM7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudChpbmRleCksXG4gICAgICAgICAgICB0aGlzLmdldEVsZW1lbnQoaW5kZXggKyAxKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudChpbmRleCArIDIpXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JrQvtC90LrQsNGC0LXQvdC40YDRg9C10YIg0LTQsNC90L3Ri9C5INCx0YPRhNC10YAg0YEg0LTRgNGD0LPQuNC8LlxuICAgICAqINCe0YHRgtC+0YDQvtC20L3Qviwg0LzQtdGC0L7QtCDQvdC1INC/0YDQvtCy0LXRgNGP0LXRgiDQvtC00LjQvdCw0LrQvtCy0L7QuSDRgNCw0LfQvNC10YDQvdC+0YHRgtC4INC00LDQvdC90YvQtSDQuNC70Lgg0L3QtdGCLlxuICAgICAqIEBwYXJhbSB7QnVmZmVyfSBidWZmZXJcbiAgICAgKi9cbiAgICBjb25jYXQoYnVmZmVyKSB7XG4gICAgICAgIGNvbnN0IGFkZEFycmF5ID0gYnVmZmVyLmdldEFycmF5KCk7XG4gICAgICAgIGNvbnN0IG5ld0FycmF5ID0gbmV3IHRoaXMuX2FycmF5LmNvbnN0cnVjdG9yKHRoaXMuX2FycmF5Lmxlbmd0aCArIGFkZEFycmF5Lmxlbmd0aCk7XG4gICAgICAgIG5ld0FycmF5LnNldCh0aGlzLl9hcnJheSwgMCk7XG4gICAgICAgIG5ld0FycmF5LnNldChhZGRBcnJheSwgdGhpcy5fYXJyYXkubGVuZ3RoKTtcblxuICAgICAgICB0aGlzLl9hcnJheSA9IG5ld0FycmF5O1xuICAgICAgICB0aGlzLmxlbmd0aCA9IG5ld0FycmF5Lmxlbmd0aCAvIHRoaXMuaXRlbVNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC80LXQvdGP0LXRgiDRh9Cw0YHRgtGMINCx0YPRhNC10YDQsCDQvdC+0LLRi9C80Lgg0LTQsNC90L3Ri9C80Lgg0Lgg0L7RgtC/0YDQsNCy0LvRj9C10YIg0LjRhSDQsiDQstC40LTQtdC+0LrQsNGA0YLRg1xuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCDQmNC90LTQtdC60YEsINGBINC60L7RgtC+0YDQvtCz0L4g0L3QsNGH0LDRgtGMINC30LDQvNC10L3Rg1xuICAgICAqIEBwYXJhbSB7VHlwZWRBcnJheX0gZGF0YSDQndC+0LLRi9C1INC00LDQvdC90YvQtVxuICAgICAqL1xuICAgIHN1YkRhdGEoZ2wsIGluZGV4LCBkYXRhKSB7XG4gICAgICAgIGdsLmJpbmRCdWZmZXIodGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLnR5cGUpLCB0aGlzLl9nbEJ1ZmZlcik7XG4gICAgICAgIGdsLmJ1ZmZlclN1YkRhdGEodGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLnR5cGUpLCBpbmRleCAqIHRoaXMuaXRlbVNpemUsIGRhdGEpO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCa0LvQsNC00ZHRgiDQtNCw0L3QvdGL0LUg0LIg0LLQuNC00LXQvtC60LDRgNGC0YNcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX3ByZXBhcmUoZ2wpIHtcbiAgICAgICAgdGhpcy5fZ2xCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTtcbiAgICAgICAgZ2wuYmluZEJ1ZmZlcih0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMudHlwZSksIHRoaXMuX2dsQnVmZmVyKTtcbiAgICAgICAgZ2wuYnVmZmVyRGF0YSh0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMudHlwZSksIHRoaXMuX2FycmF5LCB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMuZHJhd1R5cGUpKTtcbiAgICAgICAgdGhpcy5fcHJlcGFyZWRHbENvbnRleHQgPSBnbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LjQtyDQstC40LTQtdC+0LrQsNGA0YLRi1xuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBfdW5wcmVwYXJlKGdsKSB7XG4gICAgICAgIGlmICghZ2wpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2dsQnVmZmVyKSB7XG4gICAgICAgICAgICBnbC5kZWxldGVCdWZmZXIodGhpcy5fZ2xCdWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2dsQnVmZmVyID0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LXQvtCx0YDQsNC30L7QstGL0LLQsNC10YIg0L/QsNGA0LDQvNC10YLRgNGLINCx0YPRhNC10YDQsCDQsiDQv9Cw0YDQsNC80LXRgtGA0YsgV2ViR0xcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAcGFyYW0ge0J1ZmZlci5BcnJheUJ1ZmZlciB8IEJ1ZmZlci5FbGVtZW50QXJyYXlCdWZmZXJ9IHBhcmFtXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIF90b0dsUGFyYW0oZ2wsIHBhcmFtKSB7XG4gICAgICAgIGlmIChwYXJhbSA9PT0gQnVmZmVyLkFycmF5QnVmZmVyKSB7IHJldHVybiBnbC5BUlJBWV9CVUZGRVI7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBCdWZmZXIuRWxlbWVudEFycmF5QnVmZmVyKSB7IHJldHVybiBnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUjsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IEJ1ZmZlci5TdGF0aWNEcmF3KSB7IHJldHVybiBnbC5TVEFUSUNfRFJBVzsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IEJ1ZmZlci5EeW5hbWljRHJhdykgeyByZXR1cm4gZ2wuRFlOQU1JQ19EUkFXOyB9XG4gICAgfVxufVxuXG5CdWZmZXIuQXJyYXlCdWZmZXIgPSAxO1xuQnVmZmVyLkVsZW1lbnRBcnJheUJ1ZmZlciA9IDI7XG5cbkJ1ZmZlci5TdGF0aWNEcmF3ID0gMTA7XG5CdWZmZXIuRHluYW1pY0RyYXcgPSAxMTtcblxuZXhwb3J0IGRlZmF1bHQgQnVmZmVyO1xuIl19

@@ -39,2 +39,6 @@ 'use strict';

var _MultiSpriteProgram = require('./programs/MultiSpriteProgram');
var _MultiSpriteProgram2 = _interopRequireDefault(_MultiSpriteProgram);
var _Mesh = require('./Mesh');

@@ -48,2 +52,6 @@

var _MultiSprite = require('./MultiSprite');
var _MultiSprite2 = _interopRequireDefault(_MultiSprite);
var _Scene = require('./Scene');

@@ -111,5 +119,7 @@

Sprite: _Sprite2.default,
MultiSprite: _MultiSprite2.default,
BasicMeshProgram: _BasicMeshProgram2.default,
ComplexMeshProgram: _ComplexMeshProgram2.default,
SpriteProgram: _SpriteProgram2.default,
MultiSpriteProgram: _MultiSpriteProgram2.default,
Scene: _Scene2.default,

@@ -134,2 +144,2 @@ Texture: _Texture2.default,

module.exports = dgl;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFvQlk7Ozs7Ozs7Ozs7Ozs7QUFLWixtQkFBUyxVQUFULEdBQXNCLE9BQVEsWUFBUCxLQUF3QixXQUF4QixHQUF1QyxZQUF4QyxHQUF1RCxLQUF2RDs7QUFFdEIsSUFBTSxNQUFNO0FBQ1IsZ0NBRFE7QUFFUixnQ0FGUTtBQUdSLGtEQUhRO0FBSVIsb0RBSlE7QUFLUiw0QkFMUTtBQU1SLGdDQU5RO0FBT1Isd0JBUFE7QUFRUiw0QkFSUTtBQVNSLGdEQVRRO0FBVVIsb0RBVlE7QUFXUiwwQ0FYUTtBQVlSLDBCQVpRO0FBYVIsOEJBYlE7QUFjUix3Q0FkUTtBQWVSLGdEQWZRO0FBZ0JSLGtDQWhCUTtBQWlCUixzQkFqQlE7QUFrQlIsMEJBbEJRO0FBbUJSLDhCQW5CUTtBQW9CUixzQkFwQlE7QUFxQlIseUJBckJRO0FBc0JSLFVBQU0sSUFBTjtBQUNBLHdCQXZCUTtBQXdCUix3QkF4QlE7QUF5QlIsd0JBekJRO0FBMEJSLHdCQTFCUTtBQTJCUix3QkEzQlE7Q0FBTjs7QUE4Qk4sT0FBTyxPQUFQLEdBQWlCLEdBQWpCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlbmRlcmVyIGZyb20gJy4vcmVuZGVyZXIvUmVuZGVyZXInO1xuaW1wb3J0IE9iamVjdDNEIGZyb20gJy4vT2JqZWN0M0QnO1xuaW1wb3J0IFBlcnNwZWN0aXZlQ2FtZXJhIGZyb20gJy4vY2FtZXJhcy9QZXJzcGVjdGl2ZUNhbWVyYSc7XG5pbXBvcnQgT3J0aG9ncmFwaGljQ2FtZXJhIGZyb20gJy4vY2FtZXJhcy9PcnRob2dyYXBoaWNDYW1lcmEnO1xuaW1wb3J0IEJ1ZmZlciBmcm9tICcuL0J1ZmZlcic7XG5pbXBvcnQgR2VvbWV0cnkgZnJvbSAnLi9HZW9tZXRyeSc7XG5pbXBvcnQgQmFzaWNNZXNoUHJvZ3JhbSBmcm9tICcuL3Byb2dyYW1zL0Jhc2ljTWVzaFByb2dyYW0nO1xuaW1wb3J0IENvbXBsZXhNZXNoUHJvZ3JhbSBmcm9tICcuL3Byb2dyYW1zL0NvbXBsZXhNZXNoUHJvZ3JhbSc7XG5pbXBvcnQgU3ByaXRlUHJvZ3JhbSBmcm9tICcuL3Byb2dyYW1zL1Nwcml0ZVByb2dyYW0nO1xuaW1wb3J0IE1lc2ggZnJvbSAnLi9NZXNoJztcbmltcG9ydCBTcHJpdGUgZnJvbSAnLi9TcHJpdGUnO1xuaW1wb3J0IFNjZW5lIGZyb20gJy4vU2NlbmUnO1xuaW1wb3J0IFRleHR1cmUgZnJvbSAnLi9UZXh0dXJlJztcbmltcG9ydCBBbWJpZW50TGlnaHQgZnJvbSAnLi9saWdodHMvQW1iaWVudExpZ2h0JztcbmltcG9ydCBEaXJlY3Rpb25hbExpZ2h0IGZyb20gJy4vbGlnaHRzL0RpcmVjdGlvbmFsTGlnaHQnO1xuaW1wb3J0IFJheWNhc3RlciBmcm9tICcuL1JheWNhc3Rlcic7XG5pbXBvcnQgUmF5IGZyb20gJy4vbWF0aC9SYXknO1xuaW1wb3J0IFBsYW5lIGZyb20gJy4vbWF0aC9QbGFuZSc7XG5pbXBvcnQgQm94IGZyb20gJy4vbWF0aC9Cb3gnO1xuaW1wb3J0IEZydXN0dW0gZnJvbSAnLi9tYXRoL0ZydXN0dW0nO1xuaW1wb3J0ICogYXMgbWF0aCBmcm9tICcuL21hdGgvTWF0aCc7XG5pbXBvcnQgTGluZTMgZnJvbSAnLi9tYXRoL0xpbmUzJztcbmltcG9ydCB7dmVjMywgbWF0MywgdmVjMiwgbWF0NCwgcXVhdCwgZ2xNYXRyaXh9IGZyb20gJ2dsLW1hdHJpeCc7XG5cbi8vIHdpdGggRmxvYXQzMkFycmF5IHdlIGhhdmUgZXJyb3JzIHdpdGggcmF5Y2FzdFxuZ2xNYXRyaXguQVJSQVlfVFlQRSA9ICh0eXBlb2YgRmxvYXQ2NEFycmF5ICE9PSAndW5kZWZpbmVkJykgPyBGbG9hdDY0QXJyYXkgOiBBcnJheTtcblxuY29uc3QgZGdsID0ge1xuICAgIFJlbmRlcmVyLFxuICAgIE9iamVjdDNELFxuICAgIFBlcnNwZWN0aXZlQ2FtZXJhLFxuICAgIE9ydGhvZ3JhcGhpY0NhbWVyYSxcbiAgICBCdWZmZXIsXG4gICAgR2VvbWV0cnksXG4gICAgTWVzaCxcbiAgICBTcHJpdGUsXG4gICAgQmFzaWNNZXNoUHJvZ3JhbSxcbiAgICBDb21wbGV4TWVzaFByb2dyYW0sXG4gICAgU3ByaXRlUHJvZ3JhbSxcbiAgICBTY2VuZSxcbiAgICBUZXh0dXJlLFxuICAgIEFtYmllbnRMaWdodCxcbiAgICBEaXJlY3Rpb25hbExpZ2h0LFxuICAgIFJheWNhc3RlcixcbiAgICBSYXksXG4gICAgUGxhbmUsXG4gICAgRnJ1c3R1bSxcbiAgICBCb3gsXG4gICAgTGluZTMsXG4gICAgTWF0aDogbWF0aCxcbiAgICB2ZWMzLFxuICAgIG1hdDMsXG4gICAgdmVjMixcbiAgICBtYXQ0LFxuICAgIHF1YXRcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZGdsO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXNCWTs7Ozs7Ozs7Ozs7OztBQUtaLG1CQUFTLFVBQVQsR0FBc0IsT0FBUSxZQUFQLEtBQXdCLFdBQXhCLEdBQXVDLFlBQXhDLEdBQXVELEtBQXZEOztBQUV0QixJQUFNLE1BQU07QUFDUixnQ0FEUTtBQUVSLGdDQUZRO0FBR1Isa0RBSFE7QUFJUixvREFKUTtBQUtSLDRCQUxRO0FBTVIsZ0NBTlE7QUFPUix3QkFQUTtBQVFSLDRCQVJRO0FBU1Isc0NBVFE7QUFVUixnREFWUTtBQVdSLG9EQVhRO0FBWVIsMENBWlE7QUFhUixvREFiUTtBQWNSLDBCQWRRO0FBZVIsOEJBZlE7QUFnQlIsd0NBaEJRO0FBaUJSLGdEQWpCUTtBQWtCUixrQ0FsQlE7QUFtQlIsc0JBbkJRO0FBb0JSLDBCQXBCUTtBQXFCUiw4QkFyQlE7QUFzQlIsc0JBdEJRO0FBdUJSLHlCQXZCUTtBQXdCUixVQUFNLElBQU47QUFDQSx3QkF6QlE7QUEwQlIsd0JBMUJRO0FBMkJSLHdCQTNCUTtBQTRCUix3QkE1QlE7QUE2QlIsd0JBN0JRO0NBQU47O0FBZ0NOLE9BQU8sT0FBUCxHQUFpQixHQUFqQiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZW5kZXJlciBmcm9tICcuL3JlbmRlcmVyL1JlbmRlcmVyJztcbmltcG9ydCBPYmplY3QzRCBmcm9tICcuL09iamVjdDNEJztcbmltcG9ydCBQZXJzcGVjdGl2ZUNhbWVyYSBmcm9tICcuL2NhbWVyYXMvUGVyc3BlY3RpdmVDYW1lcmEnO1xuaW1wb3J0IE9ydGhvZ3JhcGhpY0NhbWVyYSBmcm9tICcuL2NhbWVyYXMvT3J0aG9ncmFwaGljQ2FtZXJhJztcbmltcG9ydCBCdWZmZXIgZnJvbSAnLi9CdWZmZXInO1xuaW1wb3J0IEdlb21ldHJ5IGZyb20gJy4vR2VvbWV0cnknO1xuaW1wb3J0IEJhc2ljTWVzaFByb2dyYW0gZnJvbSAnLi9wcm9ncmFtcy9CYXNpY01lc2hQcm9ncmFtJztcbmltcG9ydCBDb21wbGV4TWVzaFByb2dyYW0gZnJvbSAnLi9wcm9ncmFtcy9Db21wbGV4TWVzaFByb2dyYW0nO1xuaW1wb3J0IFNwcml0ZVByb2dyYW0gZnJvbSAnLi9wcm9ncmFtcy9TcHJpdGVQcm9ncmFtJztcbmltcG9ydCBNdWx0aVNwcml0ZVByb2dyYW0gZnJvbSAnLi9wcm9ncmFtcy9NdWx0aVNwcml0ZVByb2dyYW0nO1xuaW1wb3J0IE1lc2ggZnJvbSAnLi9NZXNoJztcbmltcG9ydCBTcHJpdGUgZnJvbSAnLi9TcHJpdGUnO1xuaW1wb3J0IE11bHRpU3ByaXRlIGZyb20gJy4vTXVsdGlTcHJpdGUnO1xuaW1wb3J0IFNjZW5lIGZyb20gJy4vU2NlbmUnO1xuaW1wb3J0IFRleHR1cmUgZnJvbSAnLi9UZXh0dXJlJztcbmltcG9ydCBBbWJpZW50TGlnaHQgZnJvbSAnLi9saWdodHMvQW1iaWVudExpZ2h0JztcbmltcG9ydCBEaXJlY3Rpb25hbExpZ2h0IGZyb20gJy4vbGlnaHRzL0RpcmVjdGlvbmFsTGlnaHQnO1xuaW1wb3J0IFJheWNhc3RlciBmcm9tICcuL1JheWNhc3Rlcic7XG5pbXBvcnQgUmF5IGZyb20gJy4vbWF0aC9SYXknO1xuaW1wb3J0IFBsYW5lIGZyb20gJy4vbWF0aC9QbGFuZSc7XG5pbXBvcnQgQm94IGZyb20gJy4vbWF0aC9Cb3gnO1xuaW1wb3J0IEZydXN0dW0gZnJvbSAnLi9tYXRoL0ZydXN0dW0nO1xuaW1wb3J0ICogYXMgbWF0aCBmcm9tICcuL21hdGgvTWF0aCc7XG5pbXBvcnQgTGluZTMgZnJvbSAnLi9tYXRoL0xpbmUzJztcbmltcG9ydCB7dmVjMywgbWF0MywgdmVjMiwgbWF0NCwgcXVhdCwgZ2xNYXRyaXh9IGZyb20gJ2dsLW1hdHJpeCc7XG5cbi8vIHdpdGggRmxvYXQzMkFycmF5IHdlIGhhdmUgZXJyb3JzIHdpdGggcmF5Y2FzdFxuZ2xNYXRyaXguQVJSQVlfVFlQRSA9ICh0eXBlb2YgRmxvYXQ2NEFycmF5ICE9PSAndW5kZWZpbmVkJykgPyBGbG9hdDY0QXJyYXkgOiBBcnJheTtcblxuY29uc3QgZGdsID0ge1xuICAgIFJlbmRlcmVyLFxuICAgIE9iamVjdDNELFxuICAgIFBlcnNwZWN0aXZlQ2FtZXJhLFxuICAgIE9ydGhvZ3JhcGhpY0NhbWVyYSxcbiAgICBCdWZmZXIsXG4gICAgR2VvbWV0cnksXG4gICAgTWVzaCxcbiAgICBTcHJpdGUsXG4gICAgTXVsdGlTcHJpdGUsXG4gICAgQmFzaWNNZXNoUHJvZ3JhbSxcbiAgICBDb21wbGV4TWVzaFByb2dyYW0sXG4gICAgU3ByaXRlUHJvZ3JhbSxcbiAgICBNdWx0aVNwcml0ZVByb2dyYW0sXG4gICAgU2NlbmUsXG4gICAgVGV4dHVyZSxcbiAgICBBbWJpZW50TGlnaHQsXG4gICAgRGlyZWN0aW9uYWxMaWdodCxcbiAgICBSYXljYXN0ZXIsXG4gICAgUmF5LFxuICAgIFBsYW5lLFxuICAgIEZydXN0dW0sXG4gICAgQm94LFxuICAgIExpbmUzLFxuICAgIE1hdGg6IG1hdGgsXG4gICAgdmVjMyxcbiAgICBtYXQzLFxuICAgIHZlYzIsXG4gICAgbWF0NCxcbiAgICBxdWF0XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRnbDtcbiJdfQ==

2

package.json
{
"name": "2gl",
"version": "0.0.27",
"version": "0.0.28",
"description": "WebGL library for 2GIS projects",

@@ -5,0 +5,0 @@ "repository": {

@@ -20,2 +20,5 @@ # 2gl [![Build Status](https://travis-ci.org/2gis/2gl.svg?branch=master)](https://travis-ci.org/2gis/2gl) [![Coverage Status](https://coveralls.io/repos/2gis/2gl/badge.svg?branch=master&service=github)](https://coveralls.io/github/2gis/2gl?branch=master)

#### Установка
* `npm install 2gl`
#### Development

@@ -26,2 +29,3 @@ * `npm install`

#### Release
* `npm run build`
* `npm version patch` - поднять патч версию
* `npm run pub` - собрать проект, отправить в npm, вернуть в исходное состояние

@@ -13,2 +13,6 @@ 'use strict';

var _MultiSpriteRenderer = require('./MultiSpriteRenderer');
var _MultiSpriteRenderer2 = _interopRequireDefault(_MultiSpriteRenderer);
var _TransparentRenderer = require('./TransparentRenderer');

@@ -59,2 +63,3 @@

this._spriteRenderer = new _SpriteRenderer2.default();
this._multiSpriteRenderer = new _MultiSpriteRenderer2.default(this);
this._transparentRenderer = new _TransparentRenderer2.default();

@@ -149,3 +154,4 @@

transparent: [],
sprites: []
sprites: [],
multiSprites: []
};

@@ -196,2 +202,4 @@

this._multiSpriteRenderer.render(state, typedObjects.multiSprites);
return this;

@@ -244,2 +252,2 @@ }

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW5kZXJlci9SZW5kZXJlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBZ0JNO0FBQ0YsYUFERSxRQUNGLENBQVksT0FBWixFQUFxQjs4QkFEbkIsVUFDbUI7O0FBQ2pCLGFBQUssVUFBTCxHQUFrQixPQUFPLFFBQVEsU0FBUixLQUFzQixRQUE3QixHQUNkLFNBQVMsY0FBVCxDQUF3QixRQUFRLFNBQVIsQ0FEVixHQUMrQixRQUFRLFNBQVIsQ0FGaEM7O0FBSWpCLGFBQUssV0FBTCxHQUFtQixRQUFRLFVBQVIsSUFBc0IsQ0FBdEIsQ0FKRjtBQUtqQixhQUFLLFVBQUwsR0FBa0IsUUFBUSxTQUFSLEtBQXNCLFNBQXRCLEdBQWtDLFFBQVEsU0FBUixHQUFvQixJQUF0RDs7Ozs7O0FBTEQsWUFXakIsQ0FBSyxTQUFMLEdBQWlCLFFBQVEsU0FBUixLQUFzQixTQUF0QixHQUFrQyxRQUFRLFNBQVIsR0FBb0IsSUFBdEQ7Ozs7OztBQVhBLFlBaUJqQixDQUFLLFVBQUwsR0FBa0IsUUFBUSxVQUFSLElBQXNCLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixDQUF0QixDQWpCRDtBQWtCakIsYUFBSyxXQUFMLEdBQW1CLElBQW5CLENBbEJpQjs7QUFvQmpCLGFBQUssZUFBTCxHQUF1Qiw4QkFBdkIsQ0FwQmlCO0FBcUJqQixhQUFLLG9CQUFMLEdBQTRCLG1DQUE1QixDQXJCaUI7O0FBdUJqQixhQUFLLGlCQUFMLEdBdkJpQjtLQUFyQjs7Ozs7Ozs7aUJBREU7O3NDQStCWSxPQUFPO0FBQ2pCLGlCQUFLLFdBQUwsR0FBbUIsS0FBbkIsQ0FEaUI7O0FBR2pCLG1CQUFPLElBQVAsQ0FIaUI7Ozs7Ozs7Ozs7d0NBVUw7QUFDWixtQkFBTyxLQUFLLFdBQUwsQ0FESzs7Ozs7Ozs7Ozs7Z0NBU1IsT0FBTyxRQUFRO0FBQ25CLGlCQUFLLEtBQUwsR0FBYSxDQUNULFFB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QUFFaEIsaUJBQUssVUFBTCxDQUFnQixXQUFoQixDQUE0QixLQUFLLGNBQUwsQ0FBNUIsQ0FGZ0I7O0FBSWhCLGdCQUFNLGFBQWE7QUFDZiwyQkFBVyxLQUFLLFVBQUw7YUFEVCxDQUpVOztBQVFoQixpQkFBSyxHQUFMLEdBQVcsS0FBSyxjQUFMLENBQW9CLFVBQXBCLENBQStCLE9BQS9CLEVBQXdDLFVBQXhDLEtBQ1AsS0FBSyxjQUFMLENBQW9CLFVBQXBCLENBQStCLG9CQUEvQixFQUFxRCxVQUFyRCxDQURPLENBUks7Ozs7eUNBWUgsR0FBRyxHQUFHO0FBQ25CLG1CQUFPLEVBQUUsV0FBRixHQUFnQixFQUFFLFdBQUYsQ0FESjs7OztXQTFKckI7OztrQkErSlMiLCJmaWxlIjoiUmVuZGVyZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3ByaXRlUmVuZGVyZXIgZnJvbSAnLi9TcHJpdGVSZW5kZXJlcic7XG5pbXBvcnQgVHJhbnNwYXJlbnRSZW5kZXJlciBmcm9tICcuL1RyYW5zcGFyZW50UmVuZGVyZXInO1xuXG4vKipcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8gV2ViR0wg0LrQvtC90YLQtdC60YHRgtCwINC4INC+0YLRgNC40YHQvtCy0LrQuCDQvtCx0YrQtdC60YLQvtCyLlxuICog0JTQu9GPINC90LXQutC+0YLQvtGA0YvRhSDQvtCx0YrQtdC60YLQvtCyINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0L/QtdGG0LjRhNC40YfQvdGL0LUg0YDQtdC90LTQtdGA0YsuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMuY29udGFpbmVyINCt0LvQtdC80LXQvdGCINCyINC60L7RgtC+0YDRi9C5INCx0YPQtNC10YIg0LTQvtCx0LDQstC70LXQvSBjYW52YXNcbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy5waXhlbFJhdGlvPTFdIFBpeGVsIHJhdGlvINGN0LrRgNCw0L3QsFxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5hbnRpYWxpYXM9dHJ1ZV0g0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC70Lgg0LDQvdGC0LjQsNC70LjQsNGB0LjQvdCzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmF1dG9DbGVhcj10cnVlXSDQodGC0LjRgNCw0YLRjCDQu9C4INC/0YDQvtGI0LvRi9C5INC60LDQtNGAINC/0LXRgNC10LQg0L3QvtCy0YvQuSDRgNC10L3QtNC10YDQuNC90LPQvtC8XG4gKiBAcGFyYW0ge0FycmF5fSBbb3B0aW9ucy5jbGVhckNvbG9yPXRydWVdINCm0LLQtdGCINC30LDQu9C40LLQutC4INCyINGE0L7RgNC80LDRgtC1IFJHQkFcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5zb3J0T2JqZWN0cz10cnVlXSDQndGD0LbQvdC+INC70Lgg0YHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9GA0L7Qt9GA0LDRh9C90YvQtSDQvtCx0YrQtdC60YLRiyDQv9C+INGD0LTQsNC70LXQvdC90L7RgdGC0LhcbiAqINC40LvQuCDQv9C+IHJlbmRlck9yZGVyXG4gKiAqL1xuY2xhc3MgUmVuZGVyZXIge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gdHlwZW9mIG9wdGlvbnMuY29udGFpbmVyID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvcHRpb25zLmNvbnRhaW5lcikgOiBvcHRpb25zLmNvbnRhaW5lcjtcblxuICAgICAgICB0aGlzLl9waXhlbFJhdGlvID0gb3B0aW9ucy5waXhlbFJhdGlvIHx8IDE7XG4gICAgICAgIHRoaXMuX2FudGlhbGlhcyA9IG9wdGlvbnMuYW50aWFsaWFzICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmFudGlhbGlhcyA6IHRydWU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCe0L/RgNC10LTQtdC70Y/QtdGCINGB0YLQuNGA0LDRgtGMINC70Lgg0L/RgNC+0YjQu9GL0Lkg0LrQsNC00YAg0L/QtdGA0LXQtCDQvdC+0LLRi9C5INGA0LXQvdC00LXRgNC40L3Qs9C+0LxcbiAgICAgICAgICogQHR5cGUge0Jvb2xlYW59XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmF1dG9DbGVhciA9IG9wdGlvbnMuYXV0b0NsZWFyICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmF1dG9DbGVhciA6IHRydWU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCm0LLQtdGCINC30LDQu9C40LLQutC4INCyINGE0L7RgNC80LDRgtC1IFJHQkFcbiAgICAgICAgICogQHR5cGUge0FycmF5fVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5jbGVhckNvbG9yID0gb3B0aW9ucy5jbGVhckNvbG9yIHx8IFsxLCAxLCAxLCAxXTtcbiAgICAgICAgdGhpcy5zb3J0T2JqZWN0cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5fc3ByaXRlUmVuZGVyZXIgPSBuZXcgU3ByaXRlUmVuZGVyZXIoKTtcbiAgICAgICAgdGhpcy5fdHJhbnNwYXJlbnRSZW5kZXJlciA9IG5ldyBUcmFuc3BhcmVudFJlbmRlcmVyKCk7XG5cbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUNhbnZhcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC/0LDRgNCw0LzQtdGC0YAgcGl4ZWwgcmF0aW9cbiAgICAgKiBAcGFyYW0ge051bWJlcn0gdmFsdWVcbiAgICAgKi9cbiAgICBzZXRQaXhlbFJhdGlvKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3BpeGVsUmF0aW8gPSB2YWx1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgtC10LrRg9GJ0LjQuSBwaXhlbCByYXRpb1xuICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9XG4gICAgICovXG4gICAgZ2V0UGl4ZWxSYXRpbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BpeGVsUmF0aW87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0YDQsNC30LzQtdGA0Ysg0Y3Qu9C10LzQtdC90YLRgyBjYW52YXMg0Lggdmlld3BvcnQg0LTQu9GPIFdlYkdMXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHdpZHRoINCo0LjRgNC40L3QsCDQsiDQv9C40LrRgdC10LvRj9GFXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGhlaWdodCDQktGL0YHQvtGC0LAg0LIg0L/QuNC60YHQtdC70Y/RhVxuICAgICAqL1xuICAgIHNldFNpemUod2lkdGgsIGhlaWdodCkge1xuICAgICAgICB0aGlzLl9zaXplID0gW1xuICAgICAgICAgICAgd2lkdGggKiB0aGlzLl9waXhlbFJhdGlvLFxuICAgICAgICAgICAgaGVpZ2h0ICogdGhpcy5fcGl4ZWxSYXRpb1xuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQud2lkdGggPSB0aGlzLl9zaXplWzBdO1xuICAgICAgICB0aGlzLl9jYW52YXNFbGVtZW50LmhlaWdodCA9IHRoaXMuX3NpemVbMV07XG4gICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7XG4gICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgdGhpcy5fZ2wudmlld3BvcnQoMCwgMCwgdGhpcy5fc2l6ZVswXSwgdGhpcy5fc2l6ZVsxXSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YLQtdC60YPRidC40Lkgdmlld3BvcnQgV2ViR0xcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAgICovXG4gICAgZ2V0U2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7Rh9C40YnQsNC10YIg0YLQtdC60YPRidC40Lkg0LrQsNC00YAg0Lgg0LfQsNC70LjQstCw0LXRgiDRhtCy0LXRgtC+0Lwg0YPQutCw0LfQsNC90L3Ri9C8INCyIGNsZWFyQ29sb3JcbiAgICAgKi9cbiAgICBjbGVhcigpIHtcbiAgICAgICAgY29uc3QgZ2wgPSB0aGlzLl9nbDtcblxuICAgICAgICBnbC5jbGVhckNvbG9yLmFwcGx5KGdsLCB0aGlzLmNsZWFyQ29sb3IpO1xuICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KDQuNGB0YPQtdGCINGB0YbQtdC90YNcbiAgICAgKiBAcGFyYW0ge1NjZW5lfSBzY2VuZSDQodGG0LXQvdCwXG4gICAgICogQHBhcmFtIHtDYW1lcmF9IGNhbWVyYSDQmtCw0LzQtdGA0LBcbiAgICAgKi9cbiAgICByZW5kZXIoc2NlbmUsIGNhbWVyYSkge1xuICAgICAgICBjb25zdCBnbCA9IHRoaXMuX2dsO1xuICAgICAgICBjb25zdCB0eXBlZE9iamVjdHMgPSB7XG4gICAgICAgICAgICBjb21tb246IFtdLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQ6IFtdLFxuICAgICAgICAgICAgc3ByaXRlczogW11cbiAgICAgICAgfTtcblxuICAgICAgICBzY2VuZS50eXBpZnlGb3JSZW5kZXIodHlwZWRPYmplY3RzKTtcblxuICAgICAgICBnbC5jbGVhckRlcHRoKDEpO1xuICAgICAgICBnbC5jbGVhclN0ZW5jaWwoMCk7XG5cbiAgICAgICAgZ2wuZW5hYmxlKGdsLkRFUFRIX1RFU1QpO1xuICAgICAgICBnbC5kZXB0aEZ1bmMoZ2wuTEVRVUFMKTtcblxuICAgICAgICBnbC5mcm9udEZhY2UoZ2wuQ0NXKTtcbiAgICAgICAgZ2wuY3VsbEZhY2UoZ2wuQkFDSyk7XG4gICAgICAgIGdsLmVuYWJsZShnbC5DVUxMX0ZBQ0UpO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dG9DbGVhcikge1xuICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FtZXJhLnVwZGF0ZUxvY2FsTWF0cml4KCk7XG4gICAgICAgIGNhbWVyYS51cGRhdGVXb3JsZE1hdHJpeCgpO1xuXG4gICAgICAgIGdsLmRpc2FibGUoZ2wuQkxFTkQpO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgcmVuZGVyZXI6IHRoaXMsXG4gICAgICAgICAgICBzY2VuZSxcbiAgICAgICAgICAgIGNhbWVyYSxcbiAgICAgICAgICAgIGdsXG4gICAgICAgIH07XG4gICAgICAgIC8vIFRPRE86IG1ha2Ugc3RhdGUgaW1tdXRhYmxlP1xuXG4gICAgICAgIGNvbnN0IHJlbmRlck9iamVjdHMgPSB0eXBlZE9iamVjdHMuY29tbW9uO1xuXG4gICAgICAgIGlmIChzdGF0ZS5yZW5kZXJlci5zb3J0T2JqZWN0cykge1xuICAgICAgICAgICAgcmVuZGVyT2JqZWN0cy5zb3J0KHRoaXMuX3JlbmRlck9yZGVyU29ydCk7XG4gICAgICAgIH1cblxuICAgICAgICByZW5kZXJPYmplY3RzLmZvckVhY2gob2JqZWN0ID0+IG9iamVjdC5yZW5kZXIoc3RhdGUpKTtcblxuICAgICAgICB0aGlzLl90cmFuc3BhcmVudFJlbmRlcmVyLnJlbmRlcihzdGF0ZSwgdHlwZWRPYmplY3RzLnRyYW5zcGFyZW50KTtcblxuICAgICAgICB0aGlzLl9zcHJpdGVSZW5kZXJlci5yZW5kZXIoc3RhdGUsIHR5cGVkT2JqZWN0cy5zcHJpdGVzKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBfaW5pdGlhbGl6ZUNhbnZhcygpIHtcbiAgICAgICAgdGhpcy5fY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICB0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fY2FudmFzRWxlbWVudCk7XG5cbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICAgICAgICAgIGFudGlhbGlhczogdGhpcy5fYW50aWFsaWFzXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fZ2wgPSB0aGlzLl9jYW52YXNFbGVtZW50LmdldENvbnRleHQoJ3dlYmdsJywgYXR0cmlidXRlcykgfHxcbiAgICAgICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCgnZXhwZXJpbWVudGFsLXdlYmdsJywgYXR0cmlidXRlcyk7XG4gICAgfVxuXG4gICAgX3JlbmRlck9yZGVyU29ydChhLCBiKSB7XG4gICAgICAgIHJldHVybiBhLnJlbmRlck9yZGVyIC0gYi5yZW5kZXJPcmRlcjtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbmRlcmVyO1xuXG4vKipcbiAqINCh0L7RgdGC0L7Rj9C90LjQtSDRgNC10L3QtNC10YDQsC4g0J/QtdGA0LXQtNCw0LXRgtGB0Y8g0L7QsdGK0LXQutGC0LDQvCDQtNC70Y8g0L7RgtGA0LjRgdC+0LLQutC4LlxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAqIEBwcm9wZXJ0eSB7U2NlbmV9IHNjZW5lXG4gKiBAcHJvcGVydHkge0NhbWVyYX0gY2FtZXJhXG4gKiBAcHJvcGVydHkge1JlbmRlcmVyfSByZW5kZXJlclxuICovXG5cbi8qKlxuICog0J7QsdGK0LXQutGCINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YDQsNGB0L/RgNC10LTQtdC70LXQvdC40Y8g0L7QsdGK0LXQutGC0L7QsiDQv9C+INGC0LjQv9Cw0Lwg0YDQtdC90LTQtdGA0L7QsixcbiAqINGCLtC6LiDQv9GA0L7Qt9GA0LDRh9C90YvQtSDQvtCx0YrQtdC60YLRiyDQuCDRgdC/0YDQsNC50YLRiyDRgNC10L3QtNC10YDRj9GC0YHRjyDQvtGC0LTQtdC70YzQvdC+LlxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFR5cGVkT2JqZWN0c1xuICogQHByb3BlcnR5IHtBcnJheX0gY29tbW9uINCh0Y7QtNCwINGB0LrQu9Cw0LTRi9Cy0LDRjtGC0YHRjyDQstGB0LUg0L7QsdGK0LXQutGC0YssINC00LvRjyDQutC+0YLQvtGA0YvRhSDQvdC10YIg0YHQv9C10YbQuNCw0LvRjNC90YvRhSDRgNC10L3QtNC10YDQvtCyXG4gKiBAcHJvcGVydHkge0FycmF5fSB0cmFuc3BhcmVudCDQn9GA0L7Qt9GA0LDRh9C90YvQtSDQvtCx0YrQtdC60YLRi1xuICogQHByb3BlcnR5IHtBcnJheX0gc3ByaXRlcyDQodC/0YDQsNC50YLRi1xuICovXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZW5kZXJlci9SZW5kZXJlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWlCTTtBQUNGLGFBREUsUUFDRixDQUFZLE9BQVosRUFBcUI7OEJBRG5CLFVBQ21COztBQUNqQixhQUFLLFVBQUwsR0FBa0IsT0FBTyxRQUFRLFNBQVIsS0FBc0IsUUFBN0IsR0FDZCxTQUFTLGNBQVQsQ0FBd0IsUUFBUSxTQUFSLENBRFYsR0FDK0IsUUFBUSxTQUFSLENBRmhDOztBQUlqQixhQUFLLFdBQUwsR0FBbUIsUUFBUSxVQUFSLElBQXNCLENBQXRCLENBSkY7QUFLakIsYUFBSyxVQUFMLEdBQWtCLFFBQVEsU0FBUixLQUFzQixTQUF0QixHQUFrQyxRQUFRLFNBQVIsR0FBb0IsSUFBdEQ7Ozs7OztBQUxELFlBV2pCLENBQUssU0FBTCxHQUFpQixRQUFRLFNBQVIsS0FBc0IsU0FBdEIsR0FBa0MsUUFBUSxTQUFSLEdBQW9CLElBQXREOzs7Ozs7QUFYQSxZQWlCakIsQ0FBSyxVQUFMLEdBQWtCLFFBQVEsVUFBUixJQUFzQixDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxFQUFVLENBQVYsQ0FBdEIsQ0FqQkQ7QUFrQmpCLGFBQUssV0FBTCxHQUFtQixJQUFuQixDQWxCaUI7O0FBb0JqQixhQUFLLGVBQUwsR0FBdUIsOEJBQXZCLENBcEJpQjtBQXFCakIsYUFBSyxvQkFBTCxHQUE0QixrQ0FBd0IsSUFBeEIsQ0FBNUIsQ0FyQmlCO0FBc0JqQixhQUFLLG9CQUFMLEdBQTRCLG1DQUE1QixDQXRCaUI7O0FBd0JqQixhQUFLLGlCQUFMLEdBeEJpQjtLQUFyQjs7Ozs7Ozs7aUJBREU7O3NDQWdDWSxPQUFPO0FBQ2pCLGlCQUFLLFdBQUwsR0FBbUIsS0FBbkIsQ0FEaUI7O0FBR2pCLG1CQUFPLElBQVAsQ0FIaUI7Ozs7Ozs7Ozs7d0NBVUw7QUFDWixtQkFBTyxLQUFLLFdBQUwsQ0FESzs7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MEIsTUFBMUIsQ0FBaUMsS0FBakMsRUFBd0MsYUFBYSxZQUFiLENBQXhDLENBbERrQjs7QUFvRGxCLG1CQUFPLElBQVAsQ0FwRGtCOzs7OzRDQXVERjtBQUNoQixpQkFBSyxjQUFMLEdBQXNCLFNBQVMsYUFBVCxDQUF1QixRQUF2QixDQUF0QixDQURnQjtBQUVoQixpQkFBSyxVQUFMLENBQWdCLFdBQWhCLENBQTRCLEtBQUssY0FBTCxDQUE1QixDQUZnQjs7QUFJaEIsZ0JBQU0sYUFBYTtBQUNmLDJCQUFXLEtBQUssVUFBTDthQURULENBSlU7O0FBUWhCLGlCQUFLLEdBQUwsR0FBVyxLQUFLLGNBQUwsQ0FBb0IsVUFBcEIsQ0FBK0IsT0FBL0IsRUFBd0MsVUFBeEMsS0FDUCxLQUFLLGNBQUwsQ0FBb0IsVUFBcEIsQ0FBK0Isb0JBQS9CLEVBQXFELFVBQXJELENBRE8sQ0FSSzs7Ozt5Q0FZSCxHQUFHLEdBQUc7QUFDbkIsbUJBQU8sRUFBRSxXQUFGLEdBQWdCLEVBQUUsV0FBRixDQURKOzs7O1dBOUpyQjs7O2tCQW1LUyIsImZpbGUiOiJSZW5kZXJlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTcHJpdGVSZW5kZXJlciBmcm9tICcuL1Nwcml0ZVJlbmRlcmVyJztcbmltcG9ydCBNdWx0aVNwcml0ZVJlbmRlcmVyIGZyb20gJy4vTXVsdGlTcHJpdGVSZW5kZXJlcic7XG5pbXBvcnQgVHJhbnNwYXJlbnRSZW5kZXJlciBmcm9tICcuL1RyYW5zcGFyZW50UmVuZGVyZXInO1xuXG4vKipcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8gV2ViR0wg0LrQvtC90YLQtdC60YHRgtCwINC4INC+0YLRgNC40YHQvtCy0LrQuCDQvtCx0YrQtdC60YLQvtCyLlxuICog0JTQu9GPINC90LXQutC+0YLQvtGA0YvRhSDQvtCx0YrQtdC60YLQvtCyINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0L/QtdGG0LjRhNC40YfQvdGL0LUg0YDQtdC90LTQtdGA0YsuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMuY29udGFpbmVyINCt0LvQtdC80LXQvdGCINCyINC60L7RgtC+0YDRi9C5INCx0YPQtNC10YIg0LTQvtCx0LDQstC70LXQvSBjYW52YXNcbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy5waXhlbFJhdGlvPTFdIFBpeGVsIHJhdGlvINGN0LrRgNCw0L3QsFxuICogQHBhcmFtIHtCb29sZWFufSBbb3B0aW9ucy5hbnRpYWxpYXM9dHJ1ZV0g0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC70Lgg0LDQvdGC0LjQsNC70LjQsNGB0LjQvdCzXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmF1dG9DbGVhcj10cnVlXSDQodGC0LjRgNCw0YLRjCDQu9C4INC/0YDQvtGI0LvRi9C5INC60LDQtNGAINC/0LXRgNC10LQg0L3QvtCy0YvQuSDRgNC10L3QtNC10YDQuNC90LPQvtC8XG4gKiBAcGFyYW0ge0FycmF5fSBbb3B0aW9ucy5jbGVhckNvbG9yPXRydWVdINCm0LLQtdGCINC30LDQu9C40LLQutC4INCyINGE0L7RgNC80LDRgtC1IFJHQkFcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5zb3J0T2JqZWN0cz10cnVlXSDQndGD0LbQvdC+INC70Lgg0YHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9GA0L7Qt9GA0LDRh9C90YvQtSDQvtCx0YrQtdC60YLRiyDQv9C+INGD0LTQsNC70LXQvdC90L7RgdGC0LhcbiAqINC40LvQuCDQv9C+IHJlbmRlck9yZGVyXG4gKiAqL1xuY2xhc3MgUmVuZGVyZXIge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gdHlwZW9mIG9wdGlvbnMuY29udGFpbmVyID09PSAnc3RyaW5nJyA/XG4gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvcHRpb25zLmNvbnRhaW5lcikgOiBvcHRpb25zLmNvbnRhaW5lcjtcblxuICAgICAgICB0aGlzLl9waXhlbFJhdGlvID0gb3B0aW9ucy5waXhlbFJhdGlvIHx8IDE7XG4gICAgICAgIHRoaXMuX2FudGlhbGlhcyA9IG9wdGlvbnMuYW50aWFsaWFzICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmFudGlhbGlhcyA6IHRydWU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCe0L/RgNC10LTQtdC70Y/QtdGCINGB0YLQuNGA0LDRgtGMINC70Lgg0L/RgNC+0YjQu9GL0Lkg0LrQsNC00YAg0L/QtdGA0LXQtCDQvdC+0LLRi9C5INGA0LXQvdC00LXRgNC40L3Qs9C+0LxcbiAgICAgICAgICogQHR5cGUge0Jvb2xlYW59XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmF1dG9DbGVhciA9IG9wdGlvbnMuYXV0b0NsZWFyICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmF1dG9DbGVhciA6IHRydWU7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCm0LLQtdGCINC30LDQu9C40LLQutC4INCyINGE0L7RgNC80LDRgtC1IFJHQkFcbiAgICAgICAgICogQHR5cGUge0FycmF5fVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5jbGVhckNvbG9yID0gb3B0aW9ucy5jbGVhckNvbG9yIHx8IFsxLCAxLCAxLCAxXTtcbiAgICAgICAgdGhpcy5zb3J0T2JqZWN0cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5fc3ByaXRlUmVuZGVyZXIgPSBuZXcgU3ByaXRlUmVuZGVyZXIoKTtcbiAgICAgICAgdGhpcy5fbXVsdGlTcHJpdGVSZW5kZXJlciA9IG5ldyBNdWx0aVNwcml0ZVJlbmRlcmVyKHRoaXMpO1xuICAgICAgICB0aGlzLl90cmFuc3BhcmVudFJlbmRlcmVyID0gbmV3IFRyYW5zcGFyZW50UmVuZGVyZXIoKTtcblxuICAgICAgICB0aGlzLl9pbml0aWFsaXplQ2FudmFzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L/QsNGA0LDQvNC10YLRgCBwaXhlbCByYXRpb1xuICAgICAqIEBwYXJhbSB7TnVtYmVyfSB2YWx1ZVxuICAgICAqL1xuICAgIHNldFBpeGVsUmF0aW8odmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcGl4ZWxSYXRpbyA9IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGC0LXQutGD0YnQuNC5IHBpeGVsIHJhdGlvXG4gICAgICogQHJldHVybnMge051bWJlcn1cbiAgICAgKi9cbiAgICBnZXRQaXhlbFJhdGlvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGl4ZWxSYXRpbztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgNCw0LfQvNC10YDRiyDRjdC70LXQvNC10L3RgtGDIGNhbnZhcyDQuCB2aWV3cG9ydCDQtNC70Y8gV2ViR0xcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gd2lkdGgg0KjQuNGA0LjQvdCwINCyINC/0LjQutGB0LXQu9GP0YVcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0INCS0YvRgdC+0YLQsCDQsiDQv9C40LrRgdC10LvRj9GFXG4gICAgICovXG4gICAgc2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBbXG4gICAgICAgICAgICB3aWR0aCAqIHRoaXMuX3BpeGVsUmF0aW8sXG4gICAgICAgICAgICBoZWlnaHQgKiB0aGlzLl9waXhlbFJhdGlvXG4gICAgICAgIF07XG5cbiAgICAgICAgdGhpcy5fY2FudmFzRWxlbWVudC53aWR0aCA9IHRoaXMuX3NpemVbMF07XG4gICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQuaGVpZ2h0ID0gdGhpcy5fc2l6ZVsxXTtcbiAgICAgICAgdGhpcy5fY2FudmFzRWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICAgICAgdGhpcy5fY2FudmFzRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAncHgnO1xuICAgICAgICB0aGlzLl9nbC52aWV3cG9ydCgwLCAwLCB0aGlzLl9zaXplWzBdLCB0aGlzLl9zaXplWzFdKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgtC10LrRg9GJ0LjQuSB2aWV3cG9ydCBXZWJHTFxuICAgICAqIEByZXR1cm5zIHtBcnJheX1cbiAgICAgKi9cbiAgICBnZXRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGH0LjRidCw0LXRgiDRgtC10LrRg9GJ0LjQuSDQutCw0LTRgCDQuCDQt9Cw0LvQuNCy0LDQtdGCINGG0LLQtdGC0L7QvCDRg9C60LDQt9Cw0L3QvdGL0Lwg0LIgY2xlYXJDb2xvclxuICAgICAqL1xuICAgIGNsZWFyKCkge1xuICAgICAgICBjb25zdCBnbCA9IHRoaXMuX2dsO1xuXG4gICAgICAgIGdsLmNsZWFyQ29sb3IuYXBwbHkoZ2wsIHRoaXMuY2xlYXJDb2xvcik7XG4gICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQoNC40YHRg9C10YIg0YHRhtC10L3Rg1xuICAgICAqIEBwYXJhbSB7U2NlbmV9IHNjZW5lINCh0YbQtdC90LBcbiAgICAgKiBAcGFyYW0ge0NhbWVyYX0gY2FtZXJhINCa0LDQvNC10YDQsFxuICAgICAqL1xuICAgIHJlbmRlcihzY2VuZSwgY2FtZXJhKSB7XG4gICAgICAgIGNvbnN0IGdsID0gdGhpcy5fZ2w7XG4gICAgICAgIGNvbnN0IHR5cGVkT2JqZWN0cyA9IHtcbiAgICAgICAgICAgIGNvbW1vbjogW10sXG4gICAgICAgICAgICB0cmFuc3BhcmVudDogW10sXG4gICAgICAgICAgICBzcHJpdGVzOiBbXSxcbiAgICAgICAgICAgIG11bHRpU3ByaXRlczogW11cbiAgICAgICAgfTtcblxuICAgICAgICBzY2VuZS50eXBpZnlGb3JSZW5kZXIodHlwZWRPYmplY3RzKTtcblxuICAgICAgICBnbC5jbGVhckRlcHRoKDEpO1xuICAgICAgICBnbC5jbGVhclN0ZW5jaWwoMCk7XG5cbiAgICAgICAgZ2wuZW5hYmxlKGdsLkRFUFRIX1RFU1QpO1xuICAgICAgICBnbC5kZXB0aEZ1bmMoZ2wuTEVRVUFMKTtcblxuICAgICAgICBnbC5mcm9udEZhY2UoZ2wuQ0NXKTtcbiAgICAgICAgZ2wuY3VsbEZhY2UoZ2wuQkFDSyk7XG4gICAgICAgIGdsLmVuYWJsZShnbC5DVUxMX0ZBQ0UpO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dG9DbGVhcikge1xuICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FtZXJhLnVwZGF0ZUxvY2FsTWF0cml4KCk7XG4gICAgICAgIGNhbWVyYS51cGRhdGVXb3JsZE1hdHJpeCgpO1xuXG4gICAgICAgIGdsLmRpc2FibGUoZ2wuQkxFTkQpO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgcmVuZGVyZXI6IHRoaXMsXG4gICAgICAgICAgICBzY2VuZSxcbiAgICAgICAgICAgIGNhbWVyYSxcbiAgICAgICAgICAgIGdsXG4gICAgICAgIH07XG4gICAgICAgIC8vIFRPRE86IG1ha2Ugc3RhdGUgaW1tdXRhYmxlP1xuXG4gICAgICAgIGNvbnN0IHJlbmRlck9iamVjdHMgPSB0eXBlZE9iamVjdHMuY29tbW9uO1xuXG4gICAgICAgIGlmIChzdGF0ZS5yZW5kZXJlci5zb3J0T2JqZWN0cykge1xuICAgICAgICAgICAgcmVuZGVyT2JqZWN0cy5zb3J0KHRoaXMuX3JlbmRlck9yZGVyU29ydCk7XG4gICAgICAgIH1cblxuICAgICAgICByZW5kZXJPYmplY3RzLmZvckVhY2gob2JqZWN0ID0+IG9iamVjdC5yZW5kZXIoc3RhdGUpKTtcblxuICAgICAgICB0aGlzLl90cmFuc3BhcmVudFJlbmRlcmVyLnJlbmRlcihzdGF0ZSwgdHlwZWRPYmplY3RzLnRyYW5zcGFyZW50KTtcblxuICAgICAgICB0aGlzLl9zcHJpdGVSZW5kZXJlci5yZW5kZXIoc3RhdGUsIHR5cGVkT2JqZWN0cy5zcHJpdGVzKTtcblxuICAgICAgICB0aGlzLl9tdWx0aVNwcml0ZVJlbmRlcmVyLnJlbmRlcihzdGF0ZSwgdHlwZWRPYmplY3RzLm11bHRpU3ByaXRlcyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgX2luaXRpYWxpemVDYW52YXMoKSB7XG4gICAgICAgIHRoaXMuX2NhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NhbnZhc0VsZW1lbnQpO1xuXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7XG4gICAgICAgICAgICBhbnRpYWxpYXM6IHRoaXMuX2FudGlhbGlhc1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX2dsID0gdGhpcy5fY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCd3ZWJnbCcsIGF0dHJpYnV0ZXMpIHx8XG4gICAgICAgICAgICB0aGlzLl9jYW52YXNFbGVtZW50LmdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13ZWJnbCcsIGF0dHJpYnV0ZXMpO1xuICAgIH1cblxuICAgIF9yZW5kZXJPcmRlclNvcnQoYSwgYikge1xuICAgICAgICByZXR1cm4gYS5yZW5kZXJPcmRlciAtIGIucmVuZGVyT3JkZXI7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZW5kZXJlcjtcblxuLyoqXG4gKiDQodC+0YHRgtC+0Y/QvdC40LUg0YDQtdC90LTQtdGA0LAuINCf0LXRgNC10LTQsNC10YLRgdGPINC+0LHRitC10LrRgtCw0Lwg0LTQu9GPINC+0YLRgNC40YHQvtCy0LrQuC5cbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsXG4gKiBAcHJvcGVydHkge1NjZW5lfSBzY2VuZVxuICogQHByb3BlcnR5IHtDYW1lcmF9IGNhbWVyYVxuICogQHByb3BlcnR5IHtSZW5kZXJlcn0gcmVuZGVyZXJcbiAqL1xuXG4vKipcbiAqINCe0LHRitC10LrRgiDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINGA0LDRgdC/0YDQtdC00LXQu9C10L3QuNGPINC+0LHRitC10LrRgtC+0LIg0L/QviDRgtC40L/QsNC8INGA0LXQvdC00LXRgNC+0LIsXG4gKiDRgi7Qui4g0L/RgNC+0LfRgNCw0YfQvdGL0LUg0L7QsdGK0LXQutGC0Ysg0Lgg0YHQv9GA0LDQudGC0Ysg0YDQtdC90LTQtdGA0Y/RgtGB0Y8g0L7RgtC00LXQu9GM0L3Qvi5cbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUeXBlZE9iamVjdHNcbiAqIEBwcm9wZXJ0eSB7QXJyYXl9IGNvbW1vbiDQodGO0LTQsCDRgdC60LvQsNC00YvQstCw0Y7RgtGB0Y8g0LLRgdC1INC+0LHRitC10LrRgtGLLCDQtNC70Y8g0LrQvtGC0L7RgNGL0YUg0L3QtdGCINGB0L/QtdGG0LjQsNC70YzQvdGL0YUg0YDQtdC90LTQtdGA0L7QslxuICogQHByb3BlcnR5IHtBcnJheX0gdHJhbnNwYXJlbnQg0J/RgNC+0LfRgNCw0YfQvdGL0LUg0L7QsdGK0LXQutGC0YtcbiAqIEBwcm9wZXJ0eSB7QXJyYXl9IHNwcml0ZXMg0KHQv9GA0LDQudGC0YtcbiAqL1xuIl19
"use strict";
module.exports = "\nprecision mediump float;\n\nuniform float uColorAlpha;\nvarying vec3 vColor;\n\nvoid main(void) {\n gl_FragColor = vec4(vColor.rgb, uColorAlpha);\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2Jhc2ljLmZyYWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoiYmFzaWMuZnJhZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cbnVuaWZvcm0gZmxvYXQgdUNvbG9yQWxwaGE7XG52YXJ5aW5nIHZlYzMgdkNvbG9yO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQodkNvbG9yLnJnYiwgdUNvbG9yQWxwaGEpO1xufVxuYDsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2Jhc2ljLmZyYWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoiYmFzaWMuZnJhZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cbnVuaWZvcm0gZmxvYXQgdUNvbG9yQWxwaGE7XG52YXJ5aW5nIHZlYzMgdkNvbG9yO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQodkNvbG9yLnJnYiwgdUNvbG9yQWxwaGEpO1xufVxuYDtcbiJdfQ==
"use strict";
module.exports = "\nattribute vec3 position;\n\nuniform mat4 uPosition;\nuniform mat4 uCamera;\nuniform vec3 uColor;\nuniform vec3 uEmissive;\n\nvarying vec3 vColor;\n\nvoid main(void) {\n vColor = uColor;\n\n gl_Position = uCamera * uPosition * vec4(position, 1.0);\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2Jhc2ljLnZlcnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoiYmFzaWMudmVydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5cbnVuaWZvcm0gbWF0NCB1UG9zaXRpb247XG51bmlmb3JtIG1hdDQgdUNhbWVyYTtcbnVuaWZvcm0gdmVjMyB1Q29sb3I7XG51bmlmb3JtIHZlYzMgdUVtaXNzaXZlO1xuXG52YXJ5aW5nIHZlYzMgdkNvbG9yO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIHZDb2xvciA9IHVDb2xvcjtcblxuICAgIGdsX1Bvc2l0aW9uID0gdUNhbWVyYSAqIHVQb3NpdGlvbiAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG59XG5gOyJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2Jhc2ljLnZlcnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoiYmFzaWMudmVydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5cbnVuaWZvcm0gbWF0NCB1UG9zaXRpb247XG51bmlmb3JtIG1hdDQgdUNhbWVyYTtcbnVuaWZvcm0gdmVjMyB1Q29sb3I7XG51bmlmb3JtIHZlYzMgdUVtaXNzaXZlO1xuXG52YXJ5aW5nIHZlYzMgdkNvbG9yO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIHZDb2xvciA9IHVDb2xvcjtcblxuICAgIGdsX1Bvc2l0aW9uID0gdUNhbWVyYSAqIHVQb3NpdGlvbiAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG59XG5gO1xuIl19
"use strict";
module.exports = "\nprecision mediump float;\n\n#ifdef USE_TEXTURE\n uniform sampler2D uTexture;\n varying vec2 vTextureCoord;\n varying float vTextureEnable;\n#endif\n\nuniform float uColorAlpha;\nvarying vec3 vLightWeighting;\nvarying vec3 vColor;\nvarying vec3 vEmissive;\n\nvoid main(void) {\n vec4 color = vec4(vColor.rgb, uColorAlpha);\n\n #ifdef USE_TEXTURE\n if (vTextureEnable > 0.5) {\n vec4 textureColor = texture2D(uTexture, vec2(vTextureCoord.s, vTextureCoord.t));\n color = vec4(textureColor.rgb * color.rgb, color.a);\n }\n #endif\n\n gl_FragColor = vec4(color.rgb * vLightWeighting + vEmissive, color.a);\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2NvbXBsZXguZnJhZy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sT0FBUCIsImZpbGUiOiJjb21wbGV4LmZyYWcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGBcbnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXG4jaWZkZWYgVVNFX1RFWFRVUkVcbiAgICB1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZTtcbiAgICB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbiAgICB2YXJ5aW5nIGZsb2F0IHZUZXh0dXJlRW5hYmxlO1xuI2VuZGlmXG5cbnVuaWZvcm0gZmxvYXQgdUNvbG9yQWxwaGE7XG52YXJ5aW5nIHZlYzMgdkxpZ2h0V2VpZ2h0aW5nO1xudmFyeWluZyB2ZWMzIHZDb2xvcjtcbnZhcnlpbmcgdmVjMyB2RW1pc3NpdmU7XG5cbnZvaWQgbWFpbih2b2lkKSB7XG4gICAgdmVjNCBjb2xvciA9IHZlYzQodkNvbG9yLnJnYiwgdUNvbG9yQWxwaGEpO1xuXG4gICAgI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgICAgIGlmICh2VGV4dHVyZUVuYWJsZSA+IDAuNSkge1xuICAgICAgICAgICAgdmVjNCB0ZXh0dXJlQ29sb3IgPSB0ZXh0dXJlMkQodVRleHR1cmUsIHZlYzIodlRleHR1cmVDb29yZC5zLCB2VGV4dHVyZUNvb3JkLnQpKTtcbiAgICAgICAgICAgIGNvbG9yID0gdmVjNCh0ZXh0dXJlQ29sb3IucmdiICogY29sb3IucmdiLCBjb2xvci5hKTtcbiAgICAgICAgfVxuICAgICNlbmRpZlxuXG4gICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChjb2xvci5yZ2IgKiB2TGlnaHRXZWlnaHRpbmcgKyB2RW1pc3NpdmUsIGNvbG9yLmEpO1xufVxuYDsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2NvbXBsZXguZnJhZy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sT0FBUCIsImZpbGUiOiJjb21wbGV4LmZyYWcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGBcbnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXG4jaWZkZWYgVVNFX1RFWFRVUkVcbiAgICB1bmlmb3JtIHNhbXBsZXIyRCB1VGV4dHVyZTtcbiAgICB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbiAgICB2YXJ5aW5nIGZsb2F0IHZUZXh0dXJlRW5hYmxlO1xuI2VuZGlmXG5cbnVuaWZvcm0gZmxvYXQgdUNvbG9yQWxwaGE7XG52YXJ5aW5nIHZlYzMgdkxpZ2h0V2VpZ2h0aW5nO1xudmFyeWluZyB2ZWMzIHZDb2xvcjtcbnZhcnlpbmcgdmVjMyB2RW1pc3NpdmU7XG5cbnZvaWQgbWFpbih2b2lkKSB7XG4gICAgdmVjNCBjb2xvciA9IHZlYzQodkNvbG9yLnJnYiwgdUNvbG9yQWxwaGEpO1xuXG4gICAgI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgICAgIGlmICh2VGV4dHVyZUVuYWJsZSA+IDAuNSkge1xuICAgICAgICAgICAgdmVjNCB0ZXh0dXJlQ29sb3IgPSB0ZXh0dXJlMkQodVRleHR1cmUsIHZlYzIodlRleHR1cmVDb29yZC5zLCB2VGV4dHVyZUNvb3JkLnQpKTtcbiAgICAgICAgICAgIGNvbG9yID0gdmVjNCh0ZXh0dXJlQ29sb3IucmdiICogY29sb3IucmdiLCBjb2xvci5hKTtcbiAgICAgICAgfVxuICAgICNlbmRpZlxuXG4gICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChjb2xvci5yZ2IgKiB2TGlnaHRXZWlnaHRpbmcgKyB2RW1pc3NpdmUsIGNvbG9yLmEpO1xufVxuYDtcbiJdfQ==
"use strict";
module.exports = "\nattribute vec3 position;\nattribute vec3 color;\nattribute vec3 emissive;\n\n#ifdef USE_TEXTURE\n attribute vec2 texture;\n attribute float textureEnable;\n varying vec2 vTextureCoord;\n varying float vTextureEnable;\n#endif\n\n#if DIR_LIGHT_NUM > 0\n attribute vec3 normal;\n uniform vec3 uDirectionLightColors[DIR_LIGHT_NUM];\n uniform vec3 uDirectionLightPositions[DIR_LIGHT_NUM];\n uniform mat3 uNormalMatrix;\n#endif\n\nuniform mat4 uPosition;\nuniform vec3 uAmbientLightColor;\nuniform mat4 uCamera;\n\nvarying vec3 vColor;\nvarying vec3 vEmissive;\nvarying vec3 vLightWeighting;\n\nvoid main(void) {\n vColor = color;\n vEmissive = emissive;\n\n #ifdef USE_TEXTURE\n vTextureCoord = texture;\n vTextureEnable = textureEnable;\n #endif\n\n vec3 vLightTemp = vec3(0.0);\n\n #if DIR_LIGHT_NUM > 0\n vec3 transformedNormal = uNormalMatrix * normal;\n\n for(int i = 0; i < DIR_LIGHT_NUM; i++) {\n float dotProduct = dot(transformedNormal, uDirectionLightPositions[i]);\n vec3 directionalLightWeighting = vec3(max(dotProduct, 0.0));\n vLightTemp += uDirectionLightColors[i] * directionalLightWeighting;\n }\n #endif\n\n vLightWeighting = uAmbientLightColor + vLightTemp;\n\n gl_Position = uCamera * uPosition * vec4(position, 1.0);\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2NvbXBsZXgudmVydC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sT0FBUCIsImZpbGUiOiJjb21wbGV4LnZlcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGBcbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzMgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMyBlbWlzc2l2ZTtcblxuI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgYXR0cmlidXRlIHZlYzIgdGV4dHVyZTtcbiAgICBhdHRyaWJ1dGUgZmxvYXQgdGV4dHVyZUVuYWJsZTtcbiAgICB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbiAgICB2YXJ5aW5nIGZsb2F0IHZUZXh0dXJlRW5hYmxlO1xuI2VuZGlmXG5cbiNpZiBESVJfTElHSFRfTlVNID4gMFxuICAgIGF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDtcbiAgICB1bmlmb3JtIHZlYzMgdURpcmVjdGlvbkxpZ2h0Q29sb3JzW0RJUl9MSUdIVF9OVU1dO1xuICAgIHVuaWZvcm0gdmVjMyB1RGlyZWN0aW9uTGlnaHRQb3NpdGlvbnNbRElSX0xJR0hUX05VTV07XG4gICAgdW5pZm9ybSBtYXQzIHVOb3JtYWxNYXRyaXg7XG4jZW5kaWZcblxudW5pZm9ybSBtYXQ0IHVQb3NpdGlvbjtcbnVuaWZvcm0gdmVjMyB1QW1iaWVudExpZ2h0Q29sb3I7XG51bmlmb3JtIG1hdDQgdUNhbWVyYTtcblxudmFyeWluZyB2ZWMzIHZDb2xvcjtcbnZhcnlpbmcgdmVjMyB2RW1pc3NpdmU7XG52YXJ5aW5nIHZlYzMgdkxpZ2h0V2VpZ2h0aW5nO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIHZDb2xvciA9IGNvbG9yO1xuICAgIHZFbWlzc2l2ZSA9IGVtaXNzaXZlO1xuXG4gICAgI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgICAgIHZUZXh0dXJlQ29vcmQgPSB0ZXh0dXJlO1xuICAgICAgICB2VGV4dHVyZUVuYWJsZSA9IHRleHR1cmVFbmFibGU7XG4gICAgI2VuZGlmXG5cbiAgICB2ZWMzIHZMaWdodFRlbXAgPSB2ZWMzKDAuMCk7XG5cbiAgICAjaWYgRElSX0xJR0hUX05VTSA+IDBcbiAgICAgICAgdmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCA9IHVOb3JtYWxNYXRyaXggKiBub3JtYWw7XG5cbiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IERJUl9MSUdIVF9OVU07IGkrKykge1xuICAgICAgICAgICAgZmxvYXQgZG90UHJvZHVjdCA9IGRvdCh0cmFuc2Zvcm1lZE5vcm1hbCwgdURpcmVjdGlvbkxpZ2h0UG9zaXRpb25zW2ldKTtcbiAgICAgICAgICAgIHZlYzMgZGlyZWN0aW9uYWxMaWdodFdlaWdodGluZyA9IHZlYzMobWF4KGRvdFByb2R1Y3QsIDAuMCkpO1xuICAgICAgICAgICAgdkxpZ2h0VGVtcCArPSB1RGlyZWN0aW9uTGlnaHRDb2xvcnNbaV0gKiBkaXJlY3Rpb25hbExpZ2h0V2VpZ2h0aW5nO1xuICAgICAgICB9XG4gICAgI2VuZGlmXG5cbiAgICB2TGlnaHRXZWlnaHRpbmcgPSB1QW1iaWVudExpZ2h0Q29sb3IgKyB2TGlnaHRUZW1wO1xuXG4gICAgZ2xfUG9zaXRpb24gPSB1Q2FtZXJhICogdVBvc2l0aW9uICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbn1cbmA7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2NvbXBsZXgudmVydC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sT0FBUCIsImZpbGUiOiJjb21wbGV4LnZlcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGBcbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzMgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMyBlbWlzc2l2ZTtcblxuI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgYXR0cmlidXRlIHZlYzIgdGV4dHVyZTtcbiAgICBhdHRyaWJ1dGUgZmxvYXQgdGV4dHVyZUVuYWJsZTtcbiAgICB2YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbiAgICB2YXJ5aW5nIGZsb2F0IHZUZXh0dXJlRW5hYmxlO1xuI2VuZGlmXG5cbiNpZiBESVJfTElHSFRfTlVNID4gMFxuICAgIGF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDtcbiAgICB1bmlmb3JtIHZlYzMgdURpcmVjdGlvbkxpZ2h0Q29sb3JzW0RJUl9MSUdIVF9OVU1dO1xuICAgIHVuaWZvcm0gdmVjMyB1RGlyZWN0aW9uTGlnaHRQb3NpdGlvbnNbRElSX0xJR0hUX05VTV07XG4gICAgdW5pZm9ybSBtYXQzIHVOb3JtYWxNYXRyaXg7XG4jZW5kaWZcblxudW5pZm9ybSBtYXQ0IHVQb3NpdGlvbjtcbnVuaWZvcm0gdmVjMyB1QW1iaWVudExpZ2h0Q29sb3I7XG51bmlmb3JtIG1hdDQgdUNhbWVyYTtcblxudmFyeWluZyB2ZWMzIHZDb2xvcjtcbnZhcnlpbmcgdmVjMyB2RW1pc3NpdmU7XG52YXJ5aW5nIHZlYzMgdkxpZ2h0V2VpZ2h0aW5nO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIHZDb2xvciA9IGNvbG9yO1xuICAgIHZFbWlzc2l2ZSA9IGVtaXNzaXZlO1xuXG4gICAgI2lmZGVmIFVTRV9URVhUVVJFXG4gICAgICAgIHZUZXh0dXJlQ29vcmQgPSB0ZXh0dXJlO1xuICAgICAgICB2VGV4dHVyZUVuYWJsZSA9IHRleHR1cmVFbmFibGU7XG4gICAgI2VuZGlmXG5cbiAgICB2ZWMzIHZMaWdodFRlbXAgPSB2ZWMzKDAuMCk7XG5cbiAgICAjaWYgRElSX0xJR0hUX05VTSA+IDBcbiAgICAgICAgdmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCA9IHVOb3JtYWxNYXRyaXggKiBub3JtYWw7XG5cbiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IERJUl9MSUdIVF9OVU07IGkrKykge1xuICAgICAgICAgICAgZmxvYXQgZG90UHJvZHVjdCA9IGRvdCh0cmFuc2Zvcm1lZE5vcm1hbCwgdURpcmVjdGlvbkxpZ2h0UG9zaXRpb25zW2ldKTtcbiAgICAgICAgICAgIHZlYzMgZGlyZWN0aW9uYWxMaWdodFdlaWdodGluZyA9IHZlYzMobWF4KGRvdFByb2R1Y3QsIDAuMCkpO1xuICAgICAgICAgICAgdkxpZ2h0VGVtcCArPSB1RGlyZWN0aW9uTGlnaHRDb2xvcnNbaV0gKiBkaXJlY3Rpb25hbExpZ2h0V2VpZ2h0aW5nO1xuICAgICAgICB9XG4gICAgI2VuZGlmXG5cbiAgICB2TGlnaHRXZWlnaHRpbmcgPSB1QW1iaWVudExpZ2h0Q29sb3IgKyB2TGlnaHRUZW1wO1xuXG4gICAgZ2xfUG9zaXRpb24gPSB1Q2FtZXJhICogdVBvc2l0aW9uICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbn1cbmA7XG4iXX0=

@@ -20,2 +20,7 @@ 'use strict';

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBTSx3QkFBUTtBQUNqQixZQUFRLFFBQVEsaUJBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxpQkFBUixDQUFWO0NBRlM7O0FBS04sSUFBTSw0QkFBVTtBQUNuQixZQUFRLFFBQVEsbUJBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxtQkFBUixDQUFWO0NBRlM7O0FBS04sSUFBTSwwQkFBUztBQUNsQixZQUFRLFFBQVEsa0JBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxrQkFBUixDQUFWO0NBRlMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYmFzaWMgPSB7XG4gICAgdmVydGV4OiByZXF1aXJlKCcuL2Jhc2ljLnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9iYXNpYy5mcmFnLmpzJylcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wbGV4ID0ge1xuICAgIHZlcnRleDogcmVxdWlyZSgnLi9jb21wbGV4LnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9jb21wbGV4LmZyYWcuanMnKVxufTtcblxuZXhwb3J0IGNvbnN0IHNwcml0ZSA9IHtcbiAgICB2ZXJ0ZXg6IHJlcXVpcmUoJy4vc3ByaXRlLnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9zcHJpdGUuZnJhZy5qcycpXG59O1xuIl19
var multiSprite = exports.multiSprite = {
vertex: require('./multiSprite.vert.js'),
fragment: require('./multiSprite.frag.js')
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sSUFBTSx3QkFBUTtBQUNqQixZQUFRLFFBQVEsaUJBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxpQkFBUixDQUFWO0NBRlM7O0FBS04sSUFBTSw0QkFBVTtBQUNuQixZQUFRLFFBQVEsbUJBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxtQkFBUixDQUFWO0NBRlM7O0FBS04sSUFBTSwwQkFBUztBQUNsQixZQUFRLFFBQVEsa0JBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSxrQkFBUixDQUFWO0NBRlM7O0FBS04sSUFBTSxvQ0FBYztBQUN2QixZQUFRLFFBQVEsdUJBQVIsQ0FBUjtBQUNBLGNBQVUsUUFBUSx1QkFBUixDQUFWO0NBRlMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYmFzaWMgPSB7XG4gICAgdmVydGV4OiByZXF1aXJlKCcuL2Jhc2ljLnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9iYXNpYy5mcmFnLmpzJylcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wbGV4ID0ge1xuICAgIHZlcnRleDogcmVxdWlyZSgnLi9jb21wbGV4LnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9jb21wbGV4LmZyYWcuanMnKVxufTtcblxuZXhwb3J0IGNvbnN0IHNwcml0ZSA9IHtcbiAgICB2ZXJ0ZXg6IHJlcXVpcmUoJy4vc3ByaXRlLnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9zcHJpdGUuZnJhZy5qcycpXG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlTcHJpdGUgPSB7XG4gICAgdmVydGV4OiByZXF1aXJlKCcuL211bHRpU3ByaXRlLnZlcnQuanMnKSxcbiAgICBmcmFnbWVudDogcmVxdWlyZSgnLi9tdWx0aVNwcml0ZS5mcmFnLmpzJylcbn07XG4iXX0=
"use strict";
module.exports = "\nprecision mediump float;\n\nuniform sampler2D uTexture;\n\nvarying vec2 vTextureCoord;\nvarying float vColorAlpha;\n\nvoid main(void) {\n vec4 textureColor = texture2D(uTexture, vec2(vTextureCoord.s, vTextureCoord.t));\n\n gl_FragColor = textureColor * vColorAlpha;\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL211bHRpU3ByaXRlLmZyYWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoibXVsdGlTcHJpdGUuZnJhZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cbnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbnZhcnlpbmcgZmxvYXQgdkNvbG9yQWxwaGE7XG5cbnZvaWQgbWFpbih2b2lkKSB7XG4gICAgdmVjNCB0ZXh0dXJlQ29sb3IgPSB0ZXh0dXJlMkQodVRleHR1cmUsIHZlYzIodlRleHR1cmVDb29yZC5zLCB2VGV4dHVyZUNvb3JkLnQpKTtcblxuICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDb2xvciAqIHZDb2xvckFscGhhO1xufVxuYDsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL211bHRpU3ByaXRlLmZyYWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoibXVsdGlTcHJpdGUuZnJhZy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cbnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcbnZhcnlpbmcgZmxvYXQgdkNvbG9yQWxwaGE7XG5cbnZvaWQgbWFpbih2b2lkKSB7XG4gICAgdmVjNCB0ZXh0dXJlQ29sb3IgPSB0ZXh0dXJlMkQodVRleHR1cmUsIHZlYzIodlRleHR1cmVDb29yZC5zLCB2VGV4dHVyZUNvb3JkLnQpKTtcblxuICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDb2xvciAqIHZDb2xvckFscGhhO1xufVxuYDtcbiJdfQ==
"use strict";
module.exports = "\nattribute vec2 position;\nattribute vec2 texture;\n\nattribute vec3 uPosition;\nattribute vec2 uScale;\nattribute vec2 uOffset;\nattribute float uColorAlpha;\n\nuniform int uSmoothing;\nuniform mat4 uPCamera;\nuniform vec2 uHalfSize;\n\nvarying vec2 vTextureCoord;\nvarying float vColorAlpha;\n\nvoid main(void) {\n vTextureCoord = texture;\n vColorAlpha = uColorAlpha;\n\n vec2 alignedPosition = position * uScale;\n alignedPosition += uOffset;\n alignedPosition /= uHalfSize;\n\n vec4 ndcPosition = uPCamera * vec4(uPosition, 1.0);\n ndcPosition.xyz = ndcPosition.xyz / ndcPosition.w;\n ndcPosition.w = 1.0;\n ndcPosition.xy += alignedPosition.xy;\n\n if (uSmoothing == 1) {\n ndcPosition.xy = floor((ndcPosition.xy + 1.0) * uHalfSize.xy + 0.5) / uHalfSize.xy - 1.0;\n }\n\n gl_Position = ndcPosition;\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL211bHRpU3ByaXRlLnZlcnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoibXVsdGlTcHJpdGUudmVydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxuYXR0cmlidXRlIHZlYzIgcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjMiB0ZXh0dXJlO1xuXG5hdHRyaWJ1dGUgdmVjMyB1UG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjMiB1U2NhbGU7XG5hdHRyaWJ1dGUgdmVjMiB1T2Zmc2V0O1xuYXR0cmlidXRlIGZsb2F0IHVDb2xvckFscGhhO1xuXG51bmlmb3JtIGludCB1U21vb3RoaW5nO1xudW5pZm9ybSBtYXQ0IHVQQ2FtZXJhO1xudW5pZm9ybSB2ZWMyIHVIYWxmU2l6ZTtcblxudmFyeWluZyB2ZWMyIHZUZXh0dXJlQ29vcmQ7XG52YXJ5aW5nIGZsb2F0IHZDb2xvckFscGhhO1xuXG52b2lkIG1haW4odm9pZCkge1xuICAgIHZUZXh0dXJlQ29vcmQgPSB0ZXh0dXJlO1xuICAgIHZDb2xvckFscGhhID0gdUNvbG9yQWxwaGE7XG5cbiAgICB2ZWMyIGFsaWduZWRQb3NpdGlvbiA9IHBvc2l0aW9uICogdVNjYWxlO1xuICAgIGFsaWduZWRQb3NpdGlvbiArPSB1T2Zmc2V0O1xuICAgIGFsaWduZWRQb3NpdGlvbiAvPSB1SGFsZlNpemU7XG5cbiAgICB2ZWM0IG5kY1Bvc2l0aW9uID0gdVBDYW1lcmEgKiB2ZWM0KHVQb3NpdGlvbiwgMS4wKTtcbiAgICBuZGNQb3NpdGlvbi54eXogPSBuZGNQb3NpdGlvbi54eXogLyBuZGNQb3NpdGlvbi53O1xuICAgIG5kY1Bvc2l0aW9uLncgPSAxLjA7XG4gICAgbmRjUG9zaXRpb24ueHkgKz0gYWxpZ25lZFBvc2l0aW9uLnh5O1xuXG4gICAgaWYgKHVTbW9vdGhpbmcgPT0gMSkge1xuICAgICAgICBuZGNQb3NpdGlvbi54eSA9IGZsb29yKChuZGNQb3NpdGlvbi54eSArIDEuMCkgKiB1SGFsZlNpemUueHkgKyAwLjUpIC8gdUhhbGZTaXplLnh5IC0gMS4wO1xuICAgIH1cblxuICAgIGdsX1Bvc2l0aW9uID0gbmRjUG9zaXRpb247XG59XG5gOyJdfQ==
module.exports = "\nattribute vec2 disposition;\nattribute vec2 texture;\n\nattribute vec3 position;\nattribute vec2 scale;\nattribute vec2 offset;\nattribute float colorAlpha;\n\nuniform float uSmoothing;\nuniform mat4 uPCamera;\nuniform vec2 uHalfSize;\n\nvarying vec2 vTextureCoord;\nvarying float vColorAlpha;\n\nvoid main(void) {\n vTextureCoord = texture;\n vColorAlpha = colorAlpha;\n\n vec2 alignedPosition = disposition * scale;\n alignedPosition += offset;\n alignedPosition /= uHalfSize;\n\n vec4 ndcPosition = uPCamera * vec4(position, 1.0);\n ndcPosition.xyz = ndcPosition.xyz / ndcPosition.w;\n ndcPosition.w = 1.0;\n ndcPosition.xy += alignedPosition.xy;\n\n vec2 roundedPosition = floor((ndcPosition.xy + 1.0) * uHalfSize.xy + 0.5) / uHalfSize.xy - 1.0;\n vec2 roundingDelta = roundedPosition - ndcPosition.xy;\n\n if (vColorAlpha == 0.0) {\n ndcPosition.xy = vec2(-2.0, -2.0);\n } else {\n ndcPosition.xy = ndcPosition.xy + roundingDelta * uSmoothing;\n }\n\n gl_Position = ndcPosition;\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL211bHRpU3ByaXRlLnZlcnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLE9BQVAiLCJmaWxlIjoibXVsdGlTcHJpdGUudmVydC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gYFxuYXR0cmlidXRlIHZlYzIgZGlzcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjMiB0ZXh0dXJlO1xuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWMyIHNjYWxlO1xuYXR0cmlidXRlIHZlYzIgb2Zmc2V0O1xuYXR0cmlidXRlIGZsb2F0IGNvbG9yQWxwaGE7XG5cbnVuaWZvcm0gZmxvYXQgdVNtb290aGluZztcbnVuaWZvcm0gbWF0NCB1UENhbWVyYTtcbnVuaWZvcm0gdmVjMiB1SGFsZlNpemU7XG5cbnZhcnlpbmcgdmVjMiB2VGV4dHVyZUNvb3JkO1xudmFyeWluZyBmbG9hdCB2Q29sb3JBbHBoYTtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgICB2VGV4dHVyZUNvb3JkID0gdGV4dHVyZTtcbiAgICB2Q29sb3JBbHBoYSA9IGNvbG9yQWxwaGE7XG5cbiAgICB2ZWMyIGFsaWduZWRQb3NpdGlvbiA9IGRpc3Bvc2l0aW9uICogc2NhbGU7XG4gICAgYWxpZ25lZFBvc2l0aW9uICs9IG9mZnNldDtcbiAgICBhbGlnbmVkUG9zaXRpb24gLz0gdUhhbGZTaXplO1xuXG4gICAgdmVjNCBuZGNQb3NpdGlvbiA9IHVQQ2FtZXJhICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbiAgICBuZGNQb3NpdGlvbi54eXogPSBuZGNQb3NpdGlvbi54eXogLyBuZGNQb3NpdGlvbi53O1xuICAgIG5kY1Bvc2l0aW9uLncgPSAxLjA7XG4gICAgbmRjUG9zaXRpb24ueHkgKz0gYWxpZ25lZFBvc2l0aW9uLnh5O1xuXG4gICAgdmVjMiByb3VuZGVkUG9zaXRpb24gPSBmbG9vcigobmRjUG9zaXRpb24ueHkgKyAxLjApICogdUhhbGZTaXplLnh5ICsgMC41KSAvIHVIYWxmU2l6ZS54eSAtIDEuMDtcbiAgICB2ZWMyIHJvdW5kaW5nRGVsdGEgPSByb3VuZGVkUG9zaXRpb24gLSBuZGNQb3NpdGlvbi54eTtcblxuICAgIGlmICh2Q29sb3JBbHBoYSA9PSAwLjApIHtcbiAgICAgICAgbmRjUG9zaXRpb24ueHkgPSB2ZWMyKC0yLjAsIC0yLjApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG5kY1Bvc2l0aW9uLnh5ID0gbmRjUG9zaXRpb24ueHkgKyByb3VuZGluZ0RlbHRhICogdVNtb290aGluZztcbiAgICB9XG5cbiAgICBnbF9Qb3NpdGlvbiA9IG5kY1Bvc2l0aW9uO1xufVxuYDtcbiJdfQ==
"use strict";
module.exports = "\nprecision mediump float;\n\nuniform float uColorAlpha;\nuniform sampler2D uTexture;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void) {\n vec4 textureColor = texture2D(uTexture, vec2(vTextureCoord.s, vTextureCoord.t));\n\n gl_FragColor = textureColor * uColorAlpha;\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL3Nwcml0ZS5mcmFnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxPQUFQIiwiZmlsZSI6InNwcml0ZS5mcmFnLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBgXG5wcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblxudW5pZm9ybSBmbG9hdCB1Q29sb3JBbHBoYTtcbnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgICB2ZWM0IHRleHR1cmVDb2xvciA9IHRleHR1cmUyRCh1VGV4dHVyZSwgdmVjMih2VGV4dHVyZUNvb3JkLnMsIHZUZXh0dXJlQ29vcmQudCkpO1xuXG4gICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUNvbG9yICogdUNvbG9yQWxwaGE7XG59XG5gOyJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL3Nwcml0ZS5mcmFnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxPQUFQIiwiZmlsZSI6InNwcml0ZS5mcmFnLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBgXG5wcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblxudW5pZm9ybSBmbG9hdCB1Q29sb3JBbHBoYTtcbnVuaWZvcm0gc2FtcGxlcjJEIHVUZXh0dXJlO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgICB2ZWM0IHRleHR1cmVDb2xvciA9IHRleHR1cmUyRCh1VGV4dHVyZSwgdmVjMih2VGV4dHVyZUNvb3JkLnMsIHZUZXh0dXJlQ29vcmQudCkpO1xuXG4gICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUNvbG9yICogdUNvbG9yQWxwaGE7XG59XG5gO1xuIl19
"use strict";
module.exports = "\nattribute vec2 position;\nattribute vec2 texture;\n\nuniform vec3 uPosition;\nuniform mat4 uPCamera;\nuniform vec2 uScale;\nuniform vec2 uHalfSize;\nuniform vec2 uOffset;\nuniform float uSmoothing;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void) {\n vTextureCoord = texture;\n\n vec2 alignedPosition = position * uScale;\n alignedPosition += uOffset;\n alignedPosition /= uHalfSize;\n\n vec4 ndcPosition = uPCamera * vec4(uPosition, 1.0);\n ndcPosition.xyz = ndcPosition.xyz / ndcPosition.w;\n ndcPosition.w = 1.0;\n ndcPosition.xy += alignedPosition.xy;\n\n vec2 roundedPosition = floor((ndcPosition.xy + 1.0) * uHalfSize.xy + 0.5) / uHalfSize.xy - 1.0;\n vec2 roundingDelta = roundedPosition - ndcPosition.xy;\n\n ndcPosition.xy = ndcPosition.xy + roundingDelta * uSmoothing;\n\n gl_Position = ndcPosition;\n}\n";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL3Nwcml0ZS52ZXJ0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxPQUFQIiwiZmlsZSI6InNwcml0ZS52ZXJ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBgXG5hdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWMyIHRleHR1cmU7XG5cbnVuaWZvcm0gdmVjMyB1UG9zaXRpb247XG51bmlmb3JtIG1hdDQgdVBDYW1lcmE7XG51bmlmb3JtIHZlYzIgdVNjYWxlO1xudW5pZm9ybSB2ZWMyIHVIYWxmU2l6ZTtcbnVuaWZvcm0gdmVjMiB1T2Zmc2V0O1xudW5pZm9ybSBmbG9hdCB1U21vb3RoaW5nO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgICB2VGV4dHVyZUNvb3JkID0gdGV4dHVyZTtcblxuICAgIHZlYzIgYWxpZ25lZFBvc2l0aW9uID0gcG9zaXRpb24gKiB1U2NhbGU7XG4gICAgYWxpZ25lZFBvc2l0aW9uICs9IHVPZmZzZXQ7XG4gICAgYWxpZ25lZFBvc2l0aW9uIC89IHVIYWxmU2l6ZTtcblxuICAgIHZlYzQgbmRjUG9zaXRpb24gPSB1UENhbWVyYSAqIHZlYzQodVBvc2l0aW9uLCAxLjApO1xuICAgIG5kY1Bvc2l0aW9uLnh5eiA9IG5kY1Bvc2l0aW9uLnh5eiAvIG5kY1Bvc2l0aW9uLnc7XG4gICAgbmRjUG9zaXRpb24udyA9IDEuMDtcbiAgICBuZGNQb3NpdGlvbi54eSArPSBhbGlnbmVkUG9zaXRpb24ueHk7XG5cbiAgICB2ZWMyIHJvdW5kZWRQb3NpdGlvbiA9IGZsb29yKChuZGNQb3NpdGlvbi54eSArIDEuMCkgKiB1SGFsZlNpemUueHkgKyAwLjUpIC8gdUhhbGZTaXplLnh5IC0gMS4wO1xuICAgIHZlYzIgcm91bmRpbmdEZWx0YSA9IHJvdW5kZWRQb3NpdGlvbiAtIG5kY1Bvc2l0aW9uLnh5O1xuXG4gICAgbmRjUG9zaXRpb24ueHkgPSBuZGNQb3NpdGlvbi54eSArIHJvdW5kaW5nRGVsdGEgKiB1U21vb3RoaW5nO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBuZGNQb3NpdGlvbjtcbn1cbmA7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGFkZXJzL3Nwcml0ZS52ZXJ0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxPQUFQIiwiZmlsZSI6InNwcml0ZS52ZXJ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBgXG5hdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWMyIHRleHR1cmU7XG5cbnVuaWZvcm0gdmVjMyB1UG9zaXRpb247XG51bmlmb3JtIG1hdDQgdVBDYW1lcmE7XG51bmlmb3JtIHZlYzIgdVNjYWxlO1xudW5pZm9ybSB2ZWMyIHVIYWxmU2l6ZTtcbnVuaWZvcm0gdmVjMiB1T2Zmc2V0O1xudW5pZm9ybSBmbG9hdCB1U21vb3RoaW5nO1xuXG52YXJ5aW5nIHZlYzIgdlRleHR1cmVDb29yZDtcblxudm9pZCBtYWluKHZvaWQpIHtcbiAgICB2VGV4dHVyZUNvb3JkID0gdGV4dHVyZTtcblxuICAgIHZlYzIgYWxpZ25lZFBvc2l0aW9uID0gcG9zaXRpb24gKiB1U2NhbGU7XG4gICAgYWxpZ25lZFBvc2l0aW9uICs9IHVPZmZzZXQ7XG4gICAgYWxpZ25lZFBvc2l0aW9uIC89IHVIYWxmU2l6ZTtcblxuICAgIHZlYzQgbmRjUG9zaXRpb24gPSB1UENhbWVyYSAqIHZlYzQodVBvc2l0aW9uLCAxLjApO1xuICAgIG5kY1Bvc2l0aW9uLnh5eiA9IG5kY1Bvc2l0aW9uLnh5eiAvIG5kY1Bvc2l0aW9uLnc7XG4gICAgbmRjUG9zaXRpb24udyA9IDEuMDtcbiAgICBuZGNQb3NpdGlvbi54eSArPSBhbGlnbmVkUG9zaXRpb24ueHk7XG5cbiAgICB2ZWMyIHJvdW5kZWRQb3NpdGlvbiA9IGZsb29yKChuZGNQb3NpdGlvbi54eSArIDEuMCkgKiB1SGFsZlNpemUueHkgKyAwLjUpIC8gdUhhbGZTaXplLnh5IC0gMS4wO1xuICAgIHZlYzIgcm91bmRpbmdEZWx0YSA9IHJvdW5kZWRQb3NpdGlvbiAtIG5kY1Bvc2l0aW9uLnh5O1xuXG4gICAgbmRjUG9zaXRpb24ueHkgPSBuZGNQb3NpdGlvbi54eSArIHJvdW5kaW5nRGVsdGEgKiB1U21vb3RoaW5nO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBuZGNQb3NpdGlvbjtcbn1cbmA7XG4iXX0=

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc