@supernova-studio/pulsar-core 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/browser/pulsar.js +39 -68
- package/build/browser/pulsar.min.js +3 -3
- package/build/tsconfig.tsbuildinfo +2829 -0
- package/package.json +4 -5
|
@@ -27,7 +27,7 @@ var crypto=require("crypto"),parse=require("url").parse,keys=["acl","location","
|
|
|
27
27
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
28
28
|
* @license MIT
|
|
29
29
|
*/
|
|
30
|
-
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=function(length){+length!=length&&(length=0);return Buffer.alloc(+length)},exports.INSPECT_MAX_BYTES=50;function createBuffer(length){if(length>2147483647)throw new RangeError('The value "'+length+'" is invalid for option "size"');var buf=new Uint8Array(length);return buf.__proto__=Buffer.prototype,buf}function Buffer(arg,encodingOrOffset,length){if("number"==typeof arg){if("string"==typeof encodingOrOffset)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}function from(value,encodingOrOffset,length){if("string"==typeof value)return function(string,encoding){"string"==typeof encoding&&""!==encoding||(encoding="utf8");if(!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding);var length=0|byteLength(string,encoding),buf=createBuffer(length),actual=buf.write(string,encoding);actual!==length&&(buf=buf.slice(0,actual));return buf}(value,encodingOrOffset);if(ArrayBuffer.isView(value))return fromArrayLike(value);if(null==value)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof value);if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer))return function(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset)throw new RangeError('"offset" is outside of buffer bounds');if(array.byteLength<byteOffset+(length||0))throw new RangeError('"length" is outside of buffer bounds');var buf;buf=void 0===byteOffset&&void 0===length?new Uint8Array(array):void 0===length?new Uint8Array(array,byteOffset):new Uint8Array(array,byteOffset,length);return buf.__proto__=Buffer.prototype,buf}(value,encodingOrOffset,length);if("number"==typeof value)throw new TypeError('The "value" argument must not be of type number. Received type number');var valueOf=value.valueOf&&value.valueOf();if(null!=valueOf&&valueOf!==value)return Buffer.from(valueOf,encodingOrOffset,length);var b=function(obj){if(Buffer.isBuffer(obj)){var len=0|checked(obj.length),buf=createBuffer(len);return 0===buf.length||obj.copy(buf,0,0,len),buf}if(void 0!==obj.length)return"number"!=typeof obj.length||numberIsNaN(obj.length)?createBuffer(0):fromArrayLike(obj);if("Buffer"===obj.type&&Array.isArray(obj.data))return fromArrayLike(obj.data)}(value);if(b)return b;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof value[Symbol.toPrimitive])return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof value)}function assertSize(size){if("number"!=typeof size)throw new TypeError('"size" argument must be of type number');if(size<0)throw new RangeError('The value "'+size+'" is invalid for option "size"')}function allocUnsafe(size){return assertSize(size),createBuffer(size<0?0:0|checked(size))}function fromArrayLike(array){for(var length=array.length<0?0:0|checked(array.length),buf=createBuffer(length),i=0;i<length;i+=1)buf[i]=255&array[i];return buf}function checked(length){if(length>=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|length}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer))return string.byteLength;if("string"!=typeof string)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof string);var len=string.length,mustMatch=arguments.length>2&&!0===arguments[2];if(!mustMatch&&0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return mustMatch?-1:utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function slowToString(encoding,start,end){var loweredCase=!1;if((void 0===start||start<0)&&(start=0),start>this.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if((end>>>=0)<=(start>>>=0))return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):byteOffset>2147483647?byteOffset=2147483647:byteOffset<-2147483648&&(byteOffset=-2147483648),numberIsNaN(byteOffset=+byteOffset)&&(byteOffset=dir?0:buffer.length-1),byteOffset<0&&(byteOffset=buffer.length+byteOffset),byteOffset>=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val&=255,"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var i,indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&("ucs2"===(encoding=String(encoding).toLowerCase())||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++)if(read(arr,i)===read(val,-1===foundIndex?0:i-foundIndex)){if(-1===foundIndex&&(foundIndex=i),i-foundIndex+1===valLength)return foundIndex*indexSize}else-1!==foundIndex&&(i-=i-foundIndex),foundIndex=-1}else for(byteOffset+valLength>arrLength&&(byteOffset=arrLength-valLength),i=byteOffset;i>=0;i--){for(var found=!0,j=0;j<valLength;j++)if(read(arr,i+j)!==read(val,j)){found=!1;break}if(found)return i}return-1}function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;length?(length=Number(length))>remaining&&(length=remaining):length=remaining;var strLen=string.length;length>strLen/2&&(length=strLen/2);for(var i=0;i<length;++i){var parsed=parseInt(string.substr(2*i,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(function(str){for(var byteArray=[],i=0;i<str.length;++i)byteArray.push(255&str.charCodeAt(i));return byteArray}(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(function(str,units){for(var c,hi,lo,byteArray=[],i=0;i<str.length&&!((units-=2)<0);++i)hi=(c=str.charCodeAt(i))>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i<end;){var secondByte,thirdByte,fourthByte,tempCodePoint,firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end)switch(bytesPerSequence){case 1:firstByte<128&&(codePoint=firstByte);break;case 2:128==(192&(secondByte=buf[i+1]))&&(tempCodePoint=(31&firstByte)<<6|63&secondByte)>127&&(codePoint=tempCodePoint);break;case 3:secondByte=buf[i+1],thirdByte=buf[i+2],128==(192&secondByte)&&128==(192&thirdByte)&&(tempCodePoint=(15&firstByte)<<12|(63&secondByte)<<6|63&thirdByte)>2047&&(tempCodePoint<55296||tempCodePoint>57343)&&(codePoint=tempCodePoint);break;case 4:secondByte=buf[i+1],thirdByte=buf[i+2],fourthByte=buf[i+3],128==(192&secondByte)&&128==(192&thirdByte)&&128==(192&fourthByte)&&(tempCodePoint=(15&firstByte)<<18|(63&secondByte)<<12|(63&thirdByte)<<6|63&fourthByte)>65535&&tempCodePoint<1114112&&(codePoint=tempCodePoint)}null===codePoint?(codePoint=65533,bytesPerSequence=1):codePoint>65535&&(codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return function(codePoints){var len=codePoints.length;if(len<=4096)return String.fromCharCode.apply(String,codePoints);var res="",i=0;for(;i<len;)res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=4096));return res}(res)}exports.kMaxLength=2147483647,Buffer.TYPED_ARRAY_SUPPORT=function(){try{var arr=new Uint8Array(1);return arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===arr.foo()}catch(e){return!1}}(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(size,fill,encoding){return function(size,fill,encoding){return assertSize(size),size<=0?createBuffer(size):void 0!==fill?"string"==typeof encoding?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill):createBuffer(size)}(size,fill,encoding)},Buffer.allocUnsafe=function(size){return allocUnsafe(size)},Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)},Buffer.isBuffer=function(b){return null!=b&&!0===b._isBuffer&&b!==Buffer.prototype},Buffer.compare=function(a,b){if(isInstance(a,Uint8Array)&&(a=Buffer.from(a,a.offset,a.byteLength)),isInstance(b,Uint8Array)&&(b=Buffer.from(b,b.offset,b.byteLength)),!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(list,length){if(!Array.isArray(list))throw new TypeError('"list" argument must be an Array of Buffers');if(0===list.length)return Buffer.alloc(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;++i)length+=list[i].length;var buffer=Buffer.allocUnsafe(length),pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)&&(buf=Buffer.from(buf)),!Buffer.isBuffer(buf))throw new TypeError('"list" argument must be an Array of Buffers');buf.copy(buffer,pos),pos+=buf.length}return buffer},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var len=this.length;if(len%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var i=0;i<len;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function(){var len=this.length;if(len%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var i=0;i<len;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function(){var len=this.length;if(len%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var i=0;i<len;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toString=function(){var length=this.length;return 0===length?"":0===arguments.length?utf8Slice(this,0,length):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return str=this.toString("hex",0,max).replace(/(.{2})/g,"$1 ").trim(),this.length>max&&(str+=" ... "),"<Buffer "+str+">"},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)&&(target=Buffer.from(target,target.offset,target.byteLength)),!Buffer.isBuffer(target))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof target);if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(this===target)return 0;for(var x=(thisEnd>>>=0)-(thisStart>>>=0),y=(end>>>=0)-(start>>>=0),len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;i<len;++i)if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i],y=targetCopy[i];break}return x<y?-1:y<x?1:0},Buffer.prototype.includes=function(val,byteOffset,encoding){return-1!==this.indexOf(val,byteOffset,encoding)},Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)},Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)},Buffer.prototype.write=function(string,offset,length,encoding){if(void 0===offset)encoding="utf8",length=this.length,offset=0;else if(void 0===length&&"string"==typeof offset)encoding=offset,length=this.length,offset=0;else{if(!isFinite(offset))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");offset>>>=0,isFinite(length)?(length>>>=0,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0)}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(length<0||offset<0)||offset>this.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(127&buf[i]);return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||start<0)&&(start=0),(!end||end<0||end>len)&&(end=len);for(var out="",i=start;i<end;++i)out+=toHex(buf[i]);return out}function utf16leSlice(buf,start,end){for(var bytes=buf.slice(start,end),res="",i=0;i<bytes.length;i+=2)res+=String.fromCharCode(bytes[i]+256*bytes[i+1]);return res}function checkOffset(offset,ext,length){if(offset%1!=0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,4),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,8),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.slice=function(start,end){var len=this.length;(start=~~start)<0?(start+=len)<0&&(start=0):start>len&&(start=len),(end=void 0===end?len:~~end)<0?(end+=len)<0&&(end=0):end>len&&(end=len),end<start&&(end=start);var newBuf=this.subarray(start,end);return newBuf.__proto__=Buffer.prototype,newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val},Buffer.prototype.readUIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset+--byteLength],mul=1;byteLength>0&&(mul*=256);)val+=this[offset+--byteLength]*mul;return val},Buffer.prototype.readUInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),this[offset]},Buffer.prototype.readUInt16LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]|this[offset+1]<<8},Buffer.prototype.readUInt16BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]<<8|this[offset+1]},Buffer.prototype.readUInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+16777216*this[offset+3]},Buffer.prototype.readUInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),16777216*this[offset]+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])},Buffer.prototype.readIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val>=(mul*=128)&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var i=byteLength,mul=1,val=this[offset+--i];i>0&&(mul*=256);)val+=this[offset+--i]*mul;return val>=(mul*=128)&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),128&this[offset]?-1*(255-this[offset]+1):this[offset]},Buffer.prototype.readInt16LE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt16BE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24},Buffer.prototype.readInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]},Buffer.prototype.readFloatLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!0,23,4)},Buffer.prototype.readFloatBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!1,23,4)},Buffer.prototype.readDoubleLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!0,52,8)},Buffer.prototype.readDoubleBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!1,52,8)},Buffer.prototype.writeUIntLE=function(value,offset,byteLength,noAssert){(value=+value,offset>>>=0,byteLength>>>=0,noAssert)||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var mul=1,i=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUIntBE=function(value,offset,byteLength,noAssert){(value=+value,offset>>>=0,byteLength>>>=0,noAssert)||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var i=byteLength-1,mul=1;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,255,0),this[offset]=255&value,offset+1},Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value,offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i-1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,127,-128),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24,offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),end>0&&end<start&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(targetStart<0)throw new RangeError("targetStart out of bounds");if(start<0||start>=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart<end-start&&(end=target.length-targetStart+start);var len=end-start;if(this===target&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(targetStart,start,end);else if(this===target&&start<targetStart&&targetStart<end)for(var i=len-1;i>=0;--i)target[i+targetStart]=this[i+start];else Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart);return len},Buffer.prototype.fill=function(val,start,end,encoding){if("string"==typeof val){if("string"==typeof start?(encoding=start,start=0,end=this.length):"string"==typeof end&&(encoding=end,end=this.length),void 0!==encoding&&"string"!=typeof encoding)throw new TypeError("encoding must be a string");if("string"==typeof encoding&&!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding);if(1===val.length){var code=val.charCodeAt(0);("utf8"===encoding&&code<128||"latin1"===encoding)&&(val=code)}}else"number"==typeof val&&(val&=255);if(start<0||this.length<start||this.length<end)throw new RangeError("Out of range index");if(end<=start)return this;var i;if(start>>>=0,end=void 0===end?this.length:end>>>0,val||(val=0),"number"==typeof val)for(i=start;i<end;++i)this[i]=val;else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding),len=bytes.length;if(0===len)throw new TypeError('The value "'+val+'" is invalid for argument "value"');for(i=0;i<end-start;++i)this[i+start]=bytes[i%len]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function toHex(n){return n<16?"0"+n.toString(16):n.toString(16)}function utf8ToBytes(string,units){var codePoint;units=units||1/0;for(var length=string.length,leadSurrogate=null,bytes=[],i=0;i<length;++i){if((codePoint=string.charCodeAt(i))>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){(units-=3)>-1&&bytes.push(239,191,189);continue}if(i+1===length){(units-=3)>-1&&bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){(units-=3)>-1&&bytes.push(239,191,189),leadSurrogate=codePoint;continue}codePoint=65536+(leadSurrogate-55296<<10|codePoint-56320)}else leadSurrogate&&(units-=3)>-1&&bytes.push(239,191,189);if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function base64ToBytes(str){return base64.toByteArray(function(str){if((str=(str=str.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;str.length%4!=0;)str+="=";return str}(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length&&!(i+offset>=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}function isInstance(obj,type){return obj instanceof type||null!=obj&&null!=obj.constructor&&null!=obj.constructor.name&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!=obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":132,buffer:183,ieee754:292}],184:[function(require,module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],185:[function(require,module,exports){function Caseless(dict){this.dict=dict||{}}Caseless.prototype.set=function(name,value,clobber){if("object"!=typeof name){void 0===clobber&&(clobber=!0);var has=this.has(name);return!clobber&&has?this.dict[has]=this.dict[has]+","+value:this.dict[has||name]=value,has}for(var i in name)this.set(i,name[i],value)},Caseless.prototype.has=function(name){for(var keys=Object.keys(this.dict),i=(name=name.toLowerCase(),0);i<keys.length;i++)if(keys[i].toLowerCase()===name)return keys[i];return!1},Caseless.prototype.get=function(name){var result,_key;name=name.toLowerCase();var headers=this.dict;return Object.keys(headers).forEach((function(key){_key=key.toLowerCase(),name===_key&&(result=headers[key])})),result},Caseless.prototype.swap=function(name){var has=this.has(name);if(has!==name){if(!has)throw new Error('There is no header than matches "'+name+'"');this.dict[name]=this.dict[has],delete this.dict[has]}},Caseless.prototype.del=function(name){var has=this.has(name);return delete this.dict[has||name]},module.exports=function(dict){return new Caseless(dict)},module.exports.httpify=function(resp,headers){var c=new Caseless(headers);return resp.setHeader=function(key,value,clobber){if(void 0!==value)return c.set(key,value,clobber)},resp.hasHeader=function(key){return c.has(key)},resp.getHeader=function(key){return c.get(key)},resp.removeHeader=function(key){return c.del(key)},resp.headers=c.dict,c}},{}],186:[function(require,module,exports){var Buffer=require("safe-buffer").Buffer,Transform=require("stream").Transform,StringDecoder=require("string_decoder").StringDecoder;function CipherBase(hashMode){Transform.call(this),this.hashMode="string"==typeof hashMode,this.hashMode?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}require("inherits")(CipherBase,Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){"string"==typeof data&&(data=Buffer.from(data,inputEnc));var outData=this._update(data);return this.hashMode?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},CipherBase.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},CipherBase.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error("can't switch encodings");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase},{inherits:294,"safe-buffer":434,stream:470,string_decoder:490}],187:[function(require,module,exports){(function(Buffer){(function(){var util=require("util"),Stream=require("stream").Stream,DelayedStream=require("delayed-stream");function CombinedStream(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}module.exports=CombinedStream,util.inherits(CombinedStream,Stream),CombinedStream.create=function(options){var combinedStream=new this;for(var option in options=options||{})combinedStream[option]=options[option];return combinedStream},CombinedStream.isStreamLike=function(stream){return"function"!=typeof stream&&"string"!=typeof stream&&"boolean"!=typeof stream&&"number"!=typeof stream&&!Buffer.isBuffer(stream)},CombinedStream.prototype.append=function(stream){if(CombinedStream.isStreamLike(stream)){if(!(stream instanceof DelayedStream)){var newStream=DelayedStream.create(stream,{maxDataSize:1/0,pauseStream:this.pauseStreams});stream.on("data",this._checkDataSize.bind(this)),stream=newStream}this._handleErrors(stream),this.pauseStreams&&stream.pause()}return this._streams.push(stream),this},CombinedStream.prototype.pipe=function(dest,options){return Stream.prototype.pipe.call(this,dest,options),this.resume(),dest},CombinedStream.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},CombinedStream.prototype._realGetNext=function(){var stream=this._streams.shift();void 0!==stream?"function"==typeof stream?stream(function(stream){CombinedStream.isStreamLike(stream)&&(stream.on("data",this._checkDataSize.bind(this)),this._handleErrors(stream)),this._pipeNext(stream)}.bind(this)):this._pipeNext(stream):this.end()},CombinedStream.prototype._pipeNext=function(stream){if(this._currentStream=stream,CombinedStream.isStreamLike(stream))return stream.on("end",this._getNext.bind(this)),void stream.pipe(this,{end:!1});var value=stream;this.write(value),this._getNext()},CombinedStream.prototype._handleErrors=function(stream){var self=this;stream.on("error",(function(err){self._emitError(err)}))},CombinedStream.prototype.write=function(data){this.emit("data",data)},CombinedStream.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},CombinedStream.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},CombinedStream.prototype.end=function(){this._reset(),this.emit("end")},CombinedStream.prototype.destroy=function(){this._reset(),this.emit("close")},CombinedStream.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},CombinedStream.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(message))}},CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var self=this;this._streams.forEach((function(stream){stream.dataSize&&(self.dataSize+=stream.dataSize)})),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},CombinedStream.prototype._emitError=function(err){this._reset(),this.emit("error",err)}}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295,"delayed-stream":196,stream:470,util:507}],188:[function(require,module,exports){(function(Buffer){(function(){function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=function(arg){return Array.isArray?Array.isArray(arg):"[object Array]"===objectToString(arg)},exports.isBoolean=function(arg){return"boolean"==typeof arg},exports.isNull=function(arg){return null===arg},exports.isNullOrUndefined=function(arg){return null==arg},exports.isNumber=function(arg){return"number"==typeof arg},exports.isString=function(arg){return"string"==typeof arg},exports.isSymbol=function(arg){return"symbol"==typeof arg},exports.isUndefined=function(arg){return void 0===arg},exports.isRegExp=function(re){return"[object RegExp]"===objectToString(re)},exports.isObject=function(arg){return"object"==typeof arg&&null!==arg},exports.isDate=function(d){return"[object Date]"===objectToString(d)},exports.isError=function(e){return"[object Error]"===objectToString(e)||e instanceof Error},exports.isFunction=function(arg){return"function"==typeof arg},exports.isPrimitive=function(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||void 0===arg},exports.isBuffer=Buffer.isBuffer}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295}],189:[function(require,module,exports){(function(Buffer){(function(){var elliptic=require("elliptic"),BN=require("bn.js");module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0),buf=Buffer.concat([zeros,buf])}return enc?buf.toString(enc):buf}aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1,ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){return inenc=inenc||"utf8",Buffer.isBuffer(other)||(other=new Buffer(other,inenc)),formatReturnValue(this.curve.keyFromPublic(other).getPublic().mul(this.keys.getPrivate()).getX(),enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic("compressed"===format,!0);return"hybrid"===format&&(key[key.length-1]%2?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||"utf8",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||"utf8",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this}}).call(this)}).call(this,require("buffer").Buffer)},{"bn.js":190,buffer:183,elliptic:211}],190:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],191:[function(require,module,exports){"use strict";var inherits=require("inherits"),MD5=require("md5.js"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),Base=require("cipher-base");function Hash(hash){Base.call(this,"digest"),this._hash=hash}inherits(Hash,Base),Hash.prototype._update=function(data){this._hash.update(data)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(alg){return"md5"===(alg=alg.toLowerCase())?new MD5:"rmd160"===alg||"ripemd160"===alg?new RIPEMD160:new Hash(sha(alg))}},{"cipher-base":186,inherits:294,"md5.js":340,ripemd160:433,"sha.js":438}],192:[function(require,module,exports){var MD5=require("md5.js");module.exports=function(buffer){return(new MD5).update(buffer).digest()}},{"md5.js":340}],193:[function(require,module,exports){"use strict";var inherits=require("inherits"),Legacy=require("./legacy"),Base=require("cipher-base"),Buffer=require("safe-buffer").Buffer,md5=require("create-hash/md5"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,"digest"),"string"==typeof key&&(key=Buffer.from(key));var blocksize="sha512"===alg||"sha384"===alg?128:64;(this._alg=alg,this._key=key,key.length>blocksize)?key=("rmd160"===alg?new RIPEMD160:sha(alg)).update(key).digest():key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=this._ipad=Buffer.allocUnsafe(blocksize),opad=this._opad=Buffer.allocUnsafe(blocksize),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash="rmd160"===alg?new RIPEMD160:sha(alg),this._hash.update(ipad)}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.update(data)},Hmac.prototype._final=function(){var h=this._hash.digest();return("rmd160"===this._alg?new RIPEMD160:sha(this._alg)).update(this._opad).update(h).digest()},module.exports=function(alg,key){return"rmd160"===(alg=alg.toLowerCase())||"ripemd160"===alg?new Hmac("rmd160",key):"md5"===alg?new Legacy(md5,key):new Hmac(alg,key)}},{"./legacy":194,"cipher-base":186,"create-hash/md5":192,inherits:294,ripemd160:433,"safe-buffer":434,"sha.js":438}],194:[function(require,module,exports){"use strict";var inherits=require("inherits"),Buffer=require("safe-buffer").Buffer,Base=require("cipher-base"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,"digest"),"string"==typeof key&&(key=Buffer.from(key)),this._alg=alg,this._key=key,key.length>64?key=alg(key):key.length<64&&(key=Buffer.concat([key,ZEROS],64));for(var ipad=this._ipad=Buffer.allocUnsafe(64),opad=this._opad=Buffer.allocUnsafe(64),i=0;i<64;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=[ipad]}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.push(data)},Hmac.prototype._final=function(){var h=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,h]))},module.exports=Hmac},{"cipher-base":186,inherits:294,"safe-buffer":434}],195:[function(require,module,exports){"use strict";exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require("randombytes"),exports.createHash=exports.Hash=require("create-hash"),exports.createHmac=exports.Hmac=require("create-hmac");var algos=require("browserify-sign/algos"),algoKeys=Object.keys(algos),hashes=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require("pbkdf2");exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require("browserify-cipher");exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require("diffie-hellman");exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require("browserify-sign");exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require("create-ecdh");var publicEncrypt=require("public-encrypt");exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=require("randomfill");exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{"browserify-cipher":154,"browserify-sign":161,"browserify-sign/algos":158,"create-ecdh":189,"create-hash":191,"create-hmac":193,"diffie-hellman":203,pbkdf2:373,"public-encrypt":384,randombytes:400,randomfill:401}],196:[function(require,module,exports){var Stream=require("stream").Stream,util=require("util");function DelayedStream(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}module.exports=DelayedStream,util.inherits(DelayedStream,Stream),DelayedStream.create=function(source,options){var delayedStream=new this;for(var option in options=options||{})delayedStream[option]=options[option];delayedStream.source=source;var realEmit=source.emit;return source.emit=function(){return delayedStream._handleEmit(arguments),realEmit.apply(source,arguments)},source.on("error",(function(){})),delayedStream.pauseStream&&source.pause(),delayedStream},Object.defineProperty(DelayedStream.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},DelayedStream.prototype.resume=function(){this._released||this.release(),this.source.resume()},DelayedStream.prototype.pause=function(){this.source.pause()},DelayedStream.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(args){this.emit.apply(this,args)}.bind(this)),this._bufferedEvents=[]},DelayedStream.prototype.pipe=function(){var r=Stream.prototype.pipe.apply(this,arguments);return this.resume(),r},DelayedStream.prototype._handleEmit=function(args){this._released?this.emit.apply(this,args):("data"===args[0]&&(this.dataSize+=args[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(args))},DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(!(this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(message))}}},{stream:470,util:507}],197:[function(require,module,exports){"use strict";exports.utils=require("./des/utils"),exports.Cipher=require("./des/cipher"),exports.DES=require("./des/des"),exports.CBC=require("./des/cbc"),exports.EDE=require("./des/ede")},{"./des/cbc":198,"./des/cipher":199,"./des/des":200,"./des/ede":201,"./des/utils":202}],198:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),proto={};function CBCState(iv){assert.equal(iv.length,8,"Invalid IV length"),this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=iv[i]}exports.instantiate=function(Base){function CBC(options){Base.call(this,options),this._cbcInit()}inherits(CBC,Base);for(var keys=Object.keys(proto),i=0;i<keys.length;i++){var key=keys[i];CBC.prototype[key]=proto[key]}return CBC.create=function(options){return new CBC(options)},CBC},proto._cbcInit=function(){var state=new CBCState(this.options.iv);this._cbcState=state},proto._update=function(inp,inOff,out,outOff){var state=this._cbcState,superProto=this.constructor.super_.prototype,iv=state.iv;if("encrypt"===this.type){for(var i=0;i<this.blockSize;i++)iv[i]^=inp[inOff+i];superProto._update.call(this,iv,0,out,outOff);for(i=0;i<this.blockSize;i++)iv[i]=out[outOff+i]}else{superProto._update.call(this,inp,inOff,out,outOff);for(i=0;i<this.blockSize;i++)out[outOff+i]^=iv[i];for(i=0;i<this.blockSize;i++)iv[i]=inp[inOff+i]}}},{inherits:294,"minimalistic-assert":346}],199:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert");function Cipher(options){this.options=options,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}module.exports=Cipher,Cipher.prototype._init=function(){},Cipher.prototype.update=function(data){return 0===data.length?[]:"decrypt"===this.type?this._updateDecrypt(data):this._updateEncrypt(data)},Cipher.prototype._buffer=function(data,off){for(var min=Math.min(this.buffer.length-this.bufferOff,data.length-off),i=0;i<min;i++)this.buffer[this.bufferOff+i]=data[off+i];return this.bufferOff+=min,min},Cipher.prototype._flushBuffer=function(out,off){return this._update(this.buffer,0,out,off),this.bufferOff=0,this.blockSize},Cipher.prototype._updateEncrypt=function(data){var inputOff=0,outputOff=0,count=(this.bufferOff+data.length)/this.blockSize|0,out=new Array(count*this.blockSize);0!==this.bufferOff&&(inputOff+=this._buffer(data,inputOff),this.bufferOff===this.buffer.length&&(outputOff+=this._flushBuffer(out,outputOff)));for(var max=data.length-(data.length-inputOff)%this.blockSize;inputOff<max;inputOff+=this.blockSize)this._update(data,inputOff,out,outputOff),outputOff+=this.blockSize;for(;inputOff<data.length;inputOff++,this.bufferOff++)this.buffer[this.bufferOff]=data[inputOff];return out},Cipher.prototype._updateDecrypt=function(data){for(var inputOff=0,outputOff=0,count=Math.ceil((this.bufferOff+data.length)/this.blockSize)-1,out=new Array(count*this.blockSize);count>0;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first,last;return buffer&&(first=this.update(buffer)),last="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),first?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(0===off)return!1;for(;off<buffer.length;)buffer[off++]=0;return!0},Cipher.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var out=new Array(this.blockSize);return this._update(this.buffer,0,out,0),out},Cipher.prototype._unpad=function(buffer){return buffer},Cipher.prototype._finalDecrypt=function(){assert.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var out=new Array(this.blockSize);return this._flushBuffer(out,0),this._unpad(out)}},{"minimalistic-assert":346}],200:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),utils=require("./utils"),Cipher=require("./cipher");function DESState(){this.tmp=new Array(2),this.keys=null}function DES(options){Cipher.call(this,options);var state=new DESState;this._desState=state,this.deriveKeys(state,options.key)}inherits(DES,Cipher),module.exports=DES,DES.create=function(options){return new DES(options)};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function(state,key){state.keys=new Array(32),assert.equal(key.length,this.blockSize,"Invalid key length");var kL=utils.readUInt32BE(key,0),kR=utils.readUInt32BE(key,4);utils.pc1(kL,kR,state.tmp,0),kL=state.tmp[0],kR=state.tmp[1];for(var i=0;i<state.keys.length;i+=2){var shift=shiftTable[i>>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],"encrypt"===this.type?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i<buffer.length;i++)buffer[i]=value;return!0},DES.prototype._unpad=function(buffer){for(var pad=buffer[buffer.length-1],i=buffer.length-pad;i<buffer.length;i++)assert.equal(buffer[i],pad);return buffer.slice(0,buffer.length-pad)},DES.prototype._encrypt=function(state,lStart,rStart,out,off){for(var l=lStart,r=rStart,i=0;i<state.keys.length;i+=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(r,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=r;r=(l^utils.permute(s))>>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=l;l=(r^utils.permute(s))>>>0,r=t}utils.rip(l,r,out,off)}},{"./cipher":199,"./utils":202,inherits:294,"minimalistic-assert":346}],201:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),Cipher=require("./cipher"),DES=require("./des");function EDEState(type,key){assert.equal(key.length,24,"Invalid key length");var k1=key.slice(0,8),k2=key.slice(8,16),k3=key.slice(16,24);this.ciphers="encrypt"===type?[DES.create({type:"encrypt",key:k1}),DES.create({type:"decrypt",key:k2}),DES.create({type:"encrypt",key:k3})]:[DES.create({type:"decrypt",key:k3}),DES.create({type:"encrypt",key:k2}),DES.create({type:"decrypt",key:k1})]}function EDE(options){Cipher.call(this,options);var state=new EDEState(this.type,this.options.key);this._edeState=state}inherits(EDE,Cipher),module.exports=EDE,EDE.create=function(options){return new EDE(options)},EDE.prototype._update=function(inp,inOff,out,outOff){var state=this._edeState;state.ciphers[0]._update(inp,inOff,out,outOff),state.ciphers[1]._update(out,outOff,out,outOff),state.ciphers[2]._update(out,outOff,out,outOff)},EDE.prototype._pad=DES.prototype._pad,EDE.prototype._unpad=DES.prototype._unpad},{"./cipher":199,"./des":200,inherits:294,"minimalistic-assert":346}],202:[function(require,module,exports){"use strict";exports.readUInt32BE=function(bytes,off){return(bytes[0+off]<<24|bytes[1+off]<<16|bytes[2+off]<<8|bytes[3+off])>>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=255&value},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(i=6;i>=0;i-=2){for(j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;j>=0;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(i=4;i<8;i++)for(j=24;j>=0;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;i>=5;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(i=1;i<=3;i++){for(j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<<shift&268435455|num>>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i<len;i++)outL<<=1,outL|=inL>>>pc2table[i]&1;for(i=len;i<pc2table.length;i++)outR<<=1,outR|=inR>>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(1&r)<<5|r>>>27;for(var i=23;i>=15;i-=4)outL<<=6,outL|=r>>>i&63;for(i=11;i>=3;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(31&r)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++){out<<=4,out|=sTable[64*i+(inL>>>18-6*i&63)]}for(i=0;i<4;i++){out<<=4,out|=sTable[256+64*i+(inR>>>18-6*i&63)]}return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i<permuteTable.length;i++)out<<=1,out|=num>>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length<size;)str="0"+str;for(var out=[],i=0;i<size;i+=group)out.push(str.slice(i,i+group));return out.join(" ")}},{}],203:[function(require,module,exports){(function(Buffer){(function(){var generatePrime=require("./lib/generatePrime"),primes=require("./lib/primes.json"),DH=require("./lib/dh");var ENCODINGS={binary:!0,hex:!0,base64:!0};exports.DiffieHellmanGroup=exports.createDiffieHellmanGroup=exports.getDiffieHellman=function(mod){var prime=new Buffer(primes[mod].prime,"hex"),gen=new Buffer(primes[mod].gen,"hex");return new DH(prime,gen)},exports.createDiffieHellman=exports.DiffieHellman=function createDiffieHellman(prime,enc,generator,genc){return Buffer.isBuffer(enc)||void 0===ENCODINGS[enc]?createDiffieHellman(prime,"binary",enc,generator):(enc=enc||"binary",genc=genc||"binary",generator=generator||new Buffer([2]),Buffer.isBuffer(generator)||(generator=new Buffer(generator,genc)),"number"==typeof prime?new DH(generatePrime(prime,generator),generator,!0):(Buffer.isBuffer(prime)||(prime=new Buffer(prime,enc)),new DH(prime,generator,!0)))}}).call(this)}).call(this,require("buffer").Buffer)},{"./lib/dh":204,"./lib/generatePrime":205,"./lib/primes.json":206,buffer:183}],204:[function(require,module,exports){(function(Buffer){(function(){var BN=require("bn.js"),millerRabin=new(require("miller-rabin")),TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require("./generatePrime"),randomBytes=require("randombytes");function setPublicKey(pub,enc){return enc=enc||"utf8",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||"utf8",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}module.exports=DH;var primeCache={};function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}function formatReturnValue(bn,enc){var buf=new Buffer(bn.toArray());return enc?buf.toString(enc):buf}Object.defineProperty(DH.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(prime,generator){var gen=generator.toString("hex"),hex=[gen,prime.toString(16)].join("_");if(hex in primeCache)return primeCache[hex];var rem,error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,error+="02"===gen||"05"===gen?8:4,primeCache[hex]=error,error;switch(millerRabin.test(prime.shrn(1))||(error+=2),gen){case"02":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case"05":(rem=prime.mod(TEN)).cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error,error}(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){var secret=(other=(other=new BN(other)).toRed(this._prime)).redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length<prime.length){var front=new Buffer(prime.length-out.length);front.fill(0),out=Buffer.concat([front,out])}return out},DH.prototype.getPublicKey=function(enc){return formatReturnValue(this._pub,enc)},DH.prototype.getPrivateKey=function(enc){return formatReturnValue(this._priv,enc)},DH.prototype.getPrime=function(enc){return formatReturnValue(this.__prime,enc)},DH.prototype.getGenerator=function(enc){return formatReturnValue(this._gen,enc)},DH.prototype.setGenerator=function(gen,enc){return enc=enc||"utf8",Buffer.isBuffer(gen)||(gen=new Buffer(gen,enc)),this.__gen=gen,this._gen=new BN(gen),this}}).call(this)}).call(this,require("buffer").Buffer)},{"./generatePrime":205,"bn.js":207,buffer:183,"miller-rabin":341,randombytes:400}],205:[function(require,module,exports){var randomBytes=require("randombytes");module.exports=findPrime,findPrime.simpleSieve=simpleSieve,findPrime.fermatTest=fermatTest;var BN=require("bn.js"),TWENTYFOUR=new BN(24),millerRabin=new(require("miller-rabin")),ONE=new BN(1),TWO=new BN(2),FIVE=new BN(5),TEN=(new BN(16),new BN(8),new BN(10)),THREE=new BN(3),ELEVEN=(new BN(7),new BN(11)),FOUR=new BN(4),primes=(new BN(12),null);function _getPrimes(){if(null!==primes)return primes;var res=[];res[0]=2;for(var i=1,k=3;k<1048576;k+=2){for(var sqrt=Math.ceil(Math.sqrt(k)),j=0;j<i&&res[j]<=sqrt&&k%res[j]!=0;j++);i!==j&&res[j]<=sqrt||(res[i++]=k)}return primes=res,res}function simpleSieve(p){for(var primes=_getPrimes(),i=0;i<primes.length;i++)if(0===p.modn(primes[i]))return 0===p.cmpn(primes[i]);return!0}function fermatTest(p){var red=BN.mont(p);return 0===TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1)}function findPrime(bits,gen){if(bits<16)return new BN(2===gen||5===gen?[140,123]:[140,39]);var num,n2;for(gen=new BN(gen);;){for(num=new BN(randomBytes(Math.ceil(bits/8)));num.bitLength()>bits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(simpleSieve(n2=num.shrn(1))&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}},{"bn.js":207,"miller-rabin":341,randombytes:400}],206:[function(require,module,exports){module.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},{}],207:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],208:[function(require,module,exports){var crypto=require("crypto"),BigInteger=require("jsbn").BigInteger,Buffer=(require("./lib/ec.js").ECPointFp,require("safer-buffer").Buffer);function unstupid(hex,len){return hex.length>=len?hex:unstupid("0"+hex,len)}exports.ECCurves=require("./lib/sec.js"),exports.ECKey=function(curve,key,isPublic){var priv,c=curve(),n=c.getN(),bytes=Math.floor(n.bitLength()/8);if(key)if(isPublic){curve=c.getCurve();this.P=curve.decodePointHex(key.toString("hex"))}else{if(key.length!=bytes)return!1;priv=new BigInteger(key.toString("hex"),16)}else{var n1=n.subtract(BigInteger.ONE),r=new BigInteger(crypto.randomBytes(n.bitLength()));priv=r.mod(n1).add(BigInteger.ONE),this.P=c.getG().multiply(priv)}this.P&&(this.PublicKey=Buffer.from(c.getCurve().encodeCompressedPointHex(this.P),"hex")),priv&&(this.PrivateKey=Buffer.from(unstupid(priv.toString(16),2*bytes),"hex"),this.deriveSharedSecret=function(key){if(!key||!key.P)return!1;var S=key.P.multiply(priv);return Buffer.from(unstupid(S.getX().toBigInteger().toString(16),2*bytes),"hex")})}},{"./lib/ec.js":209,"./lib/sec.js":210,crypto:195,jsbn:299,"safer-buffer":435}],209:[function(require,module,exports){var BigInteger=require("jsbn").BigInteger,Barrett=BigInteger.prototype.Barrett;function ECFieldElementFp(q,x){this.x=x,this.q=q}function ECPointFp(curve,x,y,z){this.curve=curve,this.x=x,this.y=y,this.z=null==z?BigInteger.ONE:z,this.zinv=null}function ECCurveFp(q,a,b){this.q=q,this.a=this.fromBigInteger(a),this.b=this.fromBigInteger(b),this.infinity=new ECPointFp(this,null,null),this.reducer=new Barrett(this.q)}ECFieldElementFp.prototype.equals=function(other){return other==this||this.q.equals(other.q)&&this.x.equals(other.x)},ECFieldElementFp.prototype.toBigInteger=function(){return this.x},ECFieldElementFp.prototype.negate=function(){return new ECFieldElementFp(this.q,this.x.negate().mod(this.q))},ECFieldElementFp.prototype.add=function(b){return new ECFieldElementFp(this.q,this.x.add(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.subtract=function(b){return new ECFieldElementFp(this.q,this.x.subtract(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.multiply=function(b){return new ECFieldElementFp(this.q,this.x.multiply(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.square=function(){return new ECFieldElementFp(this.q,this.x.square().mod(this.q))},ECFieldElementFp.prototype.divide=function(b){return new ECFieldElementFp(this.q,this.x.multiply(b.toBigInteger().modInverse(this.q)).mod(this.q))},ECPointFp.prototype.getX=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var r=this.x.toBigInteger().multiply(this.zinv);return this.curve.reduce(r),this.curve.fromBigInteger(r)},ECPointFp.prototype.getY=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var r=this.y.toBigInteger().multiply(this.zinv);return this.curve.reduce(r),this.curve.fromBigInteger(r)},ECPointFp.prototype.equals=function(other){return other==this||(this.isInfinity()?other.isInfinity():other.isInfinity()?this.isInfinity():!!other.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(other.z)).mod(this.curve.q).equals(BigInteger.ZERO)&&other.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(other.z)).mod(this.curve.q).equals(BigInteger.ZERO))},ECPointFp.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(BigInteger.ZERO)&&!this.y.toBigInteger().equals(BigInteger.ZERO)},ECPointFp.prototype.negate=function(){return new ECPointFp(this.curve,this.x,this.y.negate(),this.z)},ECPointFp.prototype.add=function(b){if(this.isInfinity())return b;if(b.isInfinity())return this;var u=b.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(b.z)).mod(this.curve.q),v=b.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(b.z)).mod(this.curve.q);if(BigInteger.ZERO.equals(v))return BigInteger.ZERO.equals(u)?this.twice():this.curve.getInfinity();var THREE=new BigInteger("3"),x1=this.x.toBigInteger(),y1=this.y.toBigInteger(),v2=(b.x.toBigInteger(),b.y.toBigInteger(),v.square()),v3=v2.multiply(v),x1v2=x1.multiply(v2),zu2=u.square().multiply(this.z),x3=zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.q),y3=x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.q),z3=v3.multiply(this.z).multiply(b.z).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(x3),this.curve.fromBigInteger(y3),z3)},ECPointFp.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var THREE=new BigInteger("3"),x1=this.x.toBigInteger(),y1=this.y.toBigInteger(),y1z1=y1.multiply(this.z),y1sqz1=y1z1.multiply(y1).mod(this.curve.q),a=this.curve.a.toBigInteger(),w=x1.square().multiply(THREE);BigInteger.ZERO.equals(a)||(w=w.add(this.z.square().multiply(a)));var x3=(w=w.mod(this.curve.q)).square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.q),y3=w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.square().multiply(w)).mod(this.curve.q),z3=y1z1.square().multiply(y1z1).shiftLeft(3).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(x3),this.curve.fromBigInteger(y3),z3)},ECPointFp.prototype.multiply=function(k){if(this.isInfinity())return this;if(0==k.signum())return this.curve.getInfinity();var i,e=k,h=e.multiply(new BigInteger("3")),neg=this.negate(),R=this;for(i=h.bitLength()-2;i>0;--i){R=R.twice();var hBit=h.testBit(i);hBit!=e.testBit(i)&&(R=R.add(hBit?this:neg))}return R},ECPointFp.prototype.multiplyTwo=function(j,x,k){var i;i=j.bitLength()>k.bitLength()?j.bitLength()-1:k.bitLength()-1;for(var R=this.curve.getInfinity(),both=this.add(x);i>=0;)R=R.twice(),j.testBit(i)?R=k.testBit(i)?R.add(both):R.add(this):k.testBit(i)&&(R=R.add(x)),--i;return R},ECCurveFp.prototype.getQ=function(){return this.q},ECCurveFp.prototype.getA=function(){return this.a},ECCurveFp.prototype.getB=function(){return this.b},ECCurveFp.prototype.equals=function(other){return other==this||this.q.equals(other.q)&&this.a.equals(other.a)&&this.b.equals(other.b)},ECCurveFp.prototype.getInfinity=function(){return this.infinity},ECCurveFp.prototype.fromBigInteger=function(x){return new ECFieldElementFp(this.q,x)},ECCurveFp.prototype.reduce=function(x){this.reducer.reduce(x)},ECCurveFp.prototype.encodePointHex=function(p){if(p.isInfinity())return"00";var xHex=p.getX().toBigInteger().toString(16),yHex=p.getY().toBigInteger().toString(16),oLen=this.getQ().toString(16).length;for(oLen%2!=0&&oLen++;xHex.length<oLen;)xHex="0"+xHex;for(;yHex.length<oLen;)yHex="0"+yHex;return"04"+xHex+yHex},ECCurveFp.prototype.decodePointHex=function(s){var yIsEven;switch(parseInt(s.substr(0,2),16)){case 0:return this.infinity;case 2:yIsEven=!1;case 3:null==yIsEven&&(yIsEven=!0);var len=s.length-2,xHex=s.substr(2,len),x=this.fromBigInteger(new BigInteger(xHex,16)),beta=x.multiply(x.square().add(this.getA())).add(this.getB()).sqrt();if(null==beta)throw"Invalid point compression";var betaValue=beta.toBigInteger();return betaValue.testBit(0)!=yIsEven&&(beta=this.fromBigInteger(this.getQ().subtract(betaValue))),new ECPointFp(this,x,beta);case 4:case 6:case 7:len=(s.length-2)/2,xHex=s.substr(2,len);var yHex=s.substr(len+2,len);return new ECPointFp(this,this.fromBigInteger(new BigInteger(xHex,16)),this.fromBigInteger(new BigInteger(yHex,16)));default:return null}},ECCurveFp.prototype.encodeCompressedPointHex=function(p){if(p.isInfinity())return"00";var xHex=p.getX().toBigInteger().toString(16),oLen=this.getQ().toString(16).length;for(oLen%2!=0&&oLen++;xHex.length<oLen;)xHex="0"+xHex;return(p.getY().toBigInteger().isEven()?"02":"03")+xHex},ECFieldElementFp.prototype.getR=function(){if(null!=this.r)return this.r;this.r=null;var bitLength=this.q.bitLength();bitLength>128&&(-1==this.q.shiftRight(bitLength-64).intValue()&&(this.r=BigInteger.ONE.shiftLeft(bitLength).subtract(this.q)));return this.r},ECFieldElementFp.prototype.modMult=function(x1,x2){return this.modReduce(x1.multiply(x2))},ECFieldElementFp.prototype.modReduce=function(x){if(null!=this.getR()){for(var qLen=q.bitLength();x.bitLength()>qLen+1;){var u=x.shiftRight(qLen),v=x.subtract(u.shiftLeft(qLen));this.getR().equals(BigInteger.ONE)||(u=u.multiply(this.getR())),x=u.add(v)}for(;x.compareTo(q)>=0;)x=x.subtract(q)}else x=x.mod(q);return x},ECFieldElementFp.prototype.sqrt=function(){if(!this.q.testBit(0))throw"unsupported";if(this.q.testBit(1)){var z=new ECFieldElementFp(this.q,this.x.modPow(this.q.shiftRight(2).add(BigInteger.ONE),this.q));return z.square().equals(this)?z:null}var qMinusOne=this.q.subtract(BigInteger.ONE),legendreExponent=qMinusOne.shiftRight(1);if(!this.x.modPow(legendreExponent,this.q).equals(BigInteger.ONE))return null;var U,V,k=qMinusOne.shiftRight(2).shiftLeft(1).add(BigInteger.ONE),Q=this.x,fourQ=modDouble(modDouble(Q));do{var P;do{P=new BigInteger(this.q.bitLength(),new SecureRandom)}while(P.compareTo(this.q)>=0||!P.multiply(P).subtract(fourQ).modPow(legendreExponent,this.q).equals(qMinusOne));var result=this.lucasSequence(P,Q,k);if(U=result[0],V=result[1],this.modMult(V,V).equals(fourQ))return V.testBit(0)&&(V=V.add(q)),V=V.shiftRight(1),new ECFieldElementFp(q,V)}while(U.equals(BigInteger.ONE)||U.equals(qMinusOne));return null},ECFieldElementFp.prototype.lucasSequence=function(P,Q,k){for(var n=k.bitLength(),s=k.getLowestSetBit(),Uh=BigInteger.ONE,Vl=BigInteger.TWO,Vh=P,Ql=BigInteger.ONE,Qh=BigInteger.ONE,j=n-1;j>=s+1;--j)Ql=this.modMult(Ql,Qh),k.testBit(j)?(Qh=this.modMult(Ql,Q),Uh=this.modMult(Uh,Vh),Vl=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Vh=this.modReduce(Vh.multiply(Vh).subtract(Qh.shiftLeft(1)))):(Qh=Ql,Uh=this.modReduce(Uh.multiply(Vl).subtract(Ql)),Vh=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Vl=this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))));Ql=this.modMult(Ql,Qh),Qh=this.modMult(Ql,Q),Uh=this.modReduce(Uh.multiply(Vl).subtract(Ql)),Vl=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Ql=this.modMult(Ql,Qh);for(j=1;j<=s;++j)Uh=this.modMult(Uh,Vl),Vl=this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))),Ql=this.modMult(Ql,Ql);return[Uh,Vl]};exports={ECCurveFp:ECCurveFp,ECPointFp:ECPointFp,ECFieldElementFp:ECFieldElementFp};module.exports=exports},{jsbn:299}],210:[function(require,module,exports){var BigInteger=require("jsbn").BigInteger,ECCurveFp=require("./ec.js").ECCurveFp;function X9ECParameters(curve,g,n,h){this.curve=curve,this.g=g,this.n=n,this.h=h}function fromHex(s){return new BigInteger(s,16)}function secp128r1(){var p=fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC"),b=fromHex("E87579C11079F43DD824993C2CEE5ED3"),n=fromHex("FFFFFFFE0000000075A30D1B9038A115"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04161FF7528B899B2D0C28607CA52C5B86CF5AC8395BAFEB13C02DA292DDED7A83");return new X9ECParameters(curve,G,n,h)}function secp160k1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"),a=BigInteger.ZERO,b=fromHex("7"),n=fromHex("0100000000000000000001B8FA16DFAB9ACA16B6B3"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("043B4C382CE37AA192A4019E763036F4F5DD4D7EBB938CF935318FDCED6BC28286531733C3F03C4FEE");return new X9ECParameters(curve,G,n,h)}function secp160r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC"),b=fromHex("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45"),n=fromHex("0100000000000000000001F4C8F927AED3CA752257"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB32");return new X9ECParameters(curve,G,n,h)}function secp192k1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37"),a=BigInteger.ZERO,b=fromHex("3"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D");return new X9ECParameters(curve,G,n,h)}function secp192r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC"),b=fromHex("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF101207192B95FFC8DA78631011ED6B24CDD573F977A11E794811");return new X9ECParameters(curve,G,n,h)}function secp224r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE"),b=fromHex("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34");return new X9ECParameters(curve,G,n,h)}function secp256r1(){var p=fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"),b=fromHex("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"),n=fromHex("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5");return new X9ECParameters(curve,G,n,h)}X9ECParameters.prototype.getCurve=function(){return this.curve},X9ECParameters.prototype.getG=function(){return this.g},X9ECParameters.prototype.getN=function(){return this.n},X9ECParameters.prototype.getH=function(){return this.h},module.exports={secp128r1:secp128r1,secp160k1:secp160k1,secp160r1:secp160r1,secp192k1:secp192k1,secp192r1:secp192r1,secp224r1:secp224r1,secp256r1:secp256r1}},{"./ec.js":209,jsbn:299}],211:[function(require,module,exports){"use strict";var elliptic=exports;elliptic.version=require("../package.json").version,elliptic.utils=require("./elliptic/utils"),elliptic.rand=require("brorand"),elliptic.curve=require("./elliptic/curve"),elliptic.curves=require("./elliptic/curves"),elliptic.ec=require("./elliptic/ec"),elliptic.eddsa=require("./elliptic/eddsa")},{"../package.json":227,"./elliptic/curve":214,"./elliptic/curves":217,"./elliptic/ec":218,"./elliptic/eddsa":221,"./elliptic/utils":225,brorand:135}],212:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||adjustCount.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function BasePoint(curve,type){this.curve=curve,this.type=type,this.precomputed=null}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error("Not implemented")},BaseCurve.prototype.validate=function(){throw new Error("Not implemented")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<<doubles.step+1)-(doubles.step%2==0?2:1);I/=3;for(var repr=[],j=0;j<naf.length;j+=doubles.step){var nafW=0;for(k=j+doubles.step-1;k>=j;k--)nafW=(nafW<<1)+naf[k];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;i>0;i--){for(j=0;j<repr.length;j++){(nafW=repr[j])===i?b=b.mixedAdd(doubles.points[j]):nafW===-i&&(b=b.mixedAdd(doubles.points[j].neg()))}a=a.add(b)}return a.toP()},BaseCurve.prototype._wnafMul=function(p,k){var w=4,nafPoints=p._getNAFPoints(w);w=nafPoints.wnd;for(var wnd=nafPoints.points,naf=getNAF(k,w,this._bitLength),acc=this.jpoint(null,null,null),i=naf.length-1;i>=0;i--){for(k=0;i>=0&&0===naf[i];i--)k++;if(i>=0&&k++,acc=acc.dblp(k),i<0)break;var z=naf[i];assert(0!==z),acc="affine"===p.type?z>0?acc.mixedAdd(wnd[z-1>>1]):acc.mixedAdd(wnd[-z-1>>1].neg()):z>0?acc.add(wnd[z-1>>1]):acc.add(wnd[-z-1>>1].neg())}return"affine"===p.type?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){for(var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i=0;i<len;i++){var nafPoints=(p=points[i])._getNAFPoints(defW);wndWidth[i]=nafPoints.wnd,wnd[i]=nafPoints.points}for(i=len-1;i>=1;i-=2){var a=i-1,b=i;if(1===wndWidth[a]&&1===wndWidth[b]){var comb=[points[a],null,null,points[b]];0===points[a].y.cmp(points[b].y)?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):0===points[a].y.cmp(points[b].y.redNeg())?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max);for(var j=0;j<max;j++){var ja=0|jsf[0][j],jb=0|jsf[1][j];naf[a][j]=index[3*(ja+1)+(jb+1)],naf[b][j]=0,wnd[a]=comb}}else naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max)}var acc=this.jpoint(null,null,null),tmp=this._wnafT4;for(i=max;i>=0;i--){for(var k=0;i>=0;){var zero=!0;for(j=0;j<len;j++)tmp[j]=0|naf[j][i],0!==tmp[j]&&(zero=!1);if(!zero)break;k++,i--}if(i>=0&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j<len;j++){var p,z=tmp[j];0!==z&&(z>0?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),acc="affine"===p.type?acc.mixedAdd(p):acc.add(p))}}for(i=0;i<len;i++)wnd[i]=null;return jacobianResult?acc:acc.toP()},BaseCurve.BasePoint=BasePoint,BasePoint.prototype.eq=function(){throw new Error("Not implemented")},BasePoint.prototype.validate=function(){return this.curve.validate(this)},BaseCurve.prototype.decodePoint=function(bytes,enc){bytes=utils.toArray(bytes,enc);var len=this.p.byteLength();if((4===bytes[0]||6===bytes[0]||7===bytes[0])&&bytes.length-1==2*len)return 6===bytes[0]?assert(bytes[bytes.length-1]%2==0):7===bytes[0]&&assert(bytes[bytes.length-1]%2==1),this.point(bytes.slice(1,1+len),bytes.slice(1+len,1+2*len));if((2===bytes[0]||3===bytes[0])&&bytes.length-1===len)return this.pointFromX(bytes.slice(1,1+len),3===bytes[0]);throw new Error("Unknown point format")},BasePoint.prototype.encodeCompressed=function(enc){return this.encode(enc,!0)},BasePoint.prototype._encode=function(compact){var len=this.curve.p.byteLength(),x=this.getX().toArray("be",len);return compact?[this.getY().isEven()?2:3].concat(x):[4].concat(x,this.getY().toArray("be",len))},BasePoint.prototype.encode=function(enc,compact){return utils.encode(this._encode(compact),enc)},BasePoint.prototype.precompute=function(power){if(this.precomputed)return this;var precomputed={doubles:null,naf:null,beta:null};return precomputed.naf=this._getNAFPoints(8),precomputed.doubles=this._getDoubles(4,power),precomputed.beta=this._getBeta(),this.precomputed=precomputed,this},BasePoint.prototype._hasDoubles=function(k){if(!this.precomputed)return!1;var doubles=this.precomputed.doubles;return!!doubles&&doubles.points.length>=Math.ceil((k.bitLength()+1)/doubles.step)},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i<power;i+=step){for(var j=0;j<step;j++)acc=acc.dbl();doubles.push(acc)}return{step:step,points:doubles}},BasePoint.prototype._getNAFPoints=function(wnd){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var res=[this],max=(1<<wnd)-1,dbl=1===max?null:this.dbl(),i=1;i<max;i++)res[i]=res[i-1].add(dbl);return{wnd:wnd,points:res}},BasePoint.prototype._getBeta=function(){return null},BasePoint.prototype.dblp=function(k){for(var r=this,i=0;i<k;i++)r=r.dbl();return r}},{"../utils":225,"bn.js":226}],213:[function(require,module,exports){"use strict";var utils=require("../utils"),BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),assert=utils.assert;function EdwardsCurve(conf){this.twisted=1!=(0|conf.a),this.mOneA=this.twisted&&-1==(0|conf.a),this.extended=this.mOneA,Base.call(this,"edwards",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|conf.c)}function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,"projective"),null===x&&null===y&&null===z?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(num){return this.mOneA?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error("invalid point");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){(y=new BN(y,16)).red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(0===x2.cmp(this.zero)){if(odd)throw new Error("invalid point");return this.point(this.zero,y)}var x=x2.redSqrt();if(0!==x.redSqr().redSub(x2).cmp(this.zero))throw new Error("invalid point");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return 0===lhs.cmp(rhs)},inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var nx,ny,nz,b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr();if(this.curve.twisted){var f=(e=this.curve._mulA(c)).redAdd(d);if(this.zOne)nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f);else{var h=this.z.redSqr(),j=f.redSub(h).redISub(h);nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j)}}else{var e=c.redAdd(d);h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h);nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j)}return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var ny,nz,a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp);return this.curve.twisted?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()?p:p.isInfinity()?this:this.curve.extended?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||0===this.getX().cmp(other.getX())&&0===this.getY().cmp(other.getY())},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],214:[function(require,module,exports){"use strict";var curve=exports;curve.base=require("./base"),curve.short=require("./short"),curve.mont=require("./mont"),curve.edwards=require("./edwards")},{"./base":212,"./edwards":213,"./mont":215,"./short":216}],215:[function(require,module,exports){"use strict";var BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),utils=require("../utils");function MontCurve(conf){Base.call(this,"mont",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Point(curve,x,z){Base.BasePoint.call(this,curve,"projective"),null===x&&null===z?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);return 0===rhs.redSqrt().redSqr().cmp(rhs)},inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Point.prototype.dbl=function(){var aa=this.x.redAdd(this.z).redSqr(),bb=this.x.redSub(this.z).redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),da=p.x.redSub(p.z).redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),bits=[];0!==t.cmpn(0);t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)0===bits[i]?(a=a.diffAdd(b,this),b=b.dbl()):(b=a.diffAdd(b,this),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.eq=function(other){return 0===this.getX().cmp(other.getX())},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],216:[function(require,module,exports){"use strict";var utils=require("../utils"),BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),assert=utils.assert;function ShortCurve(conf){Base.call(this,"short",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(conf),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function Point(curve,x,y,isRed){Base.BasePoint.call(this,curve,"affine"),null===x&&null===y?(this.x=null,this.y=null,this.inf=!0):(this.x=new BN(x,16),this.y=new BN(y,16),isRed&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,"jacobian"),null===x&&null===y&&null===z?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(ShortCurve,Base),module.exports=ShortCurve,ShortCurve.prototype._getEndomorphism=function(conf){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var beta,lambda;if(conf.beta)beta=new BN(conf.beta,16).toRed(this.red);else{var betas=this._getEndoRoots(this.p);beta=(beta=betas[0].cmp(betas[1])<0?betas[0]:betas[1]).toRed(this.red)}if(conf.lambda)lambda=new BN(conf.lambda,16);else{var lambdas=this._getEndoRoots(this.n);0===this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta))?lambda=lambdas[0]:(lambda=lambdas[1],assert(0===this.g.mul(lambda).x.cmp(this.g.x.redMul(beta))))}return{beta:beta,lambda:lambda,basis:conf.basis?conf.basis.map((function(vec){return{a:new BN(vec.a,16),b:new BN(vec.b,16)}})):this._getEndoBasis(lambda)}}},ShortCurve.prototype._getEndoRoots=function(num){var red=num===this.p?this.red:BN.mont(num),tinv=new BN(2).toRed(red).redInvm(),ntinv=tinv.redNeg(),s=new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);return[ntinv.redAdd(s).fromRed(),ntinv.redSub(s).fromRed()]},ShortCurve.prototype._getEndoBasis=function(lambda){for(var a0,b0,a1,b1,a2,b2,prevR,r,x,aprxSqrt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=lambda,v=this.n.clone(),x1=new BN(1),y1=new BN(0),x2=new BN(0),y2=new BN(1),i=0;0!==u.cmpn(0);){var q=v.div(u);r=v.sub(q.mul(u)),x=x2.sub(q.mul(x1));var y=y2.sub(q.mul(y1));if(!a1&&r.cmp(aprxSqrt)<0)a0=prevR.neg(),b0=x1,a1=r.neg(),b1=x;else if(a1&&2==++i)break;prevR=r,v=u,u=r,x2=x1,x1=x,y2=y1,y1=y}a2=r.neg(),b2=x;var len1=a1.sqr().add(b1.sqr());return a2.sqr().add(b2.sqr()).cmp(len1)>=0&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b);return{k1:k.sub(p1).sub(p2),k2:q1.add(q2).neg()}},ShortCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error("invalid point");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var x=point.x,y=point.y,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return 0===y.redSqr().redISub(rhs).cmpn(0)},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i<points.length;i++){var split=this._endoSplit(coeffs[i]),p=points[i],beta=p._getBeta();split.k1.negative&&(split.k1.ineg(),p=p.neg(!0)),split.k2.negative&&(split.k2.ineg(),beta=beta.neg(!0)),npoints[2*i]=p,npoints[2*i+1]=beta,ncoeffs[2*i]=split.k1,ncoeffs[2*i+1]=split.k2}for(var res=this._wnafMulAdd(1,npoints,ncoeffs,2*i,jacobianResult),j=0;j<2*i;j++)npoints[j]=null,ncoeffs[j]=null;return res},inherits(Point,Base.BasePoint),ShortCurve.prototype.point=function(x,y,isRed){return new Point(this,x,y,isRed)},ShortCurve.prototype.pointFromJSON=function(obj,red){return Point.fromJSON(this,obj,red)},Point.prototype._getBeta=function(){if(this.curve.endo){var pre=this.precomputed;if(pre&&pre.beta)return pre.beta;var beta=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(pre){var curve=this.curve,endoMul=function(p){return curve.point(p.x.redMul(curve.endo.beta),p.y)};pre.beta=beta,beta.precomputed={beta:null,naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(endoMul)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(endoMul)}}}return beta}},Point.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Point.fromJSON=function(curve,obj,red){"string"==typeof obj&&(obj=JSON.parse(obj));var res=curve.point(obj[0],obj[1],red);if(!obj[2])return res;function obj2point(obj){return curve.point(obj[0],obj[1],red)}var pre=obj[2];return res.precomputed={beta:null,doubles:pre.doubles&&{step:pre.doubles.step,points:[res].concat(pre.doubles.points.map(obj2point))},naf:pre.naf&&{wnd:pre.naf.wnd,points:[res].concat(pre.naf.points.map(obj2point))}},res},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(0===this.x.cmp(p.x))return this.curve.point(null,null);var c=this.y.redSub(p.y);0!==c.cmpn(0)&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(0===ys1.cmpn(0))return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()?this:this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve.endo?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||0===this.x.cmp(p.x)&&0===this.y.cmp(p.y))},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(0===pow)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var r=this,i=0;i<pow;i++)r=r.dbl();return r}var a=this.curve.a,tinv=this.curve.tinv,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jyd=jy.redAdd(jy);for(i=0;i<pow;i++){var jx2=jx.redSqr(),jyd2=jyd.redSqr(),jyd4=jyd2.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),t1=jx.redMul(jyd2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),dny=c.redMul(t2);dny=dny.redIAdd(dny).redISub(jyd4);var nz=jyd.redMul(jz);i+1<pow&&(jz4=jz4.redMul(jyd4)),jx=nx,jz=nz,jyd=dny}return this.curve.jpoint(jx,jyd.redMul(tinv),jz)},JPoint.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},JPoint.prototype._zeroDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx),t=m.redSqr().redISub(s).redISub(s),yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),nx=t,ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var a=this.x.redSqr(),b=this.y.redSqr(),c=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(a).redISub(c);d=d.redIAdd(d);var e=a.redAdd(a).redIAdd(a),f=e.redSqr(),c8=c.redIAdd(c);c8=(c8=c8.redIAdd(c8)).redIAdd(c8),nx=f.redISub(d).redISub(d),ny=e.redMul(d.redISub(nx)).redISub(c8),nz=(nz=this.y.redMul(this.z)).redIAdd(nz)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._threeDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a),t=m.redSqr().redISub(s).redISub(s);nx=t;var yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var delta=this.z.redSqr(),gamma=this.y.redSqr(),beta=this.x.redMul(gamma),alpha=this.x.redSub(delta).redMul(this.x.redAdd(delta));alpha=alpha.redAdd(alpha).redIAdd(alpha);var beta4=beta.redIAdd(beta),beta8=(beta4=beta4.redIAdd(beta4)).redAdd(beta4);nx=alpha.redSqr().redISub(beta8),nz=this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);var ggamma8=gamma.redSqr();ggamma8=(ggamma8=(ggamma8=ggamma8.redIAdd(ggamma8)).redIAdd(ggamma8)).redIAdd(ggamma8),ny=alpha.redMul(beta4.redISub(nx)).redISub(ggamma8)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._dbl=function(){var a=this.curve.a,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jx2=jx.redSqr(),jy2=jy.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),jxd4=jx.redAdd(jx),t1=(jxd4=jxd4.redIAdd(jxd4)).redMul(jy2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),jyd8=jy2.redSqr();jyd8=(jyd8=(jyd8=jyd8.redIAdd(jyd8)).redIAdd(jyd8)).redIAdd(jyd8);var ny=c.redMul(t2).redISub(jyd8),nz=jy.redAdd(jy).redMul(jz);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var xx=this.x.redSqr(),yy=this.y.redSqr(),zz=this.z.redSqr(),yyyy=yy.redSqr(),m=xx.redAdd(xx).redIAdd(xx),mm=m.redSqr(),e=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy),ee=(e=(e=(e=e.redIAdd(e)).redAdd(e).redIAdd(e)).redISub(mm)).redSqr(),t=yyyy.redIAdd(yyyy);t=(t=(t=t.redIAdd(t)).redIAdd(t)).redIAdd(t);var u=m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t),yyu4=yy.redMul(u);yyu4=(yyu4=yyu4.redIAdd(yyu4)).redIAdd(yyu4);var nx=this.x.redMul(ee).redISub(yyu4);nx=(nx=nx.redIAdd(nx)).redIAdd(nx);var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=(ny=(ny=ny.redIAdd(ny)).redIAdd(ny)).redIAdd(ny);var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mul=function(k,kbase){return k=new BN(k,kbase),this.curve._wnafMul(this,k)},JPoint.prototype.eq=function(p){if("affine"===p.type)return this.eq(p.toJ());if(this===p)return!0;var z2=this.z.redSqr(),pz2=p.z.redSqr();if(0!==this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0))return!1;var z3=z2.redMul(this.z),pz3=pz2.redMul(p.z);return 0===this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)},JPoint.prototype.eqXToP=function(x){var zs=this.z.redSqr(),rx=x.toRed(this.curve.red).redMul(zs);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(zs);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},JPoint.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],217:[function(require,module,exports){"use strict";var pre,curves=exports,hash=require("hash.js"),curve=require("./curve"),assert=require("./utils").assert;function PresetCurve(options){"short"===options.type?this.curve=new curve.short(options):"edwards"===options.type?this.curve=new curve.edwards(options):this.curve=new curve.mont(options),this.g=this.curve.g,this.n=this.curve.n,this.hash=options.hash,assert(this.g.validate(),"Invalid curve"),assert(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,get:function(){var curve=new PresetCurve(options);return Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,value:curve}),curve}})}curves.PresetCurve=PresetCurve,defineCurve("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:hash.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),defineCurve("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:hash.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),defineCurve("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:hash.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),defineCurve("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:hash.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),defineCurve("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:hash.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["9"]}),defineCurve("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{pre=require("./precomputed/secp256k1")}catch(e){pre=void 0}defineCurve("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:hash.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",pre]})},{"./curve":214,"./precomputed/secp256k1":224,"./utils":225,"hash.js":273}],218:[function(require,module,exports){"use strict";var BN=require("bn.js"),HmacDRBG=require("hmac-drbg"),utils=require("../utils"),curves=require("../curves"),rand=require("brorand"),assert=utils.assert,KeyPair=require("./key"),Signature=require("./signature");function EC(options){if(!(this instanceof EC))return new EC(options);"string"==typeof options&&(assert(curves.hasOwnProperty(options),"Unknown curve "+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC,EC.prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options||(options={});for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||"utf8",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||"utf8",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(priv.cmp(ns2)>0))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=8*msg.byteLength()-this.n.bitLength();return delta>0&&(msg=msg.ushrn(delta)),!truncOnly&&msg.cmp(this.n)>=0?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){"object"==typeof enc&&(options=enc,enc=null),options||(options={}),key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray("be",bytes),nonce=msg.toArray("be",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce:nonce,pers:options.pers,persEnc:options.persEnc||"utf8"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(!((k=this._truncateToN(k,!0)).cmpn(1)<=0||k.cmp(ns1)>=0)){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(0!==r.cmpn(0)){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(0!==(s=s.umod(this.n)).cmpn(0)){var recoveryParam=(kp.getY().isOdd()?1:0)|(0!==kpX.cmp(r)?2:0);return options.canonical&&s.cmp(this.nh)>0&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r:r,s:s,recoveryParam:recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc);var r=(signature=new Signature(signature,"hex")).r,s=signature.s;if(r.cmpn(1)<0||r.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var p,sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n);return this.curve._maxwellTrick?!(p=this.g.jmulAdd(u1,key.getPublic(),u2)).isInfinity()&&p.eqXToP(r):!(p=this.g.mulAdd(u1,key.getPublic(),u2)).isInfinity()&&0===p.getX().umod(this.n).cmp(r)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,"The recovery param is more than two bits"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=1&j,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error("Unable to find sencond key candinate");r=isSecondKey?this.curve.pointFromX(r.add(this.curve.n),isYOdd):this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(null!==(signature=new Signature(signature,enc)).recoveryParam)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch(e){continue}if(Qprime.eq(Q))return i}throw new Error("Unable to find valid recovery factor")}},{"../curves":217,"../utils":225,"./key":219,"./signature":220,"bn.js":226,brorand:135,"hmac-drbg":285}],219:[function(require,module,exports){"use strict";var BN=require("bn.js"),assert=require("../utils").assert;function KeyPair(ec,options){this.ec=ec,this.priv=null,this.pub=null,options.priv&&this._importPrivate(options.priv,options.privEnc),options.pub&&this._importPublic(options.pub,options.pubEnc)}module.exports=KeyPair,KeyPair.fromPublic=function(ec,pub,enc){return pub instanceof KeyPair?pub:new KeyPair(ec,{pub:pub,pubEnc:enc})},KeyPair.fromPrivate=function(ec,priv,enc){return priv instanceof KeyPair?priv:new KeyPair(ec,{priv:priv,privEnc:enc})},KeyPair.prototype.validate=function(){var pub=this.getPublic();return pub.isInfinity()?{result:!1,reason:"Invalid public key"}:pub.validate()?pub.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},KeyPair.prototype.getPublic=function(compact,enc){return"string"==typeof compact&&(enc=compact,compact=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),enc?this.pub.encode(enc,compact):this.pub},KeyPair.prototype.getPrivate=function(enc){return"hex"===enc?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function(key,enc){this.priv=new BN(key,enc||16),this.priv=this.priv.umod(this.ec.curve.n)},KeyPair.prototype._importPublic=function(key,enc){if(key.x||key.y)return"mont"===this.ec.curve.type?assert(key.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||assert(key.x&&key.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(key.x,key.y));this.pub=this.ec.curve.decodePoint(key,enc)},KeyPair.prototype.derive=function(pub){return pub.mul(this.priv).getX()},KeyPair.prototype.sign=function(msg,enc,options){return this.ec.sign(msg,this,enc,options)},KeyPair.prototype.verify=function(msg,signature){return this.ec.verify(msg,signature,this)},KeyPair.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":225,"bn.js":226}],220:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,"Signature without r or s"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),void 0===options.recoveryParam?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(128&initial))return initial;var octetLen=15&initial;if(0===octetLen||octetLen>4)return!1;for(var val=0,i=0,off=p.place;i<octetLen;i++,off++)val<<=8,val|=buf[off],val>>>=0;return!(val<=127)&&(p.place=off,val)}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(128&buf[i+1])&&i<len;)i++;return 0===i?buf:buf.slice(i)}function constructLength(arr,len){if(len<128)arr.push(len);else{var octets=1+(Math.log(len)/Math.LN2>>>3);for(arr.push(128|octets);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}}module.exports=Signature,Signature.prototype._importDER=function(data,enc){data=utils.toArray(data,enc);var p=new Position;if(48!==data[p.place++])return!1;var len=getLength(data,p);if(!1===len)return!1;if(len+p.place!==data.length)return!1;if(2!==data[p.place++])return!1;var rlen=getLength(data,p);if(!1===rlen)return!1;var r=data.slice(p.place,rlen+p.place);if(p.place+=rlen,2!==data[p.place++])return!1;var slen=getLength(data,p);if(!1===slen)return!1;if(data.length!==slen+p.place)return!1;var s=data.slice(p.place,slen+p.place);if(0===r[0]){if(!(128&r[1]))return!1;r=r.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new BN(r),this.s=new BN(s),this.recoveryParam=null,!0},Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(128&r[0]&&(r=[0].concat(r)),128&s[0]&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!(s[0]||128&s[1]);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),(arr=arr.concat(r)).push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}},{"../utils":225,"bn.js":226}],221:[function(require,module,exports){"use strict";var hash=require("hash.js"),curves=require("../curves"),utils=require("../utils"),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require("./key"),Signature=require("./signature");function EDDSA(curve){if(assert("ed25519"===curve,"only tested with ed25519 so far"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve;this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R:R,S:S,Rencoded:Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S());return sig.R().add(key.pub().mul(h)).eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash=this.hash(),i=0;i<arguments.length;i++)hash.update(arguments[i]);return utils.intFromLE(hash.digest()).umod(this.curve.n)},EDDSA.prototype.keyFromPublic=function(pub){return KeyPair.fromPublic(this,pub)},EDDSA.prototype.keyFromSecret=function(secret){return KeyPair.fromSecret(this,secret)},EDDSA.prototype.makeSignature=function(sig){return sig instanceof Signature?sig:new Signature(this,sig)},EDDSA.prototype.encodePoint=function(point){var enc=point.getY().toArray("le",this.encodingLength);return enc[this.encodingLength-1]|=point.getX().isOdd()?128:0,enc},EDDSA.prototype.decodePoint=function(bytes){var lastIx=(bytes=utils.parseBytes(bytes)).length-1,normed=bytes.slice(0,lastIx).concat(-129&bytes[lastIx]),xIsOdd=0!=(128&bytes[lastIx]),y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd)},EDDSA.prototype.encodeInt=function(num){return num.toArray("le",this.encodingLength)},EDDSA.prototype.decodeInt=function(bytes){return utils.intFromLE(bytes)},EDDSA.prototype.isPoint=function(val){return val instanceof this.pointClass}},{"../curves":217,"../utils":225,"./key":222,"./signature":223,"hash.js":273}],222:[function(require,module,exports){"use strict";var utils=require("../utils"),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair?pub:new KeyPair(eddsa,{pub:pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair?secret:new KeyPair(eddsa,{secret:secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),cachedProperty(KeyPair,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),cachedProperty(KeyPair,"privBytes",(function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a})),cachedProperty(KeyPair,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),cachedProperty(KeyPair,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),cachedProperty(KeyPair,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),KeyPair.prototype.sign=function(message){return assert(this._secret,"KeyPair can only verify"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,"KeyPair is public only"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair},{"../utils":225}],223:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,"object"!=typeof sig&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,"Signature without R or S"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)?sig.S:sig.Sencoded}cachedProperty(Signature,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),cachedProperty(Signature,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),cachedProperty(Signature,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),cachedProperty(Signature,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),"hex").toUpperCase()},module.exports=Signature},{"../utils":225,"bn.js":226}],224:[function(require,module,exports){module.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},{}],225:[function(require,module,exports){"use strict";var utils=exports,BN=require("bn.js"),minAssert=require("minimalistic-assert"),minUtils=require("minimalistic-crypto-utils");utils.assert=minAssert,utils.toArray=minUtils.toArray,utils.zero2=minUtils.zero2,utils.toHex=minUtils.toHex,utils.encode=minUtils.encode,utils.getNAF=function(num,w,bits){var naf=new Array(Math.max(num.bitLength(),bits)+1);naf.fill(0);for(var ws=1<<w+1,k=num.clone(),i=0;i<naf.length;i++){var z,mod=k.andln(ws-1);k.isOdd()?(z=mod>(ws>>1)-1?(ws>>1)-mod:mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf},utils.getJSF=function(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0;k1.cmpn(-d1)>0||k2.cmpn(-d2)>0;){var u1,u2,m8,m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;if(3===m14&&(m14=-1),3===m24&&(m24=-1),0==(1&m14))u1=0;else u1=3!==(m8=k1.andln(7)+d1&7)&&5!==m8||2!==m24?m14:-m14;if(jsf[0].push(u1),0==(1&m24))u2=0;else u2=3!==(m8=k2.andln(7)+d2&7)&&5!==m8||2!==m14?m24:-m24;jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf},utils.cachedProperty=function(obj,name,computer){var key="_"+name;obj.prototype[name]=function(){return void 0!==this[key]?this[key]:this[key]=computer.call(this)}},utils.parseBytes=function(bytes){return"string"==typeof bytes?utils.toArray(bytes,"hex"):bytes},utils.intFromLE=function(bytes){return new BN(bytes,"hex","le")}},{"bn.js":226,"minimalistic-assert":346,"minimalistic-crypto-utils":347}],226:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],227:[function(require,module,exports){module.exports={_args:[["elliptic@6.5.3","/Users/begemot/dev/supernova/codegen/Pulsar/packages/core"]],_from:"elliptic@6.5.3",_id:"elliptic@6.5.3",_inBundle:!1,_integrity:"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",_location:"/elliptic",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"elliptic@6.5.3",name:"elliptic",escapedName:"elliptic",rawSpec:"6.5.3",saveSpec:null,fetchSpec:"6.5.3"},_requiredBy:["/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",_spec:"6.5.3",_where:"/Users/begemot/dev/supernova/codegen/Pulsar/packages/core",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},description:"EC cryptography",devDependencies:{brfs:"^1.4.3",coveralls:"^3.0.8",grunt:"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.2",jscs:"^3.0.7",jshint:"^2.10.3",mocha:"^6.2.2"},files:["lib"],homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",name:"elliptic",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.5.3"}},{}],228:[function(require,module,exports){var objectCreate=Object.create||function(proto){var F=function(){};return F.prototype=proto,new F},objectKeys=Object.keys||function(obj){var keys=[];for(var k in obj)Object.prototype.hasOwnProperty.call(obj,k)&&keys.push(k);return k},bind=Function.prototype.bind||function(context){var fn=this;return function(){return fn.apply(context,arguments)}};function EventEmitter(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=objectCreate(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0;var hasDefineProperty,defaultMaxListeners=10;try{var o={};Object.defineProperty&&Object.defineProperty(o,"x",{value:0}),hasDefineProperty=0===o.x}catch(err){hasDefineProperty=!1}function $getMaxListeners(that){return void 0===that._maxListeners?EventEmitter.defaultMaxListeners:that._maxListeners}function emitNone(handler,isFn,self){if(isFn)handler.call(self);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self)}function emitOne(handler,isFn,self,arg1){if(isFn)handler.call(self,arg1);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1)}function emitTwo(handler,isFn,self,arg1,arg2){if(isFn)handler.call(self,arg1,arg2);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2)}function emitThree(handler,isFn,self,arg1,arg2,arg3){if(isFn)handler.call(self,arg1,arg2,arg3);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2,arg3)}function emitMany(handler,isFn,self,args){if(isFn)handler.apply(self,args);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].apply(self,args)}function _addListener(target,type,listener,prepend){var m,events,existing;if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');if((events=target._events)?(events.newListener&&(target.emit("newListener",type,listener.listener?listener.listener:listener),events=target._events),existing=events[type]):(events=target._events=objectCreate(null),target._eventsCount=0),existing){if("function"==typeof existing?existing=events[type]=prepend?[listener,existing]:[existing,listener]:prepend?existing.unshift(listener):existing.push(listener),!existing.warned&&(m=$getMaxListeners(target))&&m>0&&existing.length>m){existing.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');w.name="MaxListenersExceededWarning",w.emitter=target,w.type=type,w.count=existing.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",w.name,w.message)}}else existing=events[type]=listener,++target._eventsCount;return target}function onceWrapper(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var args=new Array(arguments.length),i=0;i<args.length;++i)args[i]=arguments[i];this.listener.apply(this.target,args)}}function _onceWrap(target,type,listener){var state={fired:!1,wrapFn:void 0,target:target,type:type,listener:listener},wrapped=bind.call(onceWrapper,state);return wrapped.listener=listener,state.wrapFn=wrapped,wrapped}function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];return evlistener?"function"==typeof evlistener?unwrap?[evlistener.listener||evlistener]:[evlistener]:unwrap?function(arr){for(var ret=new Array(arr.length),i=0;i<ret.length;++i)ret[i]=arr[i].listener||arr[i];return ret}(evlistener):arrayClone(evlistener,evlistener.length):[]}function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if("function"==typeof evlistener)return 1;if(evlistener)return evlistener.length}return 0}function arrayClone(arr,n){for(var copy=new Array(n),i=0;i<n;++i)copy[i]=arr[i];return copy}hasDefineProperty?Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(arg){if("number"!=typeof arg||arg<0||arg!=arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}}):EventEmitter.defaultMaxListeners=defaultMaxListeners,EventEmitter.prototype.setMaxListeners=function(n){if("number"!=typeof n||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=n,this},EventEmitter.prototype.getMaxListeners=function(){return $getMaxListeners(this)},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,events,doError="error"===type;if(events=this._events)doError=doError&&null==events.error;else if(!doError)return!1;if(doError){if(arguments.length>1&&(er=arguments[1]),er instanceof Error)throw er;var err=new Error('Unhandled "error" event. ('+er+")");throw err.context=er,err}if(!(handler=events[type]))return!1;var isFn="function"==typeof handler;switch(len=arguments.length){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:for(args=new Array(len-1),i=1;i<len;i++)args[i-1]=arguments[i];emitMany(handler,isFn,this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){return _addListener(this,type,listener,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(type,listener){return _addListener(this,type,listener,!0)},EventEmitter.prototype.once=function(type,listener){if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');return this.on(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.prependOnceListener=function(type,listener){if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');return this.prependListener(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.removeListener=function(type,listener){var list,events,position,i,originalListener;if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');if(!(events=this._events))return this;if(!(list=events[type]))return this;if(list===listener||list.listener===listener)0==--this._eventsCount?this._events=objectCreate(null):(delete events[type],events.removeListener&&this.emit("removeListener",type,list.listener||listener));else if("function"!=typeof list){for(position=-1,i=list.length-1;i>=0;i--)if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener,position=i;break}if(position<0)return this;0===position?list.shift():function(list,index){for(var i=index,k=i+1,n=list.length;k<n;i+=1,k+=1)list[i]=list[k];list.pop()}(list,position),1===list.length&&(events[type]=list[0]),events.removeListener&&this.emit("removeListener",type,originalListener||listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var listeners,events,i;if(!(events=this._events))return this;if(!events.removeListener)return 0===arguments.length?(this._events=objectCreate(null),this._eventsCount=0):events[type]&&(0==--this._eventsCount?this._events=objectCreate(null):delete events[type]),this;if(0===arguments.length){var key,keys=objectKeys(events);for(i=0;i<keys.length;++i)"removeListener"!==(key=keys[i])&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events=objectCreate(null),this._eventsCount=0,this}if("function"==typeof(listeners=events[type]))this.removeListener(type,listeners);else if(listeners)for(i=listeners.length-1;i>=0;i--)this.removeListener(type,listeners[i]);return this},EventEmitter.prototype.listeners=function(type){return _listeners(this,type,!0)},EventEmitter.prototype.rawListeners=function(type){return _listeners(this,type,!1)},EventEmitter.listenerCount=function(emitter,type){return"function"==typeof emitter.listenerCount?emitter.listenerCount(type):listenerCount.call(emitter,type)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],229:[function(require,module,exports){var Buffer=require("safe-buffer").Buffer,MD5=require("md5.js");module.exports=function(password,salt,keyBits,ivLen){if(Buffer.isBuffer(password)||(password=Buffer.from(password,"binary")),salt&&(Buffer.isBuffer(salt)||(salt=Buffer.from(salt,"binary")),8!==salt.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var keyLen=keyBits/8,key=Buffer.alloc(keyLen),iv=Buffer.alloc(ivLen||0),tmp=Buffer.alloc(0);keyLen>0||ivLen>0;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key:key,iv:iv}}},{"md5.js":340,"safe-buffer":434}],230:[function(require,module,exports){"use strict";var hasOwn=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,defineProperty=Object.defineProperty,gOPD=Object.getOwnPropertyDescriptor,isArray=function(arr){return"function"==typeof Array.isArray?Array.isArray(arr):"[object Array]"===toStr.call(arr)},isPlainObject=function(obj){if(!obj||"[object Object]"!==toStr.call(obj))return!1;var key,hasOwnConstructor=hasOwn.call(obj,"constructor"),hasIsPrototypeOf=obj.constructor&&obj.constructor.prototype&&hasOwn.call(obj.constructor.prototype,"isPrototypeOf");if(obj.constructor&&!hasOwnConstructor&&!hasIsPrototypeOf)return!1;for(key in obj);return void 0===key||hasOwn.call(obj,key)},setProperty=function(target,options){defineProperty&&"__proto__"===options.name?defineProperty(target,options.name,{enumerable:!0,configurable:!0,value:options.newValue,writable:!0}):target[options.name]=options.newValue},getProperty=function(obj,name){if("__proto__"===name){if(!hasOwn.call(obj,name))return;if(gOPD)return gOPD(obj,name).value}return obj[name]};module.exports=function extend(){var options,name,src,copy,copyIsArray,clone,target=arguments[0],i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[1]||{},i=2),(null==target||"object"!=typeof target&&"function"!=typeof target)&&(target={});i<length;++i)if(null!=(options=arguments[i]))for(name in options)src=getProperty(target,name),target!==(copy=getProperty(options,name))&&(deep&©&&(isPlainObject(copy)||(copyIsArray=isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&isArray(src)?src:[]):clone=src&&isPlainObject(src)?src:{},setProperty(target,{name:name,newValue:extend(deep,clone,copy)})):void 0!==copy&&setProperty(target,{name:name,newValue:copy}));return target}},{}],231:[function(require,module,exports){(function(process){(function(){var mod_assert=require("assert"),mod_util=require("util");function jsSprintf(fmt){var flags,width,precision,conversion,left,pad,sign,arg,match,regex=["([^%]*)","%","(['\\-+ #0]*?)","([1-9]\\d*)?","(\\.([1-9]\\d*))?","[lhjztL]*?","([diouxXfFeEgGaAcCsSp%jr])"].join(""),re=new RegExp(regex),args=Array.prototype.slice.call(arguments,1),ret="",argn=1;for(mod_assert.equal("string",typeof fmt);null!==(match=re.exec(fmt));)if(ret+=match[1],fmt=fmt.substring(match[0].length),flags=match[2]||"",width=match[3]||0,precision=match[4]||"",left=!1,sign=!1,pad=" ","%"!=(conversion=match[6])){if(0===args.length)throw new Error("too few args to sprintf");if(arg=args.shift(),argn++,flags.match(/[\' #]/))throw new Error("unsupported flags: "+flags);if(precision.length>0)throw new Error("non-zero precision not supported");switch(flags.match(/-/)&&(left=!0),flags.match(/0/)&&(pad="0"),flags.match(/\+/)&&(sign=!0),conversion){case"s":if(null==arg)throw new Error("argument "+argn+": attempted to print undefined or null as a string");ret+=doPad(pad,width,left,arg.toString());break;case"d":arg=Math.floor(arg);case"f":ret+=(sign=sign&&arg>0?"+":"")+doPad(pad,width,left,arg.toString());break;case"x":ret+=doPad(pad,width,left,arg.toString(16));break;case"j":0===width&&(width=10),ret+=mod_util.inspect(arg,!1,width);break;case"r":ret+=dumpException(arg);break;default:throw new Error("unsupported conversion: "+conversion)}}else ret+="%";return ret+=fmt}function jsFprintf(stream){var args=Array.prototype.slice.call(arguments,1);return stream.write(jsSprintf.apply(this,args))}function doPad(chr,width,left,str){for(var ret=str;ret.length<width;)left?ret+=chr:ret=chr+ret;return ret}function dumpException(ex){var ret;if(!(ex instanceof Error))throw new Error(jsSprintf("invalid type for %%r: %j",ex));if(ret="EXCEPTION: "+ex.constructor.name+": "+ex.stack,ex.cause&&"function"==typeof ex.cause){var cex=ex.cause();cex&&(ret+="\nCaused by: "+dumpException(cex))}return ret}exports.sprintf=jsSprintf,exports.printf=function(){var args=Array.prototype.slice.call(arguments);args.unshift(process.stdout),jsFprintf.apply(null,args)},exports.fprintf=jsFprintf}).call(this)}).call(this,require("_process"))},{_process:381,assert:125,util:507}],232:[function(require,module,exports){"use strict";module.exports=function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var length,i,keys;if(Array.isArray(a)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(!equal(a[i],b[i]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if((length=(keys=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(i=length;0!=i--;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;for(i=length;0!=i--;){var key=keys[i];if(!equal(a[key],b[key]))return!1}return!0}return a!=a&&b!=b}},{}],233:[function(require,module,exports){"use strict";module.exports=function(data,opts){opts||(opts={}),"function"==typeof opts&&(opts={cmp:opts});var f,cycles="boolean"==typeof opts.cycles&&opts.cycles,cmp=opts.cmp&&(f=opts.cmp,function(node){return function(a,b){var aobj={key:a,value:node[a]},bobj={key:b,value:node[b]};return f(aobj,bobj)}}),seen=[];return function stringify(node){if(node&&node.toJSON&&"function"==typeof node.toJSON&&(node=node.toJSON()),void 0!==node){if("number"==typeof node)return isFinite(node)?""+node:"null";if("object"!=typeof node)return JSON.stringify(node);var i,out;if(Array.isArray(node)){for(out="[",i=0;i<node.length;i++)i&&(out+=","),out+=stringify(node[i])||"null";return out+"]"}if(null===node)return"null";if(-1!==seen.indexOf(node)){if(cycles)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var seenIndex=seen.push(node)-1,keys=Object.keys(node).sort(cmp&&cmp(node));for(out="",i=0;i<keys.length;i++){var key=keys[i],value=stringify(node[key]);value&&(out&&(out+=","),out+=JSON.stringify(key)+":"+value)}return seen.splice(seenIndex,1),"{"+out+"}"}}(data)}},{}],234:[function(require,module,exports){module.exports=ForeverAgent,ForeverAgent.SSL=ForeverAgentSSL;var util=require("util"),Agent=require("http").Agent,net=require("net"),tls=require("tls"),AgentSSL=require("https").Agent;function getConnectionName(host,port){return"string"==typeof host?host+":"+port:host.host+":"+host.port+":"+(host.localAddress?host.localAddress+":":":")}function ForeverAgent(options){var self=this;self.options=options||{},self.requests={},self.sockets={},self.freeSockets={},self.maxSockets=self.options.maxSockets||Agent.defaultMaxSockets,self.minSockets=self.options.minSockets||ForeverAgent.defaultMinSockets,self.on("free",(function(socket,host,port){var name=getConnectionName(host,port);if(self.requests[name]&&self.requests[name].length)self.requests[name].shift().onSocket(socket);else if(self.sockets[name].length<self.minSockets){self.freeSockets[name]||(self.freeSockets[name]=[]),self.freeSockets[name].push(socket);var onIdleError=function(){socket.destroy()};socket._onIdleError=onIdleError,socket.on("error",onIdleError)}else socket.destroy()}))}function ForeverAgentSSL(options){ForeverAgent.call(this,options)}util.inherits(ForeverAgent,Agent),ForeverAgent.defaultMinSockets=5,ForeverAgent.prototype.createConnection=net.createConnection,ForeverAgent.prototype.addRequestNoreuse=Agent.prototype.addRequest,ForeverAgent.prototype.addRequest=function(req,host,port){var name=getConnectionName(host,port);if("string"!=typeof host){var options=host;port=options.port,host=options.host}if(this.freeSockets[name]&&this.freeSockets[name].length>0&&!req.useChunkedEncodingByDefault){var idleSocket=this.freeSockets[name].pop();idleSocket.removeListener("error",idleSocket._onIdleError),delete idleSocket._onIdleError,req._reusedSocket=!0,req.onSocket(idleSocket)}else this.addRequestNoreuse(req,host,port)},ForeverAgent.prototype.removeSocket=function(s,name,host,port){var index;this.sockets[name]?-1!==(index=this.sockets[name].indexOf(s))&&this.sockets[name].splice(index,1):this.sockets[name]&&0===this.sockets[name].length&&(delete this.sockets[name],delete this.requests[name]);this.freeSockets[name]&&(-1!==(index=this.freeSockets[name].indexOf(s))&&(this.freeSockets[name].splice(index,1),0===this.freeSockets[name].length&&delete this.freeSockets[name]));this.requests[name]&&this.requests[name].length&&this.createSocket(name,host,port).emit("free")},util.inherits(ForeverAgentSSL,ForeverAgent),ForeverAgentSSL.prototype.createConnection=function(port,host,options){options="object"==typeof port?port:"object"==typeof host?host:"object"==typeof options?options:{};"number"==typeof port&&(options.port=port);"string"==typeof host&&(options.host=host);return tls.connect(options)},ForeverAgentSSL.prototype.addRequestNoreuse=AgentSSL.prototype.addRequest},{http:471,https:291,net:181,tls:181,util:507}],235:[function(require,module,exports){module.exports="object"==typeof self?self.FormData:window.FormData},{}],236:[function(require,module,exports){module.exports={$id:"afterRequest.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["lastAccess","eTag","hitCount"],properties:{expires:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},lastAccess:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},eTag:{type:"string"},hitCount:{type:"integer"},comment:{type:"string"}}}},{}],237:[function(require,module,exports){module.exports={$id:"beforeRequest.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["lastAccess","eTag","hitCount"],properties:{expires:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},lastAccess:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},eTag:{type:"string"},hitCount:{type:"integer"},comment:{type:"string"}}}},{}],238:[function(require,module,exports){module.exports={$id:"browser.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","version"],properties:{name:{type:"string"},version:{type:"string"},comment:{type:"string"}}}},{}],239:[function(require,module,exports){module.exports={$id:"cache.json#",$schema:"http://json-schema.org/draft-06/schema#",properties:{beforeRequest:{oneOf:[{type:"null"},{$ref:"beforeRequest.json#"}]},afterRequest:{oneOf:[{type:"null"},{$ref:"afterRequest.json#"}]},comment:{type:"string"}}}},{}],240:[function(require,module,exports){module.exports={$id:"content.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["size","mimeType"],properties:{size:{type:"integer"},compression:{type:"integer"},mimeType:{type:"string"},text:{type:"string"},encoding:{type:"string"},comment:{type:"string"}}}},{}],241:[function(require,module,exports){module.exports={$id:"cookie.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},path:{type:"string"},domain:{type:"string"},expires:{type:["string","null"],format:"date-time"},httpOnly:{type:"boolean"},secure:{type:"boolean"},comment:{type:"string"}}}},{}],242:[function(require,module,exports){module.exports={$id:"creator.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","version"],properties:{name:{type:"string"},version:{type:"string"},comment:{type:"string"}}}},{}],243:[function(require,module,exports){module.exports={$id:"entry.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["startedDateTime","time","request","response","cache","timings"],properties:{pageref:{type:"string"},startedDateTime:{type:"string",format:"date-time",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"},time:{type:"number",min:0},request:{$ref:"request.json#"},response:{$ref:"response.json#"},cache:{$ref:"cache.json#"},timings:{$ref:"timings.json#"},serverIPAddress:{type:"string",oneOf:[{format:"ipv4"},{format:"ipv6"}]},connection:{type:"string"},comment:{type:"string"}}}},{}],244:[function(require,module,exports){module.exports={$id:"har.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["log"],properties:{log:{$ref:"log.json#"}}}},{}],245:[function(require,module,exports){module.exports={$id:"header.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},comment:{type:"string"}}}},{}],246:[function(require,module,exports){"use strict";module.exports={afterRequest:require("./afterRequest.json"),beforeRequest:require("./beforeRequest.json"),browser:require("./browser.json"),cache:require("./cache.json"),content:require("./content.json"),cookie:require("./cookie.json"),creator:require("./creator.json"),entry:require("./entry.json"),har:require("./har.json"),header:require("./header.json"),log:require("./log.json"),page:require("./page.json"),pageTimings:require("./pageTimings.json"),postData:require("./postData.json"),query:require("./query.json"),request:require("./request.json"),response:require("./response.json"),timings:require("./timings.json")}},{"./afterRequest.json":236,"./beforeRequest.json":237,"./browser.json":238,"./cache.json":239,"./content.json":240,"./cookie.json":241,"./creator.json":242,"./entry.json":243,"./har.json":244,"./header.json":245,"./log.json":247,"./page.json":248,"./pageTimings.json":249,"./postData.json":250,"./query.json":251,"./request.json":252,"./response.json":253,"./timings.json":254}],247:[function(require,module,exports){module.exports={$id:"log.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["version","creator","entries"],properties:{version:{type:"string"},creator:{$ref:"creator.json#"},browser:{$ref:"browser.json#"},pages:{type:"array",items:{$ref:"page.json#"}},entries:{type:"array",items:{$ref:"entry.json#"}},comment:{type:"string"}}}},{}],248:[function(require,module,exports){module.exports={$id:"page.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["startedDateTime","id","title","pageTimings"],properties:{startedDateTime:{type:"string",format:"date-time",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"},id:{type:"string",unique:!0},title:{type:"string"},pageTimings:{$ref:"pageTimings.json#"},comment:{type:"string"}}}},{}],249:[function(require,module,exports){module.exports={$id:"pageTimings.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",properties:{onContentLoad:{type:"number",min:-1},onLoad:{type:"number",min:-1},comment:{type:"string"}}}},{}],250:[function(require,module,exports){module.exports={$id:"postData.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["mimeType"],properties:{mimeType:{type:"string"},text:{type:"string"},params:{type:"array",required:["name"],properties:{name:{type:"string"},value:{type:"string"},fileName:{type:"string"},contentType:{type:"string"},comment:{type:"string"}}},comment:{type:"string"}}}},{}],251:[function(require,module,exports){module.exports={$id:"query.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},comment:{type:"string"}}}},{}],252:[function(require,module,exports){module.exports={$id:"request.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["method","url","httpVersion","cookies","headers","queryString","headersSize","bodySize"],properties:{method:{type:"string"},url:{type:"string",format:"uri"},httpVersion:{type:"string"},cookies:{type:"array",items:{$ref:"cookie.json#"}},headers:{type:"array",items:{$ref:"header.json#"}},queryString:{type:"array",items:{$ref:"query.json#"}},postData:{$ref:"postData.json#"},headersSize:{type:"integer"},bodySize:{type:"integer"},comment:{type:"string"}}}},{}],253:[function(require,module,exports){module.exports={$id:"response.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["status","statusText","httpVersion","cookies","headers","content","redirectURL","headersSize","bodySize"],properties:{status:{type:"integer"},statusText:{type:"string"},httpVersion:{type:"string"},cookies:{type:"array",items:{$ref:"cookie.json#"}},headers:{type:"array",items:{$ref:"header.json#"}},content:{$ref:"content.json#"},redirectURL:{type:"string"},headersSize:{type:"integer"},bodySize:{type:"integer"},comment:{type:"string"}}}},{}],254:[function(require,module,exports){module.exports={$id:"timings.json#",$schema:"http://json-schema.org/draft-06/schema#",required:["send","wait","receive"],properties:{dns:{type:"number",min:-1},connect:{type:"number",min:-1},blocked:{type:"number",min:-1},send:{type:"number",min:-1},wait:{type:"number",min:-1},receive:{type:"number",min:-1},ssl:{type:"number",min:-1},comment:{type:"string"}}}},{}],255:[function(require,module,exports){function HARError(errors){this.name="HARError",this.message="validation failed",this.errors=errors,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error("validation failed").stack}HARError.prototype=Error.prototype,module.exports=HARError},{}],256:[function(require,module,exports){var ajv,Ajv=require("ajv"),HARError=require("./error"),schemas=require("har-schema");function validate(name,data){data=data||{};var validate=(ajv=ajv||function(){var ajv=new Ajv({allErrors:!0});return ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-06.json")),ajv.addSchema(schemas),ajv}()).getSchema(name+".json");return new Promise((function(resolve,reject){validate(data)?resolve(data):reject(new HARError(validate.errors))}))}exports.afterRequest=function(data){return validate("afterRequest",data)},exports.beforeRequest=function(data){return validate("beforeRequest",data)},exports.browser=function(data){return validate("browser",data)},exports.cache=function(data){return validate("cache",data)},exports.content=function(data){return validate("content",data)},exports.cookie=function(data){return validate("cookie",data)},exports.creator=function(data){return validate("creator",data)},exports.entry=function(data){return validate("entry",data)},exports.har=function(data){return validate("har",data)},exports.header=function(data){return validate("header",data)},exports.log=function(data){return validate("log",data)},exports.page=function(data){return validate("page",data)},exports.pageTimings=function(data){return validate("pageTimings",data)},exports.postData=function(data){return validate("postData",data)},exports.query=function(data){return validate("query",data)},exports.request=function(data){return validate("request",data)},exports.response=function(data){return validate("response",data)},exports.timings=function(data){return validate("timings",data)}},{"./error":255,ajv:60,"ajv/lib/refs/json-schema-draft-06.json":101,"har-schema":246}],257:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer,Transform=require("readable-stream").Transform;function HashBase(blockSize){Transform.call(this),this._block=Buffer.allocUnsafe(blockSize),this._blockSize=blockSize,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}require("inherits")(HashBase,Transform),HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding)}catch(err){error=err}callback(error)},HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest())}catch(err){error=err}callback(error)},HashBase.prototype.update=function(data,encoding){if(function(val,prefix){if(!Buffer.isBuffer(val)&&"string"!=typeof val)throw new TypeError(prefix+" must be a string or a buffer")}(data,"Data"),this._finalized)throw new Error("Digest already called");Buffer.isBuffer(data)||(data=Buffer.from(data,encoding));for(var block=this._block,offset=0;this._blockOffset+data.length-offset>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update(),this._blockOffset=0}for(;offset<data.length;)block[this._blockOffset++]=data[offset++];for(var j=0,carry=8*data.length;carry>0;++j)this._length[j]+=carry,(carry=this._length[j]/4294967296|0)>0&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error("_update is not implemented")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var digest=this._digest();void 0!==encoding&&(digest=digest.toString(encoding)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error("_digest is not implemented")},module.exports=HashBase},{inherits:294,"readable-stream":272,"safe-buffer":434}],258:[function(require,module,exports){arguments[4][164][0].apply(exports,arguments)},{dup:164}],259:[function(require,module,exports){arguments[4][165][0].apply(exports,arguments)},{"./_stream_readable":261,"./_stream_writable":263,_process:381,dup:165,inherits:294}],260:[function(require,module,exports){arguments[4][166][0].apply(exports,arguments)},{"./_stream_transform":262,dup:166,inherits:294}],261:[function(require,module,exports){arguments[4][167][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,"./internal/streams/async_iterator":264,"./internal/streams/buffer_list":265,"./internal/streams/destroy":266,"./internal/streams/from":268,"./internal/streams/state":270,"./internal/streams/stream":271,_process:381,buffer:183,dup:167,events:228,inherits:294,"string_decoder/":490,util:136}],262:[function(require,module,exports){arguments[4][168][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,dup:168,inherits:294}],263:[function(require,module,exports){arguments[4][169][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,"./internal/streams/destroy":266,"./internal/streams/state":270,"./internal/streams/stream":271,_process:381,buffer:183,dup:169,inherits:294,"util-deprecate":504}],264:[function(require,module,exports){arguments[4][170][0].apply(exports,arguments)},{"./end-of-stream":267,_process:381,dup:170}],265:[function(require,module,exports){arguments[4][171][0].apply(exports,arguments)},{buffer:183,dup:171,util:136}],266:[function(require,module,exports){arguments[4][172][0].apply(exports,arguments)},{_process:381,dup:172}],267:[function(require,module,exports){arguments[4][173][0].apply(exports,arguments)},{"../../../errors":258,dup:173}],268:[function(require,module,exports){arguments[4][174][0].apply(exports,arguments)},{dup:174}],269:[function(require,module,exports){arguments[4][175][0].apply(exports,arguments)},{"../../../errors":258,"./end-of-stream":267,dup:175}],270:[function(require,module,exports){arguments[4][176][0].apply(exports,arguments)},{"../../../errors":258,dup:176}],271:[function(require,module,exports){arguments[4][177][0].apply(exports,arguments)},{dup:177,events:228}],272:[function(require,module,exports){arguments[4][178][0].apply(exports,arguments)},{"./lib/_stream_duplex.js":259,"./lib/_stream_passthrough.js":260,"./lib/_stream_readable.js":261,"./lib/_stream_transform.js":262,"./lib/_stream_writable.js":263,"./lib/internal/streams/end-of-stream.js":267,"./lib/internal/streams/pipeline.js":269,dup:178}],273:[function(require,module,exports){var hash=exports;hash.utils=require("./hash/utils"),hash.common=require("./hash/common"),hash.sha=require("./hash/sha"),hash.ripemd=require("./hash/ripemd"),hash.hmac=require("./hash/hmac"),hash.sha1=hash.sha.sha1,hash.sha256=hash.sha.sha256,hash.sha224=hash.sha.sha224,hash.sha384=hash.sha.sha384,hash.sha512=hash.sha.sha512,hash.ripemd160=hash.ripemd.ripemd160},{"./hash/common":274,"./hash/hmac":275,"./hash/ripemd":276,"./hash/sha":277,"./hash/utils":284}],274:[function(require,module,exports){"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){var r=(msg=this.pending).length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),0===this.pending.length&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32)}return this},BlockHash.prototype.digest=function(enc){return this.update(this._pad()),assert(null===this.pending),this._digest(enc)},BlockHash.prototype._pad=function(){var len=this.pendingTotal,bytes=this._delta8,k=bytes-(len+this.padLength)%bytes,res=new Array(k+this.padLength);res[0]=128;for(var i=1;i<k;i++)res[i]=0;if(len<<=3,"big"===this.endian){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=len>>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=255&len}else for(res[i++]=255&len,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t<this.padLength;t++)res[i++]=0;return res}},{"./utils":284,"minimalistic-assert":346}],275:[function(require,module,exports){"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash,this.blockSize=hash.blockSize/8,this.outSize=hash.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(key,enc))}module.exports=Hmac,Hmac.prototype._init=function(key){key.length>this.blockSize&&(key=(new this.Hash).update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=54;for(this.inner=(new this.Hash).update(key),i=0;i<key.length;i++)key[i]^=106;this.outer=(new this.Hash).update(key)},Hmac.prototype.update=function(msg,enc){return this.inner.update(msg,enc),this},Hmac.prototype.digest=function(enc){return this.outer.update(this.inner.digest()),this.outer.digest(enc)}},{"./utils":284,"minimalistic-assert":346}],276:[function(require,module,exports){"use strict";var utils=require("./utils"),common=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(j,x,y,z){return j<=15?x^y^z:j<=31?x&y|~x&z:j<=47?(x|~y)^z:j<=63?x&z|y&~z:x^(y|~z)}function K(j){return j<=15?0:j<=31?1518500249:j<=47?1859775393:j<=63?2400959708:2840853838}function Kh(j){return j<=15?1352829926:j<=31?1548603684:j<=47?1836072691:j<=63?2053994217:0}utils.inherits(RIPEMD160,BlockHash),exports.ripemd160=RIPEMD160,RIPEMD160.blockSize=512,RIPEMD160.outSize=160,RIPEMD160.hmacStrength=192,RIPEMD160.padLength=64,RIPEMD160.prototype._update=function(msg,start){for(var A=this.h[0],B=this.h[1],C=this.h[2],D=this.h[3],E=this.h[4],Ah=A,Bh=B,Ch=C,Dh=D,Eh=E,j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E,E=D,D=rotl32(C,10),C=B,B=T,T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh),Ah=Eh,Eh=Dh,Dh=rotl32(Ch,10),Ch=Bh,Bh=T}T=sum32_3(this.h[1],C,Dh),this.h[1]=sum32_3(this.h[2],D,Eh),this.h[2]=sum32_3(this.h[3],E,Ah),this.h[3]=sum32_3(this.h[4],A,Bh),this.h[4]=sum32_3(this.h[0],B,Ch),this.h[0]=T},RIPEMD160.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"little"):utils.split32(this.h,"little")};var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],rh=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],s=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":274,"./utils":284}],277:[function(require,module,exports){"use strict";exports.sha1=require("./sha/1"),exports.sha224=require("./sha/224"),exports.sha256=require("./sha/256"),exports.sha384=require("./sha/384"),exports.sha512=require("./sha/512")},{"./sha/1":278,"./sha/224":279,"./sha/256":280,"./sha/384":281,"./sha/512":282}],278:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20),t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d,d=c,c=rotl32(b,30),b=a,a=t}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e)},SHA1.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"./common":283}],279:[function(require,module,exports){"use strict";var utils=require("../utils"),SHA256=require("./256");function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256),module.exports=SHA224,SHA224.blockSize=512,SHA224.outSize=224,SHA224.hmacStrength=192,SHA224.padLength=64,SHA224.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h.slice(0,7),"big"):utils.split32(this.h.slice(0,7),"big")}},{"../utils":284,"./256":280}],280:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),assert=require("minimalistic-assert"),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=new Array(64)}utils.inherits(SHA256,BlockHash),module.exports=SHA256,SHA256.blockSize=512,SHA256.outSize=256,SHA256.hmacStrength=192,SHA256.padLength=64,SHA256.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4],f=this.h[5],g=this.h[6],h=this.h[7];for(assert(this.k.length===W.length),i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]),T2=sum32(s0_256(a),maj32(a,b,c));h=g,g=f,f=e,e=sum32(d,T1),d=c,c=b,b=a,a=sum32(T1,T2)}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e),this.h[5]=sum32(this.h[5],f),this.h[6]=sum32(this.h[6],g),this.h[7]=sum32(this.h[7],h)},SHA256.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"./common":283,"minimalistic-assert":346}],281:[function(require,module,exports){"use strict";var utils=require("../utils"),SHA512=require("./512");function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512),module.exports=SHA384,SHA384.blockSize=1024,SHA384.outSize=384,SHA384.hmacStrength=192,SHA384.padLength=128,SHA384.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h.slice(0,12),"big"):utils.split32(this.h.slice(0,12),"big")}},{"../utils":284,"./512":282}],282:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),assert=require("minimalistic-assert"),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=new Array(160)}function ch64_hi(xh,xl,yh,yl,zh){var r=xh&yh^~xh&zh;return r<0&&(r+=4294967296),r}function ch64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^~xl&zl;return r<0&&(r+=4294967296),r}function maj64_hi(xh,xl,yh,yl,zh){var r=xh&yh^xh&zh^yh&zh;return r<0&&(r+=4294967296),r}function maj64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^xl&zl^yl&zl;return r<0&&(r+=4294967296),r}function s0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,28)^rotr64_hi(xl,xh,2)^rotr64_hi(xl,xh,7);return r<0&&(r+=4294967296),r}function s0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,28)^rotr64_lo(xl,xh,2)^rotr64_lo(xl,xh,7);return r<0&&(r+=4294967296),r}function s1_512_hi(xh,xl){var r=rotr64_hi(xh,xl,14)^rotr64_hi(xh,xl,18)^rotr64_hi(xl,xh,9);return r<0&&(r+=4294967296),r}function s1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,14)^rotr64_lo(xh,xl,18)^rotr64_lo(xl,xh,9);return r<0&&(r+=4294967296),r}function g0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,1)^rotr64_hi(xh,xl,8)^shr64_hi(xh,xl,7);return r<0&&(r+=4294967296),r}function g0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,1)^rotr64_lo(xh,xl,8)^shr64_lo(xh,xl,7);return r<0&&(r+=4294967296),r}function g1_512_hi(xh,xl){var r=rotr64_hi(xh,xl,19)^rotr64_hi(xl,xh,29)^shr64_hi(xh,xl,6);return r<0&&(r+=4294967296),r}function g1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,19)^rotr64_lo(xl,xh,29)^shr64_lo(xh,xl,6);return r<0&&(r+=4294967296),r}utils.inherits(SHA512,BlockHash),module.exports=SHA512,SHA512.blockSize=1024,SHA512.outSize=512,SHA512.hmacStrength=192,SHA512.padLength=128,SHA512.prototype._prepareBlock=function(msg,start){for(var W=this.W,i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=g1_512_hi(W[i-4],W[i-3]),c0_lo=g1_512_lo(W[i-4],W[i-3]),c1_hi=W[i-14],c1_lo=W[i-13],c2_hi=g0_512_hi(W[i-30],W[i-29]),c2_lo=g0_512_lo(W[i-30],W[i-29]),c3_hi=W[i-32],c3_lo=W[i-31];W[i]=sum64_4_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo),W[i+1]=sum64_4_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo)}},SHA512.prototype._update=function(msg,start){this._prepareBlock(msg,start);var W=this.W,ah=this.h[0],al=this.h[1],bh=this.h[2],bl=this.h[3],ch=this.h[4],cl=this.h[5],dh=this.h[6],dl=this.h[7],eh=this.h[8],el=this.h[9],fh=this.h[10],fl=this.h[11],gh=this.h[12],gl=this.h[13],hh=this.h[14],hl=this.h[15];assert(this.k.length===W.length);for(var i=0;i<W.length;i+=2){var c0_hi=hh,c0_lo=hl,c1_hi=s1_512_hi(eh,el),c1_lo=s1_512_lo(eh,el),c2_hi=ch64_hi(eh,el,fh,fl,gh),c2_lo=ch64_lo(eh,el,fh,fl,gh,gl),c3_hi=this.k[i],c3_lo=this.k[i+1],c4_hi=W[i],c4_lo=W[i+1],T1_hi=sum64_5_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo),T1_lo=sum64_5_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo);c0_hi=s0_512_hi(ah,al),c0_lo=s0_512_lo(ah,al),c1_hi=maj64_hi(ah,al,bh,bl,ch),c1_lo=maj64_lo(ah,al,bh,bl,ch,cl);var T2_hi=sum64_hi(c0_hi,c0_lo,c1_hi,c1_lo),T2_lo=sum64_lo(c0_hi,c0_lo,c1_hi,c1_lo);hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=sum64_hi(dh,dl,T1_hi,T1_lo),el=sum64_lo(dl,dl,T1_hi,T1_lo),dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=sum64_hi(T1_hi,T1_lo,T2_hi,T2_lo),al=sum64_lo(T1_hi,T1_lo,T2_hi,T2_lo)}sum64(this.h,0,ah,al),sum64(this.h,2,bh,bl),sum64(this.h,4,ch,cl),sum64(this.h,6,dh,dl),sum64(this.h,8,eh,el),sum64(this.h,10,fh,fl),sum64(this.h,12,gh,gl),sum64(this.h,14,hh,hl)},SHA512.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"minimalistic-assert":346}],283:[function(require,module,exports){"use strict";var rotr32=require("../utils").rotr32;function ch32(x,y,z){return x&y^~x&z}function maj32(x,y,z){return x&y^x&z^y&z}function p32(x,y,z){return x^y^z}exports.ft_1=function(s,x,y,z){return 0===s?ch32(x,y,z):1===s||3===s?p32(x,y,z):2===s?maj32(x,y,z):void 0},exports.ch32=ch32,exports.maj32=maj32,exports.p32=p32,exports.s0_256=function(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22)},exports.s1_256=function(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25)},exports.g0_256=function(x){return rotr32(x,7)^rotr32(x,18)^x>>>3},exports.g1_256=function(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}},{"../utils":284}],284:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits");function isSurrogatePair(msg,i){return 55296==(64512&msg.charCodeAt(i))&&(!(i<0||i+1>=msg.length)&&56320==(64512&msg.charCodeAt(i+1)))}function htonl(w){return(w>>>24|w>>>8&65280|w<<8&16711680|(255&w)<<24)>>>0}function zero2(word){return 1===word.length?"0"+word:word}function zero8(word){return 7===word.length?"0"+word:6===word.length?"00"+word:5===word.length?"000"+word:4===word.length?"0000"+word:3===word.length?"00000"+word:2===word.length?"000000"+word:1===word.length?"0000000"+word:word}exports.inherits=inherits,exports.toArray=function(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if("string"==typeof msg)if(enc){if("hex"===enc)for((msg=msg.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(msg="0"+msg),i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}else for(var p=0,i=0;i<msg.length;i++){var c=msg.charCodeAt(i);c<128?res[p++]=c:c<2048?(res[p++]=c>>6|192,res[p++]=63&c|128):isSurrogatePair(msg,i)?(c=65536+((1023&c)<<10)+(1023&msg.charCodeAt(++i)),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=63&c|128):(res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=63&c|128)}else for(i=0;i<msg.length;i++)res[i]=0|msg[i];return res},exports.toHex=function(msg){for(var res="",i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res},exports.htonl=htonl,exports.toHex32=function(msg,endian){for(var res="",i=0;i<msg.length;i++){var w=msg[i];"little"===endian&&(w=htonl(w)),res+=zero8(w.toString(16))}return res},exports.zero2=zero2,exports.zero8=zero8,exports.join32=function(msg,start,end,endian){var len=end-start;assert(len%4==0);for(var res=new Array(len/4),i=0,k=start;i<res.length;i++,k+=4){var w;w="big"===endian?msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3]:msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k],res[i]=w>>>0}return res},exports.split32=function(msg,endian){for(var res=new Array(4*msg.length),i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];"big"===endian?(res[k]=m>>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=255&m):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=255&m)}return res},exports.rotr32=function(w,b){return w>>>b|w<<32-b},exports.rotl32=function(w,b){return w<<b|w>>>32-b},exports.sum32=function(a,b){return a+b>>>0},exports.sum32_3=function(a,b,c){return a+b+c>>>0},exports.sum32_4=function(a,b,c,d){return a+b+c+d>>>0},exports.sum32_5=function(a,b,c,d,e){return a+b+c+d+e>>>0},exports.sum64=function(buf,pos,ah,al){var bh=buf[pos],lo=al+buf[pos+1]>>>0,hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0,buf[pos+1]=lo},exports.sum64_hi=function(ah,al,bh,bl){return(al+bl>>>0<al?1:0)+ah+bh>>>0},exports.sum64_lo=function(ah,al,bh,bl){return al+bl>>>0},exports.sum64_4_hi=function(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,ah+bh+ch+dh+(carry+=(lo=lo+dl>>>0)<dl?1:0)>>>0},exports.sum64_4_lo=function(ah,al,bh,bl,ch,cl,dh,dl){return al+bl+cl+dl>>>0},exports.sum64_5_hi=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,carry+=(lo=lo+dl>>>0)<dl?1:0,ah+bh+ch+dh+eh+(carry+=(lo=lo+el>>>0)<el?1:0)>>>0},exports.sum64_5_lo=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){return al+bl+cl+dl+el>>>0},exports.rotr64_hi=function(ah,al,num){return(al<<32-num|ah>>>num)>>>0},exports.rotr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0},exports.shr64_hi=function(ah,al,num){return ah>>>num},exports.shr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0}},{inherits:294,"minimalistic-assert":346}],285:[function(require,module,exports){"use strict";var hash=require("hash.js"),utils=require("minimalistic-crypto-utils"),assert=require("minimalistic-assert");function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash,this.predResist=!!options.predResist,this.outLen=this.hash.outSize,this.minEntropy=options.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||"hex"),nonce=utils.toArray(options.nonce,options.nonceEnc||"hex"),pers=utils.toArray(options.pers,options.persEnc||"hex");assert(entropy.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(seed),this._reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function(seed){var kmac=this._hmac().update(this.V).update([0]);seed&&(kmac=kmac.update(seed)),this.K=kmac.digest(),this.V=this._hmac().update(this.V).digest(),seed&&(this.K=this._hmac().update(this.V).update([1]).update(seed).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function(entropy,entropyEnc,add,addEnc){"string"!=typeof entropyEnc&&(addEnc=add,add=entropyEnc,entropyEnc=null),entropy=utils.toArray(entropy,entropyEnc),add=utils.toArray(add,addEnc),assert(entropy.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof enc&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||"hex"),this._update(add));for(var temp=[];temp.length<len;)this.V=this._hmac().update(this.V).digest(),temp=temp.concat(this.V);var res=temp.slice(0,len);return this._update(add),this._reseed++,utils.encode(res,enc)}},{"hash.js":273,"minimalistic-assert":346,"minimalistic-crypto-utils":347}],286:[function(require,module,exports){var parser=require("./parser"),signer=require("./signer"),verify=require("./verify"),utils=require("./utils");module.exports={parse:parser.parseRequest,parseRequest:parser.parseRequest,sign:signer.signRequest,signRequest:signer.signRequest,createSigner:signer.createSigner,isSigner:signer.isSigner,sshKeyToPEM:utils.sshKeyToPEM,sshKeyFingerprint:utils.fingerprint,pemToRsaSSHKey:utils.pemToRsaSSHKey,verify:verify.verifySignature,verifySignature:verify.verifySignature,verifyHMAC:verify.verifyHMAC}},{"./parser":287,"./signer":288,"./utils":289,"./verify":290}],287:[function(require,module,exports){var assert=require("assert-plus"),util=require("util"),utils=require("./utils"),HttpSignatureError=(utils.HASH_ALGOS,utils.PK_ALGOS,utils.HttpSignatureError),InvalidAlgorithmError=utils.InvalidAlgorithmError,validateAlgorithm=utils.validateAlgorithm,State_New=0,State_Params=1,ParamsState_Name=0,ParamsState_Quote=1,ParamsState_Value=2,ParamsState_Comma=3;function ExpiredRequestError(message){HttpSignatureError.call(this,message,ExpiredRequestError)}function InvalidHeaderError(message){HttpSignatureError.call(this,message,InvalidHeaderError)}function InvalidParamsError(message){HttpSignatureError.call(this,message,InvalidParamsError)}function MissingHeaderError(message){HttpSignatureError.call(this,message,MissingHeaderError)}function StrictParsingError(message){HttpSignatureError.call(this,message,StrictParsingError)}util.inherits(ExpiredRequestError,HttpSignatureError),util.inherits(InvalidHeaderError,HttpSignatureError),util.inherits(InvalidParamsError,HttpSignatureError),util.inherits(MissingHeaderError,HttpSignatureError),util.inherits(StrictParsingError,HttpSignatureError),module.exports={parseRequest:function(request,options){assert.object(request,"request"),assert.object(request.headers,"request.headers"),void 0===options&&(options={}),void 0===options.headers&&(options.headers=[request.headers["x-date"]?"x-date":"date"]),assert.object(options,"options"),assert.arrayOfString(options.headers,"options.headers"),assert.optionalFinite(options.clockSkew,"options.clockSkew");var authzHeaderName=options.authorizationHeaderName||"authorization";if(!request.headers[authzHeaderName])throw new MissingHeaderError("no "+authzHeaderName+" header present in the request");options.clockSkew=options.clockSkew||300;var date,i=0,state=State_New,substate=ParamsState_Name,tmpName="",tmpValue="",parsed={scheme:"",params:{},signingString:""},authz=request.headers[authzHeaderName];for(i=0;i<authz.length;i++){var c=authz.charAt(i);switch(Number(state)){case State_New:" "!==c?parsed.scheme+=c:state=State_Params;break;case State_Params:switch(Number(substate)){case ParamsState_Name:var code=c.charCodeAt(0);if(code>=65&&code<=90||code>=97&&code<=122)tmpName+=c;else{if("="!==c)throw new InvalidHeaderError("bad param format");if(0===tmpName.length)throw new InvalidHeaderError("bad param format");substate=ParamsState_Quote}break;case ParamsState_Quote:if('"'!==c)throw new InvalidHeaderError("bad param format");tmpValue="",substate=ParamsState_Value;break;case ParamsState_Value:'"'===c?(parsed.params[tmpName]=tmpValue,substate=ParamsState_Comma):tmpValue+=c;break;case ParamsState_Comma:if(","!==c)throw new InvalidHeaderError("bad param format");tmpName="",substate=ParamsState_Name;break;default:throw new Error("Invalid substate")}break;default:throw new Error("Invalid substate")}}if(parsed.params.headers&&""!==parsed.params.headers?parsed.params.headers=parsed.params.headers.split(" "):request.headers["x-date"]?parsed.params.headers=["x-date"]:parsed.params.headers=["date"],!parsed.scheme||"Signature"!==parsed.scheme)throw new InvalidHeaderError('scheme was not "Signature"');if(!parsed.params.keyId)throw new InvalidHeaderError("keyId was not specified");if(!parsed.params.algorithm)throw new InvalidHeaderError("algorithm was not specified");if(!parsed.params.signature)throw new InvalidHeaderError("signature was not specified");parsed.params.algorithm=parsed.params.algorithm.toLowerCase();try{validateAlgorithm(parsed.params.algorithm)}catch(e){throw e instanceof InvalidAlgorithmError?new InvalidParamsError(parsed.params.algorithm+" is not supported"):e}for(i=0;i<parsed.params.headers.length;i++){var h=parsed.params.headers[i].toLowerCase();if(parsed.params.headers[i]=h,"request-line"===h){if(options.strict)throw new StrictParsingError("request-line is not a valid header with strict parsing enabled.");parsed.signingString+=request.method+" "+request.url+" HTTP/"+request.httpVersion}else if("(request-target)"===h)parsed.signingString+="(request-target): "+request.method.toLowerCase()+" "+request.url;else{var value=request.headers[h];if(void 0===value)throw new MissingHeaderError(h+" was not in the request");parsed.signingString+=h+": "+value}i+1<parsed.params.headers.length&&(parsed.signingString+="\n")}if(request.headers.date||request.headers["x-date"]){date=request.headers["x-date"]?new Date(request.headers["x-date"]):new Date(request.headers.date);var now=new Date,skew=Math.abs(now.getTime()-date.getTime());if(skew>1e3*options.clockSkew)throw new ExpiredRequestError("clock skew of "+skew/1e3+"s was greater than "+options.clockSkew+"s")}if(options.headers.forEach((function(hdr){if(parsed.params.headers.indexOf(hdr.toLowerCase())<0)throw new MissingHeaderError(hdr+" was not a signed header")})),options.algorithms&&-1===options.algorithms.indexOf(parsed.params.algorithm))throw new InvalidParamsError(parsed.params.algorithm+" is not a supported algorithm");return parsed.algorithm=parsed.params.algorithm.toUpperCase(),parsed.keyId=parsed.params.keyId,parsed}}},{"./utils":289,"assert-plus":124,util:507}],288:[function(require,module,exports){(function(Buffer){(function(){var assert=require("assert-plus"),crypto=require("crypto"),util=(require("http"),require("util")),sshpk=require("sshpk"),jsprim=require("jsprim"),utils=require("./utils"),sprintf=require("util").format,HASH_ALGOS=utils.HASH_ALGOS,PK_ALGOS=utils.PK_ALGOS,InvalidAlgorithmError=utils.InvalidAlgorithmError,HttpSignatureError=utils.HttpSignatureError,validateAlgorithm=utils.validateAlgorithm,AUTHZ_FMT='Signature keyId="%s",algorithm="%s",headers="%s",signature="%s"';function MissingHeaderError(message){HttpSignatureError.call(this,message,MissingHeaderError)}function StrictParsingError(message){HttpSignatureError.call(this,message,StrictParsingError)}function RequestSigner(options){assert.object(options,"options");var alg=[];if(void 0!==options.algorithm&&(assert.string(options.algorithm,"options.algorithm"),alg=validateAlgorithm(options.algorithm)),this.rs_alg=alg,void 0!==options.sign)assert.func(options.sign,"options.sign"),this.rs_signFunc=options.sign;else if("hmac"===alg[0]&&void 0!==options.key){if(assert.string(options.keyId,"options.keyId"),this.rs_keyId=options.keyId,"string"!=typeof options.key&&!Buffer.isBuffer(options.key))throw new TypeError("options.key for HMAC must be a string or Buffer");this.rs_signer=crypto.createHmac(alg[1].toUpperCase(),options.key),this.rs_signer.sign=function(){var digest=this.digest("base64");return{hashAlgorithm:alg[1],toString:function(){return digest}}}}else{if(void 0===options.key)throw new TypeError("options.sign (func) or options.key is required");var key=options.key;if(("string"==typeof key||Buffer.isBuffer(key))&&(key=sshpk.parsePrivateKey(key)),assert.ok(sshpk.PrivateKey.isPrivateKey(key,[1,2]),"options.key must be a sshpk.PrivateKey"),this.rs_key=key,assert.string(options.keyId,"options.keyId"),this.rs_keyId=options.keyId,!PK_ALGOS[key.type])throw new InvalidAlgorithmError(key.type.toUpperCase()+" type keys are not supported");if(void 0!==alg[0]&&key.type!==alg[0])throw new InvalidAlgorithmError("options.key must be a "+alg[0].toUpperCase()+" key, was given a "+key.type.toUpperCase()+" key instead");this.rs_signer=key.createSign(alg[1])}this.rs_headers=[],this.rs_lines=[]}util.inherits(MissingHeaderError,HttpSignatureError),util.inherits(StrictParsingError,HttpSignatureError),RequestSigner.prototype.writeHeader=function(header,value){if(assert.string(header,"header"),header=header.toLowerCase(),assert.string(value,"value"),this.rs_headers.push(header),this.rs_signFunc)this.rs_lines.push(header+": "+value);else{var line=header+": "+value;this.rs_headers.length>0&&(line="\n"+line),this.rs_signer.update(line)}return value},RequestSigner.prototype.writeDateHeader=function(){return this.writeHeader("date",jsprim.rfc1123(new Date))},RequestSigner.prototype.writeTarget=function(method,path){assert.string(method,"method"),assert.string(path,"path"),method=method.toLowerCase(),this.writeHeader("(request-target)",method+" "+path)},RequestSigner.prototype.sign=function(cb){if(assert.func(cb,"callback"),this.rs_headers.length<1)throw new Error("At least one header must be signed");var alg,authz;if(this.rs_signFunc){var data=this.rs_lines.join("\n"),self=this;this.rs_signFunc(data,(function(err,sig){if(err)cb(err);else{try{assert.object(sig,"signature"),assert.string(sig.keyId,"signature.keyId"),assert.string(sig.algorithm,"signature.algorithm"),assert.string(sig.signature,"signature.signature"),alg=validateAlgorithm(sig.algorithm),authz=sprintf(AUTHZ_FMT,sig.keyId,sig.algorithm,self.rs_headers.join(" "),sig.signature)}catch(e){return void cb(e)}cb(null,authz)}}))}else{try{var sigObj=this.rs_signer.sign()}catch(e){return void cb(e)}alg=(this.rs_alg[0]||this.rs_key.type)+"-"+sigObj.hashAlgorithm;var signature=sigObj.toString();authz=sprintf(AUTHZ_FMT,this.rs_keyId,alg,this.rs_headers.join(" "),signature),cb(null,authz)}},module.exports={isSigner:function(obj){return"object"==typeof obj&&obj instanceof RequestSigner},createSigner:function(options){return new RequestSigner(options)},signRequest:function(request,options){assert.object(request,"request"),assert.object(options,"options"),assert.optionalString(options.algorithm,"options.algorithm"),assert.string(options.keyId,"options.keyId"),assert.optionalArrayOfString(options.headers,"options.headers"),assert.optionalString(options.httpVersion,"options.httpVersion"),request.getHeader("Date")||request.setHeader("Date",jsprim.rfc1123(new Date)),options.headers||(options.headers=["date"]),options.httpVersion||(options.httpVersion="1.1");var i,alg=[];options.algorithm&&(options.algorithm=options.algorithm.toLowerCase(),alg=validateAlgorithm(options.algorithm));var signature,stringToSign="";for(i=0;i<options.headers.length;i++){if("string"!=typeof options.headers[i])throw new TypeError("options.headers must be an array of Strings");var h=options.headers[i].toLowerCase();if("request-line"===h){if(options.strict)throw new StrictParsingError("request-line is not a valid header with strict parsing enabled.");stringToSign+=request.method+" "+request.path+" HTTP/"+options.httpVersion}else if("(request-target)"===h)stringToSign+="(request-target): "+request.method.toLowerCase()+" "+request.path;else{var value=request.getHeader(h);if(void 0===value||""===value)throw new MissingHeaderError(h+" was not in the request");stringToSign+=h+": "+value}i+1<options.headers.length&&(stringToSign+="\n")}if(request.hasOwnProperty("_stringToSign")&&(request._stringToSign=stringToSign),"hmac"===alg[0]){if("string"!=typeof options.key&&!Buffer.isBuffer(options.key))throw new TypeError("options.key must be a string or Buffer");var hmac=crypto.createHmac(alg[1].toUpperCase(),options.key);hmac.update(stringToSign),signature=hmac.digest("base64")}else{var key=options.key;if(("string"==typeof key||Buffer.isBuffer(key))&&(key=sshpk.parsePrivateKey(options.key)),assert.ok(sshpk.PrivateKey.isPrivateKey(key,[1,2]),"options.key must be a sshpk.PrivateKey"),!PK_ALGOS[key.type])throw new InvalidAlgorithmError(key.type.toUpperCase()+" type keys are not supported");if(void 0!==alg[0]&&key.type!==alg[0])throw new InvalidAlgorithmError("options.key must be a "+alg[0].toUpperCase()+" key, was given a "+key.type.toUpperCase()+" key instead");var signer=key.createSign(alg[1]);signer.update(stringToSign);var sigObj=signer.sign();if(!HASH_ALGOS[sigObj.hashAlgorithm])throw new InvalidAlgorithmError(sigObj.hashAlgorithm.toUpperCase()+" is not a supported hash algorithm");options.algorithm=key.type+"-"+sigObj.hashAlgorithm,signature=sigObj.toString(),assert.notStrictEqual(signature,"","empty signature produced")}var authzHeaderName=options.authorizationHeaderName||"Authorization";return request.setHeader(authzHeaderName,sprintf(AUTHZ_FMT,options.keyId,options.algorithm,options.headers.join(" "),signature)),!0}}}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295,"./utils":289,"assert-plus":124,crypto:195,http:471,jsprim:303,sshpk:464,util:507}],289:[function(require,module,exports){var assert=require("assert-plus"),sshpk=require("sshpk"),util=require("util"),HASH_ALGOS={sha1:!0,sha256:!0,sha512:!0},PK_ALGOS={rsa:!0,dsa:!0,ecdsa:!0};function HttpSignatureError(message,caller){Error.captureStackTrace&&Error.captureStackTrace(this,caller||HttpSignatureError),this.message=message,this.name=caller.name}function InvalidAlgorithmError(message){HttpSignatureError.call(this,message,InvalidAlgorithmError)}util.inherits(HttpSignatureError,Error),util.inherits(InvalidAlgorithmError,HttpSignatureError),module.exports={HASH_ALGOS:HASH_ALGOS,PK_ALGOS:PK_ALGOS,HttpSignatureError:HttpSignatureError,InvalidAlgorithmError:InvalidAlgorithmError,validateAlgorithm:function(algorithm){var alg=algorithm.toLowerCase().split("-");if(2!==alg.length)throw new InvalidAlgorithmError(alg[0].toUpperCase()+" is not a valid algorithm");if("hmac"!==alg[0]&&!PK_ALGOS[alg[0]])throw new InvalidAlgorithmError(alg[0].toUpperCase()+" type keys are not supported");if(!HASH_ALGOS[alg[1]])throw new InvalidAlgorithmError(alg[1].toUpperCase()+" is not a supported hash algorithm");return alg},sshKeyToPEM:function(key){return assert.string(key,"ssh_key"),sshpk.parseKey(key,"ssh").toString("pem")},fingerprint:function(key){return assert.string(key,"ssh_key"),sshpk.parseKey(key,"ssh").fingerprint("md5").toString("hex")},pemToRsaSSHKey:function(pem,comment){assert.equal("string",typeof pem,"typeof pem");var k=sshpk.parseKey(pem,"pem");return k.comment=comment,k.toString("ssh")}}},{"assert-plus":124,sshpk:464,util:507}],290:[function(require,module,exports){(function(Buffer){(function(){var assert=require("assert-plus"),crypto=require("crypto"),sshpk=require("sshpk"),utils=require("./utils"),validateAlgorithm=(utils.HASH_ALGOS,utils.PK_ALGOS,utils.InvalidAlgorithmError,utils.HttpSignatureError,utils.validateAlgorithm);module.exports={verifySignature:function(parsedSignature,pubkey){assert.object(parsedSignature,"parsedSignature"),("string"==typeof pubkey||Buffer.isBuffer(pubkey))&&(pubkey=sshpk.parseKey(pubkey)),assert.ok(sshpk.Key.isKey(pubkey,[1,1]),"pubkey must be a sshpk.Key");var alg=validateAlgorithm(parsedSignature.algorithm);if("hmac"===alg[0]||alg[0]!==pubkey.type)return!1;var v=pubkey.createVerify(alg[1]);return v.update(parsedSignature.signingString),v.verify(parsedSignature.params.signature,"base64")},verifyHMAC:function(parsedSignature,secret){assert.object(parsedSignature,"parsedHMAC"),assert.string(secret,"secret");var alg=validateAlgorithm(parsedSignature.algorithm);if("hmac"!==alg[0])return!1;var hashAlg=alg[1].toUpperCase(),hmac=crypto.createHmac(hashAlg,secret);hmac.update(parsedSignature.signingString);var h1=crypto.createHmac(hashAlg,secret);h1.update(hmac.digest()),h1=h1.digest();var h2=crypto.createHmac(hashAlg,secret);return h2.update(new Buffer(parsedSignature.params.signature,"base64")),h2=h2.digest(),"string"==typeof h1?h1===h2:Buffer.isBuffer(h1)&&!h1.equals?h1.toString("binary")===h2.toString("binary"):h1.equals(h2)}}}).call(this)}).call(this,require("buffer").Buffer)},{"./utils":289,"assert-plus":124,buffer:183,crypto:195,sshpk:464}],291:[function(require,module,exports){var http=require("http"),url=require("url"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);function validateParams(params){if("string"==typeof params&&(params=url.parse(params)),params.protocol||(params.protocol="https:"),"https:"!==params.protocol)throw new Error('Protocol "'+params.protocol+'" not supported. Expected "https:"');return params}https.request=function(params,cb){return params=validateParams(params),http.request.call(this,params,cb)},https.get=function(params,cb){return params=validateParams(params),http.get.call(this,params,cb)}},{http:471,url:502}],292:[function(require,module,exports){
|
|
30
|
+
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=function(length){+length!=length&&(length=0);return Buffer.alloc(+length)},exports.INSPECT_MAX_BYTES=50;function createBuffer(length){if(length>2147483647)throw new RangeError('The value "'+length+'" is invalid for option "size"');var buf=new Uint8Array(length);return buf.__proto__=Buffer.prototype,buf}function Buffer(arg,encodingOrOffset,length){if("number"==typeof arg){if("string"==typeof encodingOrOffset)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}function from(value,encodingOrOffset,length){if("string"==typeof value)return function(string,encoding){"string"==typeof encoding&&""!==encoding||(encoding="utf8");if(!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding);var length=0|byteLength(string,encoding),buf=createBuffer(length),actual=buf.write(string,encoding);actual!==length&&(buf=buf.slice(0,actual));return buf}(value,encodingOrOffset);if(ArrayBuffer.isView(value))return fromArrayLike(value);if(null==value)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof value);if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer))return function(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset)throw new RangeError('"offset" is outside of buffer bounds');if(array.byteLength<byteOffset+(length||0))throw new RangeError('"length" is outside of buffer bounds');var buf;buf=void 0===byteOffset&&void 0===length?new Uint8Array(array):void 0===length?new Uint8Array(array,byteOffset):new Uint8Array(array,byteOffset,length);return buf.__proto__=Buffer.prototype,buf}(value,encodingOrOffset,length);if("number"==typeof value)throw new TypeError('The "value" argument must not be of type number. Received type number');var valueOf=value.valueOf&&value.valueOf();if(null!=valueOf&&valueOf!==value)return Buffer.from(valueOf,encodingOrOffset,length);var b=function(obj){if(Buffer.isBuffer(obj)){var len=0|checked(obj.length),buf=createBuffer(len);return 0===buf.length||obj.copy(buf,0,0,len),buf}if(void 0!==obj.length)return"number"!=typeof obj.length||numberIsNaN(obj.length)?createBuffer(0):fromArrayLike(obj);if("Buffer"===obj.type&&Array.isArray(obj.data))return fromArrayLike(obj.data)}(value);if(b)return b;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof value[Symbol.toPrimitive])return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof value)}function assertSize(size){if("number"!=typeof size)throw new TypeError('"size" argument must be of type number');if(size<0)throw new RangeError('The value "'+size+'" is invalid for option "size"')}function allocUnsafe(size){return assertSize(size),createBuffer(size<0?0:0|checked(size))}function fromArrayLike(array){for(var length=array.length<0?0:0|checked(array.length),buf=createBuffer(length),i=0;i<length;i+=1)buf[i]=255&array[i];return buf}function checked(length){if(length>=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|length}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer))return string.byteLength;if("string"!=typeof string)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof string);var len=string.length,mustMatch=arguments.length>2&&!0===arguments[2];if(!mustMatch&&0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return mustMatch?-1:utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function slowToString(encoding,start,end){var loweredCase=!1;if((void 0===start||start<0)&&(start=0),start>this.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if((end>>>=0)<=(start>>>=0))return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):byteOffset>2147483647?byteOffset=2147483647:byteOffset<-2147483648&&(byteOffset=-2147483648),numberIsNaN(byteOffset=+byteOffset)&&(byteOffset=dir?0:buffer.length-1),byteOffset<0&&(byteOffset=buffer.length+byteOffset),byteOffset>=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val&=255,"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var i,indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&("ucs2"===(encoding=String(encoding).toLowerCase())||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++)if(read(arr,i)===read(val,-1===foundIndex?0:i-foundIndex)){if(-1===foundIndex&&(foundIndex=i),i-foundIndex+1===valLength)return foundIndex*indexSize}else-1!==foundIndex&&(i-=i-foundIndex),foundIndex=-1}else for(byteOffset+valLength>arrLength&&(byteOffset=arrLength-valLength),i=byteOffset;i>=0;i--){for(var found=!0,j=0;j<valLength;j++)if(read(arr,i+j)!==read(val,j)){found=!1;break}if(found)return i}return-1}function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;length?(length=Number(length))>remaining&&(length=remaining):length=remaining;var strLen=string.length;length>strLen/2&&(length=strLen/2);for(var i=0;i<length;++i){var parsed=parseInt(string.substr(2*i,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(function(str){for(var byteArray=[],i=0;i<str.length;++i)byteArray.push(255&str.charCodeAt(i));return byteArray}(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(function(str,units){for(var c,hi,lo,byteArray=[],i=0;i<str.length&&!((units-=2)<0);++i)hi=(c=str.charCodeAt(i))>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i<end;){var secondByte,thirdByte,fourthByte,tempCodePoint,firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end)switch(bytesPerSequence){case 1:firstByte<128&&(codePoint=firstByte);break;case 2:128==(192&(secondByte=buf[i+1]))&&(tempCodePoint=(31&firstByte)<<6|63&secondByte)>127&&(codePoint=tempCodePoint);break;case 3:secondByte=buf[i+1],thirdByte=buf[i+2],128==(192&secondByte)&&128==(192&thirdByte)&&(tempCodePoint=(15&firstByte)<<12|(63&secondByte)<<6|63&thirdByte)>2047&&(tempCodePoint<55296||tempCodePoint>57343)&&(codePoint=tempCodePoint);break;case 4:secondByte=buf[i+1],thirdByte=buf[i+2],fourthByte=buf[i+3],128==(192&secondByte)&&128==(192&thirdByte)&&128==(192&fourthByte)&&(tempCodePoint=(15&firstByte)<<18|(63&secondByte)<<12|(63&thirdByte)<<6|63&fourthByte)>65535&&tempCodePoint<1114112&&(codePoint=tempCodePoint)}null===codePoint?(codePoint=65533,bytesPerSequence=1):codePoint>65535&&(codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return function(codePoints){var len=codePoints.length;if(len<=4096)return String.fromCharCode.apply(String,codePoints);var res="",i=0;for(;i<len;)res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=4096));return res}(res)}exports.kMaxLength=2147483647,Buffer.TYPED_ARRAY_SUPPORT=function(){try{var arr=new Uint8Array(1);return arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===arr.foo()}catch(e){return!1}}(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(size,fill,encoding){return function(size,fill,encoding){return assertSize(size),size<=0?createBuffer(size):void 0!==fill?"string"==typeof encoding?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill):createBuffer(size)}(size,fill,encoding)},Buffer.allocUnsafe=function(size){return allocUnsafe(size)},Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)},Buffer.isBuffer=function(b){return null!=b&&!0===b._isBuffer&&b!==Buffer.prototype},Buffer.compare=function(a,b){if(isInstance(a,Uint8Array)&&(a=Buffer.from(a,a.offset,a.byteLength)),isInstance(b,Uint8Array)&&(b=Buffer.from(b,b.offset,b.byteLength)),!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(list,length){if(!Array.isArray(list))throw new TypeError('"list" argument must be an Array of Buffers');if(0===list.length)return Buffer.alloc(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;++i)length+=list[i].length;var buffer=Buffer.allocUnsafe(length),pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)&&(buf=Buffer.from(buf)),!Buffer.isBuffer(buf))throw new TypeError('"list" argument must be an Array of Buffers');buf.copy(buffer,pos),pos+=buf.length}return buffer},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var len=this.length;if(len%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var i=0;i<len;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function(){var len=this.length;if(len%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var i=0;i<len;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function(){var len=this.length;if(len%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var i=0;i<len;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toString=function(){var length=this.length;return 0===length?"":0===arguments.length?utf8Slice(this,0,length):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return str=this.toString("hex",0,max).replace(/(.{2})/g,"$1 ").trim(),this.length>max&&(str+=" ... "),"<Buffer "+str+">"},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)&&(target=Buffer.from(target,target.offset,target.byteLength)),!Buffer.isBuffer(target))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof target);if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(this===target)return 0;for(var x=(thisEnd>>>=0)-(thisStart>>>=0),y=(end>>>=0)-(start>>>=0),len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;i<len;++i)if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i],y=targetCopy[i];break}return x<y?-1:y<x?1:0},Buffer.prototype.includes=function(val,byteOffset,encoding){return-1!==this.indexOf(val,byteOffset,encoding)},Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)},Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)},Buffer.prototype.write=function(string,offset,length,encoding){if(void 0===offset)encoding="utf8",length=this.length,offset=0;else if(void 0===length&&"string"==typeof offset)encoding=offset,length=this.length,offset=0;else{if(!isFinite(offset))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");offset>>>=0,isFinite(length)?(length>>>=0,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0)}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(length<0||offset<0)||offset>this.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(127&buf[i]);return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||start<0)&&(start=0),(!end||end<0||end>len)&&(end=len);for(var out="",i=start;i<end;++i)out+=toHex(buf[i]);return out}function utf16leSlice(buf,start,end){for(var bytes=buf.slice(start,end),res="",i=0;i<bytes.length;i+=2)res+=String.fromCharCode(bytes[i]+256*bytes[i+1]);return res}function checkOffset(offset,ext,length){if(offset%1!=0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,4),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,8),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.slice=function(start,end){var len=this.length;(start=~~start)<0?(start+=len)<0&&(start=0):start>len&&(start=len),(end=void 0===end?len:~~end)<0?(end+=len)<0&&(end=0):end>len&&(end=len),end<start&&(end=start);var newBuf=this.subarray(start,end);return newBuf.__proto__=Buffer.prototype,newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val},Buffer.prototype.readUIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset+--byteLength],mul=1;byteLength>0&&(mul*=256);)val+=this[offset+--byteLength]*mul;return val},Buffer.prototype.readUInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),this[offset]},Buffer.prototype.readUInt16LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]|this[offset+1]<<8},Buffer.prototype.readUInt16BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]<<8|this[offset+1]},Buffer.prototype.readUInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+16777216*this[offset+3]},Buffer.prototype.readUInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),16777216*this[offset]+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])},Buffer.prototype.readIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val>=(mul*=128)&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var i=byteLength,mul=1,val=this[offset+--i];i>0&&(mul*=256);)val+=this[offset+--i]*mul;return val>=(mul*=128)&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),128&this[offset]?-1*(255-this[offset]+1):this[offset]},Buffer.prototype.readInt16LE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt16BE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24},Buffer.prototype.readInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]},Buffer.prototype.readFloatLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!0,23,4)},Buffer.prototype.readFloatBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!1,23,4)},Buffer.prototype.readDoubleLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!0,52,8)},Buffer.prototype.readDoubleBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!1,52,8)},Buffer.prototype.writeUIntLE=function(value,offset,byteLength,noAssert){(value=+value,offset>>>=0,byteLength>>>=0,noAssert)||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var mul=1,i=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUIntBE=function(value,offset,byteLength,noAssert){(value=+value,offset>>>=0,byteLength>>>=0,noAssert)||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var i=byteLength-1,mul=1;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,255,0),this[offset]=255&value,offset+1},Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value,offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i-1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,127,-128),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24,offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),end>0&&end<start&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(targetStart<0)throw new RangeError("targetStart out of bounds");if(start<0||start>=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart<end-start&&(end=target.length-targetStart+start);var len=end-start;if(this===target&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(targetStart,start,end);else if(this===target&&start<targetStart&&targetStart<end)for(var i=len-1;i>=0;--i)target[i+targetStart]=this[i+start];else Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart);return len},Buffer.prototype.fill=function(val,start,end,encoding){if("string"==typeof val){if("string"==typeof start?(encoding=start,start=0,end=this.length):"string"==typeof end&&(encoding=end,end=this.length),void 0!==encoding&&"string"!=typeof encoding)throw new TypeError("encoding must be a string");if("string"==typeof encoding&&!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding);if(1===val.length){var code=val.charCodeAt(0);("utf8"===encoding&&code<128||"latin1"===encoding)&&(val=code)}}else"number"==typeof val&&(val&=255);if(start<0||this.length<start||this.length<end)throw new RangeError("Out of range index");if(end<=start)return this;var i;if(start>>>=0,end=void 0===end?this.length:end>>>0,val||(val=0),"number"==typeof val)for(i=start;i<end;++i)this[i]=val;else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding),len=bytes.length;if(0===len)throw new TypeError('The value "'+val+'" is invalid for argument "value"');for(i=0;i<end-start;++i)this[i+start]=bytes[i%len]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function toHex(n){return n<16?"0"+n.toString(16):n.toString(16)}function utf8ToBytes(string,units){var codePoint;units=units||1/0;for(var length=string.length,leadSurrogate=null,bytes=[],i=0;i<length;++i){if((codePoint=string.charCodeAt(i))>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){(units-=3)>-1&&bytes.push(239,191,189);continue}if(i+1===length){(units-=3)>-1&&bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){(units-=3)>-1&&bytes.push(239,191,189),leadSurrogate=codePoint;continue}codePoint=65536+(leadSurrogate-55296<<10|codePoint-56320)}else leadSurrogate&&(units-=3)>-1&&bytes.push(239,191,189);if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function base64ToBytes(str){return base64.toByteArray(function(str){if((str=(str=str.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;str.length%4!=0;)str+="=";return str}(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length&&!(i+offset>=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}function isInstance(obj,type){return obj instanceof type||null!=obj&&null!=obj.constructor&&null!=obj.constructor.name&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!=obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":132,buffer:183,ieee754:292}],184:[function(require,module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],185:[function(require,module,exports){function Caseless(dict){this.dict=dict||{}}Caseless.prototype.set=function(name,value,clobber){if("object"!=typeof name){void 0===clobber&&(clobber=!0);var has=this.has(name);return!clobber&&has?this.dict[has]=this.dict[has]+","+value:this.dict[has||name]=value,has}for(var i in name)this.set(i,name[i],value)},Caseless.prototype.has=function(name){for(var keys=Object.keys(this.dict),i=(name=name.toLowerCase(),0);i<keys.length;i++)if(keys[i].toLowerCase()===name)return keys[i];return!1},Caseless.prototype.get=function(name){var result,_key;name=name.toLowerCase();var headers=this.dict;return Object.keys(headers).forEach((function(key){_key=key.toLowerCase(),name===_key&&(result=headers[key])})),result},Caseless.prototype.swap=function(name){var has=this.has(name);if(has!==name){if(!has)throw new Error('There is no header than matches "'+name+'"');this.dict[name]=this.dict[has],delete this.dict[has]}},Caseless.prototype.del=function(name){var has=this.has(name);return delete this.dict[has||name]},module.exports=function(dict){return new Caseless(dict)},module.exports.httpify=function(resp,headers){var c=new Caseless(headers);return resp.setHeader=function(key,value,clobber){if(void 0!==value)return c.set(key,value,clobber)},resp.hasHeader=function(key){return c.has(key)},resp.getHeader=function(key){return c.get(key)},resp.removeHeader=function(key){return c.del(key)},resp.headers=c.dict,c}},{}],186:[function(require,module,exports){var Buffer=require("safe-buffer").Buffer,Transform=require("stream").Transform,StringDecoder=require("string_decoder").StringDecoder;function CipherBase(hashMode){Transform.call(this),this.hashMode="string"==typeof hashMode,this.hashMode?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}require("inherits")(CipherBase,Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){"string"==typeof data&&(data=Buffer.from(data,inputEnc));var outData=this._update(data);return this.hashMode?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},CipherBase.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},CipherBase.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error("can't switch encodings");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase},{inherits:294,"safe-buffer":434,stream:470,string_decoder:490}],187:[function(require,module,exports){(function(Buffer){(function(){var util=require("util"),Stream=require("stream").Stream,DelayedStream=require("delayed-stream");function CombinedStream(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}module.exports=CombinedStream,util.inherits(CombinedStream,Stream),CombinedStream.create=function(options){var combinedStream=new this;for(var option in options=options||{})combinedStream[option]=options[option];return combinedStream},CombinedStream.isStreamLike=function(stream){return"function"!=typeof stream&&"string"!=typeof stream&&"boolean"!=typeof stream&&"number"!=typeof stream&&!Buffer.isBuffer(stream)},CombinedStream.prototype.append=function(stream){if(CombinedStream.isStreamLike(stream)){if(!(stream instanceof DelayedStream)){var newStream=DelayedStream.create(stream,{maxDataSize:1/0,pauseStream:this.pauseStreams});stream.on("data",this._checkDataSize.bind(this)),stream=newStream}this._handleErrors(stream),this.pauseStreams&&stream.pause()}return this._streams.push(stream),this},CombinedStream.prototype.pipe=function(dest,options){return Stream.prototype.pipe.call(this,dest,options),this.resume(),dest},CombinedStream.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},CombinedStream.prototype._realGetNext=function(){var stream=this._streams.shift();void 0!==stream?"function"==typeof stream?stream(function(stream){CombinedStream.isStreamLike(stream)&&(stream.on("data",this._checkDataSize.bind(this)),this._handleErrors(stream)),this._pipeNext(stream)}.bind(this)):this._pipeNext(stream):this.end()},CombinedStream.prototype._pipeNext=function(stream){if(this._currentStream=stream,CombinedStream.isStreamLike(stream))return stream.on("end",this._getNext.bind(this)),void stream.pipe(this,{end:!1});var value=stream;this.write(value),this._getNext()},CombinedStream.prototype._handleErrors=function(stream){var self=this;stream.on("error",(function(err){self._emitError(err)}))},CombinedStream.prototype.write=function(data){this.emit("data",data)},CombinedStream.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},CombinedStream.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},CombinedStream.prototype.end=function(){this._reset(),this.emit("end")},CombinedStream.prototype.destroy=function(){this._reset(),this.emit("close")},CombinedStream.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},CombinedStream.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(message))}},CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var self=this;this._streams.forEach((function(stream){stream.dataSize&&(self.dataSize+=stream.dataSize)})),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},CombinedStream.prototype._emitError=function(err){this._reset(),this.emit("error",err)}}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295,"delayed-stream":196,stream:470,util:507}],188:[function(require,module,exports){(function(Buffer){(function(){function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=function(arg){return Array.isArray?Array.isArray(arg):"[object Array]"===objectToString(arg)},exports.isBoolean=function(arg){return"boolean"==typeof arg},exports.isNull=function(arg){return null===arg},exports.isNullOrUndefined=function(arg){return null==arg},exports.isNumber=function(arg){return"number"==typeof arg},exports.isString=function(arg){return"string"==typeof arg},exports.isSymbol=function(arg){return"symbol"==typeof arg},exports.isUndefined=function(arg){return void 0===arg},exports.isRegExp=function(re){return"[object RegExp]"===objectToString(re)},exports.isObject=function(arg){return"object"==typeof arg&&null!==arg},exports.isDate=function(d){return"[object Date]"===objectToString(d)},exports.isError=function(e){return"[object Error]"===objectToString(e)||e instanceof Error},exports.isFunction=function(arg){return"function"==typeof arg},exports.isPrimitive=function(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||void 0===arg},exports.isBuffer=Buffer.isBuffer}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295}],189:[function(require,module,exports){(function(Buffer){(function(){var elliptic=require("elliptic"),BN=require("bn.js");module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0),buf=Buffer.concat([zeros,buf])}return enc?buf.toString(enc):buf}aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1,ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){return inenc=inenc||"utf8",Buffer.isBuffer(other)||(other=new Buffer(other,inenc)),formatReturnValue(this.curve.keyFromPublic(other).getPublic().mul(this.keys.getPrivate()).getX(),enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic("compressed"===format,!0);return"hybrid"===format&&(key[key.length-1]%2?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||"utf8",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||"utf8",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this}}).call(this)}).call(this,require("buffer").Buffer)},{"bn.js":190,buffer:183,elliptic:211}],190:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],191:[function(require,module,exports){"use strict";var inherits=require("inherits"),MD5=require("md5.js"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),Base=require("cipher-base");function Hash(hash){Base.call(this,"digest"),this._hash=hash}inherits(Hash,Base),Hash.prototype._update=function(data){this._hash.update(data)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(alg){return"md5"===(alg=alg.toLowerCase())?new MD5:"rmd160"===alg||"ripemd160"===alg?new RIPEMD160:new Hash(sha(alg))}},{"cipher-base":186,inherits:294,"md5.js":340,ripemd160:433,"sha.js":438}],192:[function(require,module,exports){var MD5=require("md5.js");module.exports=function(buffer){return(new MD5).update(buffer).digest()}},{"md5.js":340}],193:[function(require,module,exports){"use strict";var inherits=require("inherits"),Legacy=require("./legacy"),Base=require("cipher-base"),Buffer=require("safe-buffer").Buffer,md5=require("create-hash/md5"),RIPEMD160=require("ripemd160"),sha=require("sha.js"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,"digest"),"string"==typeof key&&(key=Buffer.from(key));var blocksize="sha512"===alg||"sha384"===alg?128:64;(this._alg=alg,this._key=key,key.length>blocksize)?key=("rmd160"===alg?new RIPEMD160:sha(alg)).update(key).digest():key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=this._ipad=Buffer.allocUnsafe(blocksize),opad=this._opad=Buffer.allocUnsafe(blocksize),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash="rmd160"===alg?new RIPEMD160:sha(alg),this._hash.update(ipad)}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.update(data)},Hmac.prototype._final=function(){var h=this._hash.digest();return("rmd160"===this._alg?new RIPEMD160:sha(this._alg)).update(this._opad).update(h).digest()},module.exports=function(alg,key){return"rmd160"===(alg=alg.toLowerCase())||"ripemd160"===alg?new Hmac("rmd160",key):"md5"===alg?new Legacy(md5,key):new Hmac(alg,key)}},{"./legacy":194,"cipher-base":186,"create-hash/md5":192,inherits:294,ripemd160:433,"safe-buffer":434,"sha.js":438}],194:[function(require,module,exports){"use strict";var inherits=require("inherits"),Buffer=require("safe-buffer").Buffer,Base=require("cipher-base"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,"digest"),"string"==typeof key&&(key=Buffer.from(key)),this._alg=alg,this._key=key,key.length>64?key=alg(key):key.length<64&&(key=Buffer.concat([key,ZEROS],64));for(var ipad=this._ipad=Buffer.allocUnsafe(64),opad=this._opad=Buffer.allocUnsafe(64),i=0;i<64;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=[ipad]}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.push(data)},Hmac.prototype._final=function(){var h=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,h]))},module.exports=Hmac},{"cipher-base":186,inherits:294,"safe-buffer":434}],195:[function(require,module,exports){"use strict";exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require("randombytes"),exports.createHash=exports.Hash=require("create-hash"),exports.createHmac=exports.Hmac=require("create-hmac");var algos=require("browserify-sign/algos"),algoKeys=Object.keys(algos),hashes=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require("pbkdf2");exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require("browserify-cipher");exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require("diffie-hellman");exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require("browserify-sign");exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require("create-ecdh");var publicEncrypt=require("public-encrypt");exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=require("randomfill");exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{"browserify-cipher":154,"browserify-sign":161,"browserify-sign/algos":158,"create-ecdh":189,"create-hash":191,"create-hmac":193,"diffie-hellman":203,pbkdf2:373,"public-encrypt":384,randombytes:400,randomfill:401}],196:[function(require,module,exports){var Stream=require("stream").Stream,util=require("util");function DelayedStream(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}module.exports=DelayedStream,util.inherits(DelayedStream,Stream),DelayedStream.create=function(source,options){var delayedStream=new this;for(var option in options=options||{})delayedStream[option]=options[option];delayedStream.source=source;var realEmit=source.emit;return source.emit=function(){return delayedStream._handleEmit(arguments),realEmit.apply(source,arguments)},source.on("error",(function(){})),delayedStream.pauseStream&&source.pause(),delayedStream},Object.defineProperty(DelayedStream.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},DelayedStream.prototype.resume=function(){this._released||this.release(),this.source.resume()},DelayedStream.prototype.pause=function(){this.source.pause()},DelayedStream.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(args){this.emit.apply(this,args)}.bind(this)),this._bufferedEvents=[]},DelayedStream.prototype.pipe=function(){var r=Stream.prototype.pipe.apply(this,arguments);return this.resume(),r},DelayedStream.prototype._handleEmit=function(args){this._released?this.emit.apply(this,args):("data"===args[0]&&(this.dataSize+=args[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(args))},DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(!(this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(message))}}},{stream:470,util:507}],197:[function(require,module,exports){"use strict";exports.utils=require("./des/utils"),exports.Cipher=require("./des/cipher"),exports.DES=require("./des/des"),exports.CBC=require("./des/cbc"),exports.EDE=require("./des/ede")},{"./des/cbc":198,"./des/cipher":199,"./des/des":200,"./des/ede":201,"./des/utils":202}],198:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),proto={};function CBCState(iv){assert.equal(iv.length,8,"Invalid IV length"),this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=iv[i]}exports.instantiate=function(Base){function CBC(options){Base.call(this,options),this._cbcInit()}inherits(CBC,Base);for(var keys=Object.keys(proto),i=0;i<keys.length;i++){var key=keys[i];CBC.prototype[key]=proto[key]}return CBC.create=function(options){return new CBC(options)},CBC},proto._cbcInit=function(){var state=new CBCState(this.options.iv);this._cbcState=state},proto._update=function(inp,inOff,out,outOff){var state=this._cbcState,superProto=this.constructor.super_.prototype,iv=state.iv;if("encrypt"===this.type){for(var i=0;i<this.blockSize;i++)iv[i]^=inp[inOff+i];superProto._update.call(this,iv,0,out,outOff);for(i=0;i<this.blockSize;i++)iv[i]=out[outOff+i]}else{superProto._update.call(this,inp,inOff,out,outOff);for(i=0;i<this.blockSize;i++)out[outOff+i]^=iv[i];for(i=0;i<this.blockSize;i++)iv[i]=inp[inOff+i]}}},{inherits:294,"minimalistic-assert":346}],199:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert");function Cipher(options){this.options=options,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}module.exports=Cipher,Cipher.prototype._init=function(){},Cipher.prototype.update=function(data){return 0===data.length?[]:"decrypt"===this.type?this._updateDecrypt(data):this._updateEncrypt(data)},Cipher.prototype._buffer=function(data,off){for(var min=Math.min(this.buffer.length-this.bufferOff,data.length-off),i=0;i<min;i++)this.buffer[this.bufferOff+i]=data[off+i];return this.bufferOff+=min,min},Cipher.prototype._flushBuffer=function(out,off){return this._update(this.buffer,0,out,off),this.bufferOff=0,this.blockSize},Cipher.prototype._updateEncrypt=function(data){var inputOff=0,outputOff=0,count=(this.bufferOff+data.length)/this.blockSize|0,out=new Array(count*this.blockSize);0!==this.bufferOff&&(inputOff+=this._buffer(data,inputOff),this.bufferOff===this.buffer.length&&(outputOff+=this._flushBuffer(out,outputOff)));for(var max=data.length-(data.length-inputOff)%this.blockSize;inputOff<max;inputOff+=this.blockSize)this._update(data,inputOff,out,outputOff),outputOff+=this.blockSize;for(;inputOff<data.length;inputOff++,this.bufferOff++)this.buffer[this.bufferOff]=data[inputOff];return out},Cipher.prototype._updateDecrypt=function(data){for(var inputOff=0,outputOff=0,count=Math.ceil((this.bufferOff+data.length)/this.blockSize)-1,out=new Array(count*this.blockSize);count>0;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first,last;return buffer&&(first=this.update(buffer)),last="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),first?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(0===off)return!1;for(;off<buffer.length;)buffer[off++]=0;return!0},Cipher.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var out=new Array(this.blockSize);return this._update(this.buffer,0,out,0),out},Cipher.prototype._unpad=function(buffer){return buffer},Cipher.prototype._finalDecrypt=function(){assert.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var out=new Array(this.blockSize);return this._flushBuffer(out,0),this._unpad(out)}},{"minimalistic-assert":346}],200:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),utils=require("./utils"),Cipher=require("./cipher");function DESState(){this.tmp=new Array(2),this.keys=null}function DES(options){Cipher.call(this,options);var state=new DESState;this._desState=state,this.deriveKeys(state,options.key)}inherits(DES,Cipher),module.exports=DES,DES.create=function(options){return new DES(options)};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function(state,key){state.keys=new Array(32),assert.equal(key.length,this.blockSize,"Invalid key length");var kL=utils.readUInt32BE(key,0),kR=utils.readUInt32BE(key,4);utils.pc1(kL,kR,state.tmp,0),kL=state.tmp[0],kR=state.tmp[1];for(var i=0;i<state.keys.length;i+=2){var shift=shiftTable[i>>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],"encrypt"===this.type?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i<buffer.length;i++)buffer[i]=value;return!0},DES.prototype._unpad=function(buffer){for(var pad=buffer[buffer.length-1],i=buffer.length-pad;i<buffer.length;i++)assert.equal(buffer[i],pad);return buffer.slice(0,buffer.length-pad)},DES.prototype._encrypt=function(state,lStart,rStart,out,off){for(var l=lStart,r=rStart,i=0;i<state.keys.length;i+=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(r,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=r;r=(l^utils.permute(s))>>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=l;l=(r^utils.permute(s))>>>0,r=t}utils.rip(l,r,out,off)}},{"./cipher":199,"./utils":202,inherits:294,"minimalistic-assert":346}],201:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits"),Cipher=require("./cipher"),DES=require("./des");function EDEState(type,key){assert.equal(key.length,24,"Invalid key length");var k1=key.slice(0,8),k2=key.slice(8,16),k3=key.slice(16,24);this.ciphers="encrypt"===type?[DES.create({type:"encrypt",key:k1}),DES.create({type:"decrypt",key:k2}),DES.create({type:"encrypt",key:k3})]:[DES.create({type:"decrypt",key:k3}),DES.create({type:"encrypt",key:k2}),DES.create({type:"decrypt",key:k1})]}function EDE(options){Cipher.call(this,options);var state=new EDEState(this.type,this.options.key);this._edeState=state}inherits(EDE,Cipher),module.exports=EDE,EDE.create=function(options){return new EDE(options)},EDE.prototype._update=function(inp,inOff,out,outOff){var state=this._edeState;state.ciphers[0]._update(inp,inOff,out,outOff),state.ciphers[1]._update(out,outOff,out,outOff),state.ciphers[2]._update(out,outOff,out,outOff)},EDE.prototype._pad=DES.prototype._pad,EDE.prototype._unpad=DES.prototype._unpad},{"./cipher":199,"./des":200,inherits:294,"minimalistic-assert":346}],202:[function(require,module,exports){"use strict";exports.readUInt32BE=function(bytes,off){return(bytes[0+off]<<24|bytes[1+off]<<16|bytes[2+off]<<8|bytes[3+off])>>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=255&value},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(i=6;i>=0;i-=2){for(j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;j>=0;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(i=4;i<8;i++)for(j=24;j>=0;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;i>=5;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(i=1;i<=3;i++){for(j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<<shift&268435455|num>>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i<len;i++)outL<<=1,outL|=inL>>>pc2table[i]&1;for(i=len;i<pc2table.length;i++)outR<<=1,outR|=inR>>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(1&r)<<5|r>>>27;for(var i=23;i>=15;i-=4)outL<<=6,outL|=r>>>i&63;for(i=11;i>=3;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(31&r)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++){out<<=4,out|=sTable[64*i+(inL>>>18-6*i&63)]}for(i=0;i<4;i++){out<<=4,out|=sTable[256+64*i+(inR>>>18-6*i&63)]}return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i<permuteTable.length;i++)out<<=1,out|=num>>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length<size;)str="0"+str;for(var out=[],i=0;i<size;i+=group)out.push(str.slice(i,i+group));return out.join(" ")}},{}],203:[function(require,module,exports){(function(Buffer){(function(){var generatePrime=require("./lib/generatePrime"),primes=require("./lib/primes.json"),DH=require("./lib/dh");var ENCODINGS={binary:!0,hex:!0,base64:!0};exports.DiffieHellmanGroup=exports.createDiffieHellmanGroup=exports.getDiffieHellman=function(mod){var prime=new Buffer(primes[mod].prime,"hex"),gen=new Buffer(primes[mod].gen,"hex");return new DH(prime,gen)},exports.createDiffieHellman=exports.DiffieHellman=function createDiffieHellman(prime,enc,generator,genc){return Buffer.isBuffer(enc)||void 0===ENCODINGS[enc]?createDiffieHellman(prime,"binary",enc,generator):(enc=enc||"binary",genc=genc||"binary",generator=generator||new Buffer([2]),Buffer.isBuffer(generator)||(generator=new Buffer(generator,genc)),"number"==typeof prime?new DH(generatePrime(prime,generator),generator,!0):(Buffer.isBuffer(prime)||(prime=new Buffer(prime,enc)),new DH(prime,generator,!0)))}}).call(this)}).call(this,require("buffer").Buffer)},{"./lib/dh":204,"./lib/generatePrime":205,"./lib/primes.json":206,buffer:183}],204:[function(require,module,exports){(function(Buffer){(function(){var BN=require("bn.js"),millerRabin=new(require("miller-rabin")),TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require("./generatePrime"),randomBytes=require("randombytes");function setPublicKey(pub,enc){return enc=enc||"utf8",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||"utf8",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}module.exports=DH;var primeCache={};function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}function formatReturnValue(bn,enc){var buf=new Buffer(bn.toArray());return enc?buf.toString(enc):buf}Object.defineProperty(DH.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(prime,generator){var gen=generator.toString("hex"),hex=[gen,prime.toString(16)].join("_");if(hex in primeCache)return primeCache[hex];var rem,error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,error+="02"===gen||"05"===gen?8:4,primeCache[hex]=error,error;switch(millerRabin.test(prime.shrn(1))||(error+=2),gen){case"02":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case"05":(rem=prime.mod(TEN)).cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error,error}(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){var secret=(other=(other=new BN(other)).toRed(this._prime)).redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length<prime.length){var front=new Buffer(prime.length-out.length);front.fill(0),out=Buffer.concat([front,out])}return out},DH.prototype.getPublicKey=function(enc){return formatReturnValue(this._pub,enc)},DH.prototype.getPrivateKey=function(enc){return formatReturnValue(this._priv,enc)},DH.prototype.getPrime=function(enc){return formatReturnValue(this.__prime,enc)},DH.prototype.getGenerator=function(enc){return formatReturnValue(this._gen,enc)},DH.prototype.setGenerator=function(gen,enc){return enc=enc||"utf8",Buffer.isBuffer(gen)||(gen=new Buffer(gen,enc)),this.__gen=gen,this._gen=new BN(gen),this}}).call(this)}).call(this,require("buffer").Buffer)},{"./generatePrime":205,"bn.js":207,buffer:183,"miller-rabin":341,randombytes:400}],205:[function(require,module,exports){var randomBytes=require("randombytes");module.exports=findPrime,findPrime.simpleSieve=simpleSieve,findPrime.fermatTest=fermatTest;var BN=require("bn.js"),TWENTYFOUR=new BN(24),millerRabin=new(require("miller-rabin")),ONE=new BN(1),TWO=new BN(2),FIVE=new BN(5),TEN=(new BN(16),new BN(8),new BN(10)),THREE=new BN(3),ELEVEN=(new BN(7),new BN(11)),FOUR=new BN(4),primes=(new BN(12),null);function _getPrimes(){if(null!==primes)return primes;var res=[];res[0]=2;for(var i=1,k=3;k<1048576;k+=2){for(var sqrt=Math.ceil(Math.sqrt(k)),j=0;j<i&&res[j]<=sqrt&&k%res[j]!=0;j++);i!==j&&res[j]<=sqrt||(res[i++]=k)}return primes=res,res}function simpleSieve(p){for(var primes=_getPrimes(),i=0;i<primes.length;i++)if(0===p.modn(primes[i]))return 0===p.cmpn(primes[i]);return!0}function fermatTest(p){var red=BN.mont(p);return 0===TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1)}function findPrime(bits,gen){if(bits<16)return new BN(2===gen||5===gen?[140,123]:[140,39]);var num,n2;for(gen=new BN(gen);;){for(num=new BN(randomBytes(Math.ceil(bits/8)));num.bitLength()>bits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(simpleSieve(n2=num.shrn(1))&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}},{"bn.js":207,"miller-rabin":341,randombytes:400}],206:[function(require,module,exports){module.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},{}],207:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],208:[function(require,module,exports){var crypto=require("crypto"),BigInteger=require("jsbn").BigInteger,Buffer=(require("./lib/ec.js").ECPointFp,require("safer-buffer").Buffer);function unstupid(hex,len){return hex.length>=len?hex:unstupid("0"+hex,len)}exports.ECCurves=require("./lib/sec.js"),exports.ECKey=function(curve,key,isPublic){var priv,c=curve(),n=c.getN(),bytes=Math.floor(n.bitLength()/8);if(key)if(isPublic){curve=c.getCurve();this.P=curve.decodePointHex(key.toString("hex"))}else{if(key.length!=bytes)return!1;priv=new BigInteger(key.toString("hex"),16)}else{var n1=n.subtract(BigInteger.ONE),r=new BigInteger(crypto.randomBytes(n.bitLength()));priv=r.mod(n1).add(BigInteger.ONE),this.P=c.getG().multiply(priv)}this.P&&(this.PublicKey=Buffer.from(c.getCurve().encodeCompressedPointHex(this.P),"hex")),priv&&(this.PrivateKey=Buffer.from(unstupid(priv.toString(16),2*bytes),"hex"),this.deriveSharedSecret=function(key){if(!key||!key.P)return!1;var S=key.P.multiply(priv);return Buffer.from(unstupid(S.getX().toBigInteger().toString(16),2*bytes),"hex")})}},{"./lib/ec.js":209,"./lib/sec.js":210,crypto:195,jsbn:299,"safer-buffer":435}],209:[function(require,module,exports){var BigInteger=require("jsbn").BigInteger,Barrett=BigInteger.prototype.Barrett;function ECFieldElementFp(q,x){this.x=x,this.q=q}function ECPointFp(curve,x,y,z){this.curve=curve,this.x=x,this.y=y,this.z=null==z?BigInteger.ONE:z,this.zinv=null}function ECCurveFp(q,a,b){this.q=q,this.a=this.fromBigInteger(a),this.b=this.fromBigInteger(b),this.infinity=new ECPointFp(this,null,null),this.reducer=new Barrett(this.q)}ECFieldElementFp.prototype.equals=function(other){return other==this||this.q.equals(other.q)&&this.x.equals(other.x)},ECFieldElementFp.prototype.toBigInteger=function(){return this.x},ECFieldElementFp.prototype.negate=function(){return new ECFieldElementFp(this.q,this.x.negate().mod(this.q))},ECFieldElementFp.prototype.add=function(b){return new ECFieldElementFp(this.q,this.x.add(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.subtract=function(b){return new ECFieldElementFp(this.q,this.x.subtract(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.multiply=function(b){return new ECFieldElementFp(this.q,this.x.multiply(b.toBigInteger()).mod(this.q))},ECFieldElementFp.prototype.square=function(){return new ECFieldElementFp(this.q,this.x.square().mod(this.q))},ECFieldElementFp.prototype.divide=function(b){return new ECFieldElementFp(this.q,this.x.multiply(b.toBigInteger().modInverse(this.q)).mod(this.q))},ECPointFp.prototype.getX=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var r=this.x.toBigInteger().multiply(this.zinv);return this.curve.reduce(r),this.curve.fromBigInteger(r)},ECPointFp.prototype.getY=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var r=this.y.toBigInteger().multiply(this.zinv);return this.curve.reduce(r),this.curve.fromBigInteger(r)},ECPointFp.prototype.equals=function(other){return other==this||(this.isInfinity()?other.isInfinity():other.isInfinity()?this.isInfinity():!!other.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(other.z)).mod(this.curve.q).equals(BigInteger.ZERO)&&other.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(other.z)).mod(this.curve.q).equals(BigInteger.ZERO))},ECPointFp.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(BigInteger.ZERO)&&!this.y.toBigInteger().equals(BigInteger.ZERO)},ECPointFp.prototype.negate=function(){return new ECPointFp(this.curve,this.x,this.y.negate(),this.z)},ECPointFp.prototype.add=function(b){if(this.isInfinity())return b;if(b.isInfinity())return this;var u=b.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(b.z)).mod(this.curve.q),v=b.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(b.z)).mod(this.curve.q);if(BigInteger.ZERO.equals(v))return BigInteger.ZERO.equals(u)?this.twice():this.curve.getInfinity();var THREE=new BigInteger("3"),x1=this.x.toBigInteger(),y1=this.y.toBigInteger(),v2=(b.x.toBigInteger(),b.y.toBigInteger(),v.square()),v3=v2.multiply(v),x1v2=x1.multiply(v2),zu2=u.square().multiply(this.z),x3=zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.q),y3=x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.q),z3=v3.multiply(this.z).multiply(b.z).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(x3),this.curve.fromBigInteger(y3),z3)},ECPointFp.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var THREE=new BigInteger("3"),x1=this.x.toBigInteger(),y1=this.y.toBigInteger(),y1z1=y1.multiply(this.z),y1sqz1=y1z1.multiply(y1).mod(this.curve.q),a=this.curve.a.toBigInteger(),w=x1.square().multiply(THREE);BigInteger.ZERO.equals(a)||(w=w.add(this.z.square().multiply(a)));var x3=(w=w.mod(this.curve.q)).square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.q),y3=w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.square().multiply(w)).mod(this.curve.q),z3=y1z1.square().multiply(y1z1).shiftLeft(3).mod(this.curve.q);return new ECPointFp(this.curve,this.curve.fromBigInteger(x3),this.curve.fromBigInteger(y3),z3)},ECPointFp.prototype.multiply=function(k){if(this.isInfinity())return this;if(0==k.signum())return this.curve.getInfinity();var i,e=k,h=e.multiply(new BigInteger("3")),neg=this.negate(),R=this;for(i=h.bitLength()-2;i>0;--i){R=R.twice();var hBit=h.testBit(i);hBit!=e.testBit(i)&&(R=R.add(hBit?this:neg))}return R},ECPointFp.prototype.multiplyTwo=function(j,x,k){var i;i=j.bitLength()>k.bitLength()?j.bitLength()-1:k.bitLength()-1;for(var R=this.curve.getInfinity(),both=this.add(x);i>=0;)R=R.twice(),j.testBit(i)?R=k.testBit(i)?R.add(both):R.add(this):k.testBit(i)&&(R=R.add(x)),--i;return R},ECCurveFp.prototype.getQ=function(){return this.q},ECCurveFp.prototype.getA=function(){return this.a},ECCurveFp.prototype.getB=function(){return this.b},ECCurveFp.prototype.equals=function(other){return other==this||this.q.equals(other.q)&&this.a.equals(other.a)&&this.b.equals(other.b)},ECCurveFp.prototype.getInfinity=function(){return this.infinity},ECCurveFp.prototype.fromBigInteger=function(x){return new ECFieldElementFp(this.q,x)},ECCurveFp.prototype.reduce=function(x){this.reducer.reduce(x)},ECCurveFp.prototype.encodePointHex=function(p){if(p.isInfinity())return"00";var xHex=p.getX().toBigInteger().toString(16),yHex=p.getY().toBigInteger().toString(16),oLen=this.getQ().toString(16).length;for(oLen%2!=0&&oLen++;xHex.length<oLen;)xHex="0"+xHex;for(;yHex.length<oLen;)yHex="0"+yHex;return"04"+xHex+yHex},ECCurveFp.prototype.decodePointHex=function(s){var yIsEven;switch(parseInt(s.substr(0,2),16)){case 0:return this.infinity;case 2:yIsEven=!1;case 3:null==yIsEven&&(yIsEven=!0);var len=s.length-2,xHex=s.substr(2,len),x=this.fromBigInteger(new BigInteger(xHex,16)),beta=x.multiply(x.square().add(this.getA())).add(this.getB()).sqrt();if(null==beta)throw"Invalid point compression";var betaValue=beta.toBigInteger();return betaValue.testBit(0)!=yIsEven&&(beta=this.fromBigInteger(this.getQ().subtract(betaValue))),new ECPointFp(this,x,beta);case 4:case 6:case 7:len=(s.length-2)/2,xHex=s.substr(2,len);var yHex=s.substr(len+2,len);return new ECPointFp(this,this.fromBigInteger(new BigInteger(xHex,16)),this.fromBigInteger(new BigInteger(yHex,16)));default:return null}},ECCurveFp.prototype.encodeCompressedPointHex=function(p){if(p.isInfinity())return"00";var xHex=p.getX().toBigInteger().toString(16),oLen=this.getQ().toString(16).length;for(oLen%2!=0&&oLen++;xHex.length<oLen;)xHex="0"+xHex;return(p.getY().toBigInteger().isEven()?"02":"03")+xHex},ECFieldElementFp.prototype.getR=function(){if(null!=this.r)return this.r;this.r=null;var bitLength=this.q.bitLength();bitLength>128&&(-1==this.q.shiftRight(bitLength-64).intValue()&&(this.r=BigInteger.ONE.shiftLeft(bitLength).subtract(this.q)));return this.r},ECFieldElementFp.prototype.modMult=function(x1,x2){return this.modReduce(x1.multiply(x2))},ECFieldElementFp.prototype.modReduce=function(x){if(null!=this.getR()){for(var qLen=q.bitLength();x.bitLength()>qLen+1;){var u=x.shiftRight(qLen),v=x.subtract(u.shiftLeft(qLen));this.getR().equals(BigInteger.ONE)||(u=u.multiply(this.getR())),x=u.add(v)}for(;x.compareTo(q)>=0;)x=x.subtract(q)}else x=x.mod(q);return x},ECFieldElementFp.prototype.sqrt=function(){if(!this.q.testBit(0))throw"unsupported";if(this.q.testBit(1)){var z=new ECFieldElementFp(this.q,this.x.modPow(this.q.shiftRight(2).add(BigInteger.ONE),this.q));return z.square().equals(this)?z:null}var qMinusOne=this.q.subtract(BigInteger.ONE),legendreExponent=qMinusOne.shiftRight(1);if(!this.x.modPow(legendreExponent,this.q).equals(BigInteger.ONE))return null;var U,V,k=qMinusOne.shiftRight(2).shiftLeft(1).add(BigInteger.ONE),Q=this.x,fourQ=modDouble(modDouble(Q));do{var P;do{P=new BigInteger(this.q.bitLength(),new SecureRandom)}while(P.compareTo(this.q)>=0||!P.multiply(P).subtract(fourQ).modPow(legendreExponent,this.q).equals(qMinusOne));var result=this.lucasSequence(P,Q,k);if(U=result[0],V=result[1],this.modMult(V,V).equals(fourQ))return V.testBit(0)&&(V=V.add(q)),V=V.shiftRight(1),new ECFieldElementFp(q,V)}while(U.equals(BigInteger.ONE)||U.equals(qMinusOne));return null},ECFieldElementFp.prototype.lucasSequence=function(P,Q,k){for(var n=k.bitLength(),s=k.getLowestSetBit(),Uh=BigInteger.ONE,Vl=BigInteger.TWO,Vh=P,Ql=BigInteger.ONE,Qh=BigInteger.ONE,j=n-1;j>=s+1;--j)Ql=this.modMult(Ql,Qh),k.testBit(j)?(Qh=this.modMult(Ql,Q),Uh=this.modMult(Uh,Vh),Vl=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Vh=this.modReduce(Vh.multiply(Vh).subtract(Qh.shiftLeft(1)))):(Qh=Ql,Uh=this.modReduce(Uh.multiply(Vl).subtract(Ql)),Vh=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Vl=this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))));Ql=this.modMult(Ql,Qh),Qh=this.modMult(Ql,Q),Uh=this.modReduce(Uh.multiply(Vl).subtract(Ql)),Vl=this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))),Ql=this.modMult(Ql,Qh);for(j=1;j<=s;++j)Uh=this.modMult(Uh,Vl),Vl=this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))),Ql=this.modMult(Ql,Ql);return[Uh,Vl]};exports={ECCurveFp:ECCurveFp,ECPointFp:ECPointFp,ECFieldElementFp:ECFieldElementFp};module.exports=exports},{jsbn:299}],210:[function(require,module,exports){var BigInteger=require("jsbn").BigInteger,ECCurveFp=require("./ec.js").ECCurveFp;function X9ECParameters(curve,g,n,h){this.curve=curve,this.g=g,this.n=n,this.h=h}function fromHex(s){return new BigInteger(s,16)}function secp128r1(){var p=fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC"),b=fromHex("E87579C11079F43DD824993C2CEE5ED3"),n=fromHex("FFFFFFFE0000000075A30D1B9038A115"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04161FF7528B899B2D0C28607CA52C5B86CF5AC8395BAFEB13C02DA292DDED7A83");return new X9ECParameters(curve,G,n,h)}function secp160k1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"),a=BigInteger.ZERO,b=fromHex("7"),n=fromHex("0100000000000000000001B8FA16DFAB9ACA16B6B3"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("043B4C382CE37AA192A4019E763036F4F5DD4D7EBB938CF935318FDCED6BC28286531733C3F03C4FEE");return new X9ECParameters(curve,G,n,h)}function secp160r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC"),b=fromHex("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45"),n=fromHex("0100000000000000000001F4C8F927AED3CA752257"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB32");return new X9ECParameters(curve,G,n,h)}function secp192k1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37"),a=BigInteger.ZERO,b=fromHex("3"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D");return new X9ECParameters(curve,G,n,h)}function secp192r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC"),b=fromHex("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF101207192B95FFC8DA78631011ED6B24CDD573F977A11E794811");return new X9ECParameters(curve,G,n,h)}function secp224r1(){var p=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001"),a=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE"),b=fromHex("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4"),n=fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("04B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34");return new X9ECParameters(curve,G,n,h)}function secp256r1(){var p=fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"),a=fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"),b=fromHex("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"),n=fromHex("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"),h=BigInteger.ONE,curve=new ECCurveFp(p,a,b),G=curve.decodePointHex("046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5");return new X9ECParameters(curve,G,n,h)}X9ECParameters.prototype.getCurve=function(){return this.curve},X9ECParameters.prototype.getG=function(){return this.g},X9ECParameters.prototype.getN=function(){return this.n},X9ECParameters.prototype.getH=function(){return this.h},module.exports={secp128r1:secp128r1,secp160k1:secp160k1,secp160r1:secp160r1,secp192k1:secp192k1,secp192r1:secp192r1,secp224r1:secp224r1,secp256r1:secp256r1}},{"./ec.js":209,jsbn:299}],211:[function(require,module,exports){"use strict";var elliptic=exports;elliptic.version=require("../package.json").version,elliptic.utils=require("./elliptic/utils"),elliptic.rand=require("brorand"),elliptic.curve=require("./elliptic/curve"),elliptic.curves=require("./elliptic/curves"),elliptic.ec=require("./elliptic/ec"),elliptic.eddsa=require("./elliptic/eddsa")},{"../package.json":227,"./elliptic/curve":214,"./elliptic/curves":217,"./elliptic/ec":218,"./elliptic/eddsa":221,"./elliptic/utils":225,brorand:135}],212:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||adjustCount.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function BasePoint(curve,type){this.curve=curve,this.type=type,this.precomputed=null}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error("Not implemented")},BaseCurve.prototype.validate=function(){throw new Error("Not implemented")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<<doubles.step+1)-(doubles.step%2==0?2:1);I/=3;for(var repr=[],j=0;j<naf.length;j+=doubles.step){var nafW=0;for(k=j+doubles.step-1;k>=j;k--)nafW=(nafW<<1)+naf[k];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;i>0;i--){for(j=0;j<repr.length;j++){(nafW=repr[j])===i?b=b.mixedAdd(doubles.points[j]):nafW===-i&&(b=b.mixedAdd(doubles.points[j].neg()))}a=a.add(b)}return a.toP()},BaseCurve.prototype._wnafMul=function(p,k){var w=4,nafPoints=p._getNAFPoints(w);w=nafPoints.wnd;for(var wnd=nafPoints.points,naf=getNAF(k,w,this._bitLength),acc=this.jpoint(null,null,null),i=naf.length-1;i>=0;i--){for(k=0;i>=0&&0===naf[i];i--)k++;if(i>=0&&k++,acc=acc.dblp(k),i<0)break;var z=naf[i];assert(0!==z),acc="affine"===p.type?z>0?acc.mixedAdd(wnd[z-1>>1]):acc.mixedAdd(wnd[-z-1>>1].neg()):z>0?acc.add(wnd[z-1>>1]):acc.add(wnd[-z-1>>1].neg())}return"affine"===p.type?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){for(var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i=0;i<len;i++){var nafPoints=(p=points[i])._getNAFPoints(defW);wndWidth[i]=nafPoints.wnd,wnd[i]=nafPoints.points}for(i=len-1;i>=1;i-=2){var a=i-1,b=i;if(1===wndWidth[a]&&1===wndWidth[b]){var comb=[points[a],null,null,points[b]];0===points[a].y.cmp(points[b].y)?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):0===points[a].y.cmp(points[b].y.redNeg())?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max);for(var j=0;j<max;j++){var ja=0|jsf[0][j],jb=0|jsf[1][j];naf[a][j]=index[3*(ja+1)+(jb+1)],naf[b][j]=0,wnd[a]=comb}}else naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max)}var acc=this.jpoint(null,null,null),tmp=this._wnafT4;for(i=max;i>=0;i--){for(var k=0;i>=0;){var zero=!0;for(j=0;j<len;j++)tmp[j]=0|naf[j][i],0!==tmp[j]&&(zero=!1);if(!zero)break;k++,i--}if(i>=0&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j<len;j++){var p,z=tmp[j];0!==z&&(z>0?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),acc="affine"===p.type?acc.mixedAdd(p):acc.add(p))}}for(i=0;i<len;i++)wnd[i]=null;return jacobianResult?acc:acc.toP()},BaseCurve.BasePoint=BasePoint,BasePoint.prototype.eq=function(){throw new Error("Not implemented")},BasePoint.prototype.validate=function(){return this.curve.validate(this)},BaseCurve.prototype.decodePoint=function(bytes,enc){bytes=utils.toArray(bytes,enc);var len=this.p.byteLength();if((4===bytes[0]||6===bytes[0]||7===bytes[0])&&bytes.length-1==2*len)return 6===bytes[0]?assert(bytes[bytes.length-1]%2==0):7===bytes[0]&&assert(bytes[bytes.length-1]%2==1),this.point(bytes.slice(1,1+len),bytes.slice(1+len,1+2*len));if((2===bytes[0]||3===bytes[0])&&bytes.length-1===len)return this.pointFromX(bytes.slice(1,1+len),3===bytes[0]);throw new Error("Unknown point format")},BasePoint.prototype.encodeCompressed=function(enc){return this.encode(enc,!0)},BasePoint.prototype._encode=function(compact){var len=this.curve.p.byteLength(),x=this.getX().toArray("be",len);return compact?[this.getY().isEven()?2:3].concat(x):[4].concat(x,this.getY().toArray("be",len))},BasePoint.prototype.encode=function(enc,compact){return utils.encode(this._encode(compact),enc)},BasePoint.prototype.precompute=function(power){if(this.precomputed)return this;var precomputed={doubles:null,naf:null,beta:null};return precomputed.naf=this._getNAFPoints(8),precomputed.doubles=this._getDoubles(4,power),precomputed.beta=this._getBeta(),this.precomputed=precomputed,this},BasePoint.prototype._hasDoubles=function(k){if(!this.precomputed)return!1;var doubles=this.precomputed.doubles;return!!doubles&&doubles.points.length>=Math.ceil((k.bitLength()+1)/doubles.step)},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i<power;i+=step){for(var j=0;j<step;j++)acc=acc.dbl();doubles.push(acc)}return{step:step,points:doubles}},BasePoint.prototype._getNAFPoints=function(wnd){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var res=[this],max=(1<<wnd)-1,dbl=1===max?null:this.dbl(),i=1;i<max;i++)res[i]=res[i-1].add(dbl);return{wnd:wnd,points:res}},BasePoint.prototype._getBeta=function(){return null},BasePoint.prototype.dblp=function(k){for(var r=this,i=0;i<k;i++)r=r.dbl();return r}},{"../utils":225,"bn.js":226}],213:[function(require,module,exports){"use strict";var utils=require("../utils"),BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),assert=utils.assert;function EdwardsCurve(conf){this.twisted=1!=(0|conf.a),this.mOneA=this.twisted&&-1==(0|conf.a),this.extended=this.mOneA,Base.call(this,"edwards",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|conf.c)}function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,"projective"),null===x&&null===y&&null===z?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(num){return this.mOneA?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error("invalid point");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){(y=new BN(y,16)).red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(0===x2.cmp(this.zero)){if(odd)throw new Error("invalid point");return this.point(this.zero,y)}var x=x2.redSqrt();if(0!==x.redSqr().redSub(x2).cmp(this.zero))throw new Error("invalid point");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return 0===lhs.cmp(rhs)},inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var nx,ny,nz,b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr();if(this.curve.twisted){var f=(e=this.curve._mulA(c)).redAdd(d);if(this.zOne)nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f);else{var h=this.z.redSqr(),j=f.redSub(h).redISub(h);nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j)}}else{var e=c.redAdd(d);h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h);nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j)}return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var ny,nz,a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp);return this.curve.twisted?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()?p:p.isInfinity()?this:this.curve.extended?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||0===this.getX().cmp(other.getX())&&0===this.getY().cmp(other.getY())},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],214:[function(require,module,exports){"use strict";var curve=exports;curve.base=require("./base"),curve.short=require("./short"),curve.mont=require("./mont"),curve.edwards=require("./edwards")},{"./base":212,"./edwards":213,"./mont":215,"./short":216}],215:[function(require,module,exports){"use strict";var BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),utils=require("../utils");function MontCurve(conf){Base.call(this,"mont",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Point(curve,x,z){Base.BasePoint.call(this,curve,"projective"),null===x&&null===z?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);return 0===rhs.redSqrt().redSqr().cmp(rhs)},inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Point.prototype.dbl=function(){var aa=this.x.redAdd(this.z).redSqr(),bb=this.x.redSub(this.z).redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),da=p.x.redSub(p.z).redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),bits=[];0!==t.cmpn(0);t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)0===bits[i]?(a=a.diffAdd(b,this),b=b.dbl()):(b=a.diffAdd(b,this),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Point.prototype.eq=function(other){return 0===this.getX().cmp(other.getX())},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],216:[function(require,module,exports){"use strict";var utils=require("../utils"),BN=require("bn.js"),inherits=require("inherits"),Base=require("./base"),assert=utils.assert;function ShortCurve(conf){Base.call(this,"short",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(conf),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function Point(curve,x,y,isRed){Base.BasePoint.call(this,curve,"affine"),null===x&&null===y?(this.x=null,this.y=null,this.inf=!0):(this.x=new BN(x,16),this.y=new BN(y,16),isRed&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,"jacobian"),null===x&&null===y&&null===z?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(ShortCurve,Base),module.exports=ShortCurve,ShortCurve.prototype._getEndomorphism=function(conf){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var beta,lambda;if(conf.beta)beta=new BN(conf.beta,16).toRed(this.red);else{var betas=this._getEndoRoots(this.p);beta=(beta=betas[0].cmp(betas[1])<0?betas[0]:betas[1]).toRed(this.red)}if(conf.lambda)lambda=new BN(conf.lambda,16);else{var lambdas=this._getEndoRoots(this.n);0===this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta))?lambda=lambdas[0]:(lambda=lambdas[1],assert(0===this.g.mul(lambda).x.cmp(this.g.x.redMul(beta))))}return{beta:beta,lambda:lambda,basis:conf.basis?conf.basis.map((function(vec){return{a:new BN(vec.a,16),b:new BN(vec.b,16)}})):this._getEndoBasis(lambda)}}},ShortCurve.prototype._getEndoRoots=function(num){var red=num===this.p?this.red:BN.mont(num),tinv=new BN(2).toRed(red).redInvm(),ntinv=tinv.redNeg(),s=new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);return[ntinv.redAdd(s).fromRed(),ntinv.redSub(s).fromRed()]},ShortCurve.prototype._getEndoBasis=function(lambda){for(var a0,b0,a1,b1,a2,b2,prevR,r,x,aprxSqrt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=lambda,v=this.n.clone(),x1=new BN(1),y1=new BN(0),x2=new BN(0),y2=new BN(1),i=0;0!==u.cmpn(0);){var q=v.div(u);r=v.sub(q.mul(u)),x=x2.sub(q.mul(x1));var y=y2.sub(q.mul(y1));if(!a1&&r.cmp(aprxSqrt)<0)a0=prevR.neg(),b0=x1,a1=r.neg(),b1=x;else if(a1&&2==++i)break;prevR=r,v=u,u=r,x2=x1,x1=x,y2=y1,y1=y}a2=r.neg(),b2=x;var len1=a1.sqr().add(b1.sqr());return a2.sqr().add(b2.sqr()).cmp(len1)>=0&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b);return{k1:k.sub(p1).sub(p2),k2:q1.add(q2).neg()}},ShortCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error("invalid point");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var x=point.x,y=point.y,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return 0===y.redSqr().redISub(rhs).cmpn(0)},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i<points.length;i++){var split=this._endoSplit(coeffs[i]),p=points[i],beta=p._getBeta();split.k1.negative&&(split.k1.ineg(),p=p.neg(!0)),split.k2.negative&&(split.k2.ineg(),beta=beta.neg(!0)),npoints[2*i]=p,npoints[2*i+1]=beta,ncoeffs[2*i]=split.k1,ncoeffs[2*i+1]=split.k2}for(var res=this._wnafMulAdd(1,npoints,ncoeffs,2*i,jacobianResult),j=0;j<2*i;j++)npoints[j]=null,ncoeffs[j]=null;return res},inherits(Point,Base.BasePoint),ShortCurve.prototype.point=function(x,y,isRed){return new Point(this,x,y,isRed)},ShortCurve.prototype.pointFromJSON=function(obj,red){return Point.fromJSON(this,obj,red)},Point.prototype._getBeta=function(){if(this.curve.endo){var pre=this.precomputed;if(pre&&pre.beta)return pre.beta;var beta=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(pre){var curve=this.curve,endoMul=function(p){return curve.point(p.x.redMul(curve.endo.beta),p.y)};pre.beta=beta,beta.precomputed={beta:null,naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(endoMul)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(endoMul)}}}return beta}},Point.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Point.fromJSON=function(curve,obj,red){"string"==typeof obj&&(obj=JSON.parse(obj));var res=curve.point(obj[0],obj[1],red);if(!obj[2])return res;function obj2point(obj){return curve.point(obj[0],obj[1],red)}var pre=obj[2];return res.precomputed={beta:null,doubles:pre.doubles&&{step:pre.doubles.step,points:[res].concat(pre.doubles.points.map(obj2point))},naf:pre.naf&&{wnd:pre.naf.wnd,points:[res].concat(pre.naf.points.map(obj2point))}},res},Point.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(0===this.x.cmp(p.x))return this.curve.point(null,null);var c=this.y.redSub(p.y);0!==c.cmpn(0)&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(0===ys1.cmpn(0))return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()?this:this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve.endo?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||0===this.x.cmp(p.x)&&0===this.y.cmp(p.y))},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(0===pow)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var r=this,i=0;i<pow;i++)r=r.dbl();return r}var a=this.curve.a,tinv=this.curve.tinv,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jyd=jy.redAdd(jy);for(i=0;i<pow;i++){var jx2=jx.redSqr(),jyd2=jyd.redSqr(),jyd4=jyd2.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),t1=jx.redMul(jyd2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),dny=c.redMul(t2);dny=dny.redIAdd(dny).redISub(jyd4);var nz=jyd.redMul(jz);i+1<pow&&(jz4=jz4.redMul(jyd4)),jx=nx,jz=nz,jyd=dny}return this.curve.jpoint(jx,jyd.redMul(tinv),jz)},JPoint.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},JPoint.prototype._zeroDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx),t=m.redSqr().redISub(s).redISub(s),yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),nx=t,ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var a=this.x.redSqr(),b=this.y.redSqr(),c=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(a).redISub(c);d=d.redIAdd(d);var e=a.redAdd(a).redIAdd(a),f=e.redSqr(),c8=c.redIAdd(c);c8=(c8=c8.redIAdd(c8)).redIAdd(c8),nx=f.redISub(d).redISub(d),ny=e.redMul(d.redISub(nx)).redISub(c8),nz=(nz=this.y.redMul(this.z)).redIAdd(nz)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._threeDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a),t=m.redSqr().redISub(s).redISub(s);nx=t;var yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var delta=this.z.redSqr(),gamma=this.y.redSqr(),beta=this.x.redMul(gamma),alpha=this.x.redSub(delta).redMul(this.x.redAdd(delta));alpha=alpha.redAdd(alpha).redIAdd(alpha);var beta4=beta.redIAdd(beta),beta8=(beta4=beta4.redIAdd(beta4)).redAdd(beta4);nx=alpha.redSqr().redISub(beta8),nz=this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);var ggamma8=gamma.redSqr();ggamma8=(ggamma8=(ggamma8=ggamma8.redIAdd(ggamma8)).redIAdd(ggamma8)).redIAdd(ggamma8),ny=alpha.redMul(beta4.redISub(nx)).redISub(ggamma8)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._dbl=function(){var a=this.curve.a,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jx2=jx.redSqr(),jy2=jy.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),jxd4=jx.redAdd(jx),t1=(jxd4=jxd4.redIAdd(jxd4)).redMul(jy2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),jyd8=jy2.redSqr();jyd8=(jyd8=(jyd8=jyd8.redIAdd(jyd8)).redIAdd(jyd8)).redIAdd(jyd8);var ny=c.redMul(t2).redISub(jyd8),nz=jy.redAdd(jy).redMul(jz);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var xx=this.x.redSqr(),yy=this.y.redSqr(),zz=this.z.redSqr(),yyyy=yy.redSqr(),m=xx.redAdd(xx).redIAdd(xx),mm=m.redSqr(),e=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy),ee=(e=(e=(e=e.redIAdd(e)).redAdd(e).redIAdd(e)).redISub(mm)).redSqr(),t=yyyy.redIAdd(yyyy);t=(t=(t=t.redIAdd(t)).redIAdd(t)).redIAdd(t);var u=m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t),yyu4=yy.redMul(u);yyu4=(yyu4=yyu4.redIAdd(yyu4)).redIAdd(yyu4);var nx=this.x.redMul(ee).redISub(yyu4);nx=(nx=nx.redIAdd(nx)).redIAdd(nx);var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=(ny=(ny=ny.redIAdd(ny)).redIAdd(ny)).redIAdd(ny);var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mul=function(k,kbase){return k=new BN(k,kbase),this.curve._wnafMul(this,k)},JPoint.prototype.eq=function(p){if("affine"===p.type)return this.eq(p.toJ());if(this===p)return!0;var z2=this.z.redSqr(),pz2=p.z.redSqr();if(0!==this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0))return!1;var z3=z2.redMul(this.z),pz3=pz2.redMul(p.z);return 0===this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)},JPoint.prototype.eqXToP=function(x){var zs=this.z.redSqr(),rx=x.toRed(this.curve.red).redMul(zs);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(zs);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},JPoint.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":225,"./base":212,"bn.js":226,inherits:294}],217:[function(require,module,exports){"use strict";var pre,curves=exports,hash=require("hash.js"),curve=require("./curve"),assert=require("./utils").assert;function PresetCurve(options){"short"===options.type?this.curve=new curve.short(options):"edwards"===options.type?this.curve=new curve.edwards(options):this.curve=new curve.mont(options),this.g=this.curve.g,this.n=this.curve.n,this.hash=options.hash,assert(this.g.validate(),"Invalid curve"),assert(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,get:function(){var curve=new PresetCurve(options);return Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,value:curve}),curve}})}curves.PresetCurve=PresetCurve,defineCurve("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:hash.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),defineCurve("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:hash.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),defineCurve("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:hash.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),defineCurve("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:hash.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),defineCurve("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:hash.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["9"]}),defineCurve("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{pre=require("./precomputed/secp256k1")}catch(e){pre=void 0}defineCurve("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:hash.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",pre]})},{"./curve":214,"./precomputed/secp256k1":224,"./utils":225,"hash.js":273}],218:[function(require,module,exports){"use strict";var BN=require("bn.js"),HmacDRBG=require("hmac-drbg"),utils=require("../utils"),curves=require("../curves"),rand=require("brorand"),assert=utils.assert,KeyPair=require("./key"),Signature=require("./signature");function EC(options){if(!(this instanceof EC))return new EC(options);"string"==typeof options&&(assert(curves.hasOwnProperty(options),"Unknown curve "+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC,EC.prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options||(options={});for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||"utf8",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||"utf8",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(priv.cmp(ns2)>0))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=8*msg.byteLength()-this.n.bitLength();return delta>0&&(msg=msg.ushrn(delta)),!truncOnly&&msg.cmp(this.n)>=0?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){"object"==typeof enc&&(options=enc,enc=null),options||(options={}),key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray("be",bytes),nonce=msg.toArray("be",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce:nonce,pers:options.pers,persEnc:options.persEnc||"utf8"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(!((k=this._truncateToN(k,!0)).cmpn(1)<=0||k.cmp(ns1)>=0)){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(0!==r.cmpn(0)){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(0!==(s=s.umod(this.n)).cmpn(0)){var recoveryParam=(kp.getY().isOdd()?1:0)|(0!==kpX.cmp(r)?2:0);return options.canonical&&s.cmp(this.nh)>0&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r:r,s:s,recoveryParam:recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc);var r=(signature=new Signature(signature,"hex")).r,s=signature.s;if(r.cmpn(1)<0||r.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var p,sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n);return this.curve._maxwellTrick?!(p=this.g.jmulAdd(u1,key.getPublic(),u2)).isInfinity()&&p.eqXToP(r):!(p=this.g.mulAdd(u1,key.getPublic(),u2)).isInfinity()&&0===p.getX().umod(this.n).cmp(r)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,"The recovery param is more than two bits"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=1&j,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error("Unable to find sencond key candinate");r=isSecondKey?this.curve.pointFromX(r.add(this.curve.n),isYOdd):this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(null!==(signature=new Signature(signature,enc)).recoveryParam)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch(e){continue}if(Qprime.eq(Q))return i}throw new Error("Unable to find valid recovery factor")}},{"../curves":217,"../utils":225,"./key":219,"./signature":220,"bn.js":226,brorand:135,"hmac-drbg":285}],219:[function(require,module,exports){"use strict";var BN=require("bn.js"),assert=require("../utils").assert;function KeyPair(ec,options){this.ec=ec,this.priv=null,this.pub=null,options.priv&&this._importPrivate(options.priv,options.privEnc),options.pub&&this._importPublic(options.pub,options.pubEnc)}module.exports=KeyPair,KeyPair.fromPublic=function(ec,pub,enc){return pub instanceof KeyPair?pub:new KeyPair(ec,{pub:pub,pubEnc:enc})},KeyPair.fromPrivate=function(ec,priv,enc){return priv instanceof KeyPair?priv:new KeyPair(ec,{priv:priv,privEnc:enc})},KeyPair.prototype.validate=function(){var pub=this.getPublic();return pub.isInfinity()?{result:!1,reason:"Invalid public key"}:pub.validate()?pub.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},KeyPair.prototype.getPublic=function(compact,enc){return"string"==typeof compact&&(enc=compact,compact=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),enc?this.pub.encode(enc,compact):this.pub},KeyPair.prototype.getPrivate=function(enc){return"hex"===enc?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function(key,enc){this.priv=new BN(key,enc||16),this.priv=this.priv.umod(this.ec.curve.n)},KeyPair.prototype._importPublic=function(key,enc){if(key.x||key.y)return"mont"===this.ec.curve.type?assert(key.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||assert(key.x&&key.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(key.x,key.y));this.pub=this.ec.curve.decodePoint(key,enc)},KeyPair.prototype.derive=function(pub){return pub.mul(this.priv).getX()},KeyPair.prototype.sign=function(msg,enc,options){return this.ec.sign(msg,this,enc,options)},KeyPair.prototype.verify=function(msg,signature){return this.ec.verify(msg,signature,this)},KeyPair.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":225,"bn.js":226}],220:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,"Signature without r or s"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),void 0===options.recoveryParam?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(128&initial))return initial;var octetLen=15&initial;if(0===octetLen||octetLen>4)return!1;for(var val=0,i=0,off=p.place;i<octetLen;i++,off++)val<<=8,val|=buf[off],val>>>=0;return!(val<=127)&&(p.place=off,val)}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(128&buf[i+1])&&i<len;)i++;return 0===i?buf:buf.slice(i)}function constructLength(arr,len){if(len<128)arr.push(len);else{var octets=1+(Math.log(len)/Math.LN2>>>3);for(arr.push(128|octets);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}}module.exports=Signature,Signature.prototype._importDER=function(data,enc){data=utils.toArray(data,enc);var p=new Position;if(48!==data[p.place++])return!1;var len=getLength(data,p);if(!1===len)return!1;if(len+p.place!==data.length)return!1;if(2!==data[p.place++])return!1;var rlen=getLength(data,p);if(!1===rlen)return!1;var r=data.slice(p.place,rlen+p.place);if(p.place+=rlen,2!==data[p.place++])return!1;var slen=getLength(data,p);if(!1===slen)return!1;if(data.length!==slen+p.place)return!1;var s=data.slice(p.place,slen+p.place);if(0===r[0]){if(!(128&r[1]))return!1;r=r.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new BN(r),this.s=new BN(s),this.recoveryParam=null,!0},Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(128&r[0]&&(r=[0].concat(r)),128&s[0]&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!(s[0]||128&s[1]);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),(arr=arr.concat(r)).push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}},{"../utils":225,"bn.js":226}],221:[function(require,module,exports){"use strict";var hash=require("hash.js"),curves=require("../curves"),utils=require("../utils"),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require("./key"),Signature=require("./signature");function EDDSA(curve){if(assert("ed25519"===curve,"only tested with ed25519 so far"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve;this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R:R,S:S,Rencoded:Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S());return sig.R().add(key.pub().mul(h)).eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash=this.hash(),i=0;i<arguments.length;i++)hash.update(arguments[i]);return utils.intFromLE(hash.digest()).umod(this.curve.n)},EDDSA.prototype.keyFromPublic=function(pub){return KeyPair.fromPublic(this,pub)},EDDSA.prototype.keyFromSecret=function(secret){return KeyPair.fromSecret(this,secret)},EDDSA.prototype.makeSignature=function(sig){return sig instanceof Signature?sig:new Signature(this,sig)},EDDSA.prototype.encodePoint=function(point){var enc=point.getY().toArray("le",this.encodingLength);return enc[this.encodingLength-1]|=point.getX().isOdd()?128:0,enc},EDDSA.prototype.decodePoint=function(bytes){var lastIx=(bytes=utils.parseBytes(bytes)).length-1,normed=bytes.slice(0,lastIx).concat(-129&bytes[lastIx]),xIsOdd=0!=(128&bytes[lastIx]),y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd)},EDDSA.prototype.encodeInt=function(num){return num.toArray("le",this.encodingLength)},EDDSA.prototype.decodeInt=function(bytes){return utils.intFromLE(bytes)},EDDSA.prototype.isPoint=function(val){return val instanceof this.pointClass}},{"../curves":217,"../utils":225,"./key":222,"./signature":223,"hash.js":273}],222:[function(require,module,exports){"use strict";var utils=require("../utils"),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair?pub:new KeyPair(eddsa,{pub:pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair?secret:new KeyPair(eddsa,{secret:secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),cachedProperty(KeyPair,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),cachedProperty(KeyPair,"privBytes",(function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a})),cachedProperty(KeyPair,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),cachedProperty(KeyPair,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),cachedProperty(KeyPair,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),KeyPair.prototype.sign=function(message){return assert(this._secret,"KeyPair can only verify"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,"KeyPair is public only"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair},{"../utils":225}],223:[function(require,module,exports){"use strict";var BN=require("bn.js"),utils=require("../utils"),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,"object"!=typeof sig&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,"Signature without R or S"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)?sig.S:sig.Sencoded}cachedProperty(Signature,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),cachedProperty(Signature,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),cachedProperty(Signature,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),cachedProperty(Signature,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),"hex").toUpperCase()},module.exports=Signature},{"../utils":225,"bn.js":226}],224:[function(require,module,exports){module.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},{}],225:[function(require,module,exports){"use strict";var utils=exports,BN=require("bn.js"),minAssert=require("minimalistic-assert"),minUtils=require("minimalistic-crypto-utils");utils.assert=minAssert,utils.toArray=minUtils.toArray,utils.zero2=minUtils.zero2,utils.toHex=minUtils.toHex,utils.encode=minUtils.encode,utils.getNAF=function(num,w,bits){var naf=new Array(Math.max(num.bitLength(),bits)+1);naf.fill(0);for(var ws=1<<w+1,k=num.clone(),i=0;i<naf.length;i++){var z,mod=k.andln(ws-1);k.isOdd()?(z=mod>(ws>>1)-1?(ws>>1)-mod:mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf},utils.getJSF=function(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0;k1.cmpn(-d1)>0||k2.cmpn(-d2)>0;){var u1,u2,m8,m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;if(3===m14&&(m14=-1),3===m24&&(m24=-1),0==(1&m14))u1=0;else u1=3!==(m8=k1.andln(7)+d1&7)&&5!==m8||2!==m24?m14:-m14;if(jsf[0].push(u1),0==(1&m24))u2=0;else u2=3!==(m8=k2.andln(7)+d2&7)&&5!==m8||2!==m14?m24:-m24;jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf},utils.cachedProperty=function(obj,name,computer){var key="_"+name;obj.prototype[name]=function(){return void 0!==this[key]?this[key]:this[key]=computer.call(this)}},utils.parseBytes=function(bytes){return"string"==typeof bytes?utils.toArray(bytes,"hex"):bytes},utils.intFromLE=function(bytes){return new BN(bytes,"hex","le")}},{"bn.js":226,"minimalistic-assert":346,"minimalistic-crypto-utils":347}],226:[function(require,module,exports){arguments[4][117][0].apply(exports,arguments)},{buffer:136,dup:117}],227:[function(require,module,exports){module.exports={name:"elliptic",version:"6.5.3",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^3.0.8",grunt:"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.2",jscs:"^3.0.7",jshint:"^2.10.3",mocha:"^6.2.2"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",_integrity:"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",_from:"elliptic@6.5.3"}},{}],228:[function(require,module,exports){var objectCreate=Object.create||function(proto){var F=function(){};return F.prototype=proto,new F},objectKeys=Object.keys||function(obj){var keys=[];for(var k in obj)Object.prototype.hasOwnProperty.call(obj,k)&&keys.push(k);return k},bind=Function.prototype.bind||function(context){var fn=this;return function(){return fn.apply(context,arguments)}};function EventEmitter(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=objectCreate(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0;var hasDefineProperty,defaultMaxListeners=10;try{var o={};Object.defineProperty&&Object.defineProperty(o,"x",{value:0}),hasDefineProperty=0===o.x}catch(err){hasDefineProperty=!1}function $getMaxListeners(that){return void 0===that._maxListeners?EventEmitter.defaultMaxListeners:that._maxListeners}function emitNone(handler,isFn,self){if(isFn)handler.call(self);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self)}function emitOne(handler,isFn,self,arg1){if(isFn)handler.call(self,arg1);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1)}function emitTwo(handler,isFn,self,arg1,arg2){if(isFn)handler.call(self,arg1,arg2);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2)}function emitThree(handler,isFn,self,arg1,arg2,arg3){if(isFn)handler.call(self,arg1,arg2,arg3);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2,arg3)}function emitMany(handler,isFn,self,args){if(isFn)handler.apply(self,args);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].apply(self,args)}function _addListener(target,type,listener,prepend){var m,events,existing;if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');if((events=target._events)?(events.newListener&&(target.emit("newListener",type,listener.listener?listener.listener:listener),events=target._events),existing=events[type]):(events=target._events=objectCreate(null),target._eventsCount=0),existing){if("function"==typeof existing?existing=events[type]=prepend?[listener,existing]:[existing,listener]:prepend?existing.unshift(listener):existing.push(listener),!existing.warned&&(m=$getMaxListeners(target))&&m>0&&existing.length>m){existing.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');w.name="MaxListenersExceededWarning",w.emitter=target,w.type=type,w.count=existing.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",w.name,w.message)}}else existing=events[type]=listener,++target._eventsCount;return target}function onceWrapper(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var args=new Array(arguments.length),i=0;i<args.length;++i)args[i]=arguments[i];this.listener.apply(this.target,args)}}function _onceWrap(target,type,listener){var state={fired:!1,wrapFn:void 0,target:target,type:type,listener:listener},wrapped=bind.call(onceWrapper,state);return wrapped.listener=listener,state.wrapFn=wrapped,wrapped}function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];return evlistener?"function"==typeof evlistener?unwrap?[evlistener.listener||evlistener]:[evlistener]:unwrap?function(arr){for(var ret=new Array(arr.length),i=0;i<ret.length;++i)ret[i]=arr[i].listener||arr[i];return ret}(evlistener):arrayClone(evlistener,evlistener.length):[]}function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if("function"==typeof evlistener)return 1;if(evlistener)return evlistener.length}return 0}function arrayClone(arr,n){for(var copy=new Array(n),i=0;i<n;++i)copy[i]=arr[i];return copy}hasDefineProperty?Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(arg){if("number"!=typeof arg||arg<0||arg!=arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}}):EventEmitter.defaultMaxListeners=defaultMaxListeners,EventEmitter.prototype.setMaxListeners=function(n){if("number"!=typeof n||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=n,this},EventEmitter.prototype.getMaxListeners=function(){return $getMaxListeners(this)},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,events,doError="error"===type;if(events=this._events)doError=doError&&null==events.error;else if(!doError)return!1;if(doError){if(arguments.length>1&&(er=arguments[1]),er instanceof Error)throw er;var err=new Error('Unhandled "error" event. ('+er+")");throw err.context=er,err}if(!(handler=events[type]))return!1;var isFn="function"==typeof handler;switch(len=arguments.length){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:for(args=new Array(len-1),i=1;i<len;i++)args[i-1]=arguments[i];emitMany(handler,isFn,this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){return _addListener(this,type,listener,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(type,listener){return _addListener(this,type,listener,!0)},EventEmitter.prototype.once=function(type,listener){if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');return this.on(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.prependOnceListener=function(type,listener){if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');return this.prependListener(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.removeListener=function(type,listener){var list,events,position,i,originalListener;if("function"!=typeof listener)throw new TypeError('"listener" argument must be a function');if(!(events=this._events))return this;if(!(list=events[type]))return this;if(list===listener||list.listener===listener)0==--this._eventsCount?this._events=objectCreate(null):(delete events[type],events.removeListener&&this.emit("removeListener",type,list.listener||listener));else if("function"!=typeof list){for(position=-1,i=list.length-1;i>=0;i--)if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener,position=i;break}if(position<0)return this;0===position?list.shift():function(list,index){for(var i=index,k=i+1,n=list.length;k<n;i+=1,k+=1)list[i]=list[k];list.pop()}(list,position),1===list.length&&(events[type]=list[0]),events.removeListener&&this.emit("removeListener",type,originalListener||listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var listeners,events,i;if(!(events=this._events))return this;if(!events.removeListener)return 0===arguments.length?(this._events=objectCreate(null),this._eventsCount=0):events[type]&&(0==--this._eventsCount?this._events=objectCreate(null):delete events[type]),this;if(0===arguments.length){var key,keys=objectKeys(events);for(i=0;i<keys.length;++i)"removeListener"!==(key=keys[i])&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events=objectCreate(null),this._eventsCount=0,this}if("function"==typeof(listeners=events[type]))this.removeListener(type,listeners);else if(listeners)for(i=listeners.length-1;i>=0;i--)this.removeListener(type,listeners[i]);return this},EventEmitter.prototype.listeners=function(type){return _listeners(this,type,!0)},EventEmitter.prototype.rawListeners=function(type){return _listeners(this,type,!1)},EventEmitter.listenerCount=function(emitter,type){return"function"==typeof emitter.listenerCount?emitter.listenerCount(type):listenerCount.call(emitter,type)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],229:[function(require,module,exports){var Buffer=require("safe-buffer").Buffer,MD5=require("md5.js");module.exports=function(password,salt,keyBits,ivLen){if(Buffer.isBuffer(password)||(password=Buffer.from(password,"binary")),salt&&(Buffer.isBuffer(salt)||(salt=Buffer.from(salt,"binary")),8!==salt.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var keyLen=keyBits/8,key=Buffer.alloc(keyLen),iv=Buffer.alloc(ivLen||0),tmp=Buffer.alloc(0);keyLen>0||ivLen>0;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key:key,iv:iv}}},{"md5.js":340,"safe-buffer":434}],230:[function(require,module,exports){"use strict";var hasOwn=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,defineProperty=Object.defineProperty,gOPD=Object.getOwnPropertyDescriptor,isArray=function(arr){return"function"==typeof Array.isArray?Array.isArray(arr):"[object Array]"===toStr.call(arr)},isPlainObject=function(obj){if(!obj||"[object Object]"!==toStr.call(obj))return!1;var key,hasOwnConstructor=hasOwn.call(obj,"constructor"),hasIsPrototypeOf=obj.constructor&&obj.constructor.prototype&&hasOwn.call(obj.constructor.prototype,"isPrototypeOf");if(obj.constructor&&!hasOwnConstructor&&!hasIsPrototypeOf)return!1;for(key in obj);return void 0===key||hasOwn.call(obj,key)},setProperty=function(target,options){defineProperty&&"__proto__"===options.name?defineProperty(target,options.name,{enumerable:!0,configurable:!0,value:options.newValue,writable:!0}):target[options.name]=options.newValue},getProperty=function(obj,name){if("__proto__"===name){if(!hasOwn.call(obj,name))return;if(gOPD)return gOPD(obj,name).value}return obj[name]};module.exports=function extend(){var options,name,src,copy,copyIsArray,clone,target=arguments[0],i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[1]||{},i=2),(null==target||"object"!=typeof target&&"function"!=typeof target)&&(target={});i<length;++i)if(null!=(options=arguments[i]))for(name in options)src=getProperty(target,name),target!==(copy=getProperty(options,name))&&(deep&©&&(isPlainObject(copy)||(copyIsArray=isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&isArray(src)?src:[]):clone=src&&isPlainObject(src)?src:{},setProperty(target,{name:name,newValue:extend(deep,clone,copy)})):void 0!==copy&&setProperty(target,{name:name,newValue:copy}));return target}},{}],231:[function(require,module,exports){(function(process){(function(){var mod_assert=require("assert"),mod_util=require("util");function jsSprintf(fmt){var flags,width,precision,conversion,left,pad,sign,arg,match,regex=["([^%]*)","%","(['\\-+ #0]*?)","([1-9]\\d*)?","(\\.([1-9]\\d*))?","[lhjztL]*?","([diouxXfFeEgGaAcCsSp%jr])"].join(""),re=new RegExp(regex),args=Array.prototype.slice.call(arguments,1),ret="",argn=1;for(mod_assert.equal("string",typeof fmt);null!==(match=re.exec(fmt));)if(ret+=match[1],fmt=fmt.substring(match[0].length),flags=match[2]||"",width=match[3]||0,precision=match[4]||"",left=!1,sign=!1,pad=" ","%"!=(conversion=match[6])){if(0===args.length)throw new Error("too few args to sprintf");if(arg=args.shift(),argn++,flags.match(/[\' #]/))throw new Error("unsupported flags: "+flags);if(precision.length>0)throw new Error("non-zero precision not supported");switch(flags.match(/-/)&&(left=!0),flags.match(/0/)&&(pad="0"),flags.match(/\+/)&&(sign=!0),conversion){case"s":if(null==arg)throw new Error("argument "+argn+": attempted to print undefined or null as a string");ret+=doPad(pad,width,left,arg.toString());break;case"d":arg=Math.floor(arg);case"f":ret+=(sign=sign&&arg>0?"+":"")+doPad(pad,width,left,arg.toString());break;case"x":ret+=doPad(pad,width,left,arg.toString(16));break;case"j":0===width&&(width=10),ret+=mod_util.inspect(arg,!1,width);break;case"r":ret+=dumpException(arg);break;default:throw new Error("unsupported conversion: "+conversion)}}else ret+="%";return ret+=fmt}function jsFprintf(stream){var args=Array.prototype.slice.call(arguments,1);return stream.write(jsSprintf.apply(this,args))}function doPad(chr,width,left,str){for(var ret=str;ret.length<width;)left?ret+=chr:ret=chr+ret;return ret}function dumpException(ex){var ret;if(!(ex instanceof Error))throw new Error(jsSprintf("invalid type for %%r: %j",ex));if(ret="EXCEPTION: "+ex.constructor.name+": "+ex.stack,ex.cause&&"function"==typeof ex.cause){var cex=ex.cause();cex&&(ret+="\nCaused by: "+dumpException(cex))}return ret}exports.sprintf=jsSprintf,exports.printf=function(){var args=Array.prototype.slice.call(arguments);args.unshift(process.stdout),jsFprintf.apply(null,args)},exports.fprintf=jsFprintf}).call(this)}).call(this,require("_process"))},{_process:381,assert:125,util:507}],232:[function(require,module,exports){"use strict";module.exports=function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var length,i,keys;if(Array.isArray(a)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(!equal(a[i],b[i]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if((length=(keys=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(i=length;0!=i--;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;for(i=length;0!=i--;){var key=keys[i];if(!equal(a[key],b[key]))return!1}return!0}return a!=a&&b!=b}},{}],233:[function(require,module,exports){"use strict";module.exports=function(data,opts){opts||(opts={}),"function"==typeof opts&&(opts={cmp:opts});var f,cycles="boolean"==typeof opts.cycles&&opts.cycles,cmp=opts.cmp&&(f=opts.cmp,function(node){return function(a,b){var aobj={key:a,value:node[a]},bobj={key:b,value:node[b]};return f(aobj,bobj)}}),seen=[];return function stringify(node){if(node&&node.toJSON&&"function"==typeof node.toJSON&&(node=node.toJSON()),void 0!==node){if("number"==typeof node)return isFinite(node)?""+node:"null";if("object"!=typeof node)return JSON.stringify(node);var i,out;if(Array.isArray(node)){for(out="[",i=0;i<node.length;i++)i&&(out+=","),out+=stringify(node[i])||"null";return out+"]"}if(null===node)return"null";if(-1!==seen.indexOf(node)){if(cycles)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var seenIndex=seen.push(node)-1,keys=Object.keys(node).sort(cmp&&cmp(node));for(out="",i=0;i<keys.length;i++){var key=keys[i],value=stringify(node[key]);value&&(out&&(out+=","),out+=JSON.stringify(key)+":"+value)}return seen.splice(seenIndex,1),"{"+out+"}"}}(data)}},{}],234:[function(require,module,exports){module.exports=ForeverAgent,ForeverAgent.SSL=ForeverAgentSSL;var util=require("util"),Agent=require("http").Agent,net=require("net"),tls=require("tls"),AgentSSL=require("https").Agent;function getConnectionName(host,port){return"string"==typeof host?host+":"+port:host.host+":"+host.port+":"+(host.localAddress?host.localAddress+":":":")}function ForeverAgent(options){var self=this;self.options=options||{},self.requests={},self.sockets={},self.freeSockets={},self.maxSockets=self.options.maxSockets||Agent.defaultMaxSockets,self.minSockets=self.options.minSockets||ForeverAgent.defaultMinSockets,self.on("free",(function(socket,host,port){var name=getConnectionName(host,port);if(self.requests[name]&&self.requests[name].length)self.requests[name].shift().onSocket(socket);else if(self.sockets[name].length<self.minSockets){self.freeSockets[name]||(self.freeSockets[name]=[]),self.freeSockets[name].push(socket);var onIdleError=function(){socket.destroy()};socket._onIdleError=onIdleError,socket.on("error",onIdleError)}else socket.destroy()}))}function ForeverAgentSSL(options){ForeverAgent.call(this,options)}util.inherits(ForeverAgent,Agent),ForeverAgent.defaultMinSockets=5,ForeverAgent.prototype.createConnection=net.createConnection,ForeverAgent.prototype.addRequestNoreuse=Agent.prototype.addRequest,ForeverAgent.prototype.addRequest=function(req,host,port){var name=getConnectionName(host,port);if("string"!=typeof host){var options=host;port=options.port,host=options.host}if(this.freeSockets[name]&&this.freeSockets[name].length>0&&!req.useChunkedEncodingByDefault){var idleSocket=this.freeSockets[name].pop();idleSocket.removeListener("error",idleSocket._onIdleError),delete idleSocket._onIdleError,req._reusedSocket=!0,req.onSocket(idleSocket)}else this.addRequestNoreuse(req,host,port)},ForeverAgent.prototype.removeSocket=function(s,name,host,port){var index;this.sockets[name]?-1!==(index=this.sockets[name].indexOf(s))&&this.sockets[name].splice(index,1):this.sockets[name]&&0===this.sockets[name].length&&(delete this.sockets[name],delete this.requests[name]);this.freeSockets[name]&&(-1!==(index=this.freeSockets[name].indexOf(s))&&(this.freeSockets[name].splice(index,1),0===this.freeSockets[name].length&&delete this.freeSockets[name]));this.requests[name]&&this.requests[name].length&&this.createSocket(name,host,port).emit("free")},util.inherits(ForeverAgentSSL,ForeverAgent),ForeverAgentSSL.prototype.createConnection=function(port,host,options){options="object"==typeof port?port:"object"==typeof host?host:"object"==typeof options?options:{};"number"==typeof port&&(options.port=port);"string"==typeof host&&(options.host=host);return tls.connect(options)},ForeverAgentSSL.prototype.addRequestNoreuse=AgentSSL.prototype.addRequest},{http:471,https:291,net:181,tls:181,util:507}],235:[function(require,module,exports){module.exports="object"==typeof self?self.FormData:window.FormData},{}],236:[function(require,module,exports){module.exports={$id:"afterRequest.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["lastAccess","eTag","hitCount"],properties:{expires:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},lastAccess:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},eTag:{type:"string"},hitCount:{type:"integer"},comment:{type:"string"}}}},{}],237:[function(require,module,exports){module.exports={$id:"beforeRequest.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["lastAccess","eTag","hitCount"],properties:{expires:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},lastAccess:{type:"string",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))?"},eTag:{type:"string"},hitCount:{type:"integer"},comment:{type:"string"}}}},{}],238:[function(require,module,exports){module.exports={$id:"browser.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","version"],properties:{name:{type:"string"},version:{type:"string"},comment:{type:"string"}}}},{}],239:[function(require,module,exports){module.exports={$id:"cache.json#",$schema:"http://json-schema.org/draft-06/schema#",properties:{beforeRequest:{oneOf:[{type:"null"},{$ref:"beforeRequest.json#"}]},afterRequest:{oneOf:[{type:"null"},{$ref:"afterRequest.json#"}]},comment:{type:"string"}}}},{}],240:[function(require,module,exports){module.exports={$id:"content.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["size","mimeType"],properties:{size:{type:"integer"},compression:{type:"integer"},mimeType:{type:"string"},text:{type:"string"},encoding:{type:"string"},comment:{type:"string"}}}},{}],241:[function(require,module,exports){module.exports={$id:"cookie.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},path:{type:"string"},domain:{type:"string"},expires:{type:["string","null"],format:"date-time"},httpOnly:{type:"boolean"},secure:{type:"boolean"},comment:{type:"string"}}}},{}],242:[function(require,module,exports){module.exports={$id:"creator.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","version"],properties:{name:{type:"string"},version:{type:"string"},comment:{type:"string"}}}},{}],243:[function(require,module,exports){module.exports={$id:"entry.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["startedDateTime","time","request","response","cache","timings"],properties:{pageref:{type:"string"},startedDateTime:{type:"string",format:"date-time",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"},time:{type:"number",min:0},request:{$ref:"request.json#"},response:{$ref:"response.json#"},cache:{$ref:"cache.json#"},timings:{$ref:"timings.json#"},serverIPAddress:{type:"string",oneOf:[{format:"ipv4"},{format:"ipv6"}]},connection:{type:"string"},comment:{type:"string"}}}},{}],244:[function(require,module,exports){module.exports={$id:"har.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["log"],properties:{log:{$ref:"log.json#"}}}},{}],245:[function(require,module,exports){module.exports={$id:"header.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},comment:{type:"string"}}}},{}],246:[function(require,module,exports){"use strict";module.exports={afterRequest:require("./afterRequest.json"),beforeRequest:require("./beforeRequest.json"),browser:require("./browser.json"),cache:require("./cache.json"),content:require("./content.json"),cookie:require("./cookie.json"),creator:require("./creator.json"),entry:require("./entry.json"),har:require("./har.json"),header:require("./header.json"),log:require("./log.json"),page:require("./page.json"),pageTimings:require("./pageTimings.json"),postData:require("./postData.json"),query:require("./query.json"),request:require("./request.json"),response:require("./response.json"),timings:require("./timings.json")}},{"./afterRequest.json":236,"./beforeRequest.json":237,"./browser.json":238,"./cache.json":239,"./content.json":240,"./cookie.json":241,"./creator.json":242,"./entry.json":243,"./har.json":244,"./header.json":245,"./log.json":247,"./page.json":248,"./pageTimings.json":249,"./postData.json":250,"./query.json":251,"./request.json":252,"./response.json":253,"./timings.json":254}],247:[function(require,module,exports){module.exports={$id:"log.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["version","creator","entries"],properties:{version:{type:"string"},creator:{$ref:"creator.json#"},browser:{$ref:"browser.json#"},pages:{type:"array",items:{$ref:"page.json#"}},entries:{type:"array",items:{$ref:"entry.json#"}},comment:{type:"string"}}}},{}],248:[function(require,module,exports){module.exports={$id:"page.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["startedDateTime","id","title","pageTimings"],properties:{startedDateTime:{type:"string",format:"date-time",pattern:"^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"},id:{type:"string",unique:!0},title:{type:"string"},pageTimings:{$ref:"pageTimings.json#"},comment:{type:"string"}}}},{}],249:[function(require,module,exports){module.exports={$id:"pageTimings.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",properties:{onContentLoad:{type:"number",min:-1},onLoad:{type:"number",min:-1},comment:{type:"string"}}}},{}],250:[function(require,module,exports){module.exports={$id:"postData.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",optional:!0,required:["mimeType"],properties:{mimeType:{type:"string"},text:{type:"string"},params:{type:"array",required:["name"],properties:{name:{type:"string"},value:{type:"string"},fileName:{type:"string"},contentType:{type:"string"},comment:{type:"string"}}},comment:{type:"string"}}}},{}],251:[function(require,module,exports){module.exports={$id:"query.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"},comment:{type:"string"}}}},{}],252:[function(require,module,exports){module.exports={$id:"request.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["method","url","httpVersion","cookies","headers","queryString","headersSize","bodySize"],properties:{method:{type:"string"},url:{type:"string",format:"uri"},httpVersion:{type:"string"},cookies:{type:"array",items:{$ref:"cookie.json#"}},headers:{type:"array",items:{$ref:"header.json#"}},queryString:{type:"array",items:{$ref:"query.json#"}},postData:{$ref:"postData.json#"},headersSize:{type:"integer"},bodySize:{type:"integer"},comment:{type:"string"}}}},{}],253:[function(require,module,exports){module.exports={$id:"response.json#",$schema:"http://json-schema.org/draft-06/schema#",type:"object",required:["status","statusText","httpVersion","cookies","headers","content","redirectURL","headersSize","bodySize"],properties:{status:{type:"integer"},statusText:{type:"string"},httpVersion:{type:"string"},cookies:{type:"array",items:{$ref:"cookie.json#"}},headers:{type:"array",items:{$ref:"header.json#"}},content:{$ref:"content.json#"},redirectURL:{type:"string"},headersSize:{type:"integer"},bodySize:{type:"integer"},comment:{type:"string"}}}},{}],254:[function(require,module,exports){module.exports={$id:"timings.json#",$schema:"http://json-schema.org/draft-06/schema#",required:["send","wait","receive"],properties:{dns:{type:"number",min:-1},connect:{type:"number",min:-1},blocked:{type:"number",min:-1},send:{type:"number",min:-1},wait:{type:"number",min:-1},receive:{type:"number",min:-1},ssl:{type:"number",min:-1},comment:{type:"string"}}}},{}],255:[function(require,module,exports){function HARError(errors){this.name="HARError",this.message="validation failed",this.errors=errors,"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error("validation failed").stack}HARError.prototype=Error.prototype,module.exports=HARError},{}],256:[function(require,module,exports){var ajv,Ajv=require("ajv"),HARError=require("./error"),schemas=require("har-schema");function validate(name,data){data=data||{};var validate=(ajv=ajv||function(){var ajv=new Ajv({allErrors:!0});return ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-06.json")),ajv.addSchema(schemas),ajv}()).getSchema(name+".json");return new Promise((function(resolve,reject){validate(data)?resolve(data):reject(new HARError(validate.errors))}))}exports.afterRequest=function(data){return validate("afterRequest",data)},exports.beforeRequest=function(data){return validate("beforeRequest",data)},exports.browser=function(data){return validate("browser",data)},exports.cache=function(data){return validate("cache",data)},exports.content=function(data){return validate("content",data)},exports.cookie=function(data){return validate("cookie",data)},exports.creator=function(data){return validate("creator",data)},exports.entry=function(data){return validate("entry",data)},exports.har=function(data){return validate("har",data)},exports.header=function(data){return validate("header",data)},exports.log=function(data){return validate("log",data)},exports.page=function(data){return validate("page",data)},exports.pageTimings=function(data){return validate("pageTimings",data)},exports.postData=function(data){return validate("postData",data)},exports.query=function(data){return validate("query",data)},exports.request=function(data){return validate("request",data)},exports.response=function(data){return validate("response",data)},exports.timings=function(data){return validate("timings",data)}},{"./error":255,ajv:60,"ajv/lib/refs/json-schema-draft-06.json":101,"har-schema":246}],257:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer,Transform=require("readable-stream").Transform;function HashBase(blockSize){Transform.call(this),this._block=Buffer.allocUnsafe(blockSize),this._blockSize=blockSize,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}require("inherits")(HashBase,Transform),HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding)}catch(err){error=err}callback(error)},HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest())}catch(err){error=err}callback(error)},HashBase.prototype.update=function(data,encoding){if(function(val,prefix){if(!Buffer.isBuffer(val)&&"string"!=typeof val)throw new TypeError(prefix+" must be a string or a buffer")}(data,"Data"),this._finalized)throw new Error("Digest already called");Buffer.isBuffer(data)||(data=Buffer.from(data,encoding));for(var block=this._block,offset=0;this._blockOffset+data.length-offset>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update(),this._blockOffset=0}for(;offset<data.length;)block[this._blockOffset++]=data[offset++];for(var j=0,carry=8*data.length;carry>0;++j)this._length[j]+=carry,(carry=this._length[j]/4294967296|0)>0&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error("_update is not implemented")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var digest=this._digest();void 0!==encoding&&(digest=digest.toString(encoding)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error("_digest is not implemented")},module.exports=HashBase},{inherits:294,"readable-stream":272,"safe-buffer":434}],258:[function(require,module,exports){arguments[4][164][0].apply(exports,arguments)},{dup:164}],259:[function(require,module,exports){arguments[4][165][0].apply(exports,arguments)},{"./_stream_readable":261,"./_stream_writable":263,_process:381,dup:165,inherits:294}],260:[function(require,module,exports){arguments[4][166][0].apply(exports,arguments)},{"./_stream_transform":262,dup:166,inherits:294}],261:[function(require,module,exports){arguments[4][167][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,"./internal/streams/async_iterator":264,"./internal/streams/buffer_list":265,"./internal/streams/destroy":266,"./internal/streams/from":268,"./internal/streams/state":270,"./internal/streams/stream":271,_process:381,buffer:183,dup:167,events:228,inherits:294,"string_decoder/":490,util:136}],262:[function(require,module,exports){arguments[4][168][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,dup:168,inherits:294}],263:[function(require,module,exports){arguments[4][169][0].apply(exports,arguments)},{"../errors":258,"./_stream_duplex":259,"./internal/streams/destroy":266,"./internal/streams/state":270,"./internal/streams/stream":271,_process:381,buffer:183,dup:169,inherits:294,"util-deprecate":504}],264:[function(require,module,exports){arguments[4][170][0].apply(exports,arguments)},{"./end-of-stream":267,_process:381,dup:170}],265:[function(require,module,exports){arguments[4][171][0].apply(exports,arguments)},{buffer:183,dup:171,util:136}],266:[function(require,module,exports){arguments[4][172][0].apply(exports,arguments)},{_process:381,dup:172}],267:[function(require,module,exports){arguments[4][173][0].apply(exports,arguments)},{"../../../errors":258,dup:173}],268:[function(require,module,exports){arguments[4][174][0].apply(exports,arguments)},{dup:174}],269:[function(require,module,exports){arguments[4][175][0].apply(exports,arguments)},{"../../../errors":258,"./end-of-stream":267,dup:175}],270:[function(require,module,exports){arguments[4][176][0].apply(exports,arguments)},{"../../../errors":258,dup:176}],271:[function(require,module,exports){arguments[4][177][0].apply(exports,arguments)},{dup:177,events:228}],272:[function(require,module,exports){arguments[4][178][0].apply(exports,arguments)},{"./lib/_stream_duplex.js":259,"./lib/_stream_passthrough.js":260,"./lib/_stream_readable.js":261,"./lib/_stream_transform.js":262,"./lib/_stream_writable.js":263,"./lib/internal/streams/end-of-stream.js":267,"./lib/internal/streams/pipeline.js":269,dup:178}],273:[function(require,module,exports){var hash=exports;hash.utils=require("./hash/utils"),hash.common=require("./hash/common"),hash.sha=require("./hash/sha"),hash.ripemd=require("./hash/ripemd"),hash.hmac=require("./hash/hmac"),hash.sha1=hash.sha.sha1,hash.sha256=hash.sha.sha256,hash.sha224=hash.sha.sha224,hash.sha384=hash.sha.sha384,hash.sha512=hash.sha.sha512,hash.ripemd160=hash.ripemd.ripemd160},{"./hash/common":274,"./hash/hmac":275,"./hash/ripemd":276,"./hash/sha":277,"./hash/utils":284}],274:[function(require,module,exports){"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){var r=(msg=this.pending).length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),0===this.pending.length&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32)}return this},BlockHash.prototype.digest=function(enc){return this.update(this._pad()),assert(null===this.pending),this._digest(enc)},BlockHash.prototype._pad=function(){var len=this.pendingTotal,bytes=this._delta8,k=bytes-(len+this.padLength)%bytes,res=new Array(k+this.padLength);res[0]=128;for(var i=1;i<k;i++)res[i]=0;if(len<<=3,"big"===this.endian){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=len>>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=255&len}else for(res[i++]=255&len,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t<this.padLength;t++)res[i++]=0;return res}},{"./utils":284,"minimalistic-assert":346}],275:[function(require,module,exports){"use strict";var utils=require("./utils"),assert=require("minimalistic-assert");function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash,this.blockSize=hash.blockSize/8,this.outSize=hash.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(key,enc))}module.exports=Hmac,Hmac.prototype._init=function(key){key.length>this.blockSize&&(key=(new this.Hash).update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=54;for(this.inner=(new this.Hash).update(key),i=0;i<key.length;i++)key[i]^=106;this.outer=(new this.Hash).update(key)},Hmac.prototype.update=function(msg,enc){return this.inner.update(msg,enc),this},Hmac.prototype.digest=function(enc){return this.outer.update(this.inner.digest()),this.outer.digest(enc)}},{"./utils":284,"minimalistic-assert":346}],276:[function(require,module,exports){"use strict";var utils=require("./utils"),common=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(j,x,y,z){return j<=15?x^y^z:j<=31?x&y|~x&z:j<=47?(x|~y)^z:j<=63?x&z|y&~z:x^(y|~z)}function K(j){return j<=15?0:j<=31?1518500249:j<=47?1859775393:j<=63?2400959708:2840853838}function Kh(j){return j<=15?1352829926:j<=31?1548603684:j<=47?1836072691:j<=63?2053994217:0}utils.inherits(RIPEMD160,BlockHash),exports.ripemd160=RIPEMD160,RIPEMD160.blockSize=512,RIPEMD160.outSize=160,RIPEMD160.hmacStrength=192,RIPEMD160.padLength=64,RIPEMD160.prototype._update=function(msg,start){for(var A=this.h[0],B=this.h[1],C=this.h[2],D=this.h[3],E=this.h[4],Ah=A,Bh=B,Ch=C,Dh=D,Eh=E,j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E,E=D,D=rotl32(C,10),C=B,B=T,T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh),Ah=Eh,Eh=Dh,Dh=rotl32(Ch,10),Ch=Bh,Bh=T}T=sum32_3(this.h[1],C,Dh),this.h[1]=sum32_3(this.h[2],D,Eh),this.h[2]=sum32_3(this.h[3],E,Ah),this.h[3]=sum32_3(this.h[4],A,Bh),this.h[4]=sum32_3(this.h[0],B,Ch),this.h[0]=T},RIPEMD160.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"little"):utils.split32(this.h,"little")};var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],rh=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],s=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":274,"./utils":284}],277:[function(require,module,exports){"use strict";exports.sha1=require("./sha/1"),exports.sha224=require("./sha/224"),exports.sha256=require("./sha/256"),exports.sha384=require("./sha/384"),exports.sha512=require("./sha/512")},{"./sha/1":278,"./sha/224":279,"./sha/256":280,"./sha/384":281,"./sha/512":282}],278:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20),t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d,d=c,c=rotl32(b,30),b=a,a=t}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e)},SHA1.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"./common":283}],279:[function(require,module,exports){"use strict";var utils=require("../utils"),SHA256=require("./256");function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256),module.exports=SHA224,SHA224.blockSize=512,SHA224.outSize=224,SHA224.hmacStrength=192,SHA224.padLength=64,SHA224.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h.slice(0,7),"big"):utils.split32(this.h.slice(0,7),"big")}},{"../utils":284,"./256":280}],280:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),shaCommon=require("./common"),assert=require("minimalistic-assert"),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=new Array(64)}utils.inherits(SHA256,BlockHash),module.exports=SHA256,SHA256.blockSize=512,SHA256.outSize=256,SHA256.hmacStrength=192,SHA256.padLength=64,SHA256.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4],f=this.h[5],g=this.h[6],h=this.h[7];for(assert(this.k.length===W.length),i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]),T2=sum32(s0_256(a),maj32(a,b,c));h=g,g=f,f=e,e=sum32(d,T1),d=c,c=b,b=a,a=sum32(T1,T2)}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e),this.h[5]=sum32(this.h[5],f),this.h[6]=sum32(this.h[6],g),this.h[7]=sum32(this.h[7],h)},SHA256.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"./common":283,"minimalistic-assert":346}],281:[function(require,module,exports){"use strict";var utils=require("../utils"),SHA512=require("./512");function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512),module.exports=SHA384,SHA384.blockSize=1024,SHA384.outSize=384,SHA384.hmacStrength=192,SHA384.padLength=128,SHA384.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h.slice(0,12),"big"):utils.split32(this.h.slice(0,12),"big")}},{"../utils":284,"./512":282}],282:[function(require,module,exports){"use strict";var utils=require("../utils"),common=require("../common"),assert=require("minimalistic-assert"),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=new Array(160)}function ch64_hi(xh,xl,yh,yl,zh){var r=xh&yh^~xh&zh;return r<0&&(r+=4294967296),r}function ch64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^~xl&zl;return r<0&&(r+=4294967296),r}function maj64_hi(xh,xl,yh,yl,zh){var r=xh&yh^xh&zh^yh&zh;return r<0&&(r+=4294967296),r}function maj64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^xl&zl^yl&zl;return r<0&&(r+=4294967296),r}function s0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,28)^rotr64_hi(xl,xh,2)^rotr64_hi(xl,xh,7);return r<0&&(r+=4294967296),r}function s0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,28)^rotr64_lo(xl,xh,2)^rotr64_lo(xl,xh,7);return r<0&&(r+=4294967296),r}function s1_512_hi(xh,xl){var r=rotr64_hi(xh,xl,14)^rotr64_hi(xh,xl,18)^rotr64_hi(xl,xh,9);return r<0&&(r+=4294967296),r}function s1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,14)^rotr64_lo(xh,xl,18)^rotr64_lo(xl,xh,9);return r<0&&(r+=4294967296),r}function g0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,1)^rotr64_hi(xh,xl,8)^shr64_hi(xh,xl,7);return r<0&&(r+=4294967296),r}function g0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,1)^rotr64_lo(xh,xl,8)^shr64_lo(xh,xl,7);return r<0&&(r+=4294967296),r}function g1_512_hi(xh,xl){var r=rotr64_hi(xh,xl,19)^rotr64_hi(xl,xh,29)^shr64_hi(xh,xl,6);return r<0&&(r+=4294967296),r}function g1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,19)^rotr64_lo(xl,xh,29)^shr64_lo(xh,xl,6);return r<0&&(r+=4294967296),r}utils.inherits(SHA512,BlockHash),module.exports=SHA512,SHA512.blockSize=1024,SHA512.outSize=512,SHA512.hmacStrength=192,SHA512.padLength=128,SHA512.prototype._prepareBlock=function(msg,start){for(var W=this.W,i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=g1_512_hi(W[i-4],W[i-3]),c0_lo=g1_512_lo(W[i-4],W[i-3]),c1_hi=W[i-14],c1_lo=W[i-13],c2_hi=g0_512_hi(W[i-30],W[i-29]),c2_lo=g0_512_lo(W[i-30],W[i-29]),c3_hi=W[i-32],c3_lo=W[i-31];W[i]=sum64_4_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo),W[i+1]=sum64_4_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo)}},SHA512.prototype._update=function(msg,start){this._prepareBlock(msg,start);var W=this.W,ah=this.h[0],al=this.h[1],bh=this.h[2],bl=this.h[3],ch=this.h[4],cl=this.h[5],dh=this.h[6],dl=this.h[7],eh=this.h[8],el=this.h[9],fh=this.h[10],fl=this.h[11],gh=this.h[12],gl=this.h[13],hh=this.h[14],hl=this.h[15];assert(this.k.length===W.length);for(var i=0;i<W.length;i+=2){var c0_hi=hh,c0_lo=hl,c1_hi=s1_512_hi(eh,el),c1_lo=s1_512_lo(eh,el),c2_hi=ch64_hi(eh,el,fh,fl,gh),c2_lo=ch64_lo(eh,el,fh,fl,gh,gl),c3_hi=this.k[i],c3_lo=this.k[i+1],c4_hi=W[i],c4_lo=W[i+1],T1_hi=sum64_5_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo),T1_lo=sum64_5_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo);c0_hi=s0_512_hi(ah,al),c0_lo=s0_512_lo(ah,al),c1_hi=maj64_hi(ah,al,bh,bl,ch),c1_lo=maj64_lo(ah,al,bh,bl,ch,cl);var T2_hi=sum64_hi(c0_hi,c0_lo,c1_hi,c1_lo),T2_lo=sum64_lo(c0_hi,c0_lo,c1_hi,c1_lo);hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=sum64_hi(dh,dl,T1_hi,T1_lo),el=sum64_lo(dl,dl,T1_hi,T1_lo),dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=sum64_hi(T1_hi,T1_lo,T2_hi,T2_lo),al=sum64_lo(T1_hi,T1_lo,T2_hi,T2_lo)}sum64(this.h,0,ah,al),sum64(this.h,2,bh,bl),sum64(this.h,4,ch,cl),sum64(this.h,6,dh,dl),sum64(this.h,8,eh,el),sum64(this.h,10,fh,fl),sum64(this.h,12,gh,gl),sum64(this.h,14,hh,hl)},SHA512.prototype._digest=function(enc){return"hex"===enc?utils.toHex32(this.h,"big"):utils.split32(this.h,"big")}},{"../common":274,"../utils":284,"minimalistic-assert":346}],283:[function(require,module,exports){"use strict";var rotr32=require("../utils").rotr32;function ch32(x,y,z){return x&y^~x&z}function maj32(x,y,z){return x&y^x&z^y&z}function p32(x,y,z){return x^y^z}exports.ft_1=function(s,x,y,z){return 0===s?ch32(x,y,z):1===s||3===s?p32(x,y,z):2===s?maj32(x,y,z):void 0},exports.ch32=ch32,exports.maj32=maj32,exports.p32=p32,exports.s0_256=function(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22)},exports.s1_256=function(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25)},exports.g0_256=function(x){return rotr32(x,7)^rotr32(x,18)^x>>>3},exports.g1_256=function(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}},{"../utils":284}],284:[function(require,module,exports){"use strict";var assert=require("minimalistic-assert"),inherits=require("inherits");function isSurrogatePair(msg,i){return 55296==(64512&msg.charCodeAt(i))&&(!(i<0||i+1>=msg.length)&&56320==(64512&msg.charCodeAt(i+1)))}function htonl(w){return(w>>>24|w>>>8&65280|w<<8&16711680|(255&w)<<24)>>>0}function zero2(word){return 1===word.length?"0"+word:word}function zero8(word){return 7===word.length?"0"+word:6===word.length?"00"+word:5===word.length?"000"+word:4===word.length?"0000"+word:3===word.length?"00000"+word:2===word.length?"000000"+word:1===word.length?"0000000"+word:word}exports.inherits=inherits,exports.toArray=function(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if("string"==typeof msg)if(enc){if("hex"===enc)for((msg=msg.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(msg="0"+msg),i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}else for(var p=0,i=0;i<msg.length;i++){var c=msg.charCodeAt(i);c<128?res[p++]=c:c<2048?(res[p++]=c>>6|192,res[p++]=63&c|128):isSurrogatePair(msg,i)?(c=65536+((1023&c)<<10)+(1023&msg.charCodeAt(++i)),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=63&c|128):(res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=63&c|128)}else for(i=0;i<msg.length;i++)res[i]=0|msg[i];return res},exports.toHex=function(msg){for(var res="",i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res},exports.htonl=htonl,exports.toHex32=function(msg,endian){for(var res="",i=0;i<msg.length;i++){var w=msg[i];"little"===endian&&(w=htonl(w)),res+=zero8(w.toString(16))}return res},exports.zero2=zero2,exports.zero8=zero8,exports.join32=function(msg,start,end,endian){var len=end-start;assert(len%4==0);for(var res=new Array(len/4),i=0,k=start;i<res.length;i++,k+=4){var w;w="big"===endian?msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3]:msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k],res[i]=w>>>0}return res},exports.split32=function(msg,endian){for(var res=new Array(4*msg.length),i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];"big"===endian?(res[k]=m>>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=255&m):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=255&m)}return res},exports.rotr32=function(w,b){return w>>>b|w<<32-b},exports.rotl32=function(w,b){return w<<b|w>>>32-b},exports.sum32=function(a,b){return a+b>>>0},exports.sum32_3=function(a,b,c){return a+b+c>>>0},exports.sum32_4=function(a,b,c,d){return a+b+c+d>>>0},exports.sum32_5=function(a,b,c,d,e){return a+b+c+d+e>>>0},exports.sum64=function(buf,pos,ah,al){var bh=buf[pos],lo=al+buf[pos+1]>>>0,hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0,buf[pos+1]=lo},exports.sum64_hi=function(ah,al,bh,bl){return(al+bl>>>0<al?1:0)+ah+bh>>>0},exports.sum64_lo=function(ah,al,bh,bl){return al+bl>>>0},exports.sum64_4_hi=function(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,ah+bh+ch+dh+(carry+=(lo=lo+dl>>>0)<dl?1:0)>>>0},exports.sum64_4_lo=function(ah,al,bh,bl,ch,cl,dh,dl){return al+bl+cl+dl>>>0},exports.sum64_5_hi=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,carry+=(lo=lo+dl>>>0)<dl?1:0,ah+bh+ch+dh+eh+(carry+=(lo=lo+el>>>0)<el?1:0)>>>0},exports.sum64_5_lo=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){return al+bl+cl+dl+el>>>0},exports.rotr64_hi=function(ah,al,num){return(al<<32-num|ah>>>num)>>>0},exports.rotr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0},exports.shr64_hi=function(ah,al,num){return ah>>>num},exports.shr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0}},{inherits:294,"minimalistic-assert":346}],285:[function(require,module,exports){"use strict";var hash=require("hash.js"),utils=require("minimalistic-crypto-utils"),assert=require("minimalistic-assert");function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash,this.predResist=!!options.predResist,this.outLen=this.hash.outSize,this.minEntropy=options.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||"hex"),nonce=utils.toArray(options.nonce,options.nonceEnc||"hex"),pers=utils.toArray(options.pers,options.persEnc||"hex");assert(entropy.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(seed),this._reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function(seed){var kmac=this._hmac().update(this.V).update([0]);seed&&(kmac=kmac.update(seed)),this.K=kmac.digest(),this.V=this._hmac().update(this.V).digest(),seed&&(this.K=this._hmac().update(this.V).update([1]).update(seed).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function(entropy,entropyEnc,add,addEnc){"string"!=typeof entropyEnc&&(addEnc=add,add=entropyEnc,entropyEnc=null),entropy=utils.toArray(entropy,entropyEnc),add=utils.toArray(add,addEnc),assert(entropy.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof enc&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||"hex"),this._update(add));for(var temp=[];temp.length<len;)this.V=this._hmac().update(this.V).digest(),temp=temp.concat(this.V);var res=temp.slice(0,len);return this._update(add),this._reseed++,utils.encode(res,enc)}},{"hash.js":273,"minimalistic-assert":346,"minimalistic-crypto-utils":347}],286:[function(require,module,exports){var parser=require("./parser"),signer=require("./signer"),verify=require("./verify"),utils=require("./utils");module.exports={parse:parser.parseRequest,parseRequest:parser.parseRequest,sign:signer.signRequest,signRequest:signer.signRequest,createSigner:signer.createSigner,isSigner:signer.isSigner,sshKeyToPEM:utils.sshKeyToPEM,sshKeyFingerprint:utils.fingerprint,pemToRsaSSHKey:utils.pemToRsaSSHKey,verify:verify.verifySignature,verifySignature:verify.verifySignature,verifyHMAC:verify.verifyHMAC}},{"./parser":287,"./signer":288,"./utils":289,"./verify":290}],287:[function(require,module,exports){var assert=require("assert-plus"),util=require("util"),utils=require("./utils"),HttpSignatureError=(utils.HASH_ALGOS,utils.PK_ALGOS,utils.HttpSignatureError),InvalidAlgorithmError=utils.InvalidAlgorithmError,validateAlgorithm=utils.validateAlgorithm,State_New=0,State_Params=1,ParamsState_Name=0,ParamsState_Quote=1,ParamsState_Value=2,ParamsState_Comma=3;function ExpiredRequestError(message){HttpSignatureError.call(this,message,ExpiredRequestError)}function InvalidHeaderError(message){HttpSignatureError.call(this,message,InvalidHeaderError)}function InvalidParamsError(message){HttpSignatureError.call(this,message,InvalidParamsError)}function MissingHeaderError(message){HttpSignatureError.call(this,message,MissingHeaderError)}function StrictParsingError(message){HttpSignatureError.call(this,message,StrictParsingError)}util.inherits(ExpiredRequestError,HttpSignatureError),util.inherits(InvalidHeaderError,HttpSignatureError),util.inherits(InvalidParamsError,HttpSignatureError),util.inherits(MissingHeaderError,HttpSignatureError),util.inherits(StrictParsingError,HttpSignatureError),module.exports={parseRequest:function(request,options){assert.object(request,"request"),assert.object(request.headers,"request.headers"),void 0===options&&(options={}),void 0===options.headers&&(options.headers=[request.headers["x-date"]?"x-date":"date"]),assert.object(options,"options"),assert.arrayOfString(options.headers,"options.headers"),assert.optionalFinite(options.clockSkew,"options.clockSkew");var authzHeaderName=options.authorizationHeaderName||"authorization";if(!request.headers[authzHeaderName])throw new MissingHeaderError("no "+authzHeaderName+" header present in the request");options.clockSkew=options.clockSkew||300;var date,i=0,state=State_New,substate=ParamsState_Name,tmpName="",tmpValue="",parsed={scheme:"",params:{},signingString:""},authz=request.headers[authzHeaderName];for(i=0;i<authz.length;i++){var c=authz.charAt(i);switch(Number(state)){case State_New:" "!==c?parsed.scheme+=c:state=State_Params;break;case State_Params:switch(Number(substate)){case ParamsState_Name:var code=c.charCodeAt(0);if(code>=65&&code<=90||code>=97&&code<=122)tmpName+=c;else{if("="!==c)throw new InvalidHeaderError("bad param format");if(0===tmpName.length)throw new InvalidHeaderError("bad param format");substate=ParamsState_Quote}break;case ParamsState_Quote:if('"'!==c)throw new InvalidHeaderError("bad param format");tmpValue="",substate=ParamsState_Value;break;case ParamsState_Value:'"'===c?(parsed.params[tmpName]=tmpValue,substate=ParamsState_Comma):tmpValue+=c;break;case ParamsState_Comma:if(","!==c)throw new InvalidHeaderError("bad param format");tmpName="",substate=ParamsState_Name;break;default:throw new Error("Invalid substate")}break;default:throw new Error("Invalid substate")}}if(parsed.params.headers&&""!==parsed.params.headers?parsed.params.headers=parsed.params.headers.split(" "):request.headers["x-date"]?parsed.params.headers=["x-date"]:parsed.params.headers=["date"],!parsed.scheme||"Signature"!==parsed.scheme)throw new InvalidHeaderError('scheme was not "Signature"');if(!parsed.params.keyId)throw new InvalidHeaderError("keyId was not specified");if(!parsed.params.algorithm)throw new InvalidHeaderError("algorithm was not specified");if(!parsed.params.signature)throw new InvalidHeaderError("signature was not specified");parsed.params.algorithm=parsed.params.algorithm.toLowerCase();try{validateAlgorithm(parsed.params.algorithm)}catch(e){throw e instanceof InvalidAlgorithmError?new InvalidParamsError(parsed.params.algorithm+" is not supported"):e}for(i=0;i<parsed.params.headers.length;i++){var h=parsed.params.headers[i].toLowerCase();if(parsed.params.headers[i]=h,"request-line"===h){if(options.strict)throw new StrictParsingError("request-line is not a valid header with strict parsing enabled.");parsed.signingString+=request.method+" "+request.url+" HTTP/"+request.httpVersion}else if("(request-target)"===h)parsed.signingString+="(request-target): "+request.method.toLowerCase()+" "+request.url;else{var value=request.headers[h];if(void 0===value)throw new MissingHeaderError(h+" was not in the request");parsed.signingString+=h+": "+value}i+1<parsed.params.headers.length&&(parsed.signingString+="\n")}if(request.headers.date||request.headers["x-date"]){date=request.headers["x-date"]?new Date(request.headers["x-date"]):new Date(request.headers.date);var now=new Date,skew=Math.abs(now.getTime()-date.getTime());if(skew>1e3*options.clockSkew)throw new ExpiredRequestError("clock skew of "+skew/1e3+"s was greater than "+options.clockSkew+"s")}if(options.headers.forEach((function(hdr){if(parsed.params.headers.indexOf(hdr.toLowerCase())<0)throw new MissingHeaderError(hdr+" was not a signed header")})),options.algorithms&&-1===options.algorithms.indexOf(parsed.params.algorithm))throw new InvalidParamsError(parsed.params.algorithm+" is not a supported algorithm");return parsed.algorithm=parsed.params.algorithm.toUpperCase(),parsed.keyId=parsed.params.keyId,parsed}}},{"./utils":289,"assert-plus":124,util:507}],288:[function(require,module,exports){(function(Buffer){(function(){var assert=require("assert-plus"),crypto=require("crypto"),util=(require("http"),require("util")),sshpk=require("sshpk"),jsprim=require("jsprim"),utils=require("./utils"),sprintf=require("util").format,HASH_ALGOS=utils.HASH_ALGOS,PK_ALGOS=utils.PK_ALGOS,InvalidAlgorithmError=utils.InvalidAlgorithmError,HttpSignatureError=utils.HttpSignatureError,validateAlgorithm=utils.validateAlgorithm,AUTHZ_FMT='Signature keyId="%s",algorithm="%s",headers="%s",signature="%s"';function MissingHeaderError(message){HttpSignatureError.call(this,message,MissingHeaderError)}function StrictParsingError(message){HttpSignatureError.call(this,message,StrictParsingError)}function RequestSigner(options){assert.object(options,"options");var alg=[];if(void 0!==options.algorithm&&(assert.string(options.algorithm,"options.algorithm"),alg=validateAlgorithm(options.algorithm)),this.rs_alg=alg,void 0!==options.sign)assert.func(options.sign,"options.sign"),this.rs_signFunc=options.sign;else if("hmac"===alg[0]&&void 0!==options.key){if(assert.string(options.keyId,"options.keyId"),this.rs_keyId=options.keyId,"string"!=typeof options.key&&!Buffer.isBuffer(options.key))throw new TypeError("options.key for HMAC must be a string or Buffer");this.rs_signer=crypto.createHmac(alg[1].toUpperCase(),options.key),this.rs_signer.sign=function(){var digest=this.digest("base64");return{hashAlgorithm:alg[1],toString:function(){return digest}}}}else{if(void 0===options.key)throw new TypeError("options.sign (func) or options.key is required");var key=options.key;if(("string"==typeof key||Buffer.isBuffer(key))&&(key=sshpk.parsePrivateKey(key)),assert.ok(sshpk.PrivateKey.isPrivateKey(key,[1,2]),"options.key must be a sshpk.PrivateKey"),this.rs_key=key,assert.string(options.keyId,"options.keyId"),this.rs_keyId=options.keyId,!PK_ALGOS[key.type])throw new InvalidAlgorithmError(key.type.toUpperCase()+" type keys are not supported");if(void 0!==alg[0]&&key.type!==alg[0])throw new InvalidAlgorithmError("options.key must be a "+alg[0].toUpperCase()+" key, was given a "+key.type.toUpperCase()+" key instead");this.rs_signer=key.createSign(alg[1])}this.rs_headers=[],this.rs_lines=[]}util.inherits(MissingHeaderError,HttpSignatureError),util.inherits(StrictParsingError,HttpSignatureError),RequestSigner.prototype.writeHeader=function(header,value){if(assert.string(header,"header"),header=header.toLowerCase(),assert.string(value,"value"),this.rs_headers.push(header),this.rs_signFunc)this.rs_lines.push(header+": "+value);else{var line=header+": "+value;this.rs_headers.length>0&&(line="\n"+line),this.rs_signer.update(line)}return value},RequestSigner.prototype.writeDateHeader=function(){return this.writeHeader("date",jsprim.rfc1123(new Date))},RequestSigner.prototype.writeTarget=function(method,path){assert.string(method,"method"),assert.string(path,"path"),method=method.toLowerCase(),this.writeHeader("(request-target)",method+" "+path)},RequestSigner.prototype.sign=function(cb){if(assert.func(cb,"callback"),this.rs_headers.length<1)throw new Error("At least one header must be signed");var alg,authz;if(this.rs_signFunc){var data=this.rs_lines.join("\n"),self=this;this.rs_signFunc(data,(function(err,sig){if(err)cb(err);else{try{assert.object(sig,"signature"),assert.string(sig.keyId,"signature.keyId"),assert.string(sig.algorithm,"signature.algorithm"),assert.string(sig.signature,"signature.signature"),alg=validateAlgorithm(sig.algorithm),authz=sprintf(AUTHZ_FMT,sig.keyId,sig.algorithm,self.rs_headers.join(" "),sig.signature)}catch(e){return void cb(e)}cb(null,authz)}}))}else{try{var sigObj=this.rs_signer.sign()}catch(e){return void cb(e)}alg=(this.rs_alg[0]||this.rs_key.type)+"-"+sigObj.hashAlgorithm;var signature=sigObj.toString();authz=sprintf(AUTHZ_FMT,this.rs_keyId,alg,this.rs_headers.join(" "),signature),cb(null,authz)}},module.exports={isSigner:function(obj){return"object"==typeof obj&&obj instanceof RequestSigner},createSigner:function(options){return new RequestSigner(options)},signRequest:function(request,options){assert.object(request,"request"),assert.object(options,"options"),assert.optionalString(options.algorithm,"options.algorithm"),assert.string(options.keyId,"options.keyId"),assert.optionalArrayOfString(options.headers,"options.headers"),assert.optionalString(options.httpVersion,"options.httpVersion"),request.getHeader("Date")||request.setHeader("Date",jsprim.rfc1123(new Date)),options.headers||(options.headers=["date"]),options.httpVersion||(options.httpVersion="1.1");var i,alg=[];options.algorithm&&(options.algorithm=options.algorithm.toLowerCase(),alg=validateAlgorithm(options.algorithm));var signature,stringToSign="";for(i=0;i<options.headers.length;i++){if("string"!=typeof options.headers[i])throw new TypeError("options.headers must be an array of Strings");var h=options.headers[i].toLowerCase();if("request-line"===h){if(options.strict)throw new StrictParsingError("request-line is not a valid header with strict parsing enabled.");stringToSign+=request.method+" "+request.path+" HTTP/"+options.httpVersion}else if("(request-target)"===h)stringToSign+="(request-target): "+request.method.toLowerCase()+" "+request.path;else{var value=request.getHeader(h);if(void 0===value||""===value)throw new MissingHeaderError(h+" was not in the request");stringToSign+=h+": "+value}i+1<options.headers.length&&(stringToSign+="\n")}if(request.hasOwnProperty("_stringToSign")&&(request._stringToSign=stringToSign),"hmac"===alg[0]){if("string"!=typeof options.key&&!Buffer.isBuffer(options.key))throw new TypeError("options.key must be a string or Buffer");var hmac=crypto.createHmac(alg[1].toUpperCase(),options.key);hmac.update(stringToSign),signature=hmac.digest("base64")}else{var key=options.key;if(("string"==typeof key||Buffer.isBuffer(key))&&(key=sshpk.parsePrivateKey(options.key)),assert.ok(sshpk.PrivateKey.isPrivateKey(key,[1,2]),"options.key must be a sshpk.PrivateKey"),!PK_ALGOS[key.type])throw new InvalidAlgorithmError(key.type.toUpperCase()+" type keys are not supported");if(void 0!==alg[0]&&key.type!==alg[0])throw new InvalidAlgorithmError("options.key must be a "+alg[0].toUpperCase()+" key, was given a "+key.type.toUpperCase()+" key instead");var signer=key.createSign(alg[1]);signer.update(stringToSign);var sigObj=signer.sign();if(!HASH_ALGOS[sigObj.hashAlgorithm])throw new InvalidAlgorithmError(sigObj.hashAlgorithm.toUpperCase()+" is not a supported hash algorithm");options.algorithm=key.type+"-"+sigObj.hashAlgorithm,signature=sigObj.toString(),assert.notStrictEqual(signature,"","empty signature produced")}var authzHeaderName=options.authorizationHeaderName||"Authorization";return request.setHeader(authzHeaderName,sprintf(AUTHZ_FMT,options.keyId,options.algorithm,options.headers.join(" "),signature)),!0}}}).call(this)}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":295,"./utils":289,"assert-plus":124,crypto:195,http:471,jsprim:303,sshpk:464,util:507}],289:[function(require,module,exports){var assert=require("assert-plus"),sshpk=require("sshpk"),util=require("util"),HASH_ALGOS={sha1:!0,sha256:!0,sha512:!0},PK_ALGOS={rsa:!0,dsa:!0,ecdsa:!0};function HttpSignatureError(message,caller){Error.captureStackTrace&&Error.captureStackTrace(this,caller||HttpSignatureError),this.message=message,this.name=caller.name}function InvalidAlgorithmError(message){HttpSignatureError.call(this,message,InvalidAlgorithmError)}util.inherits(HttpSignatureError,Error),util.inherits(InvalidAlgorithmError,HttpSignatureError),module.exports={HASH_ALGOS:HASH_ALGOS,PK_ALGOS:PK_ALGOS,HttpSignatureError:HttpSignatureError,InvalidAlgorithmError:InvalidAlgorithmError,validateAlgorithm:function(algorithm){var alg=algorithm.toLowerCase().split("-");if(2!==alg.length)throw new InvalidAlgorithmError(alg[0].toUpperCase()+" is not a valid algorithm");if("hmac"!==alg[0]&&!PK_ALGOS[alg[0]])throw new InvalidAlgorithmError(alg[0].toUpperCase()+" type keys are not supported");if(!HASH_ALGOS[alg[1]])throw new InvalidAlgorithmError(alg[1].toUpperCase()+" is not a supported hash algorithm");return alg},sshKeyToPEM:function(key){return assert.string(key,"ssh_key"),sshpk.parseKey(key,"ssh").toString("pem")},fingerprint:function(key){return assert.string(key,"ssh_key"),sshpk.parseKey(key,"ssh").fingerprint("md5").toString("hex")},pemToRsaSSHKey:function(pem,comment){assert.equal("string",typeof pem,"typeof pem");var k=sshpk.parseKey(pem,"pem");return k.comment=comment,k.toString("ssh")}}},{"assert-plus":124,sshpk:464,util:507}],290:[function(require,module,exports){(function(Buffer){(function(){var assert=require("assert-plus"),crypto=require("crypto"),sshpk=require("sshpk"),utils=require("./utils"),validateAlgorithm=(utils.HASH_ALGOS,utils.PK_ALGOS,utils.InvalidAlgorithmError,utils.HttpSignatureError,utils.validateAlgorithm);module.exports={verifySignature:function(parsedSignature,pubkey){assert.object(parsedSignature,"parsedSignature"),("string"==typeof pubkey||Buffer.isBuffer(pubkey))&&(pubkey=sshpk.parseKey(pubkey)),assert.ok(sshpk.Key.isKey(pubkey,[1,1]),"pubkey must be a sshpk.Key");var alg=validateAlgorithm(parsedSignature.algorithm);if("hmac"===alg[0]||alg[0]!==pubkey.type)return!1;var v=pubkey.createVerify(alg[1]);return v.update(parsedSignature.signingString),v.verify(parsedSignature.params.signature,"base64")},verifyHMAC:function(parsedSignature,secret){assert.object(parsedSignature,"parsedHMAC"),assert.string(secret,"secret");var alg=validateAlgorithm(parsedSignature.algorithm);if("hmac"!==alg[0])return!1;var hashAlg=alg[1].toUpperCase(),hmac=crypto.createHmac(hashAlg,secret);hmac.update(parsedSignature.signingString);var h1=crypto.createHmac(hashAlg,secret);h1.update(hmac.digest()),h1=h1.digest();var h2=crypto.createHmac(hashAlg,secret);return h2.update(new Buffer(parsedSignature.params.signature,"base64")),h2=h2.digest(),"string"==typeof h1?h1===h2:Buffer.isBuffer(h1)&&!h1.equals?h1.toString("binary")===h2.toString("binary"):h1.equals(h2)}}}).call(this)}).call(this,require("buffer").Buffer)},{"./utils":289,"assert-plus":124,buffer:183,crypto:195,sshpk:464}],291:[function(require,module,exports){var http=require("http"),url=require("url"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);function validateParams(params){if("string"==typeof params&&(params=url.parse(params)),params.protocol||(params.protocol="https:"),"https:"!==params.protocol)throw new Error('Protocol "'+params.protocol+'" not supported. Expected "https:"');return params}https.request=function(params,cb){return params=validateParams(params),http.request.call(this,params,cb)},https.get=function(params,cb){return params=validateParams(params),http.get.call(this,params,cb)}},{http:471,url:502}],292:[function(require,module,exports){
|
|
31
31
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
32
32
|
exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;nBits>0;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:1/0*(s?-1:1);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)},exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),(value+=e+eBias>=1?rt/c:rt*Math.pow(2,1-eBias))*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));mLen>=8;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}},{}],293:[function(require,module,exports){(function(global){(function(){"use strict";var scheduleDrain,draining,Mutation=global.MutationObserver||global.WebKitMutationObserver;if(Mutation){var called=0,observer=new Mutation(nextTick),element=global.document.createTextNode("");observer.observe(element,{characterData:!0}),scheduleDrain=function(){element.data=called=++called%2}}else if(global.setImmediate||void 0===global.MessageChannel)scheduleDrain="document"in global&&"onreadystatechange"in global.document.createElement("script")?function(){var scriptEl=global.document.createElement("script");scriptEl.onreadystatechange=function(){nextTick(),scriptEl.onreadystatechange=null,scriptEl.parentNode.removeChild(scriptEl),scriptEl=null},global.document.documentElement.appendChild(scriptEl)}:function(){setTimeout(nextTick,0)};else{var channel=new global.MessageChannel;channel.port1.onmessage=nextTick,scheduleDrain=function(){channel.port2.postMessage(0)}}var queue=[];function nextTick(){var i,oldQueue;draining=!0;for(var len=queue.length;len;){for(oldQueue=queue,queue=[],i=-1;++i<len;)oldQueue[i]();len=queue.length}draining=!1}module.exports=function(task){1!==queue.push(task)||draining||scheduleDrain()}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],294:[function(require,module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){superCtor&&(ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}},{}],295:[function(require,module,exports){function isBuffer(obj){return!!obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)}
|
|
33
33
|
/*!
|
|
@@ -256,7 +256,7 @@ var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(src,dst){fo
|
|
|
256
256
|
${spacer}// < Static code follows
|
|
257
257
|
${spacer}
|
|
258
258
|
${spacer}// >
|
|
259
|
-
`)}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowCodeMerge=BLZFlowCodeMerge},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557,"ts-dedent":732}],561:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowLog=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowLog extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.log},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}executionType(){return Flow_1.BLZFlowExecutionType.customWithoutBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.noExecution()}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,_flowIdentifier,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("source");if(!source)throw Error("Log statement invalid or variable not defined yet");let data=yield source.asValue(dataContext,executionContext),description=this.convertToString(data);executionContext.logger.logUser(description,executionContext.executedBlueprint),console.log(description)}))}convertToString(variable){return null===variable?"null":variable instanceof Map?JSON.stringify(Array.from(variable.entries())):JSON.stringify(variable)}}exports.BLZFlowLog=BLZFlowLog},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],562:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowEmit=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),EmittedContent_1=require("./../../../emitters/EmittedContent"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("../../../../configuration/KeywordsFlows");class BLZFlowEmit extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.emit},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"file"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(dataContext,body,executionContext,_configuration,_outputs,sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){var _a;return __awaiter(this,void 0,void 0,(function*(){let blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name must be provided");var blueprintName="";let possibleName=blueprintNameSource.asString();if(possibleName&&StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(possibleName))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(possibleName);else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if("string"!=typeof computedBlueprintName)throw Error("Blueprint name must resolve to string");blueprintName=computedBlueprintName}let emittedContent=new EmittedContent_1.BLZEmittedContent(blueprintName,null!==(_a=body.result)&&void 0!==_a?_a:"");executionContext.blueprintEmitter.emit(emittedContent),resolve("")}))}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowEmit=BLZFlowEmit},{"../../../../configuration/KeywordsFlows":513,"./../../../../utils/StringUtils":698,"./../../../emitters/EmittedContent":554,"./../../Flow":556,"./../../FlowIterator":557}],563:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowImport=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),BlueprintConfiguration_1=require("./../../../../blueprints/BlueprintConfiguration"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowImport extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.import},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"from"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let variableNameOutput=outputs.get("variableName");if(!variableNameOutput)throw Error("Variable name must be provided");let variableName=variableNameOutput.asString(),blueprintName="",blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name argument must be provided");if(blueprintName=blueprintNameSource.asString(),StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(blueprintName))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(blueprintName);else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if("string"!=typeof computedBlueprintName)throw Error("Blueprint name must resolve to string");blueprintName=computedBlueprintName}let payload={type:"function",declaration:executionContext.blueprintLoader.loadBlueprint(blueprintName,executionContext,BlueprintConfiguration_1.BLZBlueprintConfiguration.default()).declaration};executionContext.variableContext.setVariable(variableName,!1,!1,flowIdentifier,payload)}))}}exports.BLZFlowImport=BLZFlowImport},{"./../../../../blueprints/BlueprintConfiguration":511,"./../../../../configuration/KeywordsFlows":513,"./../../../../utils/StringUtils":698,"./../../Flow":556,"./../../FlowIterator":557}],564:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowReturn=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowReturn extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.return},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"data"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,_flowIdentifier,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let dataSource=sources.get("data");if(!dataSource)throw Error("Return data must be provided");let data=yield dataSource.asValue(dataContext,executionContext);if(!(data&&data instanceof Map))throw Error("Return data must resolve to dictionary");const returnStack=executionContext.getFunctionReturnStack();0!==returnStack.length?(returnStack.pop(),returnStack.push(data)):console.warn("Using return flow without call to function")}))}}exports.BLZFlowReturn=BLZFlowReturn},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],565:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowElse=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowElse extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.else}]}canFormChainRoot(){return!1}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return this.resolveAsTrue()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowElse=BLZFlowElse},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],566:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowElseIf=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowElseIf extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.elseIf},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"condition"}]}chainableFlows(){return["elseif","else"]}canFormChainRoot(){return!1}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("condition");if(!source)throw Error("Condition must be provided");let value=yield source.asValue(_currentContext,_executionContext);return value?"boolean"==typeof value?value?this.resolveAsTrue():this.resolveAsFalse():"number"==typeof value?value>=1?this.resolveAsTrue():this.resolveAsFalse():"string"==typeof value&&value.length>0?this.resolveAsTrue():this.resolveAsFalse():this.resolveAsFalse()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowElseIf=BLZFlowElseIf},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],567:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowIf=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowIf extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.if},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"condition"}]}chainableFlows(){return["elseif","else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("condition");if(!source)throw Error("Condition must be provided");let value=yield source.asValue(_currentContext,_executionContext);return value?"boolean"==typeof value?value?this.resolveAsTrue():this.resolveAsFalse():"number"==typeof value?value>=1?this.resolveAsTrue():this.resolveAsFalse():"string"==typeof value&&value.length>0?this.resolveAsTrue():this.resolveAsFalse():this.resolveAsFalse()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowIf=BLZFlowIf},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],568:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowInject=void 0;const FlowUtils_1=require("./../../../../utils/FlowUtils"),InterpreterContext_1=require("./../../../InterpreterContext"),FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),Interpreter_1=require("../../../Interpreter"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows"),lodash_1=require("lodash");class BLZFlowInject extends Flow_1.BLZFlow{constructor(){super(...arguments),this.cachedBlueprints=new Map}flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.inject},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.optional,definition:"formatFirstLine"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.optional,definition:"userOffset"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(dataContext,body,executionContext,configuration,outputs,sources,_keywords,lineOffset,firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let blueprintName="",blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name argument must be provided");if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(blueprintNameSource.asString()))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(blueprintNameSource.asString());else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if(!computedBlueprintName||"string"!=typeof computedBlueprintName)throw Error("BLueprint name must resolve to string");blueprintName=computedBlueprintName}let injectionContext=yield source.asValue(dataContext,executionContext);if(!injectionContext||!lodash_1.isPlainObject(injectionContext)&&!(injectionContext instanceof Map))throw Error(`Context for injected blueprint must resolve to dictionary, blueprint '${blueprintName}'`);lodash_1.isPlainObject(injectionContext)&&(injectionContext=new Map(Object.entries(injectionContext)));var shouldFormatFirstLine=firstLineDirective;let canOverride=outputs.get("formatFirstLine");canOverride&&(shouldFormatFirstLine=null!==(_a=canOverride.asBool())&&void 0!==_a&&_a);var userOffset=0;let offsetLines=outputs.get("userOffset");offsetLines&&(userOffset=null!==(_b=offsetLines.asNumber())&&void 0!==_b?_b:0);let blueprint=executionContext.blueprintLoader.loadBlueprint(blueprintName,executionContext,configuration),interpreter=new Interpreter_1.BLZInterpreter,additions=new Map;additions.set("#body",null!==(_c=body.result)&&void 0!==_c?_c:"");let interpreterContext=new InterpreterContext_1.BLZInterpreterContext(injectionContext,additions),result=yield interpreter.interpret(blueprint,interpreterContext,executionContext);resolve(FlowUtils_1.FlowUtils.offsetLinesCanIgnoreFirstline(result,!shouldFormatFirstLine,userOffset,lineOffset," "))}))}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowInject=BLZFlowInject},{"../../../Interpreter":551,"./../../../../configuration/KeywordsFlows":513,"./../../../../utils/FlowUtils":697,"./../../../../utils/StringUtils":698,"./../../../InterpreterContext":552,"./../../Flow":556,"./../../FlowIterator":557,lodash:729}],569:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowFor=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowFor extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.for},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"in"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}chainableFlows(){return["else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let output=outputs.get("key"),source=sources.get("source");if(!output||!source)throw Error("Key and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Array))throw Error("For source must be an array, but it's type is "+typeof sourceData);const sourceArray=sourceData;if(0===sourceArray.length)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;return sourceArray.forEach(((value,index)=>{let adjustment=new Map,key=output.asString();adjustment.set(key,value),adjustment.set("#index",index),adjustment.set("#first",0===index),adjustment.set("#last",index===sourceArray.length-1);const even=index%2==0;adjustment.set("#even",even),adjustment.set("#odd",!even),contextAdjustments.push(adjustment)})),FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowFor=BLZFlowFor},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],570:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowMap=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowMap extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.map},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"to"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"}]}chainableFlows(){return["else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let key=outputs.get("key"),value=outputs.get("value"),source=sources.get("source");if(!key||!value||!source)throw Error("Key, value and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Map))throw Error("Map source must be a dictionary");if(0===sourceData.size)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;for(let[sKey,sValue]of sourceData){let adjustment=new Map;adjustment.set(key.asString(),sKey),adjustment.set(value.asString(),sValue),contextAdjustments.push(adjustment)}return FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowMap=BLZFlowMap},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],571:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowTraverse=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowTraverse extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.traverse},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"into"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let output=outputs.get("key"),source=sources.get("source"),value=outputs.get("value");if(!output||!source||!value)throw Error("Key and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Map))throw Error("For source must be a dictionary");if(0===sourceData.size)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;for(let[key,value]of sourceData){let adjustment=new Map;adjustment.set(key,value),contextAdjustments.push(adjustment)}return FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}traverseMakeContext(context,key,bindTo){var contextAdjustments=new Array;(new Map).set(bindTo,context);let nestedArray=context.get(key);if(nestedArray instanceof Array)for(let subcontext of nestedArray){if(!(subcontext instanceof Map))throw Error("Nested array must only contain dictionaries");contextAdjustments.concat(this.traverseMakeContext(subcontext,key,bindTo))}return contextAdjustments}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowTraverse=BLZFlowTraverse},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],572:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowCase=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowCase extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.case},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"}]}chainableFlows(){return["case","default"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,_executionContext,outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let userValue=outputs.get("value");if(!userValue)throw Error("Case value must be provided");let switchValue=currentContext.data.get("@internal.switch");if(!switchValue)throw Error("Internal error - switch chain data not provided");if("number"==typeof switchValue&&userValue.asNumber()===switchValue)return FlowIterator_1.FlowIterator.singleExecution(new Map);if("string"==typeof switchValue&&userValue.asString()===switchValue)return FlowIterator_1.FlowIterator.singleExecution(new Map);let followingContextEnhancement=new Map;return followingContextEnhancement.set("@internal.switch",switchValue),FlowIterator_1.FlowIterator.followThroughExecution(followingContextEnhancement)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowCase=BLZFlowCase},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],573:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowDefault=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowDefault extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.default}]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowDefault=BLZFlowDefault},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],574:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowSwitch=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowSwitch extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.switch},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}chainableFlows(){return["case"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("source");if(!source)throw Error("Property to switch must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!sourceData||"string"!=typeof sourceData&&"number"!=typeof sourceData)throw Error("Switch only supports string and numeric values");let switchData=new Map;return switchData.set("@internal.switch",sourceData),FlowIterator_1.FlowIterator.followThroughExecution(switchData)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowSwitch=BLZFlowSwitch},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],575:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowGlobal=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowGlobal extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.global},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!0,!1,flowIdentifier,value)}))}}exports.BLZFlowGlobal=BLZFlowGlobal},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],576:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowLet=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowLet extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.let},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!1,!1,flowIdentifier,value)}))}}exports.BLZFlowLet=BLZFlowLet},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],577:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowSet=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowSet extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.set},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.getVariable(variableName,flowIdentifier).setPayload(value)}))}}exports.BLZFlowSet=BLZFlowSet},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],578:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowVar=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowVar extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.var},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!1,!0,flowIdentifier,value)}))}}exports.BLZFlowVar=BLZFlowVar},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],579:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunction=void 0;const FunctionArgument_1=require("./FunctionArgument"),StringUtils_1=require("./../../utils/StringUtils");exports.BLZFunction=class{numberOfArguments(){throw Error("Function arguments must be registered")}isVariadic(){return!1}keyword(){throw Error("Function keyword must be registered")}documentation(){return null}isPrivate(){return!1}constructor(){}provideValueUsingArgumentString(argumentString,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let args=this.parseArgumentsFromArgumentString(argumentString);return this.provideValueUsingArguments(args,context,executionContext)}))}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("Function must declare its body")}))}))}parseArgumentsFromArgumentString(argumentString){let pieces=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(argumentString,",").map((value=>StringUtils_1.StringUtils.trimmed(value)));if(this.isVariadic()?pieces.length<this.numberOfArguments():pieces.length!==this.numberOfArguments())throw Error(`expectedDifferentNoArguments: ${this.keyword()}, actual=${pieces.length}, expected=${this.numberOfArguments()}`);let args=[];for(let[index,piece]of pieces.entries())args.push(new FunctionArgument_1.BLZFunctionArgument(piece,this.keyword(),index));return args}enrichArgumentError(position,error){let message=error.message;return Error(`Invalid argument ${position} of ${this.keyword()}: ${message}`)}expectString(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectString(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectInt(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectInt(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectDouble(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectDouble(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectNumeric(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectNumeric(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectBool(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectBool(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectArray(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectArray(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectDictionary(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectDictionary(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectAnyNonNull(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return argument.expectAnyNonNull(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectAny(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return argument.expectAny(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectArgument(position,args){if(position>args.length)throw Error(`Invalid implementation of function ${this.keyword()}, expecting argument #${position} but function only provides ${this.numberOfArguments()}`);return args[position]}equals(obj){return this.keyword()===obj.keyword()}}},{"./../../utils/StringUtils":698,"./FunctionArgument":580}],580:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionArgument=void 0;const StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeSubstitution_1=require("../../parser/syntax/nodes/SyntaxNodeSubstitution"),FlowSource_1=require("../flows/FlowSource"),lodash_1=require("lodash");exports.BLZFunctionArgument=class{constructor(argument,keyword,position){if(0===argument.length)throw Error(`functionArgumentEmpty(#${position} - ${keyword})`);this.backingProperty=argument}expectString(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let result=yield this.resolveAsSource(interpreterContext,ec);if(null!==result&&"string"==typeof result)return result;throw Error(`Function argument ${content} should resolve to string`)}}catch(error){throw error}}))}expectInt(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectDouble(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectNumeric(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be a number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number, not string`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectBool(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content)){let noQuotesContent=StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);throw"false"===noQuotesContent||"true"===noQuotesContent?Error(`${noQuotesContent} can't be surrounded with quotes`):Error(`Function argument ${content} expected to be boolean, not string`)}if("true"===content)return!0;if("false"===content)return!1;{let result=yield this.resolveAsSource(interpreterContext,ec);if("boolean"==typeof result)return result;throw Error(`Function argument ${content} should resolve to boolean`)}}catch(error){throw error}}))}expectArray(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be array, not string`);{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Array)return result;throw Error(`Transformer argument ${content} should resolve to array`)}}catch(error){throw error}}))}expectDictionary(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be dictionary, not string`);{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Map)return result;if(lodash_1.isPlainObject(result))return new Map(Object.entries(result));throw Error(`Transformer argument ${content} should resolve to dictionary`)}}catch(error){throw error}}))}expectAnyNonNull(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null!==asNumber&&!Number.isNaN(asNumber))return asNumber.valueOf();if("false"===content)return!1;if("true"===content)return!0;if(null!==(yield this.resolveAsSource(interpreterContext,ec)))throw Error(`Function argument ${content} should resolve to value, not null`)}}catch(error){throw error}}))}expectAny(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){if("false"===content)return!1;if("true"===content)return!0;return yield this.resolveAsSource(interpreterContext,ec)}return asNumber.valueOf()}}catch(error){throw error}}))}resolveAsSource(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(this.backingProperty,ec),flowSource=new FlowSource_1.BLZFlowSource(substitutionNode);return yield flowSource.asValue(interpreterContext,ec)}catch(error){throw error}}))}}},{"../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"../flows/FlowSource":559,"./../../utils/StringUtils":698,lodash:729}],581:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionCall=void 0;const InterpreterContext_1=require("../../../InterpreterContext"),Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions"),Interpreter_1=require("../../../Interpreter");class BLZFunctionCall extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.blueprintsCall}provideValueUsingArguments(args,context,executionContext){var _a;return __awaiter(this,void 0,void 0,(function*(){const fname=yield this.expectString(0,args,context,executionContext),fargs=yield this.expectDictionary(1,args,context,executionContext);let blueprint=executionContext.blueprintLoader.loadBlueprint(fname,executionContext,null),interpreter=new Interpreter_1.BLZInterpreter,interpreterContext=new InterpreterContext_1.BLZInterpreterContext(fargs);executionContext.getFunctionReturnStack().push(new Map);let output=yield interpreter.interpret(blueprint,interpreterContext,executionContext),returnedData=null!==(_a=executionContext.getFunctionReturnStack().pop())&&void 0!==_a?_a:null;if(!returnedData)throw Error("No data to return");return returnedData.set("output",output),returnedData}))}}exports.BLZFunctionCall=BLZFunctionCall},{"../../../Interpreter":551,"../../../InterpreterContext":552,"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],582:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionAnd=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionAnd extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanAnd}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){for(let arg of args){if(!(yield arg.expectBool(context,executionContext)))return!1}return!0}))}}exports.BLZFunctionAnd=BLZFunctionAnd},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],583:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNot=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNot extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanNot}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!(yield this.expectBool(0,args,context,executionContext))}))}}exports.BLZFunctionNot=BLZFunctionNot},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],584:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionOr=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionOr extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanOr}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){for(let arg of args){if(yield arg.expectBool(context,executionContext))return!0}return!1}))}}exports.BLZFunctionOr=BLZFunctionOr},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],585:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionTernaryValue=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionTernaryValue extends Function_1.BLZFunction{numberOfArguments(){return 3}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanTernaryValue}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let condition=yield this.expectBool(0,args,context,executionContext);return yield this.expectAnyNonNull(condition?1:2,args,context,executionContext)}))}}exports.BLZFunctionTernaryValue=BLZFunctionTernaryValue},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],586:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectAny(0,args,context,executionContext))===(yield this.expectAny(1,args,context,executionContext))}))}}exports.BLZFunctionEquals=BLZFunctionEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],587:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionCompareEmpty=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("../../../../configuration/KeywordsFunctions");class BLZFunctionCompareEmpty extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareEmpty}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let x=yield this.expectAny(0,args,context,executionContext);return Array.isArray(x)?0===x.length:!x}))}}exports.BLZFunctionCompareEmpty=BLZFunctionCompareEmpty},{"../../../../configuration/KeywordsFunctions":514,"../../Function":579}],588:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEqualsNonNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEqualsNonNull extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareNonNull}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!!(yield this.expectAny(0,args,context,executionContext))}))}}exports.BLZFunctionEqualsNonNull=BLZFunctionEqualsNonNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],589:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEqualsNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEqualsNull extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareNull}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!(yield this.expectAny(0,args,context,executionContext))}))}}exports.BLZFunctionEqualsNull=BLZFunctionEqualsNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],590:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionGreaterThan=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionGreaterThan extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareGreaterThan}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))>(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionGreaterThan=BLZFunctionGreaterThan},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],591:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionGreaterThanEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionGreaterThanEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareGreaterThanEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))>=(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionGreaterThanEquals=BLZFunctionGreaterThanEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],592:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionLessThan=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionLessThan extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareLessThan}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))<(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionLessThan=BLZFunctionLessThan},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],593:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionLessThanEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionLessThanEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareLessThanEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))<=(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionLessThanEquals=BLZFunctionLessThanEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],594:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewArray extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewArray}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Array}))}}exports.BLZFunctionNewArray=BLZFunctionNewArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],595:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewDate=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions"),moment_1=__importDefault(require("moment"));class BLZFunctionNewDate extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewDate}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return moment_1.default().unix()}))}}exports.BLZFunctionNewDate=BLZFunctionNewDate},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514,moment:731}],596:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewDictionary=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewDictionary extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewDictionary}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Map}))}}exports.BLZFunctionNewDictionary=BLZFunctionNewDictionary},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],597:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewNull extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewNull}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return null}))}}exports.BLZFunctionNewNull=BLZFunctionNewNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],598:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewNumber=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewNumber extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewNumber}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0}))}}exports.BLZFunctionNewNumber=BLZFunctionNewNumber},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],599:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewString=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewString extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewString}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return""}))}}exports.BLZFunctionNewString=BLZFunctionNewString},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],600:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNetworkGetAnonymous=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("../../../../configuration/KeywordsFunctions"),axios_1=__importDefault(require("axios"));class BLZFunctionNetworkGetAnonymous extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.networkGetAnonymous}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let url=yield this.expectString(0,args,context,executionContext);return new Promise(((respond,reject)=>{axios_1.default.get(url).then((value=>{if(value.data instanceof Object){let data=new Map(Object.entries(value.data));respond(data)}else respond(value.data)})).catch((error=>{reject(error)}))}))}))}}exports.BLZFunctionNetworkGetAnonymous=BLZFunctionNetworkGetAnonymous},{"../../../../configuration/KeywordsFunctions":514,"../../Function":579,axios:699}],601:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomNumber=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomNumber extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomNumber}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let lowLimit=yield this.expectInt(0,args,context,executionContext),highLimit=yield this.expectInt(1,args,context,executionContext);if(lowLimit>=highLimit)throw Error("Low range can't be smaller than high range");return Math.floor(Math.random()*highLimit-lowLimit)+lowLimit}))}}exports.BLZFunctionRandomNumber=BLZFunctionRandomNumber},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],602:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomNumericArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomNumericArray extends Function_1.BLZFunction{numberOfArguments(){return 3}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomNumberArray}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let arraySize=yield this.expectInt(0,args,context,executionContext),lowLimit=yield this.expectInt(1,args,context,executionContext),highLimit=yield this.expectInt(2,args,context,executionContext);if(lowLimit>=highLimit)throw Error("Low range can't be smaller than high range");if(arraySize<=0)throw Error("Random array must be created non-empty");let array=Array();for(let i=0;i<arraySize;i++){let randomNumber=Math.floor(Math.random()*highLimit-lowLimit)+lowLimit;array.push(randomNumber)}return array}))}}exports.BLZFunctionRandomNumericArray=BLZFunctionRandomNumericArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],603:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomString=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomString extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomString}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let stringLength=yield yield this.expectInt(0,args,context,executionContext);if(stringLength<=0)throw Error("Random strinng must be created non-empty");return" ".repeat(stringLength)}))}}exports.BLZFunctionRandomString=BLZFunctionRandomString},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],604:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomStringArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomStringArray extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomStringArray}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let arraySize=yield yield this.expectInt(0,args,context,executionContext),stringLength=yield yield this.expectInt(1,args,context,executionContext);if(arraySize<=0)throw Error("Random array must be created non-empty");let array=Array();for(let i=0;i<arraySize;i++)array.push(" ".repeat(stringLength));return array}))}}exports.BLZFunctionRandomStringArray=BLZFunctionRandomStringArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],605:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionArraysToZippedMap=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionArraysToZippedMap extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.supportArraysToZippedMap}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let keyArray=yield yield this.expectArray(0,args,context,executionContext),valueArray=yield yield this.expectArray(1,args,context,executionContext);if(keyArray.length!==valueArray.length)throw new Error("Key and value arrays must be the same size");let objectMap=new Map;for(let[index,key]of keyArray.entries()){let value=valueArray[index];objectMap.set(key,value)}return objectMap}))}}exports.BLZFunctionArraysToZippedMap=BLZFunctionArraysToZippedMap},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],606:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionVarDefined=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionVarDefined extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.varDefined}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let identifier=yield yield this.expectString(0,args,context,executionContext);return!!executionContext.variableContext.getVariableFailable(identifier,executionContext.executedScope)}))}}exports.BLZFunctionVarDefined=BLZFunctionVarDefined},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],607:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionVarMutable=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionVarMutable extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.varMutable}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let identifier=yield this.expectString(0,args,context,executionContext),possibleVariable=executionContext.variableContext.getVariableFailable(identifier,executionContext.executedScope);return!(!possibleVariable||!possibleVariable.isMutable)}))}}exports.BLZFunctionVarMutable=BLZFunctionVarMutable},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],608:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintLoader=void 0;exports.BLZBlueprintLoader=class{constructor(){this.cachedBlueprints=new Map}cache(blueprint,id=null){this.cachedBlueprints[null!=id?id:blueprint.id]=blueprint}cachedBlueprint(id){var _a;return null!==(_a=this.cachedBlueprints[id])&&void 0!==_a?_a:null}removeCachedBlueprint(id){return this.cachedBlueprints.delete(id)}removeCachedBlueprints(){this.cachedBlueprints=new Map}loadBlueprint(_blueprintId,_executionContext,_configuration){throw Error("Blueprint loader must provide its own loading routine")}}},{}],609:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZMemoryBlueprintLoader=void 0;const BlueprintFactory_1=require("./../../blueprints/BlueprintFactory"),BlueprintLoader_1=require("./BlueprintLoader");class BLZMemoryBlueprintLoader extends BlueprintLoader_1.BLZBlueprintLoader{constructor(blueprints){super();for(let[key,blueprint]of blueprints)this.cache(blueprint,key)}load(blueprint,key){this.cache(blueprint,key)}loadFromDefinition(definition,key,executionContext=null,configuration=null){try{let blueprint=BlueprintFactory_1.BLZBlueprintFactory.blueprint(definition,key,executionContext,configuration);this.cache(blueprint,key)}catch(error){throw error}}loadBlueprint(blueprintId,_executionContext,_configuration){let blueprint=this.cachedBlueprint(blueprintId);if(null===blueprint)throw Error("undefinedBlueprint:"+blueprintId);return blueprint}}exports.BLZMemoryBlueprintLoader=BLZMemoryBlueprintLoader},{"./../../blueprints/BlueprintFactory":512,"./BlueprintLoader":608}],610:[function(require,module,exports){"use strict";var BLZLogType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZLogger=exports.BLZLogType=void 0,function(BLZLogType){BLZLogType[BLZLogType.success=0]="success",BLZLogType[BLZLogType.info=1]="info",BLZLogType[BLZLogType.warning=2]="warning",BLZLogType[BLZLogType.error=3]="error",BLZLogType[BLZLogType.user=4]="user"}(BLZLogType=exports.BLZLogType||(exports.BLZLogType={}));exports.BLZLogger=class{constructor(){this.logs=[]}emptyLogs(){this.logs=[]}store(log){return this.logs.push(log),log}logSuccess(message,id){let log={id:id,message:message,type:BLZLogType.success,time:new Date};return this.store(log)}logInfo(message,id){let log={id:id,message:message,type:BLZLogType.info,time:new Date};return this.store(log)}logWarning(message,id){let log={id:id,message:message,type:BLZLogType.warning,time:new Date};return this.store(log)}logError(message,id){let log={id:id,message:message,type:BLZLogType.error,time:new Date};return this.store(log)}logUser(message,id){let log={id:id,message:message,type:BLZLogType.user,time:new Date};return this.store(log)}logType(type,message,id){let log={id:id,message:message,type:type,time:new Date};return this.store(log)}logSystem(systemMessage,id){return this.logType(systemMessage.type,systemMessage.message,id)}}},{}],611:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZLoggerDefaultMessages=void 0;const Logger_1=require("./Logger");class BLZLoggerDefaultMessages{}exports.BLZLoggerDefaultMessages=BLZLoggerDefaultMessages,BLZLoggerDefaultMessages.compilerStart={message:"Build started",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.compilerBuildSuccessful={message:"Build successful",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.compilerBuildFailure={message:"Build failed",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterStart={message:"Rendering started",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterRenderingSuccessful={message:"Rendering successful",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterRenderingFailure={message:"Rendering failed",type:Logger_1.BLZLogType.info}},{"./Logger":610}],612:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformer=void 0;const StringUtils_1=require("./../../utils/StringUtils"),TransformerArgument_1=require("./TransformerArgument");exports.BLZTransformer=class{numberOfArguments(){throw Error("Transformer arguments must be registered")}keyword(){throw Error("Transformer keyword must be registered")}documentation(){return null}isPrivate(){return!1}constructor(){}transformValueUsingArgumentString(value,argumentString,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){if("self"===argumentString){if(isRoot)return context.data;throw Error("Self is only allowed at the beginning of transformer chain")}try{if(0===this.numberOfArguments())return this.transformValueUsingArguments(value,[],context,executionContext,isRoot);let pieces=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(argumentString,",").map((piece=>StringUtils_1.StringUtils.trimmed(piece)));if(pieces.length!==this.numberOfArguments())throw Error("Expected different number of arguments");let args=[];for(let[index,piece]of pieces.entries())args.push(new TransformerArgument_1.BLZTransformerArgument(piece,this.keyword(),index));return this.transformValueUsingArguments(value,args,context,executionContext,isRoot)}catch(error){throw error}}))}transformValueUsingArguments(value,args,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){try{if("string"==typeof value)return yield this.transformStringValue(value,args,context,executionContext);if("number"==typeof value)return yield this.transformNumericValue(value,args,context,executionContext);if("boolean"==typeof value)return yield this.transformBooleanValue(value,args,context,executionContext);if(value instanceof Array)return yield this.transformArrayValue(value,args,context,executionContext);if(value instanceof Map)return yield this.transformMapValue(value,args,context,executionContext,isRoot);if(value instanceof Object)return yield this.transformMapValue(new Map(Object.entries(value)),args,context,executionContext,isRoot);if(null===value)return yield this.transformNullValue(args,context,executionContext);throw Error("Unsupported transform source")}catch(error){throw error}}))}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected string")}))}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected boolean")}))}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected number")}))}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected dictionary")}))}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected array")}))}))}transformNullValue(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return null}))}expectString(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectString(context,ec)}catch(error){throw error}}))}expectInt(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectInt(context,ec)}catch(error){throw error}}))}expectDouble(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectDouble(context,ec)}catch(error){throw error}}))}expectBool(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectBool(context,ec)}catch(error){throw error}}))}expectAnyNonNull(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectAnyNonNull(context,ec)}catch(error){throw error}}))}expectAny(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectAny(context,ec)}catch(error){throw error}}))}expectArray(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectArray(context,ec)}catch(error){throw error}}))}expectDictionary(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectDictionary(context,ec)}catch(error){throw error}}))}expectArgument(position,args){if(position>=args.length)throw Error(`Invalid implementation of transformer ${this.keyword()}, expecting argument ${position} but transformer only provides ${args.length}`);return args[position]}equals(obj){return this.keyword()===obj.keyword()}}},{"./../../utils/StringUtils":698,"./TransformerArgument":613}],613:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerArgument=void 0;const StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeSubstitution_1=require("../../parser/syntax/nodes/SyntaxNodeSubstitution"),FlowSource_1=require("../flows/FlowSource");class BLZTransformerArgument{constructor(argument,keyword,position){if(0===argument.length)throw Error(`transformerArgumentEmpty(#${position} - ${keyword})`);this.backingProperty=argument}expectString(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let result=yield this.resolveAsSource(interpreterContext,ec);if(null!==result&&"string"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to string`)}}catch(error){throw error}}))}expectInt(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectDouble(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectNumeric(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be a number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number, not string`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectBool(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content)){let noQuotesContent=StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);throw"false"===noQuotesContent||"true"===noQuotesContent?Error(`${noQuotesContent} can't be surrounded with quotes`):Error(`Transformer argument ${content} expected to be boolean, not string`)}if("true"===content)return!0;if("false"===content)return!1;{let result=yield this.resolveAsSource(interpreterContext,ec);if("boolean"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to boolean`)}}catch(error){throw error}}))}expectArray(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be array, not string`);if(StringUtils_1.StringUtils.isStructuralArrayDefinition(content)){let components=StringUtils_1.StringUtils.parsedArrayFromDefinition(content);if(!components)throw Error("Array definition not formatted correctly");let componentValues=new Array;for(let[index,component]of components.entries()){let arg=new BLZTransformerArgument(component,"array.item",index),value=yield arg.expectAnyNonNull(interpreterContext,ec);componentValues.push(value)}return componentValues}{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Array)return result;throw Error(`Transformer argument ${content} should resolve to array`)}}catch(error){throw error}}))}expectDictionary(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be dictionary, not string`);if(StringUtils_1.StringUtils.isStructuralDictionaryDefinition(content)){let components=StringUtils_1.StringUtils.parsedDictionaryFromDefinition(content);if(!components)throw Error("Dictionary definition not formatted correctly");let componentValues=new Map,index=0;for(let[key,value]of components){let keyArg=new BLZTransformerArgument(key,"dict.key",index),valueArg=new BLZTransformerArgument(value,"dict.value",index),parsedKey=yield keyArg.expectString(interpreterContext,ec),parsedValue=yield valueArg.expectAnyNonNull(interpreterContext,ec);if(componentValues.get(parsedKey))throw Error(`Can't redefine key ${parsedKey} in inline dictionary`);componentValues.set(parsedKey,parsedValue),index++}return componentValues}{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Map)return result;throw Error(`Transformer argument ${content} should resolve to dictionary`)}}catch(error){throw error}}))}expectAnyNonNull(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){const result=yield this.expectAny(interpreterContext,ec);if(null===result)throw Error(`Transformer argument ${this.backingProperty} should resolve to value, not null`);return result}))}expectAny(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){if("false"===content)return!1;if("true"===content)return!0;return yield this.resolveAsSource(interpreterContext,ec)}return asNumber.valueOf()}}catch(error){throw error}}))}resolveAsSource(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(this.backingProperty,ec),flowSource=new FlowSource_1.BLZFlowSource(substitutionNode);return yield flowSource.asValue(interpreterContext,ec)}catch(error){throw error}}))}}exports.BLZTransformerArgument=BLZTransformerArgument},{"../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"../flows/FlowSource":559,"./../../utils/StringUtils":698}],614:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAppend=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),fp_1=require("lodash/fp");class BLZTransformerAppend extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.append}documentation(){let args=[Doc_1.BLZDoc.arg("value","Newly added value",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns new array by extending source array with provided value.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let newElement=yield this.expectAnyNonNull(0,args,context,executionContext);value=value;var clonedValue=fp_1.cloneDeep(value);return clonedValue.push(newElement),clonedValue}))}}exports.BLZTransformerAppend=BLZTransformerAppend},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],615:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAt=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAt extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.at}documentation(){let args=[Doc_1.BLZDoc.arg("index","Index of seeked element",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns the Nth element of the array. Throws error when index is out of bounds",Doc_2.DocDataTypePredefinedType.any,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let index=yield this.expectInt(0,args,context,executionContext);if(index<0||index>=value.length)throw Error("Index out of bounds");return value[index]}))}}exports.BLZTransformerAt=BLZTransformerAt},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],616:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerConcat=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerConcat extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.concat}documentation(){let args=[Doc_1.BLZDoc.arg("value","Array to extend with",Doc_2.DocDataTypePredefinedType.array)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source array extended by content of value array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let newElements=yield this.expectArray(0,args,context,executionContext);return value.concat(newElements)}))}}exports.BLZTransformerConcat=BLZTransformerConcat},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],617:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEnumerated=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEnumerated extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.enumerated}documentation(){let args=[Doc_1.BLZDoc.arg("value","Newly added value",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns dictionary with index-based keys and values of source array. This is very useful for loops to obtain index alongside data for each cycle. Enumeration index starts with 0.",Doc_2.DocDataTypePredefinedType.dict,args,null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let map=new Map,index=0;for(let piece of value)map.set(index++,piece);return map}))}}exports.BLZTransformerEnumerated=BLZTransformerEnumerated},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],618:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFirst=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFirst extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.first}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Return the first element in the source array.",Doc_2.DocDataTypePredefinedType.any,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0===value.length?null:value[0]}))}}exports.BLZTransformerFirst=BLZTransformerFirst},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],619:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFrom=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFrom extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.from}documentation(){let args=[Doc_1.BLZDoc.arg("index","Size of offset from beginning",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array starting from the Nth element. If index is beyond bounds, will return empty array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let fromRange=yield this.expectInt(0,args,context,executionContext);return fromRange>=value.length?new Array:value.slice(fromRange,value.length)}))}}exports.BLZTransformerFrom=BLZTransformerFrom},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],620:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerJoin=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("../../../../configuration/KeywordsTranformers");class BLZTransformerJoin extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.join}documentation(){let args=[Doc_1.BLZDoc.arg("separator","Separator to join",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns joined elements",Doc_2.DocDataTypePredefinedType.string,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.join(separator)}))}}exports.BLZTransformerJoin=BLZTransformerJoin},{"../../../../configuration/KeywordsTranformers":515,"../../../../tools/documentation/Doc":693,"../../Transformer":612}],621:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRandom=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRandom extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.random}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns random element from the source array. Returns null if empty.",Doc_2.DocDataTypePredefinedType.any,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0===value.length?null:value[Math.floor(Math.random()*value.length)]}))}}exports.BLZTransformerRandom=BLZTransformerRandom},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],622:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRange=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRange extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.range}documentation(){let args=[Doc_1.BLZDoc.arg("from","First index of the searched range",Doc_2.DocDataTypePredefinedType.int),Doc_1.BLZDoc.arg("count","Number of elements to retrieve",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns N elements of the array, starting at index M. Indexing starts from 0. If the array is not sufficiently long, will be trimmed from the end. Returns empty array if from is out of bounds.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let from=yield this.expectInt(0,args,context,executionContext),size=yield this.expectInt(1,args,context,executionContext);if(from>=value.length)return new Array;if(from<0)throw Error("Range has to start with positive number");let startIndex=from,endIndex=size<=value.length?size:value.length;return value.slice(startIndex,endIndex+1)}))}}exports.BLZTransformerRange=BLZTransformerRange},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],623:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerReversed=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerReversed extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.reversed}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns reversed array, where the first element becomes the last and vice versa.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return clonedArray.reverse(),clonedArray}))}}exports.BLZTransformerReversed=BLZTransformerReversed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],624:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerShuffled=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerShuffled extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.shuffled}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns shuffled source array.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return this.shuffle(clonedArray),clonedArray}))}shuffle(array){let counter=array.length;for(;counter>0;){let index=Math.floor(Math.random()*counter);counter--;let temp=array[counter];array[counter]=array[index],array[index]=temp}return array}}exports.BLZTransformerShuffled=BLZTransformerShuffled},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],625:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSorted=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSorted extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.sorted}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns sorted array. Elements will be sorted in descending order.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return clonedArray.sort(),clonedArray}))}}exports.BLZTransformerSorted=BLZTransformerSorted},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],626:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerUntil=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerUntil extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.until}documentation(){let args=[Doc_1.BLZDoc.arg("index","Number of first N elements",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns first N elements of the array. If the array is not sufficiently long, will return the entire array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let endRange=yield this.expectInt(0,args,context,executionContext);if(endRange<0)throw Error("Range has to start with positive number");let endIndex=endRange<value.length?endRange:value.length;return value.slice(0,endIndex+1)}))}}exports.BLZTransformerUntil=BLZTransformerUntil},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],627:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAdd=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAdd extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.add}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of newly added object",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("value","Value of newly added object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Extends source dictionary with provided value, accessible by provided key.",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userKey=yield this.expectString(0,args,context,executionContext),extensionValue=yield this.expectAny(1,args,context,executionContext),clonedMap=fp_1.cloneDeep(value);return clonedMap.set(userKey,extensionValue),clonedMap}))}}exports.BLZTransformerAdd=BLZTransformerAdd},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],628:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAlwaysRootValue=void 0;const Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),TransformerValue_1=require("./TransformerValue");class BLZTransformerAlwaysRootValue extends TransformerValue_1.BLZTransformerValue{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.alwaysRootValue}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of searched object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Only for internal language use",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext,isRoot){const _super=Object.create(null,{transformMapValue:{get:()=>super.transformMapValue}});return __awaiter(this,void 0,void 0,(function*(){return _super.transformMapValue.call(this,value,args,context,executionContext,!0)}))}}exports.BLZTransformerAlwaysRootValue=BLZTransformerAlwaysRootValue},{"../../../../tools/documentation/Doc":693,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./TransformerValue":630}],629:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerKeys=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerKeys extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.keys}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Transforms dictionary into an array containing all its keys.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let dataArray=new Array;for(let[key,_]of value)dataArray.push(key);return dataArray}))}}exports.BLZTransformerKeys=BLZTransformerKeys},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],630:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerValue=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),StringUtils_1=require("./../../../../utils/StringUtils"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerValue extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.value}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of searched object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns object from source dictionary by provided key.",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){if(0===args.length)return null;let arg=args[0].backingProperty;StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(arg)&&(arg=StringUtils_1.StringUtils.withoutDoubleQuotes(arg));let variable=executionContext.variableContext.getVariableFailable(arg,executionContext.executedScope);if(null!==variable&&isRoot){let payload=variable.payload;return value.has(payload)?value.get(payload):payload}if(value.has(arg))return value.get(arg);let keyValue=context.data.get(arg);return keyValue&&"string"==typeof keyValue&&value.has(keyValue)?value.get(keyValue):null}))}}exports.BLZTransformerValue=BLZTransformerValue},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],631:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerValues=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerValues extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.values}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Transforms source dictionary into an array containing its values.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let dataArray=new Array;for(let[_,piece]of value)dataArray.push(piece);return dataArray}))}}exports.BLZTransformerValues=BLZTransformerValues},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],632:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAbsolute=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAbsolute extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.absolute}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns absolute source value.",Doc_2.DocDataTypePredefinedType.int,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.abs(value)}))}}exports.BLZTransformerAbsolute=BLZTransformerAbsolute},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],633:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAddedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAddedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.addedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to add",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by adding value to source.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value+userValue}))}}exports.BLZTransformerAddedBy=BLZTransformerAddedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],634:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCeiled=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerCeiled extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.ceiled}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns the next highest integer value by rounding up source if neccessary.",Doc_2.DocDataTypePredefinedType.int,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.ceil(value)}))}}exports.BLZTransformerCeiled=BLZTransformerCeiled},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],635:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerDividedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerDividedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.dividedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to divide by",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by dividing value by value.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return 0===userValue?0:value/userValue}))}}exports.BLZTransformerDividedBy=BLZTransformerDividedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],636:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFloored=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFloored extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.floored}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns the next highest integer value by rounding down source if neccessary.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.floor(value)}))}}exports.BLZTransformerFloored=BLZTransformerFloored},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],637:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerMultipledBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerMultipledBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.multipliedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to multiply by",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by multiplying source and value.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value*userValue}))}}exports.BLZTransformerMultipledBy=BLZTransformerMultipledBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],638:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerNegative=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerNegative extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.negative}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns value that is either the same as source if it was <0, or source multiplied by -1 if it was >0",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value>0?-1*value:value}))}}exports.BLZTransformerNegative=BLZTransformerNegative},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],639:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerPositive=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerPositive extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.positive}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns value that is either the same as source if it was >0, or source multiplied by -1 if it was <0.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value<0?-1*value:value}))}}exports.BLZTransformerPositive=BLZTransformerPositive},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],640:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRounded=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRounded extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.rounded}documentation(){let args=[Doc_1.BLZDoc.arg("fractions","Number of fractions to round to",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source rounded to specified number of fractions. Note that fractions must be a integer.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let fractionalPlaces=yield yield this.expectInt(0,args,context,executionContext);return this.rounded(value,fractionalPlaces)}))}rounded(value,toPlaces){let divisor=Math.pow(10,toPlaces);return Math.round(value*divisor)/divisor}}exports.BLZTransformerRounded=BLZTransformerRounded},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],641:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSubtractedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSubtractedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.subtractedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to subtract",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by subtracting value from source.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value-userValue}))}}exports.BLZTransformerSubtractedBy=BLZTransformerSubtractedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],642:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCount=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerCount extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.count}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"For arrays and dictionaries, this returns number of elements. For strings, the length of the string is returned instead.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.length}))}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.size}))}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.length}))}}exports.BLZTransformerCount=BLZTransformerCount},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],643:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFormatDate=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),moment_1=__importDefault(require("moment"));class BLZTransformerFormatDate extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.formatDate}documentation(){let args=[Doc_1.BLZDoc.arg("format","Standard ISO8601 output format",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns formatted string which was created from source date. If the source is string, it must be of ISO8601 format (either yyyy-MM-dd'T'HH:mm:ssZ or yyyy-MM-dd'T'HH:mm:ss.SSSZ is accepted), otherwise an error is thrown. If the source is number, it is considered as a standard time interval since 1970 (Unix epoch time).",Doc_2.DocDataTypePredefinedType.string,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let format=yield this.expectString(0,args,context,executionContext),date=moment_1.default.unix(value).toDate();return this.format(format,date)}))}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let format=yield this.expectString(0,args,context,executionContext),date=new Date(value);return this.format(format,date)}))}format(format,date){return moment_1.default(date).format(format)}}exports.BLZTransformerFormatDate=BLZTransformerFormatDate},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,moment:731}],644:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsArray=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsArray extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isArray}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is array, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}}exports.BLZTransformerIsArray=BLZTransformerIsArray},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],645:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsBool=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsBool extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isBool}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is boolean, false otherwise. Value of boolean is ignored in this case, this is strictly for checking its data type.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsBool=BLZTransformerIsBool},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],646:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsDictionary=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsDictionary extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isDictionary}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is dictionary, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsDictionary=BLZTransformerIsDictionary},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],647:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsNull=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsNull extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isNull}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is null, false otherwise. Any operation that results in undefined value (for example, calling .first() on empty array results to null.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNullValue(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}}exports.BLZTransformerIsNull=BLZTransformerIsNull},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],648:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsNumber=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsNumber extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isNumber}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is number, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsNumber=BLZTransformerIsNumber},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],649:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsString=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsString extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isString}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is string, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsString=BLZTransformerIsString},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],650:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerToString=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerToString extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.toString}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Allows to describe value that otherwise can't be used as substitution output. For example, dictionary can't be printed by {{ dict }}, however, it can be printed using {{ dict.toString() }}. This method fully describes dictionary, array, string, number or bool, all supported data types. Dictionaries and arrays will be deep-described including their content.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value}))}transformBooleanValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return""+(value?"true":"false")}))}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return`${value}`}))}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return JSON.stringify(value)}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return""}))}}exports.BLZTransformerToString=BLZTransformerToString},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],651:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCamelcased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerCamelcased extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.camelcased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns string in camel case representation",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){const upperFirst=yield this.expectBool(0,_args,_context,_executionContext),str=lodash_1.default.camelCase(value);return upperFirst?lodash_1.default.upperFirst(str):str}))}}exports.BLZTransformerCamelcased=BLZTransformerCamelcased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],652:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCapitalized=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerCapitalized extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.capizalited}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns Capitalized source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.capitalize(value)}))}}exports.BLZTransformerCapitalized=BLZTransformerCapitalized},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],653:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerContains=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerContains extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.contains}documentation(){let args=[Doc_1.BLZDoc.arg("contains","String to search for","String")];return Doc_1.BLZDoc.transfomerDoc(this,"Returns true or false depending whether the source string constains provided string. Case sensitive search.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectString(0,args,context,executionContext);return value.includes(userValue)}))}}exports.BLZTransformerContains=BLZTransformerContains},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],654:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerDefault=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerDefault extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.default}documentation(){let args=[Doc_1.BLZDoc.arg("default","Text to use as default fallback",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns default value if the source value is empty in case of array and dictionary, its 0 in case of number, the length of string is 0 or value is null",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let defaultValue=yield this.expectString(0,args,context,executionContext);return 0===value.length?defaultValue:value}))}transformNullValue(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return yield this.expectString(0,args,context,executionContext)}))}}exports.BLZTransformerDefault=BLZTransformerDefault},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],655:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEquals=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEquals extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.equals}documentation(){let args=[Doc_1.BLZDoc.arg("value","Value to compare to",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Outputs value only is it is equal to another value. Value must be a string value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectString(0,args,context,executionContext);return value===userValue?value:""}))}}exports.BLZTransformerEquals=BLZTransformerEquals},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],656:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEqualsTernary=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEqualsTernary extends Transformer_1.BLZTransformer{numberOfArguments(){return 3}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.equalsTernary}documentation(){let args=[Doc_1.BLZDoc.arg("compareTo","Value to compare to",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("trueValue","Value used if true",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("falseValue","Value used if false",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns first string if the source is equal to provided value, otherwise returns second string.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let compareTo=yield yield this.expectString(0,args,context,executionContext),output1=yield yield this.expectString(1,args,context,executionContext),output2=yield yield this.expectString(2,args,context,executionContext);return value===compareTo?output1:output2}))}}exports.BLZTransformerEqualsTernary=BLZTransformerEqualsTernary},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],657:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerExtended=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerExtended extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.extended}documentation(){let args=[Doc_1.BLZDoc.arg("prefix","Prefix text",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("suffix","Suffix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string prefixed and suffixed with provided values.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let prefix=yield this.expectString(0,args,context,executionContext),suffix=yield this.expectString(1,args,context,executionContext);return`${prefix}${value}${suffix}`}))}}exports.BLZTransformerExtended=BLZTransformerExtended},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],658:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerLowercased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerLowercased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.lowercased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns lowercased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.toLower(value)}))}}exports.BLZTransformerLowercased=BLZTransformerLowercased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],659:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerPrefixed=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerPrefixed extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.prefixed}documentation(){let args=[Doc_1.BLZDoc.arg("prefix","Prefix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string prefixed with provided value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return`${yield this.expectString(0,args,context,executionContext)}${value}`}))}}exports.BLZTransformerPrefixed=BLZTransformerPrefixed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],660:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerReplacing=void 0;const StringUtils_1=require("./../../../../utils/StringUtils"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerReplacing extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.replacing}documentation(){let args=[Doc_1.BLZDoc.arg("search","Searched text to be replaced",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("replace","Text to replace with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all occurances of provided substring replaced with another string.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let searchString=yield this.expectString(0,args,context,executionContext),replacementString=yield this.expectString(1,args,context,executionContext);return StringUtils_1.StringUtils.replaceAll(value,searchString,replacementString)}))}}exports.BLZTransformerReplacing=BLZTransformerReplacing},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],661:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashDoubleQuotes=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),StringUtils_1=require("./../../../../utils/StringUtils");class BLZTransformerSlashDoubleQuotes extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashDoubleQuotes}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all double quotes prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return StringUtils_1.StringUtils.replaceAll(value,'"','"')}))}}exports.BLZTransformerSlashDoubleQuotes=BLZTransformerSlashDoubleQuotes},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],662:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashNewlines=void 0;const StringUtils_1=require("./../../../../utils/StringUtils"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSlashNewlines extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashNewlines}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all newlines prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return StringUtils_1.StringUtils.replaceAll(value,"\n","\\\n")}))}}exports.BLZTransformerSlashNewlines=BLZTransformerSlashNewlines},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],663:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashSingleQuotes=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSlashSingleQuotes extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashSingleQuotes}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all single quotes prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.replace("'","'")}))}}exports.BLZTransformerSlashSingleQuotes=BLZTransformerSlashSingleQuotes},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],664:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSnakecased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerSnakecased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.snakecased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns snakecased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.snakeCase(value)}))}}exports.BLZTransformerSnakecased=BLZTransformerSnakecased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],665:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSplit=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSplit extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.split}documentation(){let args=[Doc_1.BLZDoc.arg("separator","string to split with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array of strings made by splitting the source string using separator. Separator can be multiple characters.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.split(separator)}))}}exports.BLZTransformerSplit=BLZTransformerSplit},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],666:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSplitExpr=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSplitExpr extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.splitExpr}documentation(){let args=[Doc_1.BLZDoc.arg("expression","Expression to split with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array of strings split using expression. Expression must be a valid regular expression, otherwise exception is thrown.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.split(new RegExp(separator)).filter((c=>0!==c.length))}))}}exports.BLZTransformerSplitExpr=BLZTransformerSplitExpr},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],667:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSubstring=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSubstring extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.substring}documentation(){let args=[Doc_1.BLZDoc.arg("location","Location of substring",Doc_2.DocDataTypePredefinedType.int),Doc_1.BLZDoc.arg("length","String to split with",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns substring by initial location and length. location and length must be Int. When location is out of bounds, empty string is returned. When length + location is out of bounds, substring until the end of the original string will be returned.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let location=yield this.expectInt(0,args,context,executionContext),length=yield this.expectInt(1,args,context,executionContext);if(location>=value.length)return"";let boundLength=value.length-location>length?length:value.length-location;return value.substr(location,boundLength)}))}}exports.BLZTransformerSubstring=BLZTransformerSubstring},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],668:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSuffixed=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSuffixed extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.suffixed}documentation(){let args=[Doc_1.BLZDoc.arg("suffix","Suffix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string suffixed with provided value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let suffix=yield this.expectString(0,args,context,executionContext);return`${value}${suffix}`}))}}exports.BLZTransformerSuffixed=BLZTransformerSuffixed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],669:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerTrimmingCharacter=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("../../../../configuration/KeywordsTranformers");class BLZTransformerTrimmingCharacter extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.trimming}documentation(){let args=[Doc_1.BLZDoc.arg("character","Character to trim",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns string left and right-trimmed with specified character.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let character=yield this.expectString(0,args,context,executionContext);if(1!==character.length)throw Error("Replacement string must be a single character");return this.trim(value,character)}))}trim(s,c){return"]"===c&&(c="\\]"),"\\"===c&&(c="\\\\"),s.replace(new RegExp("^["+c+"]+|["+c+"]+$","g"),"")}}exports.BLZTransformerTrimmingCharacter=BLZTransformerTrimmingCharacter},{"../../../../configuration/KeywordsTranformers":515,"../../../../tools/documentation/Doc":693,"../../Transformer":612}],670:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerTrimmingSpaces=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerTrimmingSpaces extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.trimmingSpaces}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns string with left and right trimmed spaces.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.trim()}))}}exports.BLZTransformerTrimmingSpaces=BLZTransformerTrimmingSpaces},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],671:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerUppercased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerUppercased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.uppercased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns uppercased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.toUpper(value)}))}}exports.BLZTransformerUppercased=BLZTransformerUppercased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],672:[function(require,module,exports){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZVariable=void 0;const lodash_1=__importDefault(require("lodash"));class BLZVariable{constructor(identifier,scope,isMutable,isGlobal,payload){this.identifier=identifier,this.scope=scope,this.isMutable=isMutable,this.isGlobal=isGlobal,this.payload=payload}static immutableProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!1,!1,payload)}static mutableProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!0,!1,payload)}static immutableGlobalProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!1,!0,payload)}setPayload(payload){if(!this.isMutable)throw Error("variableImmutable");this.payload=payload}isAvailableInContext(flowIdentifier){return!!this.isGlobal||(0===this.scope.length||!(flowIdentifier.length<this.scope.length)&&lodash_1.default.isEqual(this.scope,flowIdentifier.slice(0,this.scope.length)))}debugDescription(){return`${this.isMutable?"var":"let"} ${this.identifier}, defined in scope ${this.scope}, ${this.isGlobal?"global":"scoped"}, type: ${typeof this.payload}`}}exports.BLZVariable=BLZVariable},{lodash:729}],673:[function(require,module,exports){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZVariableContext=void 0;const Variable_1=require("./Variable"),lodash_1=__importDefault(require("lodash"));exports.BLZVariableContext=class{constructor(){this.functionReturnStack=[],this.stack=[]}setVariable(identifier,isGlobal,isMutable,context,payload){if(this.getVariableFailable(identifier,context))throw Error("variableAlreadyDefined");let variable;isGlobal&&!isMutable?variable=Variable_1.BLZVariable.immutableGlobalProperty(lodash_1.default.clone(context),identifier,payload):isGlobal||isMutable?!isGlobal&&isMutable&&(variable=Variable_1.BLZVariable.mutableProperty(lodash_1.default.clone(context),identifier,payload)):variable=Variable_1.BLZVariable.immutableProperty(lodash_1.default.clone(context),identifier,payload),this.stack.push(variable)}getVariable(identifier,context){let variable=this.getVariableFailable(identifier,context);if(null===variable)throw Error(`variableNotDefined: ${identifier}`);return variable}getVariableFailable(identifier,context){let lookup=this.variables(identifier).filter((variable=>variable.isAvailableInContext(context)));return lookup.length>0?lookup[0]:null}variables(identifier){return this.stack.filter((variable=>variable.identifier===identifier))}}},{"./Variable":672,lodash:729}],674:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteBuffer=void 0;class ConcreteBuffer{constructor(tokens){this.tokens=tokens}isEmpty(){return 0===this.tokens.length}size(){return this.tokens.length}addToken(token){this.tokens.push(token)}addTokens(tokens){tokens.forEach((token=>{this.tokens.push(token)}))}removeFirst(){return 0===this.tokens.length?null:this.tokens.splice(0,1)[0]}removeLast(){return 0===this.tokens.length?null:this.tokens.pop()}removeAt(at){return this.tokens.length>at?this.tokens.splice(at,1)[0]:null}removeLastFew(count){return this.tokens.splice(this.tokens.length-count,count)}removeFirstFew(count){return this.tokens.splice(0,count)}shallowCopy(){var copiedTokens=new Array;return this.tokens.forEach((token=>{let copiedToken={type:token.type,associatedValue:token.associatedValue,lineOffset:token.lineOffset,firstLineDirective:token.firstLineDirective};copiedTokens.push(copiedToken)})),new ConcreteBuffer(copiedTokens)}first(){return 0===this.tokens.length?null:this.tokens[0]}last(){return 0===this.tokens.length?null:this.tokens[this.tokens.length-1]}lookahead(offset){return this.tokens.length>offset?this.tokens[offset]:null}debugDescription(){return`\n --- Concrete Buffer ---\n - Count: ${this.tokens.length} tokens\n - Tags:\n ${this.tokens.map((token=>` - ${JSON.stringify(token)}`)).join("\n")}\n `}}exports.ConcreteBuffer=ConcreteBuffer},{}],675:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteParser=void 0;const ConcreteBuffer_1=require("./ConcreteBuffer"),ConcreteToken_1=require("./ConcreteToken"),StringUtils_1=require("./../../../utils/StringUtils"),LexicalToken_1=require("./../Lexical/LexicalToken");exports.ConcreteParser=class{constructor(tokens,configuration){this.tokens=tokens,this.configuration=configuration}parse(){let concreteBuffer=new ConcreteBuffer_1.ConcreteBuffer([]),openedFlows=0,lineOffset=0,isFirstLineDirective=!0;try{if(0===this.tokens.size())return concreteBuffer;let lexicalBuffer=this.tokens.shallowCopy(),token=lexicalBuffer.removeFirst();for(;null!==token;){let extracted=null;switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:extracted=this.extractTextToken(lexicalBuffer.tokens,token.associatedValue),lineOffset+=token.associatedValue.length,StringUtils_1.StringUtils.isOnlySpaces(token.associatedValue)||(isFirstLineDirective=!1);break;case LexicalToken_1.LexicalTokenType.newline:extracted={token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:"\n",lineOffset:0,firstLineDirective:!1},size:1},lineOffset=0;break;case LexicalToken_1.LexicalTokenType.openingSubstitution:extracted=this.extractSubstitutionToken(lexicalBuffer.tokens),isFirstLineDirective=!1;break;case LexicalToken_1.LexicalTokenType.openingComment:lexicalBuffer.removeFirstFew(this.extractCommentToken(lexicalBuffer.tokens));break;case LexicalToken_1.LexicalTokenType.openingFlow:if(extracted=this.extractFlow(lexicalBuffer.tokens,lineOffset,isFirstLineDirective),extracted.token.type===ConcreteToken_1.ConcreteTokenType.flowEnd){if(openedFlows-=1,openedFlows<0)throw Error("enclosingFlowTagPrecedingFlowDefinition")}else openedFlows+=1;let lastBufferedToken=concreteBuffer.last();null!==lastBufferedToken&&lastBufferedToken.type===ConcreteToken_1.ConcreteTokenType.text&&StringUtils_1.StringUtils.isOnlySpacesOrLineBreaks(lastBufferedToken.associatedValue)&&concreteBuffer.removeLast();let followingToken=lexicalBuffer.lookahead(extracted.size-1);null!==followingToken&&followingToken.type===LexicalToken_1.LexicalTokenType.newline&&lexicalBuffer.removeAt(extracted.size-1);break;case LexicalToken_1.LexicalTokenType.enclosingSubstitution:throw Error("missingOpeningSubstitutionTag");case LexicalToken_1.LexicalTokenType.enclosingComment:throw Error("missingOpeningCommentTag");case LexicalToken_1.LexicalTokenType.enclosingFlow:case LexicalToken_1.LexicalTokenType.flowEnd:throw Error("missingOpeningFlowTag");case LexicalToken_1.LexicalTokenType.openingEditorPlaceholder:case LexicalToken_1.LexicalTokenType.enclosingEditorPlaceholder:throw Error("editorPlaceholderFound")}if(null!==extracted){let extractedTokens=lexicalBuffer.removeFirstFew(Math.max(extracted.size-1,0));concreteBuffer.addToken(extracted.token);let lastToken=extractedTokens[extractedTokens.length-1];if(lastToken)switch(lastToken.type){case LexicalToken_1.LexicalTokenType.newline:lineOffset=0,isFirstLineDirective=!0;break;case LexicalToken_1.LexicalTokenType.plainText:lastToken.associatedValue.endsWith("\n")&&(lineOffset=0,isFirstLineDirective=!0)}}token=lexicalBuffer.removeFirst()}}catch(error){throw error}return concreteBuffer}extractTextToken(tokens,prefix){let complexString=prefix;for(let[index,token]of tokens.entries())switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:complexString+=token.associatedValue;break;case LexicalToken_1.LexicalTokenType.newline:return complexString+="\n",{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:index+2};default:return{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:index+1}}return{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:tokens.length}}extractSubstitutionToken(tokens){if(tokens.length<2)throw Error("unclosedSubstitutionTag");if(this.isText(tokens[0])&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingSubstitution)return{token:{type:ConcreteToken_1.ConcreteTokenType.substitution,associatedValue:this.textFrom(tokens[0]),lineOffset:0,firstLineDirective:!1},size:3};throw Error("invalidSubstitutionStructure")}extractCommentToken(tokens){for(let[index,token]of tokens.entries())if(token.type===LexicalToken_1.LexicalTokenType.enclosingComment)return index+1;throw Error("unclosedCommentTag")}extractFlow(tokens,lineOffset,isFirstLineDirective){if(tokens.length<2)throw Error("unclosedFlowTag");if(this.isText(tokens[0])&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingFlow)return{token:{type:ConcreteToken_1.ConcreteTokenType.flow,associatedValue:this.textFrom(tokens[0]),lineOffset:lineOffset,firstLineDirective:isFirstLineDirective},size:3};if(tokens[0].type===LexicalToken_1.LexicalTokenType.flowEnd&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingFlow)return{token:{type:ConcreteToken_1.ConcreteTokenType.flowEnd,associatedValue:null,lineOffset:0,firstLineDirective:!1},size:3};throw Error("invalidFlowStructure")}isEqual(t1,t2){return t1.type===t2.type&&t1.associatedValue===t2.associatedValue}isText(t1){return t1.type===LexicalToken_1.LexicalTokenType.plainText}textFrom(token){switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:return token.associatedValue;default:throw Error("Can't extract text from non-text token of type (token))")}}}},{"./../../../utils/StringUtils":698,"./../Lexical/LexicalToken":679,"./ConcreteBuffer":674,"./ConcreteToken":676}],676:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteTokenType=void 0,function(ConcreteTokenType){ConcreteTokenType.text="text",ConcreteTokenType.substitution="substitution",ConcreteTokenType.flow="flow",ConcreteTokenType.flowEnd="flowEnd"}(exports.ConcreteTokenType||(exports.ConcreteTokenType={}))},{}],677:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalBuffer=void 0;class LexicalBuffer{constructor(tokens){this.tokens=tokens}isEmpty(){return 0===this.tokens.length}size(){return this.tokens.length}addToken(token){this.tokens.push(token)}addTokens(tokens){tokens.forEach((token=>{this.tokens.push(token)}))}removeFirst(){if(0===this.tokens.length)return null;return this.tokens.splice(0,1)[0]}removeLast(){return 0===this.tokens.length?null:this.tokens.pop()}removeAt(at){return this.tokens.length>at?this.tokens.splice(at,1)[0]:null}removeLastFew(count){return this.tokens.splice(this.tokens.length-count,count)}removeFirstFew(count){return this.tokens.splice(0,count)}shallowCopy(){var copiedTokens=new Array;return this.tokens.forEach((token=>{let copiedToken={type:token.type,associatedValue:token.associatedValue};copiedTokens.push(copiedToken)})),new LexicalBuffer(copiedTokens)}first(){return 0===this.tokens.length?null:this.tokens[0]}last(){return 0===this.tokens.length?null:this.tokens[this.tokens.length-1]}lookahead(offset){return this.tokens.length>offset?this.tokens[offset]:null}debugDescription(){return`\n --- Lexical Buffer ---\n - Count: ${this.tokens.length} tokens\n - Tags:\n ${this.tokens.map((token=>` - ${JSON.stringify(token)}`)).join("\n")}\n `}}exports.LexicalBuffer=LexicalBuffer},{}],678:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalParser=void 0;const LexicalBuffer_1=require("./LexicalBuffer"),LexicalToken_1=require("./LexicalToken");exports.LexicalParser=class{constructor(definition,configuration){this.definition=definition,this.configuration=configuration}parse(){let buffer=new LexicalBuffer_1.LexicalBuffer([]);return this.definition.split("\n").forEach((piece=>{let startIndex=0,skipNext=!1,scalars=piece.split("");for(let[index,scalar]of scalars.entries())if(skipNext)skipNext=!1;else if(scalar===this.configuration.openingWrapperIdentifier){if(scalars.length===index+1)break;let lookaheadToken=scalars.length>index+1?scalars[index+1]:null;if(!lookaheadToken)continue;let controlToken=this.openingToken(lookaheadToken);if(controlToken){if(index>0){let endIndex=index-1;if(endIndex>=startIndex){let substring=piece.substr(startIndex,endIndex-startIndex+1),textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:substring};buffer.addToken(textToken)}}buffer.addToken(controlToken),skipNext=!0,startIndex=index+2}}else if(scalar===this.configuration.closingWrapperIdentifier){let previousToken=index>0?scalars[index-1]:null;if(!previousToken)continue;let controlToken=this.enclosingToken(previousToken);if(controlToken){let suffixTokens=null;if(index-2>startIndex){let text=piece.substr(startIndex,index-startIndex-1);if(controlToken.type===LexicalToken_1.LexicalTokenType.enclosingFlow&&text.endsWith(this.configuration.flowEnd)&&(suffixTokens=this.enclosingFlowTagCombination(),text=text.substr(0,text.length-1)),text.length>0){let textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:text};buffer.addToken(textToken)}}else if(index-1>startIndex){let possibleEnd=scalars[startIndex];if(possibleEnd===this.configuration.flowEnd){let flowEndToken={type:LexicalToken_1.LexicalTokenType.flowEnd,associatedValue:null};buffer.addToken(flowEndToken)}else{let textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:possibleEnd};buffer.addToken(textToken)}}buffer.addToken(controlToken),startIndex=index+1,suffixTokens&&buffer.addTokens(suffixTokens)}}if(startIndex!==piece.length){let substring=piece.substr(startIndex,piece.length-startIndex),textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:substring};buffer.addToken(textToken)}let newlineToken={type:LexicalToken_1.LexicalTokenType.newline,associatedValue:null};buffer.addToken(newlineToken)})),buffer.removeLast(),buffer}enclosingFlowTagCombination(){return[{type:LexicalToken_1.LexicalTokenType.openingFlow,associatedValue:null},{type:LexicalToken_1.LexicalTokenType.flowEnd,associatedValue:null},{type:LexicalToken_1.LexicalTokenType.enclosingFlow,associatedValue:null}]}openingToken(from){switch(from){case this.configuration.openingSubstitutionIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingSubstitution,associatedValue:null};case this.configuration.openingFlowIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingFlow,associatedValue:null};case this.configuration.openingCommentIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingComment,associatedValue:null};case this.configuration.openingEditorPlaceholderIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingEditorPlaceholder,associatedValue:null};default:return null}}enclosingToken(from){switch(from){case this.configuration.closingSubstitutionIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingSubstitution,associatedValue:null};case this.configuration.closingFlowIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingFlow,associatedValue:null};case this.configuration.closingCommentIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingComment,associatedValue:null};case this.configuration.closingEditorPlaceholderIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingEditorPlaceholder,associatedValue:null};default:return null}}}},{"./LexicalBuffer":677,"./LexicalToken":679}],679:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalTokenType=void 0,function(LexicalTokenType){LexicalTokenType.openingSubstitution="openingSubstitution",LexicalTokenType.enclosingSubstitution="enclosingSubstitution",LexicalTokenType.openingFlow="openingFlow",LexicalTokenType.enclosingFlow="enclosingFlow",LexicalTokenType.flowEnd="flowEnd",LexicalTokenType.openingComment="openingComment",LexicalTokenType.enclosingComment="enclosingComment",LexicalTokenType.openingEditorPlaceholder="openingEditorPLaceholder",LexicalTokenType.enclosingEditorPlaceholder="enclosingEditorPlaceholder",LexicalTokenType.plainText="plainText",LexicalTokenType.newline="newline"}(exports.LexicalTokenType||(exports.LexicalTokenType={}))},{}],680:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxParser=void 0;const SyntaxNode_1=require("./nodes/SyntaxNode"),ConcreteToken_1=require("./../Tokenization/Concrete/ConcreteToken"),SyntaxTree_1=require("./SyntaxTree"),SyntaxNodeFlow_1=require("./nodes/SyntaxNodeFlow"),SyntaxNodeText_1=require("./nodes/SyntaxNodeText"),SyntaxNodeSubstitution_1=require("./nodes/SyntaxNodeSubstitution");exports.SyntaxParser=class{constructor(tokens,executionContext){this.tokens=tokens,this.executionContext=executionContext,this.openedFlowNodes=[]}parse(){try{let concreteBuffer=this.tokens.shallowCopy();return this.parseTokens(concreteBuffer)}catch(error){throw error}}parseTokens(tokens){let syntaxTree=new SyntaxTree_1.SyntaxTree,token=tokens.removeFirst();for(;null!==token;){try{let parsedNode=null;switch(token.type){case ConcreteToken_1.ConcreteTokenType.text:parsedNode=new SyntaxNodeText_1.SyntaxNodeText(token.associatedValue);break;case ConcreteToken_1.ConcreteTokenType.substitution:parsedNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(token.associatedValue,this.executionContext);break;case ConcreteToken_1.ConcreteTokenType.flow:let currentFlowNode=new SyntaxNodeFlow_1.SyntaxNodeFlow(token.associatedValue,token.lineOffset,token.firstLineDirective,null,this.executionContext),lastChainableFlowNode=this.openedFlowNodes.length>0?this.openedFlowNodes[this.openedFlowNodes.length-1]:null;if(currentFlowNode.setParent(lastChainableFlowNode),null!==lastChainableFlowNode){let chainsTo=lastChainableFlowNode.flow.chainableFlows();null!==chainsTo&&chainsTo.includes(currentFlowNode.flow.keyword())&&(this.openedFlowNodes.pop(),lastChainableFlowNode.setLinksToFlow(currentFlowNode))}parsedNode=currentFlowNode;break;case ConcreteToken_1.ConcreteTokenType.flowEnd:this.openedFlowNodes.length>0&&this.openedFlowNodes.pop()}if(null!==parsedNode){let openedFlowNode=this.lastOpenedChainNode();null!==openedFlowNode?openedFlowNode.flowGroup.add(parsedNode):syntaxTree.rootNode.add(parsedNode)}null!==parsedNode&&parsedNode.nodeType===SyntaxNode_1.NodeType.flow&&this.openedFlowNodes.push(parsedNode)}catch(error){throw error}token=tokens.removeFirst()}if(this.openedFlowNodes.length>0)throw Error("missingEnclosingFlowTag");return syntaxTree}lastOpenedChainNode(){return this.openedFlowNodes.length>0?this.openedFlowNodes[this.openedFlowNodes.length-1]:null}}},{"./../Tokenization/Concrete/ConcreteToken":676,"./SyntaxTree":681,"./nodes/SyntaxNode":682,"./nodes/SyntaxNodeFlow":683,"./nodes/SyntaxNodeSubstitution":685,"./nodes/SyntaxNodeText":686}],681:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxTree=void 0;const SyntaxNodeGroup_1=require("./nodes/SyntaxNodeGroup");exports.SyntaxTree=class{constructor(rootNode){this.rootNode=null!=rootNode?rootNode:new SyntaxNodeGroup_1.SyntaxNodeGroup([])}debugDescription(){return`\n Syntax Tree:\n ${this.rootNode.debugDescription()}\n `}equals(obj){return this.rootNode===obj.rootNode}}},{"./nodes/SyntaxNodeGroup":684}],682:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNode=exports.NodeType=void 0,function(NodeType){NodeType[NodeType.text=0]="text",NodeType[NodeType.flow=1]="flow",NodeType[NodeType.substitution=2]="substitution",NodeType[NodeType.group=3]="group"}(exports.NodeType||(exports.NodeType={}));exports.SyntaxNode=class{}},{}],683:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeFlow=void 0;const SyntaxNode_1=require("./SyntaxNode"),uuid_1=require("uuid"),SyntaxNodeGroup_1=require("./SyntaxNodeGroup"),StringUtils_1=require("./../../../utils/StringUtils"),FlowSource_1=require("../../../interpreter/flows/FlowSource"),FlowOutput_1=require("./../../../interpreter/flows/FlowOutput"),Flow_1=require("./../../../interpreter/flows/Flow"),SyntaxNodeSubstitution_1=require("./SyntaxNodeSubstitution");exports.SyntaxNodeFlow=class{constructor(directive,lineOffset,firstLineDirective,flowGroup=null,executionContext){var _a;this.previousChainFlow=null,this.nextChainFlow=null,this.parent=null,this.directive=directive,this.nodeType=SyntaxNode_1.NodeType.flow,this.flowGroup=null!=flowGroup?flowGroup:new SyntaxNodeGroup_1.SyntaxNodeGroup([]),this.flowIdentifier=uuid_1.v4(),this.lineOffset=lineOffset,this.firstLineDirective=firstLineDirective;try{let components=StringUtils_1.StringUtils.splitIgnoringQuotedContent(StringUtils_1.StringUtils.withoutSpacesInsideRoundBrackets(StringUtils_1.StringUtils.trimmed(directive))," "),flowKeyword=null!==(_a=components[0])&&void 0!==_a?_a:null;if(null==flowKeyword)throw Error("missingFlowKeyword");let flow=executionContext.flow(flowKeyword);if(!flow)throw Error("missingFlowKeyword");let requiredParts=flow.flowFormat().filter((format=>format.requirement===Flow_1.BLZFlowFormatRequirement.required)),foundOptional=!1;for(let part of flow.flowFormat())if(part.requirement===Flow_1.BLZFlowFormatRequirement.required){if(foundOptional)throw Error("flowRequiredPartMustPrecedeOptional")}else part.requirement===Flow_1.BLZFlowFormatRequirement.optional&&(foundOptional=!0);for(let[index,part]of requiredParts.entries())switch(part.type){case Flow_1.BLZFlowFormatType.keyword:if(index>=components.length)throw Error("flowKeywordMissing");if(components[index]!==part.definition)throw Error("flowKeywordMissing");break;case Flow_1.BLZFlowFormatType.output:case Flow_1.BLZFlowFormatType.source:if(index>=components.length)throw Error("flowArgumentEmpty")}let outputs=new Map,sources=new Map,keywords=new Map;for(let[index,formatPiece]of flow.flowFormat().entries())switch(formatPiece.type){case Flow_1.BLZFlowFormatType.output:let parseOutput=!0;if(formatPiece.requirement===Flow_1.BLZFlowFormatRequirement.optional&&components.length<=index&&(parseOutput=!1),parseOutput){let output=new FlowOutput_1.BLZFlowOutput(components[index]);outputs.set(formatPiece.definition,output)}break;case Flow_1.BLZFlowFormatType.source:let parseSource=!0;if(formatPiece.requirement===Flow_1.BLZFlowFormatRequirement.optional&&components.length<=index&&(parseSource=!1),parseSource){let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(components[index],executionContext),source=new FlowSource_1.BLZFlowSource(substitutionNode);sources.set(formatPiece.definition,source)}break;case Flow_1.BLZFlowFormatType.keyword:keywords.set(formatPiece.definition,index<components.length)}this.outputs=outputs,this.sources=sources,this.keywords=keywords,this.flow=flow}catch(error){throw error}}setLinksToFlow(node){this.nextChainFlow=node,node.previousChainFlow=this}unlinkPreviousChainedFlow(){this.previousChainFlow=null}unlinkNextChainedFlow(){this.nextChainFlow=null}setParent(node){this.parent=node}flowStackIdentifier(){let identifiers=[this.flowIdentifier],parent=this.parent;for(;parent;)identifiers.splice(0,0,parent.flowIdentifier),parent=parent.parent;return identifiers}debugDescription(){return`\n Flow Node: ${this.directive}\n Group: ${this.flowGroup.debugDescription()}\n `}equals(obj){return this.directive===obj.directive&&this.flowGroup===obj.flowGroup}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){throw Error("Flow can't interpret directly")}))}}},{"../../../interpreter/flows/FlowSource":559,"./../../../interpreter/flows/Flow":556,"./../../../interpreter/flows/FlowOutput":558,"./../../../utils/StringUtils":698,"./SyntaxNode":682,"./SyntaxNodeGroup":684,"./SyntaxNodeSubstitution":685,uuid:733}],684:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeGroup=void 0;const SyntaxNode_1=require("./SyntaxNode");exports.SyntaxNodeGroup=class{constructor(nodes,depth=0){this.nodes=nodes,this.depth=depth,this.nodeType=SyntaxNode_1.NodeType.group}add(node){this.nodes.push(node)}debugDescription(){return`\n Group Node, size: ${this.nodes.length}, depth: ${this.depth}\n Subnodes: [\n ${this.nodes.map((value=>` - ${value.debugDescription()}`)).join("\n")}\n ]\n `}equals(obj){if(this.nodes.length!==obj.nodes.length)return!1;for(let[index,lnode]of this.nodes.entries()){let rnode=obj.nodes[index];if((lnode.nodeType!==SyntaxNode_1.NodeType.text||rnode.nodeType!==SyntaxNode_1.NodeType.text||lnode!==rnode)&&((lnode.nodeType!==SyntaxNode_1.NodeType.substitution||rnode.nodeType!==SyntaxNode_1.NodeType.substitution||lnode!==rnode)&&!(lnode.nodeType===SyntaxNode_1.NodeType.flow&&rnode.nodeType===SyntaxNode_1.NodeType.flow&&lnode===rnode||lnode.nodeType===SyntaxNode_1.NodeType.group&&rnode.nodeType===SyntaxNode_1.NodeType.group&&lnode===rnode)))return!1}return!0}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){throw"Group can't interpret directly"}))}}},{"./SyntaxNode":682}],685:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeSubstitution=void 0;const SyntaxNode_1=require("./SyntaxNode"),StringUtils_1=require("./../../../utils/StringUtils");exports.SyntaxNodeSubstitution=class{constructor(directive,executionContext){this.directive=directive,this.nodeType=SyntaxNode_1.NodeType.substitution;try{let workingDirective=StringUtils_1.StringUtils.trimmed(directive),hasCustomDataSource=!1;if(workingDirective.startsWith("@")){workingDirective=workingDirective.substr(1);let keyword=StringUtils_1.StringUtils.substringUntilDelimiter(workingDirective,"(");if(null===keyword)throw Error("functionMustBeCalled");let func=executionContext.function(keyword);if(null===func)throw Error("unknownFunction "+keyword);let argument=StringUtils_1.StringUtils.argumentStringBetweenBracketsFirstOccurance(workingDirective,keyword);workingDirective=workingDirective.substr(argument.length+keyword.length+2),this.customDataSource={function:func,directive:argument},hasCustomDataSource=!0}else this.customDataSource=null;if(hasCustomDataSource&&workingDirective.length>0){if(!workingDirective.startsWith("."))throw Error("dotNotationAfterFunctionInvocationExpected");workingDirective=workingDirective.substring(1)}let components=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(workingDirective,".");if(0===components.length&&!hasCustomDataSource)throw Error("missingSubstitutionValue");let transformerStack=[];for(let component of components){let keyword=StringUtils_1.StringUtils.substringUntilDelimiter(component,"(");if(null!==keyword){let transformer=executionContext.transformer(keyword);if(null===transformer)throw Error(`unknown transformer ${keyword}`);{"value"==transformer.keyword()&&(transformer=executionContext.valueAlwaysRootTransformer());let argument=StringUtils_1.StringUtils.argumentStringBetweenBrackets(component,keyword);transformerStack.push({transformer:transformer,directive:argument})}}else{let valueTransformer=executionContext.valueTransformer();transformerStack.push({transformer:valueTransformer,directive:component})}}if(!hasCustomDataSource){let transformer=transformerStack.length>0?transformerStack[0]:null;if(null===transformer||"value"!==transformer.transformer.keyword())throw Error("substitutionMustNotStartWithTransformer")}this.transformers=transformerStack}catch(error){throw error}}modifyInputValue(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{let data=null;if(null!==this.customDataSource){let func=this.customDataSource.function,directive=this.customDataSource.directive;data=yield func.provideValueUsingArgumentString(directive,context,executionContext)}else data=context.data;for(let[index,transformerEntry]of this.transformers.entries())data=yield transformerEntry.transformer.transformValueUsingArgumentString(data,transformerEntry.directive,context,executionContext,0===index);return data}catch(error){throw error}}))}debugDescription(){return`Directive ${this.directive}, applied transformers: ${JSON.stringify(this.transformers)}`}equals(obj){return this.directive===obj.directive}interpret(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{let dynamicValue=yield this.modifyInputValue(context,executionContext);if("string"==typeof dynamicValue)return dynamicValue;if("number"==typeof dynamicValue)return dynamicValue.toString();if(null===dynamicValue&&"#body"===this.directive)return"";throw Error("substitutionOutputNotString: "+dynamicValue)}catch(error){throw error}}))}interpretValue(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{return yield this.modifyInputValue(context,executionContext)}catch(error){throw error}}))}}},{"./../../../utils/StringUtils":698,"./SyntaxNode":682}],686:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeText=void 0;const SyntaxNode_1=require("./SyntaxNode");exports.SyntaxNodeText=class{constructor(text){this.nodeType=SyntaxNode_1.NodeType.text,this.text=text}debugDescription(){return`Text Node: "${this.text}"`}equals(obj){return this.text===obj.text}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return this.text}))}}},{"./SyntaxNode":682}],687:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZAutocompleteEngine=exports.BLZAutocompleteEngineSuggestionType=void 0,function(BLZAutocompleteEngineSuggestionType){BLZAutocompleteEngineSuggestionType.method="method",BLZAutocompleteEngineSuggestionType.transformer="transformer",BLZAutocompleteEngineSuggestionType.snippet="snippet",BLZAutocompleteEngineSuggestionType.variable="variable"}(exports.BLZAutocompleteEngineSuggestionType||(exports.BLZAutocompleteEngineSuggestionType={}));exports.BLZAutocompleteEngine=class{constructor(){}suggestNextBasedOnString(_string,_selectionLocation,_selectionLength){return[]}suggestedStringUntilSelection(string,selectionLocation,_selectionLength){return string.substring(0,selectionLocation)}applySuggestion(suggestion,string,selectionLocation,_selectionLength,_decoderAddition){let stringUntilSelection=string.substring(0,selectionLocation),stringAfterSelection=string.substr(selectionLocation,string.length-selectionLocation);return stringUntilSelection=stringUntilSelection.substr(0,selectionLocation-suggestion.inputString.length),stringUntilSelection+=suggestion.suggestionString,{resultingString:`${stringUntilSelection}${stringAfterSelection}`,proposedSelectionLocation:stringUntilSelection.length,proposedSelectionLength:0}}}},{}],688:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintAutocompleteEngine=exports.BLZBlueprintAutocompleteEngineControlCharacter=void 0;const DeclarationBuilder_1=require("./../documentation/DeclarationBuilder"),AutocompleteEngine_1=require("./AutocompleteEngine"),Doc_1=require("../documentation/Doc");var BLZBlueprintAutocompleteEngineControlCharacter;!function(BLZBlueprintAutocompleteEngineControlCharacter){BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen="{{",BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose="}}",BLZBlueprintAutocompleteEngineControlCharacter.flowOpening="{[",BLZBlueprintAutocompleteEngineControlCharacter.flowClosing="/]}",BLZBlueprintAutocompleteEngineControlCharacter.commentOpen="/*",BLZBlueprintAutocompleteEngineControlCharacter.commentClose="*/",BLZBlueprintAutocompleteEngineControlCharacter.quote='"',BLZBlueprintAutocompleteEngineControlCharacter.none="none"}(BLZBlueprintAutocompleteEngineControlCharacter=exports.BLZBlueprintAutocompleteEngineControlCharacter||(exports.BLZBlueprintAutocompleteEngineControlCharacter={}));class BLZBlueprintAutocompleteEngine extends AutocompleteEngine_1.BLZAutocompleteEngine{constructor(executionContext,includePlaceholders=!1){super(),this.executionContext=executionContext,this.snippets=new Array,this.includePlaceholders=includePlaceholders}update(executionContext){this.executionContext=executionContext}loadSnippets(snippets){this.snippets=this.snippets.concat(snippets)}suggestNextBasedOnString(string,selectionLocation,selectionLength){let stringUntilSelection=this.suggestedStringUntilSelection(string,selectionLocation,selectionLength),lastLine=this.lastLineOfString(stringUntilSelection),contextControlChar=this.seekLastControlCharacterOfString(lastLine);return this.suggestionsForString(lastLine,contextControlChar)}suggestionsForString(codeLine,context){let suggestions=new Array;switch(context){case BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen:case BLZBlueprintAutocompleteEngineControlCharacter.flowOpening:let fnKeyword=this.lastWordOfString(codeLine,["@"]),variableKeyword=this.lastWordOfString(codeLine,[" ","("]),transformerKeyword=this.lastWordOfString(codeLine,["."]);suggestions=suggestions.concat(this.variableSuggestionsContainingKeyword(variableKeyword)),suggestions=suggestions.concat(this.functionSuggestionsContainingKeyword(fnKeyword)),suggestions=suggestions.concat(this.transformerSuggestionsContainingKeyword(transformerKeyword));break;case BLZBlueprintAutocompleteEngineControlCharacter.flowClosing:case BLZBlueprintAutocompleteEngineControlCharacter.commentOpen:case BLZBlueprintAutocompleteEngineControlCharacter.quote:break;case BLZBlueprintAutocompleteEngineControlCharacter.commentClose:case BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose:case BLZBlueprintAutocompleteEngineControlCharacter.none:let snippetKeyword=this.lastWordOfString(codeLine,[" "]);suggestions=suggestions.concat(this.snippetSuggestionsContainingKeyword(snippetKeyword))}return suggestions}variableSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allVariables=this.executionContext.variableContext.stack,usableVariables=new Array;for(let variable of allVariables){let ranges=this.rangesOfSubsequence(variable.identifier,subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableVariables.push({variable:variable,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableVariables){let suggestion=this.convertVariableToSuggestion(pack.variable,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}transformerSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allTransformers=this.executionContext.availableTransformers().values(),usableTransformers=new Array;for(let transformer of allTransformers){let ranges=this.rangesOfSubsequence(transformer.keyword(),subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableTransformers.push({transformer:transformer,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableTransformers){let suggestion=this.convertTransformerToSuggestion(pack.transformer,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}snippetSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let usableSnippets=this.snippets.filter((filter=>filter.keyword.startsWith(subsequence))),suggestions=new Array;for(let snippet of usableSnippets){let suggestion=this.convertSnippetToSuggestion(snippet,subsequence);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}functionSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allFunctions=this.executionContext.availableFunctions().values(),usableFunctions=new Array;for(let fn of allFunctions){let ranges=this.rangesOfSubsequence(fn.keyword(),subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableFunctions.push({function:fn,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableFunctions){let suggestion=this.convertFunctionToSuggestion(pack.function,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}convertFunctionToSuggestion(fn,searchKeyword,ranges,weight){var _a;let suggestion=DeclarationBuilder_1.BLZDeclarationBuilder.snippetDeclarationForFunction(fn,this.includePlaceholders),declaration=DeclarationBuilder_1.BLZDeclarationBuilder.documentationDeclarationForFunction(fn),doc=null!==(_a=fn.documentation())&&void 0!==_a?_a:new Doc_1.BLZDoc(fn.keyword(),null,"No description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.method,inputString:searchKeyword,suggestionString:suggestion,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:declaration}}convertTransformerToSuggestion(transformer,searchKeyword,ranges,weight){var _a;let suggestion=DeclarationBuilder_1.BLZDeclarationBuilder.snippetDeclarationForTransformer(transformer,this.includePlaceholders),declaration=DeclarationBuilder_1.BLZDeclarationBuilder.documentationDeclarationForTransformer(transformer),doc=null!==(_a=transformer.documentation())&&void 0!==_a?_a:new Doc_1.BLZDoc(transformer.keyword(),null,"No description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.transformer,inputString:searchKeyword,suggestionString:suggestion,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:declaration}}convertVariableToSuggestion(variable,searchKeyword,ranges,weight){let description;description=variable.isGlobal?"Variable is immutable and available in global scope":variable.isMutable?"Variable is mutable and available in local scope":"Variable is immutable and available in local scope";let doc=new Doc_1.BLZDoc(variable.identifier,null,description,null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.variable,inputString:searchKeyword,suggestionString:variable.identifier,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:null}}convertSnippetToSuggestion(snippet,searchKeyword){var _a;let doc=new Doc_1.BLZDoc(snippet.keyword,null,null!==(_a=snippet.description)&&void 0!==_a?_a:"No Description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.snippet,inputString:searchKeyword,suggestionString:snippet.content,ranges:[],weight:snippet.priority,caretLocation:snippet.caretPosition,documentationObject:doc,declarationString:null}}sortedSuggestions(suggestions){return suggestions.sort(((s1,s2)=>s1.weight-s2.weight))}rangesOfSubsequence(string,subsequence){let subsequenceCount=subsequence.length;subsequence=subsequence.toLowerCase();if(0===string.toLowerCase().length||0===subsequence.length)return[];if(subsequence.length>string.length)return null;var matchingIndexes=new Array;for(let i=0;i<string.length;i++){let character=string[i];if(subsequence.length>0){if(character!==subsequence[0])break;subsequence=subsequence.substring(1),matchingIndexes.push(i)}}return matchingIndexes.length===subsequenceCount?this.compactRanges(matchingIndexes):null}compactRanges(indexes){if(0===indexes.length)return[];let firstOpeningIndex=indexes[0];if(indexes.shift(),0===indexes.length)return[{location:firstOpeningIndex,length:1}];let ranges=[];for(var succeedingCount=0;indexes.length>0;){let index=indexes[0];firstOpeningIndex+succeedingCount<index-1?(ranges.push({location:firstOpeningIndex,length:succeedingCount+1}),succeedingCount=0,firstOpeningIndex=index):succeedingCount+=1,indexes.shift()}return succeedingCount>0&&ranges.push({location:firstOpeningIndex,length:succeedingCount+1}),ranges}longestRangeOfRanges(ranges){return ranges.map((range=>range.length)).reduce(((a,b)=>Math.max(a,b)))}seekLastControlCharacterOfString(codeLine){let length=(codeLine=codeLine).length;for(let i=0;i<length;i++){for(let potentialControlChar of this.allControlCharacters())if(this.lastPartOfStringContains(codeLine,potentialControlChar))return potentialControlChar;codeLine=codeLine.substring(0,codeLine.length-1)}return BLZBlueprintAutocompleteEngineControlCharacter.none}allControlCharacters(){return[BLZBlueprintAutocompleteEngineControlCharacter.commentClose,BLZBlueprintAutocompleteEngineControlCharacter.commentOpen,BLZBlueprintAutocompleteEngineControlCharacter.flowClosing,BLZBlueprintAutocompleteEngineControlCharacter.flowOpening,BLZBlueprintAutocompleteEngineControlCharacter.quote,BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose,BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen]}lastPartOfStringContains(string,contains){return string.endsWith(contains)}lastWordOfString(string,delimiters){var buffer="";for(let i=string.length-1;i>=0;i--){let c=string[i];if(delimiters.includes(c))return buffer;buffer=c+buffer}return buffer}lastLineOfString(string){return this.lastWordOfString(string,["\n"])}}exports.BLZBlueprintAutocompleteEngine=BLZBlueprintAutocompleteEngine},{"../documentation/Doc":693,"./../documentation/DeclarationBuilder":692,"./AutocompleteEngine":687}],689:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZAutocompleteBlueprintSnippets=void 0;const PlaceholderDisabledSnippetPool_1=require("./PlaceholderDisabledSnippetPool"),PlaceholderEnabledSnippetPool_1=require("./PlaceholderEnabledSnippetPool");exports.BLZAutocompleteBlueprintSnippets=class{constructor(){}snippetPool(includingEditorPlaceholder=!1){if(includingEditorPlaceholder){return(new PlaceholderEnabledSnippetPool_1.BLZPlaceholderEnabledSnippetPool).allSnippets()}return(new PlaceholderDisabledSnippetPool_1.BLZPlaceholderDisabledSnippetPool).allSnippets()}}},{"./PlaceholderDisabledSnippetPool":690,"./PlaceholderEnabledSnippetPool":691}],690:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZPlaceholderDisabledSnippetPool=void 0;const ts_dedent_1=require("ts-dedent");exports.BLZPlaceholderDisabledSnippetPool=class{constructor(){}allSnippets(){return[this.commentSnippet(),this.commentMultilineSnippet(),this.flowSnippet(),this.flowEndSnippet(),this.flowNoBodySnippet(),this.substitutionSnippet(),this.logFlowSnippet(),this.varFlowSnippet(),this.letFlowSnippet(),this.setFlowSnippet(),this.globalFlowSnippet(),this.importFlowSnippet(),this.returnFlowSnippet(),this.emitFlowSnippet(),this.injectFlowSnippet(),this.codeMergeFlowSnippet(),this.mapFlowSnippet(),this.mapElseFlowSnippet(),this.forFlowSnippet(),this.forElseFlowSnippet(),this.traverseFlowSnippet(),this.switchFlowSnippet(),this.switchDefaultFlowSnippet(),this.caseFlowSnippet(),this.defaultFlowSnippet(),this.ifFlowSnippet(),this.ifElseFlowSnippet(),this.ifElseIfElseFlowSnippet()]}commentSnippet(){return{keyword:"comment",content:ts_dedent_1.dedent("\n {* *}\n\n "),description:"Creates inline comment block.",caretPosition:3,priority:0}}commentMultilineSnippet(){return{keyword:"comment_block",content:"\n {*\n\n *}\n\n ",description:"Creates multiline comment block.",caretPosition:4,priority:0}}flowSnippet(){return{keyword:"flow",content:ts_dedent_1.dedent("\n {[ Statement ]}\n Body\n {[/]}\n\n "),description:"Creates flow with opening and ending statement including content block.",caretPosition:3,priority:0}}flowEndSnippet(){return{keyword:"flow_end",content:ts_dedent_1.dedent("\n {[/]}\n\n "),description:"Creates ending tag for opened flow.",caretPosition:6,priority:0}}flowNoBodySnippet(){return{keyword:"flow_no_body",content:ts_dedent_1.dedent("\n {[ Statement /]}\n\n "),description:"Creates flow with opening and ending statement without content block.",caretPosition:3,priority:0}}substitutionSnippet(){return{keyword:"substitution",content:ts_dedent_1.dedent("\n {{ Statement }}\n "),description:"Creates substitution block used to output dynamic value.",caretPosition:3,priority:0}}logFlowSnippet(){return{keyword:"log",content:ts_dedent_1.dedent("\n {[ log statement /]}\n "),description:"Outputs any information into console. Log works with results of functions, variables or even custom messages",caretPosition:7,priority:0}}varFlowSnippet(){return{keyword:"var",content:ts_dedent_1.dedent("\n {[ var name value /]}\n "),description:"Creates named variable within the current scope that is mutable.",caretPosition:7,priority:0}}letFlowSnippet(){return{keyword:"let",content:ts_dedent_1.dedent("\n {[ let name value /]}\n "),description:"Creates named variable within the current scope that is immutable.",caretPosition:7,priority:0}}setFlowSnippet(){return{keyword:"set",content:ts_dedent_1.dedent("\n {[ set name value /]}\n "),description:"Creates flow used to modify value of previously defined mutable varible (defined using var flow).",caretPosition:7,priority:0}}globalFlowSnippet(){return{keyword:"global",content:ts_dedent_1.dedent("\n {[ global name value /]}\n "),description:"Creates named variable that is accessible within any scope. Note that global variables are always immutable and should only be used to set things such as global configuration flags.",caretPosition:10,priority:0}}importFlowSnippet(){return{keyword:"import",content:ts_dedent_1.dedent("\n {[ import name from blueprint /]}\n "),description:"Creates import flow used to extract value from another import. In order to define properties retrieved from blueprint execution, use return flow.",caretPosition:10,priority:0}}returnFlowSnippet(){return{keyword:"return",content:ts_dedent_1.dedent("\n {[ return variable /]}\n "),description:"Creates return flow used to define values that can be imported into another blueprint. Use import flow to reuse the values in another blueprint.",caretPosition:10,priority:0}}emitFlowSnippet(){return{keyword:"emit",content:ts_dedent_1.dedent("\n {[ emit file filename ]}\n body to emit\n {[/]}\n\n "),description:"Creates emit flow to export another blueprint from current one, resulting in multiple output files. Body of the emitter is what is used to define the content",caretPosition:13,priority:0}}injectFlowSnippet(){return{keyword:"inject",content:ts_dedent_1.dedent("\n {[ inject blueprint name context blueprint data /]}\n "),description:"Creates inject flow which allows to import content of another blueprint",caretPosition:10,priority:0}}codeMergeFlowSnippet(){return{keyword:"code",content:ts_dedent_1.dedent("\n {[ code /]}\n\n "),description:"Creates merging code tag signifying that area inside this file is untouchable by code regeneration.",caretPosition:12,priority:0}}mapFlowSnippet(){return{keyword:"map",content:ts_dedent_1.dedent("\n {[ map source to key value /]}\n {{ key }} {{ value }}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value",caretPosition:7,priority:0}}mapElseFlowSnippet(){return{keyword:"mapelse",content:ts_dedent_1.dedent("\n {[ map source to key value /]}\n {{ key }} {{ value }}\n {[ else ]}\n body when empty\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value. If the source dictionary is empty, else block is used instead and can provide default value",caretPosition:7,priority:0}}forFlowSnippet(){return{keyword:"for",content:ts_dedent_1.dedent("\n {[ for value in source ]}\n {{ value }}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration",caretPosition:15,priority:0}}forElseFlowSnippet(){return{keyword:"for_else",content:ts_dedent_1.dedent("\n {[ for value in source ]}\n {{ value }}\n {[ else ]}\n body when empty\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration. If the source array is empty, else block is used instead and can provide default value",caretPosition:15,priority:0}}traverseFlowSnippet(){return{keyword:"traverse",content:ts_dedent_1.dedent("\n {[ traverse key into value source source or _ ]}\n {{ value }}\n {[/]}\n\n "),description:"Creates traverse iterator which can be used to iterate through nested objects. ",caretPosition:12,priority:0}}switchFlowSnippet(){return{keyword:"switch",content:ts_dedent_1.dedent("\n {[ switch source ]}\n {[ case value1 ]}\n body\n {[ case value1 ]}\n body\n {[/]}\n "),description:"Creates switch flow without default statement",caretPosition:10,priority:0}}switchDefaultFlowSnippet(){return{keyword:"switch_default",content:ts_dedent_1.dedent("\n {[ switch source ]}\n {[ case value1 ]}\n body\n {[ default ]}\n fallthrough\n {[/]}\n "),description:"Creates switch flow with default statement to handle cases not explicitly handled within switch statement",caretPosition:10,priority:0}}caseFlowSnippet(){return{keyword:"case",content:ts_dedent_1.dedent("\n {[ case value ]}\n\n "),description:"Creates anoter case for switch statement. If case statement results to true, body is invoked",caretPosition:8,priority:0}}defaultFlowSnippet(){return{keyword:"default",content:ts_dedent_1.dedent("\n {[ default ]}\n\n "),description:"Creates default branch for switch statement. Default branch is only executed when none of previous cases results to true",caretPosition:15,priority:0}}ifFlowSnippet(){return{keyword:"if",content:ts_dedent_1.dedent("\n {[ if condition ]}\n true body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true",caretPosition:6,priority:0}}ifElseFlowSnippet(){return{keyword:"if_else",content:ts_dedent_1.dedent("\n {[ if condition ]}\n true body\n {[ else ]}\n false body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to else branch when false",caretPosition:6,priority:0}}ifElseIfElseFlowSnippet(){return{keyword:"if_elseif_else",content:ts_dedent_1.dedent("\n {[ if condition ]}\n body\n {[ elseif another condition ]}\n body\n {[ else ]}\n body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to another condition if false, or falls back to else branch when everything fails",caretPosition:6,priority:0}}}},{"ts-dedent":732}],691:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZPlaceholderEnabledSnippetPool=void 0;const ts_dedent_1=require("ts-dedent");exports.BLZPlaceholderEnabledSnippetPool=class{constructor(){}allSnippets(){return[this.commentSnippet(),this.commentMultilineSnippet(),this.flowSnippet(),this.flowEndSnippet(),this.flowNoBodySnippet(),this.substitutionSnippet(),this.logFlowSnippet(),this.varFlowSnippet(),this.letFlowSnippet(),this.setFlowSnippet(),this.globalFlowSnippet(),this.importFlowSnippet(),this.returnFlowSnippet(),this.emitFlowSnippet(),this.injectFlowSnippet(),this.codeMergeFlowSnippet(),this.mapFlowSnippet(),this.mapElseFlowSnippet(),this.forFlowSnippet(),this.forElseFlowSnippet(),this.traverseFlowSnippet(),this.switchFlowSnippet(),this.switchDefaultFlowSnippet(),this.caseFlowSnippet(),this.defaultFlowSnippet(),this.ifFlowSnippet(),this.ifElseFlowSnippet(),this.ifElseIfElseFlowSnippet()]}commentSnippet(){return{keyword:"comment",content:ts_dedent_1.dedent("\n {* *}\n\n "),description:"Creates inline comment block.",caretPosition:3,priority:0}}commentMultilineSnippet(){return{keyword:"comment_block",content:"\n {*\n\n *}\n\n ",description:"Creates multiline comment block.",caretPosition:4,priority:0}}flowSnippet(){return{keyword:"flow",content:ts_dedent_1.dedent("\n {[ ${1:Statement} ]}\n ${2:Body}\n {[/]}\n\n "),description:"Creates flow with opening and ending statement including content block.",caretPosition:3,priority:0}}flowEndSnippet(){return{keyword:"flow_end",content:ts_dedent_1.dedent("\n {[/]}\n\n "),description:"Creates ending tag for opened flow.",caretPosition:6,priority:0}}flowNoBodySnippet(){return{keyword:"flow_no_body",content:ts_dedent_1.dedent("\n {[ ${1:Statement} /]}\n\n "),description:"Creates flow with opening and ending statement without content block.",caretPosition:3,priority:0}}substitutionSnippet(){return{keyword:"substitution",content:ts_dedent_1.dedent("\n {{ ${1:Statement} }}\n "),description:"Creates substitution block used to output dynamic value.",caretPosition:3,priority:0}}logFlowSnippet(){return{keyword:"log",content:ts_dedent_1.dedent("\n {[ log ${1:statement} /]}\n "),description:"Outputs any information into console. Log works with results of functions, variables or even custom messages",caretPosition:7,priority:0}}varFlowSnippet(){return{keyword:"var",content:ts_dedent_1.dedent("\n {[ var ${1:name} ${2:value} /]}\n "),description:"Creates named variable within the current scope that is mutable.",caretPosition:7,priority:0}}letFlowSnippet(){return{keyword:"let",content:ts_dedent_1.dedent("\n {[ let ${1:name} ${2:value} /]}\n "),description:"Creates named variable within the current scope that is immutable.",caretPosition:7,priority:0}}setFlowSnippet(){return{keyword:"set",content:ts_dedent_1.dedent("\n {[ set ${1:name} ${2:value} /]}\n "),description:"Creates flow used to modify value of previously defined mutable varible (defined using var flow).",caretPosition:7,priority:0}}globalFlowSnippet(){return{keyword:"global",content:ts_dedent_1.dedent("\n {[ global ${1:name} ${2:value} /]}\n "),description:"Creates named variable that is accessible within any scope. Note that global variables are always immutable and should only be used to set things such as global configuration flags.",caretPosition:10,priority:0}}importFlowSnippet(){return{keyword:"import",content:ts_dedent_1.dedent("\n {[ import ${1:name} from ${2:blueprint} /]}\n "),description:"Creates import flow used to extract value from another import. In order to define properties retrieved from blueprint execution, use return flow.",caretPosition:10,priority:0}}returnFlowSnippet(){return{keyword:"return",content:ts_dedent_1.dedent("\n {[ return ${1:variable} /]}\n "),description:"Creates return flow used to define values that can be imported into another blueprint. Use import flow to reuse the values in another blueprint.",caretPosition:10,priority:0}}emitFlowSnippet(){return{keyword:"emit",content:ts_dedent_1.dedent("\n {[ emit file ${1:filename} ]}\n ${1:body to emit}\n {[/]}\n\n "),description:"Creates emit flow to export another blueprint from current one, resulting in multiple output files. Body of the emitter is what is used to define the content",caretPosition:13,priority:0}}injectFlowSnippet(){return{keyword:"inject",content:ts_dedent_1.dedent("\n {[ inject ${1:blueprint name} context ${2:data to pass} /]}\n "),description:"Creates inject flow which allows to import content of another blueprint",caretPosition:10,priority:0}}codeMergeFlowSnippet(){return{keyword:"code",content:ts_dedent_1.dedent("\n {[ code /]}\n\n "),description:"Creates merging code tag signifying that area inside this file is untouchable by code regeneration.",caretPosition:12,priority:0}}mapFlowSnippet(){return{keyword:"map",content:ts_dedent_1.dedent("\n {[ map ${1:source} to ${2:key} ${3:value} /]}\n {{ ${2:key} }} {{ ${3:value} }}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value",caretPosition:7,priority:0}}mapElseFlowSnippet(){return{keyword:"map_else",content:ts_dedent_1.dedent("\n {[ map ${1:source} to ${2:key} ${3:value} /]}\n {{ ${2:key} }} {{ ${3:value} }}\n {[ else ]}\n ${4:body when empty}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value. If the source dictionary is empty, else block is used instead and can provide default value",caretPosition:7,priority:0}}forFlowSnippet(){return{keyword:"for",content:ts_dedent_1.dedent("\n {[ for ${1:value} in ${2:source} ]}\n {{ ${1:value} }}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration",caretPosition:15,priority:0}}forElseFlowSnippet(){return{keyword:"for_else",content:ts_dedent_1.dedent("\n {[ for ${1:value} in ${2:source} ]}\n {{ ${1:value} }}\n {[ else ]}\n ${3:body when empty}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration. If the source array is empty, else block is used instead and can provide default value",caretPosition:15,priority:0}}traverseFlowSnippet(){return{keyword:"traverse",content:ts_dedent_1.dedent("\n {[ traverse ${1:key} into ${2:value} source ${3:source | _} ]}\n {{ ${2:value} }}\n {[/]}\n\n "),description:"Creates traverse iterator which can be used to iterate through nested objects. ",caretPosition:12,priority:0}}switchFlowSnippet(){return{keyword:"switch",content:ts_dedent_1.dedent("\n {[ switch ${1:source} ]}\n {[ case ${2:value1} ]}\n ${3:body1}\n {[ case ${4:value2} ]}\n ${5:body2}\n {[/]}\n "),description:"Creates switch flow without default statement",caretPosition:10,priority:0}}switchDefaultFlowSnippet(){return{keyword:"switch_default",content:ts_dedent_1.dedent("\n {[ switch ${1:source} ]}\n {[ case ${2:value1} ]}\n ${3:body1}\n {[ default ]}\n ${4:fallthrough}\n {[/]}\n "),description:"Creates switch flow with default statement to handle cases not explicitly handled within switch statement",caretPosition:10,priority:0}}caseFlowSnippet(){return{keyword:"case",content:ts_dedent_1.dedent("\n {[ case ${1:value} ]}\n\n "),description:"Creates anoter case for switch statement. If case statement results to true, body is invoked",caretPosition:8,priority:0}}defaultFlowSnippet(){return{keyword:"default",content:ts_dedent_1.dedent("\n {[ default ]}\n\n "),description:"Creates default branch for switch statement. Default branch is only executed when none of previous cases results to true",caretPosition:15,priority:0}}ifFlowSnippet(){return{keyword:"if",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true",caretPosition:6,priority:0}}ifElseFlowSnippet(){return{keyword:"if_else",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[ else ]}\n ${3:executes when false}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to else branch when false",caretPosition:6,priority:0}}ifElseIfElseFlowSnippet(){return{keyword:"if_elseif_else",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[ elseif ${3:another condition} ]}\n ${4:executes when true}\n {[ else ]}\n ${5:executes when all false}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to another condition if false, or falls back to else branch when everything fails",caretPosition:6,priority:0}}}},{"ts-dedent":732}],692:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZDeclarationBuilder=void 0;exports.BLZDeclarationBuilder=class{static snippetDeclarationForFunction(func,includePlaceholders){var argumentString="";let doc=func.documentation();if(null!==doc){argumentString=doc.arguments.map(((arg,index)=>includePlaceholders?`\${${index+1}:${arg.name}}`:`${arg.name}`)).join(", ")}return`${func.keyword()}${argumentString}`}static snippetDeclarationForTransformer(transformer,includePlaceholders){var argumentString="";let doc=transformer.documentation();if(null!==doc){argumentString=doc.arguments.map(((arg,index)=>includePlaceholders?`\${${index+1}:${arg.name}}`:`${arg.name}`)).join(", ")}return`${transformer.keyword()}(${argumentString})`}static documentationDeclarationForFunction(func){var returnString="",argumentString="";let doc=func.documentation();if(null!==doc){argumentString=doc.arguments.map((arg=>`${arg.name}: ${arg.dataType}`)).join(", "),null!==doc.returnType&&(returnString=` -> ${doc.returnType}`)}return`${func.keyword()}(${argumentString})${returnString}`}static documentationDeclarationForTransformer(transformer){var returnString="",argumentString="";let doc=transformer.documentation();if(null!==doc){argumentString=doc.arguments.map((arg=>`${arg.name}: ${arg.dataType}`)).join(", "),null!==doc.returnType&&(returnString=` -> ${doc.returnType}`)}return`${transformer.keyword()}(${argumentString})${returnString}`}}},{}],693:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZDoc=exports.DocDataTypePredefinedType=void 0,function(DocDataTypePredefinedType){DocDataTypePredefinedType.number="Number",DocDataTypePredefinedType.bool="Bool",DocDataTypePredefinedType.string="string",DocDataTypePredefinedType.int="Int",DocDataTypePredefinedType.double="Double",DocDataTypePredefinedType.float="Float",DocDataTypePredefinedType.array="Array",DocDataTypePredefinedType.dict="Dictionary",DocDataTypePredefinedType.any="Any"}(exports.DocDataTypePredefinedType||(exports.DocDataTypePredefinedType={}));class BLZDoc{constructor(name,link,text,dataType,args){this.name=name,this.description=text,this.link=link,this.returnType=dataType,this.arguments=null!=args?args:[]}static functionDoc(func,text,dataType,args,link){return new BLZDoc(func.keyword(),link,text,dataType,args)}static transfomerDoc(transformer,text,dataType,args,link){return new BLZDoc(transformer.keyword(),link,text,dataType,args)}static arg(name,text,dataType){return{name:name,description:text,dataType:dataType}}}exports.BLZDoc=BLZDoc},{}],694:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintHighlightEngine=void 0;const HighlightEngine_1=require("./HighlightEngine"),BlueprintHighlightEngineState_1=require("./BlueprintHighlightEngineState"),SyntaxNodeSubstitution_1=require("./../../parser/syntax/nodes/SyntaxNodeSubstitution"),StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeFlow_1=require("./../../parser/syntax/nodes/SyntaxNodeFlow");class BLZBlueprintHighlightEngine extends HighlightEngine_1.BLZHighlightEngine{constructor(executionContext){super(),this.blueprintFlowOpeningTag="{[",this.blueprintFlowClosingTag="]}",this.blueprintFlowClosingEndingTag="/]}",this.blueprintFlowOpeningSubstitution="{{",this.blueprintFlowClosingSubstitution="}}",this.blueprintCommentOpening="{*",this.blueprintCommentClosing="*}",this.blueprintSnippetOpening="{#",this.blueprintSnippetClosing="#}",this.executionContext=executionContext,this.blueprintFunctions=new Map,this.blueprintTransformers=new Map,this.blueprintFlows=new Map}tokenize(string){this.updateKeywords(this.executionContext);let tokens=new Array;return tokens=tokens.concat(this.tokenizeControlTokens(string)),tokens=tokens.concat(this.tokenizeNoncontrolTokens(string)),tokens}tokenizeControlTokens(string){let tokens=[],state=new BlueprintHighlightEngineState_1.BLZBlueprintHighlightEngineState(string);for(;string.length>0;)if(state.followsFlowOpening){let result=this.tokenizeUntilFlowEndOrNewline(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else if(state.followsSubstitutionOpening){let result=this.tokenizeUntilSubstitutionEndOrNewline(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else{let result=this.tokenizeUntilAnyControlOpeningTag(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}return tokens}tokenizeNoncontrolTokens(string){let tokens=[],state=new BlueprintHighlightEngineState_1.BLZBlueprintHighlightEngineState(string);for(;string.length>0;)if(state.commentOpened){let result=this.tokenizeUntilCommentEnd(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else if(state.snippetOpened){let result=this.tokenizeUntilSnippetEnd(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else{string=this.tokenizeUntilAnyNonControlOpeningTag(state,string)}return tokens}tokenizeUntilCommentEnd(state,string){for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPart(2)===this.blueprintCommentClosing){let token=this.tokenAtPosition(state.bufferStart-1,index+3,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.comment);return state.resetAfterClosingComment(),{remaining:string.substring(index+1),tokens:[token]}}}return{remaining:"",tokens:[]}}tokenizeUntilSnippetEnd(state,string){for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPart(2)===this.blueprintSnippetClosing){let token=this.tokenAtPosition(state.bufferStart-1,index+3,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.dynamicSnippet);return state.resetAfterClosingSnippet(),{remaining:string.substring(index+1),tokens:[token]}}}return{remaining:"",tokens:[]}}tokenizeUntilSubstitutionEndOrNewline(state,string){let tokens=[],endReached=!1,substitutionBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];state.addToBuffer(c);let part=state.lastBufferPartIfEquals(this.blueprintFlowClosingSubstitution);if(part){let text=state.textAtPosition(part.startIndex,part.size);tokens.push(this.tokenAtPosition(part.startIndex,part.size,text,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterSubstitutionClosingTag(),endReached=!0}else if(state.isLastCharacterLineSeparator())state.resetAfterNewline(),endReached=!0;else if(state.isLastCharacterClosingBracket()){let text=state.textAtPosition(state.seekedIndex-1,1);tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,text,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterBracket()}else if(state.isLastCharacterOpeningBracket()){let text=state.textAtPosition(state.seekedIndex-1,1);tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,text,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),state.resetAfterBracket()}if(endReached){console.log("end reached");let remainingLength=string.length-index+1,substitutionDefinition=string.substring(0,string.length-remainingLength+1),flowTokens=this.tokenizeSubstitution(substitutionDefinition,substitutionBeginning);return tokens=tokens.concat(flowTokens),{remaining:string.substring(index+1,string.length),tokens:tokens}}}return{remaining:"",tokens:tokens}}tokenizeUntilFlowEndOrNewline(state,string){let tokens=new Array,endReached=!1,flowBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];state.addToBuffer(c);let flowClosingEndingTagPart=state.lastBufferPartIfEquals(this.blueprintFlowClosingEndingTag),flowClosingTagPart=state.lastBufferPartIfEquals(this.blueprintFlowClosingTag);if(flowClosingEndingTagPart?(tokens.push(this.tokenAtPosition(flowClosingEndingTagPart.startIndex,flowClosingEndingTagPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterFlowClosingTag(),endReached=!0):flowClosingTagPart?(tokens.push(this.tokenAtPosition(flowClosingTagPart.startIndex,flowClosingTagPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterFlowClosingTag(),endReached=!0):state.isLastCharacterLineSeparator()?(state.resetAfterNewline(),endReached=!0):state.isLastCharacterClosingBracket()?(tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterBracket()):state.isLastCharacterOpeningBracket()&&(tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),state.resetAfterBracket()),endReached){let remainingLength=string.length-index+1,flowDefinition=string.substring(0,string.length-remainingLength+1),flowTokens=this.tokenizeFlow(flowDefinition,flowBeginning);return tokens=tokens.concat(flowTokens),{remaining:string.substring(index+1,string.length),tokens:tokens}}}return{remaining:"",tokens:[]}}tokenizeUntilAnyNonControlOpeningTag(state,string){let endReached=!1;for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPartIfEquals(this.blueprintCommentOpening)?(state.openComment(),endReached=!0):state.lastBufferPartIfEquals(this.blueprintSnippetOpening)&&(state.openSnippet(),endReached=!0),endReached)return string.substring(index+1,string.length)}return""}tokenizeUntilAnyControlOpeningTag(state,string){let tokens=[],endReached=!1,controlLength=0,flowBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPartIfEquals(this.blueprintCommentOpening))controlLength=this.blueprintCommentOpening.length,state.openComment(),endReached=!0;else if(state.lastBufferPartIfEquals(this.blueprintSnippetOpening))controlLength=this.blueprintSnippetOpening.length,state.openSnippet(),endReached=!0;else{let substitutionOpeningPart=state.lastBufferPartIfEquals(this.blueprintFlowOpeningSubstitution);if(substitutionOpeningPart)tokens.push(this.tokenAtPosition(substitutionOpeningPart.startIndex,substitutionOpeningPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),controlLength=this.blueprintFlowOpeningSubstitution.length,state.resetAfterSubstitutionOpeningTag(),endReached=!0;else{let flowOpeningPart=state.lastBufferPartIfEquals(this.blueprintFlowOpeningTag);flowOpeningPart&&(tokens.push(this.tokenAtPosition(flowOpeningPart.startIndex,flowOpeningPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),controlLength=this.blueprintFlowOpeningTag.length,state.resetAfterFlowOpeningTag(),endReached=!0)}}if(endReached)return index-controlLength>0&&tokens.push(this.tokenAtPosition(flowBeginning+1,index-1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.plainText)),{remaining:string.substring(index+1,string.length),tokens:tokens}}return{remaining:"",tokens:[]}}tokenizeFlow(definition,initialSeekIndex){let tokens=[];try{let node=new SyntaxNodeFlow_1.SyntaxNodeFlow(definition,0,!0,null,this.executionContext);for(let[_,source]of node.sources)if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(source.directive())){let index=definition.indexOf(source.directive());-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,source.directive().length,source.directive(),HighlightEngine_1.BLZHighlightEngineTokenType.stringConstant))}else tokens=tokens.concat(this.highlightSubstitution(source.backingProperty,definition,initialSeekIndex));for(let[_,output]of node.outputs){let index=definition.indexOf(output.originalBackingProperty);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,output.originalBackingProperty.length,output.originalBackingProperty,StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(output.originalBackingProperty)?HighlightEngine_1.BLZHighlightEngineTokenType.stringConstant:HighlightEngine_1.BLZHighlightEngineTokenType.variable))}for(let[key,isEnabled]of node.keywords)if(isEnabled){let index=definition.indexOf(key);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,key.length,key,HighlightEngine_1.BLZHighlightEngineTokenType.keyword))}}catch(_a){return[]}return tokens}tokenizeSubstitution(definition,initialSeekIndex){try{let node=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(definition,this.executionContext);return this.highlightSubstitution(node,definition,initialSeekIndex)}catch(_a){return[]}}highlightSubstitution(node,definition,initialSeekIndex){let tokens=[];if(node.customDataSource){let keyword=node.customDataSource.function.keyword(),index=definition.indexOf(keyword);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,keyword.length+1,keyword,HighlightEngine_1.BLZHighlightEngineTokenType.function))}for(let transformerPack of node.transformers)if("value"===transformerPack.transformer.keyword()){let index=definition.indexOf(transformerPack.directive);index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,transformerPack.directive.length+1,transformerPack.directive,HighlightEngine_1.BLZHighlightEngineTokenType.variable))}else{let keyword=transformerPack.transformer.keyword(),index=definition.indexOf(keyword);index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,keyword.length+1,keyword,HighlightEngine_1.BLZHighlightEngineTokenType.method))}return tokens}updateKeywords(executionContext){this.blueprintFlows=executionContext.availableFlows(),this.blueprintTransformers=executionContext.availableTransformers(),this.blueprintFunctions=executionContext.availableFunctions()}}exports.BLZBlueprintHighlightEngine=BLZBlueprintHighlightEngine},{"./../../parser/syntax/nodes/SyntaxNodeFlow":683,"./../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"./../../utils/StringUtils":698,"./BlueprintHighlightEngineState":695,"./HighlightEngine":696}],695:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintHighlightEngineState=void 0;exports.BLZBlueprintHighlightEngineState=class{constructor(fullString){this.seekedIndex=0,this.followsDot=!1,this.followsFunction=!1,this.followsFlowOpening=!1,this.followsSubstitutionOpening=!1,this.commentOpened=!1,this.snippetOpened=!1,this.bufferStart=0,this.buffer="",this.fullString="",this.lineSeparator="\n",this.wordSeparator=" ",this.fullString=fullString}resetAfterNewline(){this.followsDot=!1,this.followsFunction=!1,this.followsFlowOpening=!1,this.followsSubstitutionOpening=!1,this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterSpace(){this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterSubstitutionOpeningTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsSubstitutionOpening=!0}resetAfterSubstitutionClosingTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsSubstitutionOpening=!1}resetAfterFlowOpeningTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsFlowOpening=!0}resetAfterBracket(){this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterFlowClosingTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsFlowOpening=!1}openComment(){this.buffer=this.buffer.substr(this.buffer.length-3,2),this.bufferStart=this.seekedIndex-1,this.commentOpened=!0}resetAfterClosingComment(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.commentOpened=!1}openSnippet(){this.buffer=this.buffer.substr(this.buffer.length-3,2),this.bufferStart=this.seekedIndex-1,this.snippetOpened=!0}resetAfterClosingSnippet(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.snippetOpened=!1}addToBuffer(character){this.buffer+=character,this.seekedIndex+=1}isBufferedNewline(){return 1===this.buffer.length&&this.buffer===this.lineSeparator}isLastCharacterWordSeparator(){return 0!==this.buffer.length&&this.buffer[this.buffer.length-1]===this.wordSeparator}isLastCharacterLineSeparator(){return 0!==this.buffer.length&&this.buffer[this.buffer.length-1]===this.lineSeparator}isLastCharacterOpeningBracket(){return 0!==this.buffer.length&&"("===this.buffer[this.buffer.length-1]}isLastCharacterClosingBracket(){return 0!==this.buffer.length&&")"===this.buffer[this.buffer.length-1]}isLastCharacterQuote(){return 0!==this.buffer.length&&'"'===this.buffer[this.buffer.length-1]}isLastCharacterFunctionMark(){return 0!==this.buffer.length&&"@"===this.buffer[this.buffer.length-1]}lastBufferPart(size){return this.buffer.length>=size?this.buffer.substr(this.buffer.length-size,size):null}lastBufferPartIfEquals(equals){return this.lastBufferPart(equals.length)===equals?{equals:!0,startIndex:this.seekedIndex-equals.length,size:equals.length}:null}textAtPosition(position,length){return this.fullString.substr(position,length)}}},{}],696:[function(require,module,exports){"use strict";var BLZHighlightEngineTokenType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZHighlightEngine=exports.BLZHighlightEngineTokenType=void 0,function(BLZHighlightEngineTokenType){BLZHighlightEngineTokenType.keyword="keyword",BLZHighlightEngineTokenType.openingBracket="openingBracket",BLZHighlightEngineTokenType.closingBracket="closingBracket",BLZHighlightEngineTokenType.customDelimiter1="cd1",BLZHighlightEngineTokenType.customDelimiter2="cd2",BLZHighlightEngineTokenType.stringKey="stringKey",BLZHighlightEngineTokenType.stringConstant="stringConstant",BLZHighlightEngineTokenType.numericConstant="numericConstant",BLZHighlightEngineTokenType.comment="comment",BLZHighlightEngineTokenType.function="function",BLZHighlightEngineTokenType.method="method",BLZHighlightEngineTokenType.variable="variable",BLZHighlightEngineTokenType.plainText="plainText",BLZHighlightEngineTokenType.dynamicSnippet="dynamicSnippet"}(BLZHighlightEngineTokenType=exports.BLZHighlightEngineTokenType||(exports.BLZHighlightEngineTokenType={}));exports.BLZHighlightEngine=class{constructor(){this.baseFont={family:"Helvetica",weight:300,size:12},this.baseColor="#000",this.styles=new Map,this.setupDefaultStyles()}setupDefaultStyles(){for(let type of Object.values(BLZHighlightEngineTokenType)){let style={font:{family:"Helvetica",weight:300,size:12},color:"#000",type:type};this.setStyle(style)}}tokenize(_string){return[]}tokenAtPosition(position,count,text,type){return{type:type,position:position,count:count||1,text:text}}setStyles(styles){for(let style of styles)this.setStyle(style)}setStyle(style){this.styles.set(style.type,style)}setStyleUsingDefinition(font,color,type){let style={font:font,color:color,type:type};this.setStyle(style)}}},{}],697:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FlowUtils=void 0;exports.FlowUtils=class{static offsetLines(content,by,character){return content.split("\n").map((piece=>`${character.repeat(by)}${piece}`)).join("\n")}static offsetLinesIgnoreFirst(content,by,character){let lines=content.split("\n"),buffer=[];for(let[offset,element]of lines.entries()){let piece=offset>0?`${character.repeat(by)}${element}`:element;buffer.push(piece)}return buffer.join("\n")}static offsetLinesCanIgnoreFirstline(content,shouldIgnoreFirstLine,userOffset,nodeOffset,character){let actualOffset=Math.max(-nodeOffset,nodeOffset+userOffset);return shouldIgnoreFirstLine?this.offsetLinesIgnoreFirst(content,actualOffset,character):this.offsetLines(content,actualOffset,character)}}},{}],698:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StringUtils=void 0;exports.StringUtils=class{static trimmed(str){return str.trim()}static withoutDoubleQuotes(str){return str.replace(/(^"|"$)/g,"")}static withoutQuotes(str){return str.replace(/(^'|'$)/g,"")}static substringUntilDelimiter(str,delimiter){let buffer="";for(const c of str){if(c===delimiter)return buffer;buffer+=c}return null}static isSurroundedWithDoubleQuotes(str){return str.startsWith('"')&&str.endsWith('"')}static argumentStringBetweenBrackets(str,keyword){let argument=str;return argument.startsWith(keyword)?(argument=argument.substr(keyword.length),argument.startsWith("(")&&argument.endsWith(")")?(argument=argument.substr(1,argument.length-2),argument):null):null}static argumentStringBetweenBracketsFirstOccurance(str,keyword){let argument=str;if(!argument.startsWith(keyword))return null;if(argument=argument.substr(keyword.length),!argument.startsWith("("))return null;argument=argument.substr(1);let buffer="",lock=null,previousChar=null,openedBrackets=1;for(const c of argument){if("\\"!==previousChar&&(lock===c?lock=null:null!==lock||"'"!==c&&'"'!==c||(lock=c)),null===lock&&"("===c)openedBrackets+=1;else if(null===lock&&")"===c&&(openedBrackets>0&&(openedBrackets-=1),0===openedBrackets))return buffer;previousChar=c,buffer+=c}return null}static withoutQuotesSingleOccurance(str){let string=str;return(string.startsWith('"')||string.startsWith("'"))&&(string=string.substr(1)),(string.endsWith('"')||string.endsWith("'"))&&(string=string.substr(0,string.length-1)),string}static withoutDoubleQuotesSingleOccurance(str){let string=str;return string.startsWith('"')&&(string=string.substr(1)),string.endsWith('"')&&(string=string.substr(0,string.length-1)),string=string.replace(/\\"/g,'"'),string}static withoutRoundBrackets(str){return str.replace("^[(]+|[)]+$","")}static fullRange(str){return{location:0,length:str.length}}static spaces(count){return" ".repeat(count)}static splitIgnoringQuotedContent(str,separator){if('"'===separator||"'"===separator)return[str];let components=[],buffer="",lock=null,previousChar=null,lastQuotePairPosition=null;for(let[index,c]of str.split("").entries())c===separator?null===lock?(components.push(buffer),buffer="",lastQuotePairPosition=null):buffer+=c:(buffer+=c,"\\"!==previousChar&&(lock===c?(lock=null,lastQuotePairPosition=index):null!==lock||"'"!==c&&'"'!==c||(lock=c))),previousChar=c;if(buffer.length>0)if(null!==lock)if(lastQuotePairPosition){let substring=str.substr(lastQuotePairPosition,str.length-lastQuotePairPosition),subcomponents=substring.split(separator);if(subcomponents.length>0){let firstItem=subcomponents[0];firstItem=`${buffer.substring(0,buffer.length-substring.length)}${firstItem}`,subcomponents.splice(0,1,firstItem)}components=components.concat(subcomponents)}else components=components.concat(buffer.split(separator));else components.push(buffer);return components}static withoutSpacesInsideRoundBrackets(str){let bracketCount=0,isInsideQuotes=!1,previousChar=null,result="";for(let char of str){switch(char){case"(":isInsideQuotes||(bracketCount+=1);break;case")":isInsideQuotes||(bracketCount-=1);break;case'"':previousChar&&"\\"===previousChar||(isInsideQuotes=!isInsideQuotes)}" "===char?(0===bracketCount||isInsideQuotes)&&(result+=char):result+=char,previousChar=char}return result}static splitIgnoringQuotedBracketedContent(str,separator){if('"'===separator||"'"===separator||"("===separator||")"===separator||"["===separator||"]"===separator)return[str];let components=[],buffer="",lock=null,previousChar=null,lastQuotePairPosition=null,openedRoundBrackets=0,openedSquareBrackets=0;for(let[index,c]of str.split("").entries())c===separator?null===lock&&0===openedSquareBrackets&&0===openedRoundBrackets?(components.push(buffer),buffer="",lastQuotePairPosition=null):buffer+=c:(buffer+=c,"\\"!==previousChar&&(lock===c?(lock=null,lastQuotePairPosition=index):null!==lock||"'"!==c&&'"'!==c||(lock=c)),null===lock&&"("===c?openedRoundBrackets+=1:null===lock&&")"===c?openedRoundBrackets>0&&(openedRoundBrackets-=1):null===lock&&"["===c?openedSquareBrackets+=1:null===lock&&"]"===c&&openedSquareBrackets>0&&(openedSquareBrackets-=1)),previousChar=c;if(buffer.length>0)if(null!==lock)if(lastQuotePairPosition){let substring=str.substr(lastQuotePairPosition,str.length-lastQuotePairPosition),subcomponents=substring.split(separator);if(subcomponents.length>0){let firstItem=subcomponents[0];firstItem=`${buffer.substring(0,buffer.length-substring.length)}${firstItem}`,subcomponents.splice(0,1,firstItem)}components=components.concat(subcomponents)}else components=components.concat(buffer.split(separator));else components.push(buffer);return components}static isLowercaseLetters(str){return/^[a-z]+$/.test(str)}static isLowercaseLettersCanIncludeDot(str){return/^[a-z.]+$/.test(str)}static isLetters(str){return/^[a-zA-Z]+$/.test(str)}static isLettersCanIncludeDot(str){return/^[a-zA-Z.]+$/.test(str)}static isFirstCharacterLetterLowercase(str){return 0!==str.length&&str[0].toLowerCase()===str[0]}static isOnlySpaces(str){return/^[ ]+$/.test(str)}static isOnlySpacesOrLineBreaks(str){return/^\s*$/.test(str)}static isStructuralArrayDefinition(str){let trimmed=str.trim();return!(!trimmed.startsWith("[")||!trimmed.endsWith("]")||-1!==str.indexOf(":"))}static parsedArrayFromDefinition(str){let workingString=str;return this.isStructuralArrayDefinition(str)?(workingString=workingString.trim().substr(1,workingString.length-2),this.splitIgnoringQuotedBracketedContent(workingString,",")):null}static isStructuralDictionaryDefinition(str){let trimmed=str.trim();return!(!trimmed.startsWith("[")||!trimmed.endsWith("]")||-1===str.indexOf(":"))}static parsedDictionaryFromDefinition(str){let workingString=str;if(!this.isStructuralDictionaryDefinition(str))return null;if(workingString=workingString.trim(),workingString.substr(1,workingString.length-2),":"===workingString)return new Map;let components=this.splitIgnoringQuotedBracketedContent(workingString,","),map=new Map;for(let component of components){let pair=this.splitIgnoringQuotedContent(component,":");if(2!==pair.length)return null;map.set(pair[0],pair[1])}return map}static replaceAll(str,find,replace){return str.replace(new RegExp(this.escapeRegExp(find),"g"),replace)}static escapeRegExp(string){return string.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}}},{}],699:[function(require,module,exports){module.exports=require("./lib/axios")},{"./lib/axios":701}],700:[function(require,module,exports){"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(config){return new Promise((function(resolve,reject){var requestData=config.data,requestHeaders=config.headers;utils.isFormData(requestData)&&delete requestHeaders["Content-Type"],(utils.isBlob(requestData)||utils.isFile(requestData))&&requestData.type&&delete requestHeaders["Content-Type"];var request=new XMLHttpRequest;if(config.auth){var username=config.auth.username||"",password=unescape(encodeURIComponent(config.auth.password))||"";requestHeaders.Authorization="Basic "+btoa(username+":"+password)}var fullPath=buildFullPath(config.baseURL,config.url);if(request.open(config.method.toUpperCase(),buildURL(fullPath,config.params,config.paramsSerializer),!0),request.timeout=config.timeout,request.onreadystatechange=function(){if(request&&4===request.readyState&&(0!==request.status||request.responseURL&&0===request.responseURL.indexOf("file:"))){var responseHeaders="getAllResponseHeaders"in request?parseHeaders(request.getAllResponseHeaders()):null,response={data:config.responseType&&"text"!==config.responseType?request.response:request.responseText,status:request.status,statusText:request.statusText,headers:responseHeaders,config:config,request:request};settle(resolve,reject,response),request=null}},request.onabort=function(){request&&(reject(createError("Request aborted",config,"ECONNABORTED",request)),request=null)},request.onerror=function(){reject(createError("Network Error",config,null,request)),request=null},request.ontimeout=function(){var timeoutErrorMessage="timeout of "+config.timeout+"ms exceeded";config.timeoutErrorMessage&&(timeoutErrorMessage=config.timeoutErrorMessage),reject(createError(timeoutErrorMessage,config,"ECONNABORTED",request)),request=null},utils.isStandardBrowserEnv()){var xsrfValue=(config.withCredentials||isURLSameOrigin(fullPath))&&config.xsrfCookieName?cookies.read(config.xsrfCookieName):void 0;xsrfValue&&(requestHeaders[config.xsrfHeaderName]=xsrfValue)}if("setRequestHeader"in request&&utils.forEach(requestHeaders,(function(val,key){void 0===requestData&&"content-type"===key.toLowerCase()?delete requestHeaders[key]:request.setRequestHeader(key,val)})),utils.isUndefined(config.withCredentials)||(request.withCredentials=!!config.withCredentials),config.responseType)try{request.responseType=config.responseType}catch(e){if("json"!==config.responseType)throw e}"function"==typeof config.onDownloadProgress&&request.addEventListener("progress",config.onDownloadProgress),"function"==typeof config.onUploadProgress&&request.upload&&request.upload.addEventListener("progress",config.onUploadProgress),config.cancelToken&&config.cancelToken.promise.then((function(cancel){request&&(request.abort(),reject(cancel),request=null)})),requestData||(requestData=null),request.send(requestData)}))}},{"../core/buildFullPath":707,"../core/createError":708,"./../core/settle":712,"./../helpers/buildURL":716,"./../helpers/cookies":718,"./../helpers/isURLSameOrigin":720,"./../helpers/parseHeaders":722,"./../utils":724}],701:[function(require,module,exports){"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig");function createInstance(defaultConfig){var context=new Axios(defaultConfig),instance=bind(Axios.prototype.request,context);return utils.extend(instance,Axios.prototype,context),utils.extend(instance,context),instance}var axios=createInstance(require("./defaults"));axios.Axios=Axios,axios.create=function(instanceConfig){return createInstance(mergeConfig(axios.defaults,instanceConfig))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(promises){return Promise.all(promises)},axios.spread=require("./helpers/spread"),module.exports=axios,module.exports.default=axios},{"./cancel/Cancel":702,"./cancel/CancelToken":703,"./cancel/isCancel":704,"./core/Axios":705,"./core/mergeConfig":711,"./defaults":714,"./helpers/bind":715,"./helpers/spread":723,"./utils":724}],702:[function(require,module,exports){"use strict";function Cancel(message){this.message=message}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel},{}],703:[function(require,module,exports){"use strict";var Cancel=require("./Cancel");function CancelToken(executor){if("function"!=typeof executor)throw new TypeError("executor must be a function.");var resolvePromise;this.promise=new Promise((function(resolve){resolvePromise=resolve}));var token=this;executor((function(message){token.reason||(token.reason=new Cancel(message),resolvePromise(token.reason))}))}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var cancel;return{token:new CancelToken((function(c){cancel=c})),cancel:cancel}},module.exports=CancelToken},{"./Cancel":702}],704:[function(require,module,exports){"use strict";module.exports=function(value){return!(!value||!value.__CANCEL__)}},{}],705:[function(require,module,exports){"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(instanceConfig){this.defaults=instanceConfig,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(config){"string"==typeof config?(config=arguments[1]||{}).url=arguments[0]:config=config||{},(config=mergeConfig(this.defaults,config)).method?config.method=config.method.toLowerCase():this.defaults.method?config.method=this.defaults.method.toLowerCase():config.method="get";var chain=[dispatchRequest,void 0],promise=Promise.resolve(config);for(this.interceptors.request.forEach((function(interceptor){chain.unshift(interceptor.fulfilled,interceptor.rejected)})),this.interceptors.response.forEach((function(interceptor){chain.push(interceptor.fulfilled,interceptor.rejected)}));chain.length;)promise=promise.then(chain.shift(),chain.shift());return promise},Axios.prototype.getUri=function(config){return config=mergeConfig(this.defaults,config),buildURL(config.url,config.params,config.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],(function(method){Axios.prototype[method]=function(url,config){return this.request(mergeConfig(config||{},{method:method,url:url}))}})),utils.forEach(["post","put","patch"],(function(method){Axios.prototype[method]=function(url,data,config){return this.request(mergeConfig(config||{},{method:method,url:url,data:data}))}})),module.exports=Axios},{"../helpers/buildURL":716,"./../utils":724,"./InterceptorManager":706,"./dispatchRequest":709,"./mergeConfig":711}],706:[function(require,module,exports){"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(fulfilled,rejected){return this.handlers.push({fulfilled:fulfilled,rejected:rejected}),this.handlers.length-1},InterceptorManager.prototype.eject=function(id){this.handlers[id]&&(this.handlers[id]=null)},InterceptorManager.prototype.forEach=function(fn){utils.forEach(this.handlers,(function(h){null!==h&&fn(h)}))},module.exports=InterceptorManager},{"./../utils":724}],707:[function(require,module,exports){"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(baseURL,requestedURL){return baseURL&&!isAbsoluteURL(requestedURL)?combineURLs(baseURL,requestedURL):requestedURL}},{"../helpers/combineURLs":717,"../helpers/isAbsoluteURL":719}],708:[function(require,module,exports){"use strict";var enhanceError=require("./enhanceError");module.exports=function(message,config,code,request,response){var error=new Error(message);return enhanceError(error,config,code,request,response)}},{"./enhanceError":710}],709:[function(require,module,exports){"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(config){config.cancelToken&&config.cancelToken.throwIfRequested()}module.exports=function(config){return throwIfCancellationRequested(config),config.headers=config.headers||{},config.data=transformData(config.data,config.headers,config.transformRequest),config.headers=utils.merge(config.headers.common||{},config.headers[config.method]||{},config.headers),utils.forEach(["delete","get","head","post","put","patch","common"],(function(method){delete config.headers[method]})),(config.adapter||defaults.adapter)(config).then((function(response){return throwIfCancellationRequested(config),response.data=transformData(response.data,response.headers,config.transformResponse),response}),(function(reason){return isCancel(reason)||(throwIfCancellationRequested(config),reason&&reason.response&&(reason.response.data=transformData(reason.response.data,reason.response.headers,config.transformResponse))),Promise.reject(reason)}))}},{"../cancel/isCancel":704,"../defaults":714,"./../utils":724,"./transformData":713}],710:[function(require,module,exports){"use strict";module.exports=function(error,config,code,request,response){return error.config=config,code&&(error.code=code),error.request=request,error.response=response,error.isAxiosError=!0,error.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},error}},{}],711:[function(require,module,exports){"use strict";var utils=require("../utils");module.exports=function(config1,config2){config2=config2||{};var config={},valueFromConfig2Keys=["url","method","data"],mergeDeepPropertiesKeys=["headers","auth","proxy","params"],defaultToConfig2Keys=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],directMergeKeys=["validateStatus"];function getMergedValue(target,source){return utils.isPlainObject(target)&&utils.isPlainObject(source)?utils.merge(target,source):utils.isPlainObject(source)?utils.merge({},source):utils.isArray(source)?source.slice():source}function mergeDeepProperties(prop){utils.isUndefined(config2[prop])?utils.isUndefined(config1[prop])||(config[prop]=getMergedValue(void 0,config1[prop])):config[prop]=getMergedValue(config1[prop],config2[prop])}utils.forEach(valueFromConfig2Keys,(function(prop){utils.isUndefined(config2[prop])||(config[prop]=getMergedValue(void 0,config2[prop]))})),utils.forEach(mergeDeepPropertiesKeys,mergeDeepProperties),utils.forEach(defaultToConfig2Keys,(function(prop){utils.isUndefined(config2[prop])?utils.isUndefined(config1[prop])||(config[prop]=getMergedValue(void 0,config1[prop])):config[prop]=getMergedValue(void 0,config2[prop])})),utils.forEach(directMergeKeys,(function(prop){prop in config2?config[prop]=getMergedValue(config1[prop],config2[prop]):prop in config1&&(config[prop]=getMergedValue(void 0,config1[prop]))}));var axiosKeys=valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys).concat(directMergeKeys),otherKeys=Object.keys(config1).concat(Object.keys(config2)).filter((function(key){return-1===axiosKeys.indexOf(key)}));return utils.forEach(otherKeys,mergeDeepProperties),config}},{"../utils":724}],712:[function(require,module,exports){"use strict";var createError=require("./createError");module.exports=function(resolve,reject,response){var validateStatus=response.config.validateStatus;response.status&&validateStatus&&!validateStatus(response.status)?reject(createError("Request failed with status code "+response.status,response.config,null,response.request,response)):resolve(response)}},{"./createError":708}],713:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=function(data,headers,fns){return utils.forEach(fns,(function(fn){data=fn(data,headers)})),data}},{"./../utils":724}],714:[function(require,module,exports){(function(process){(function(){"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(headers,value){!utils.isUndefined(headers)&&utils.isUndefined(headers["Content-Type"])&&(headers["Content-Type"]=value)}var adapter,defaults={adapter:("undefined"!=typeof XMLHttpRequest?adapter=require("./adapters/xhr"):void 0!==process&&"[object process]"===Object.prototype.toString.call(process)&&(adapter=require("./adapters/http")),adapter),transformRequest:[function(data,headers){return normalizeHeaderName(headers,"Accept"),normalizeHeaderName(headers,"Content-Type"),utils.isFormData(data)||utils.isArrayBuffer(data)||utils.isBuffer(data)||utils.isStream(data)||utils.isFile(data)||utils.isBlob(data)?data:utils.isArrayBufferView(data)?data.buffer:utils.isURLSearchParams(data)?(setContentTypeIfUnset(headers,"application/x-www-form-urlencoded;charset=utf-8"),data.toString()):utils.isObject(data)?(setContentTypeIfUnset(headers,"application/json;charset=utf-8"),JSON.stringify(data)):data}],transformResponse:[function(data){if("string"==typeof data)try{data=JSON.parse(data)}catch(e){}return data}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(status){return status>=200&&status<300}};defaults.headers={common:{Accept:"application/json, text/plain, */*"}},utils.forEach(["delete","get","head"],(function(method){defaults.headers[method]={}})),utils.forEach(["post","put","patch"],(function(method){defaults.headers[method]=utils.merge(DEFAULT_CONTENT_TYPE)})),module.exports=defaults}).call(this)}).call(this,require("_process"))},{"./adapters/http":700,"./adapters/xhr":700,"./helpers/normalizeHeaderName":721,"./utils":724,_process:381}],715:[function(require,module,exports){"use strict";module.exports=function(fn,thisArg){return function(){for(var args=new Array(arguments.length),i=0;i<args.length;i++)args[i]=arguments[i];return fn.apply(thisArg,args)}}},{}],716:[function(require,module,exports){"use strict";var utils=require("./../utils");function encode(val){return encodeURIComponent(val).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(url,params,paramsSerializer){if(!params)return url;var serializedParams;if(paramsSerializer)serializedParams=paramsSerializer(params);else if(utils.isURLSearchParams(params))serializedParams=params.toString();else{var parts=[];utils.forEach(params,(function(val,key){null!=val&&(utils.isArray(val)?key+="[]":val=[val],utils.forEach(val,(function(v){utils.isDate(v)?v=v.toISOString():utils.isObject(v)&&(v=JSON.stringify(v)),parts.push(encode(key)+"="+encode(v))})))})),serializedParams=parts.join("&")}if(serializedParams){var hashmarkIndex=url.indexOf("#");-1!==hashmarkIndex&&(url=url.slice(0,hashmarkIndex)),url+=(-1===url.indexOf("?")?"?":"&")+serializedParams}return url}},{"./../utils":724}],717:[function(require,module,exports){"use strict";module.exports=function(baseURL,relativeURL){return relativeURL?baseURL.replace(/\/+$/,"")+"/"+relativeURL.replace(/^\/+/,""):baseURL}},{}],718:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(name,value,expires,path,domain,secure){var cookie=[];cookie.push(name+"="+encodeURIComponent(value)),utils.isNumber(expires)&&cookie.push("expires="+new Date(expires).toGMTString()),utils.isString(path)&&cookie.push("path="+path),utils.isString(domain)&&cookie.push("domain="+domain),!0===secure&&cookie.push("secure"),document.cookie=cookie.join("; ")},read:function(name){var match=document.cookie.match(new RegExp("(^|;\\s*)("+name+")=([^;]*)"));return match?decodeURIComponent(match[3]):null},remove:function(name){this.write(name,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},{"./../utils":724}],719:[function(require,module,exports){"use strict";module.exports=function(url){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url)}},{}],720:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var originURL,msie=/(msie|trident)/i.test(navigator.userAgent),urlParsingNode=document.createElement("a");function resolveURL(url){var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}return originURL=resolveURL(window.location.href),function(requestURL){var parsed=utils.isString(requestURL)?resolveURL(requestURL):requestURL;return parsed.protocol===originURL.protocol&&parsed.host===originURL.host}}():function(){return!0}},{"./../utils":724}],721:[function(require,module,exports){"use strict";var utils=require("../utils");module.exports=function(headers,normalizedName){utils.forEach(headers,(function(value,name){name!==normalizedName&&name.toUpperCase()===normalizedName.toUpperCase()&&(headers[normalizedName]=value,delete headers[name])}))}},{"../utils":724}],722:[function(require,module,exports){"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(headers){var key,val,i,parsed={};return headers?(utils.forEach(headers.split("\n"),(function(line){if(i=line.indexOf(":"),key=utils.trim(line.substr(0,i)).toLowerCase(),val=utils.trim(line.substr(i+1)),key){if(parsed[key]&&ignoreDuplicateOf.indexOf(key)>=0)return;parsed[key]="set-cookie"===key?(parsed[key]?parsed[key]:[]).concat([val]):parsed[key]?parsed[key]+", "+val:val}})),parsed):parsed}},{"./../utils":724}],723:[function(require,module,exports){"use strict";module.exports=function(callback){return function(arr){return callback.apply(null,arr)}}},{}],724:[function(require,module,exports){"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(val){return"[object Array]"===toString.call(val)}function isUndefined(val){return void 0===val}function isObject(val){return null!==val&&"object"==typeof val}function isPlainObject(val){if("[object Object]"!==toString.call(val))return!1;var prototype=Object.getPrototypeOf(val);return null===prototype||prototype===Object.prototype}function isFunction(val){return"[object Function]"===toString.call(val)}function forEach(obj,fn){if(null!=obj)if("object"!=typeof obj&&(obj=[obj]),isArray(obj))for(var i=0,l=obj.length;i<l;i++)fn.call(null,obj[i],i,obj);else for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&fn.call(null,obj[key],key,obj)}module.exports={isArray:isArray,isArrayBuffer:function(val){return"[object ArrayBuffer]"===toString.call(val)},isBuffer:function(val){return null!==val&&!isUndefined(val)&&null!==val.constructor&&!isUndefined(val.constructor)&&"function"==typeof val.constructor.isBuffer&&val.constructor.isBuffer(val)},isFormData:function(val){return"undefined"!=typeof FormData&&val instanceof FormData},isArrayBufferView:function(val){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(val):val&&val.buffer&&val.buffer instanceof ArrayBuffer},isString:function(val){return"string"==typeof val},isNumber:function(val){return"number"==typeof val},isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:function(val){return"[object Date]"===toString.call(val)},isFile:function(val){return"[object File]"===toString.call(val)},isBlob:function(val){return"[object Blob]"===toString.call(val)},isFunction:isFunction,isStream:function(val){return isObject(val)&&isFunction(val.pipe)},isURLSearchParams:function(val){return"undefined"!=typeof URLSearchParams&&val instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:forEach,merge:function merge(){var result={};function assignValue(val,key){isPlainObject(result[key])&&isPlainObject(val)?result[key]=merge(result[key],val):isPlainObject(val)?result[key]=merge({},val):isArray(val)?result[key]=val.slice():result[key]=val}for(var i=0,l=arguments.length;i<l;i++)forEach(arguments[i],assignValue);return result},extend:function(a,b,thisArg){return forEach(b,(function(val,key){a[key]=thisArg&&"function"==typeof val?bind(val,thisArg):val})),a},trim:function(str){return str.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(content){return 65279===content.charCodeAt(0)&&(content=content.slice(1)),content}}},{"./helpers/bind":715}],725:[function(require,module,exports){var _=require("./lodash.min").runInContext();module.exports=require("./fp/_baseConvert")(_,_)},{"./fp/_baseConvert":726,"./lodash.min":730}],726:[function(require,module,exports){var mapping=require("./_mapping"),fallbackHolder=require("./placeholder"),push=Array.prototype.push;function baseAry(func,n){return 2==n?function(a,b){return func(a,b)}:function(a){return func(a)}}function cloneArray(array){for(var length=array?array.length:0,result=Array(length);length--;)result[length]=array[length];return result}function wrapImmutable(func,cloner){return function(){var length=arguments.length;if(length){for(var args=Array(length);length--;)args[length]=arguments[length];var result=args[0]=cloner.apply(void 0,args);return func.apply(void 0,args),result}}}module.exports=function baseConvert(util,name,func,options){var isLib="function"==typeof name,isObj=name===Object(name);if(isObj&&(options=func,func=name,name=void 0),null==func)throw new TypeError;options||(options={});var config_cap=!("cap"in options)||options.cap,config_curry=!("curry"in options)||options.curry,config_fixed=!("fixed"in options)||options.fixed,config_immutable=!("immutable"in options)||options.immutable,config_rearg=!("rearg"in options)||options.rearg,defaultHolder=isLib?func:fallbackHolder,forceCurry="curry"in options&&options.curry,forceFixed="fixed"in options&&options.fixed,forceRearg="rearg"in options&&options.rearg,pristine=isLib?func.runInContext():void 0,helpers=isLib?func:{ary:util.ary,assign:util.assign,clone:util.clone,curry:util.curry,forEach:util.forEach,isArray:util.isArray,isError:util.isError,isFunction:util.isFunction,isWeakMap:util.isWeakMap,iteratee:util.iteratee,keys:util.keys,rearg:util.rearg,toInteger:util.toInteger,toPath:util.toPath},ary=helpers.ary,assign=helpers.assign,clone=helpers.clone,curry=helpers.curry,each=helpers.forEach,isArray=helpers.isArray,isError=helpers.isError,isFunction=helpers.isFunction,isWeakMap=helpers.isWeakMap,keys=helpers.keys,rearg=helpers.rearg,toInteger=helpers.toInteger,toPath=helpers.toPath,aryMethodKeys=keys(mapping.aryMethod),wrappers={castArray:function(castArray){return function(){var value=arguments[0];return isArray(value)?castArray(cloneArray(value)):castArray.apply(void 0,arguments)}},iteratee:function(iteratee){return function(){var func=arguments[0],arity=arguments[1],result=iteratee(func,arity),length=result.length;return config_cap&&"number"==typeof arity?(arity=arity>2?arity-2:1,length&&length<=arity?result:baseAry(result,arity)):result}},mixin:function(mixin){return function(source){var func=this;if(!isFunction(func))return mixin(func,Object(source));var pairs=[];return each(keys(source),(function(key){isFunction(source[key])&&pairs.push([key,func.prototype[key]])})),mixin(func,Object(source)),each(pairs,(function(pair){var value=pair[1];isFunction(value)?func.prototype[pair[0]]=value:delete func.prototype[pair[0]]})),func}},nthArg:function(nthArg){return function(n){var arity=n<0?1:toInteger(n)+1;return curry(nthArg(n),arity)}},rearg:function(rearg){return function(func,indexes){var arity=indexes?indexes.length:0;return curry(rearg(func,indexes),arity)}},runInContext:function(runInContext){return function(context){return baseConvert(util,runInContext(context),options)}}};function castCap(name,func){if(config_cap){var indexes=mapping.iterateeRearg[name];if(indexes)return function(func,indexes){return overArg(func,(function(func){var n=indexes.length;return function(func,n){return 2==n?function(a,b){return func.apply(void 0,arguments)}:function(a){return func.apply(void 0,arguments)}}(rearg(baseAry(func,n),indexes),n)}))}(func,indexes);var n=!isLib&&mapping.iterateeAry[name];if(n)return function(func,n){return overArg(func,(function(func){return"function"==typeof func?baseAry(func,n):func}))}(func,n)}return func}function castFixed(name,func,n){if(config_fixed&&(forceFixed||!mapping.skipFixed[name])){var data=mapping.methodSpread[name],start=data&&data.start;return void 0===start?ary(func,n):function(func,start){return function(){for(var length=arguments.length,lastIndex=length-1,args=Array(length);length--;)args[length]=arguments[length];var array=args[start],otherArgs=args.slice(0,start);return array&&push.apply(otherArgs,array),start!=lastIndex&&push.apply(otherArgs,args.slice(start+1)),func.apply(this,otherArgs)}}(func,start)}return func}function castRearg(name,func,n){return config_rearg&&n>1&&(forceRearg||!mapping.skipRearg[name])?rearg(func,mapping.methodRearg[name]||mapping.aryRearg[n]):func}function cloneByPath(object,path){for(var index=-1,length=(path=toPath(path)).length,lastIndex=length-1,result=clone(Object(object)),nested=result;null!=nested&&++index<length;){var key=path[index],value=nested[key];null==value||isFunction(value)||isError(value)||isWeakMap(value)||(nested[key]=clone(index==lastIndex?value:Object(value))),nested=nested[key]}return result}function createConverter(name,func){var realName=mapping.aliasToReal[name]||name,methodName=mapping.remap[realName]||realName,oldOptions=options;return function(options){var newUtil=isLib?pristine:helpers,newFunc=isLib?pristine[methodName]:func,newOptions=assign(assign({},oldOptions),options);return baseConvert(newUtil,realName,newFunc,newOptions)}}function overArg(func,transform){return function(){var length=arguments.length;if(!length)return func();for(var args=Array(length);length--;)args[length]=arguments[length];var index=config_rearg?0:length-1;return args[index]=transform(args[index]),func.apply(void 0,args)}}function wrap(name,func,placeholder){var result,realName=mapping.aliasToReal[name]||name,wrapped=func,wrapper=wrappers[realName];return wrapper?wrapped=wrapper(func):config_immutable&&(mapping.mutate.array[realName]?wrapped=wrapImmutable(func,cloneArray):mapping.mutate.object[realName]?wrapped=wrapImmutable(func,function(func){return function(object){return func({},object)}}(func)):mapping.mutate.set[realName]&&(wrapped=wrapImmutable(func,cloneByPath))),each(aryMethodKeys,(function(aryKey){return each(mapping.aryMethod[aryKey],(function(otherName){if(realName==otherName){var data=mapping.methodSpread[realName],afterRearg=data&&data.afterRearg;return result=afterRearg?castFixed(realName,castRearg(realName,wrapped,aryKey),aryKey):castRearg(realName,castFixed(realName,wrapped,aryKey),aryKey),result=function(name,func,n){return forceCurry||config_curry&&n>1?curry(func,n):func}(0,result=castCap(realName,result),aryKey),!1}})),!result})),result||(result=wrapped),result==func&&(result=forceCurry?curry(result,1):function(){return func.apply(this,arguments)}),result.convert=createConverter(realName,func),result.placeholder=func.placeholder=placeholder,result}if(!isObj)return wrap(name,func,defaultHolder);var _=func,pairs=[];return each(aryMethodKeys,(function(aryKey){each(mapping.aryMethod[aryKey],(function(key){var func=_[mapping.remap[key]||key];func&&pairs.push([key,wrap(key,func,_)])}))})),each(keys(_),(function(key){var func=_[key];if("function"==typeof func){for(var length=pairs.length;length--;)if(pairs[length][0]==key)return;func.convert=createConverter(key,func),pairs.push([key,func])}})),each(pairs,(function(pair){_[pair[0]]=pair[1]})),_.convert=function(options){return _.runInContext.convert(options)(void 0)},_.placeholder=_,each(keys(_),(function(key){each(mapping.realToAlias[key]||[],(function(alias){_[alias]=_[key]}))})),_}},{"./_mapping":727,"./placeholder":728}],727:[function(require,module,exports){exports.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},exports.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},exports.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},exports.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},exports.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},exports.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},exports.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},exports.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},exports.realToAlias=function(){var hasOwnProperty=Object.prototype.hasOwnProperty,object=exports.aliasToReal,result={};for(var key in object){var value=object[key];hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]}return result}(),exports.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},exports.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},exports.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},{}],728:[function(require,module,exports){module.exports={}},{}],729:[function(require,module,exports){(function(global){(function(){(function(){var FUNC_ERROR_TEXT="Expected a function",PLACEHOLDER="__lodash_placeholder__",wrapFlags=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g,reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g,reUnescapedHtml=/[&<>"']/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source),reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source),reTrim=/^\s+|\s+$/g,reTrimStart=/^\s+/,reTrimEnd=/\s+$/,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /,reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,reEscapeChar=/\\(\\)?/g,reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,reFlags=/\w*$/,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsOctal=/^0o[0-7]+$/i,reIsUint=/^(?:0|[1-9]\d*)$/,reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,reNoMatch=/($^)/,reUnescapedString=/['\n\r\u2028\u2029\\]/g,rsComboRange="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",rsBreakRange="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsAstral="[\\ud800-\\udfff]",rsBreak="["+rsBreakRange+"]",rsCombo="["+rsComboRange+"]",rsDigits="\\d+",rsDingbat="[\\u2700-\\u27bf]",rsLower="[a-z\\xdf-\\xf6\\xf8-\\xff]",rsMisc="[^\\ud800-\\udfff"+rsBreakRange+rsDigits+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsNonAstral="[^\\ud800-\\udfff]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",rsMiscLower="(?:"+rsLower+"|"+rsMisc+")",rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")",reOptMod="(?:"+rsCombo+"|"+rsFitz+")"+"?",rsSeq="[\\ufe0e\\ufe0f]?"+reOptMod+("(?:\\u200d(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")[\\ufe0e\\ufe0f]?"+reOptMod+")*"),rsEmoji="(?:"+[rsDingbat,rsRegional,rsSurrPair].join("|")+")"+rsSeq,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")",reApos=RegExp("['’]","g"),reComboMark=RegExp(rsCombo,"g"),reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g"),reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+(?:['’](?:d|ll|m|re|s|t|ve))?",rsUpper+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rsDigits,rsEmoji].join("|"),"g"),reHasUnicode=RegExp("[\\u200d\\ud800-\\udfff"+rsComboRange+"\\ufe0e\\ufe0f]"),reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,contextProps=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],templateCounter=-1,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags["[object Uint8ClampedArray]"]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},freeParseFloat=parseFloat,freeParseInt=parseInt,freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsArrayBuffer=nodeUtil&&nodeUtil.isArrayBuffer,nodeIsDate=nodeUtil&&nodeUtil.isDate,nodeIsMap=nodeUtil&&nodeUtil.isMap,nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,nodeIsSet=nodeUtil&&nodeUtil.isSet,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayAggregator(array,setter,iteratee,accumulator){for(var index=-1,length=null==array?0:array.length;++index<length;){var value=array[index];setter(accumulator,value,iteratee(value),array)}return accumulator}function arrayEach(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&!1!==iteratee(array[index],index,array););return array}function arrayEachRight(array,iteratee){for(var length=null==array?0:array.length;length--&&!1!==iteratee(array[length],length,array););return array}function arrayEvery(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(!predicate(array[index],index,array))return!1;return!0}function arrayFilter(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}function arrayIncludes(array,value){return!!(null==array?0:array.length)&&baseIndexOf(array,value,0)>-1}function arrayIncludesWith(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}function arrayMap(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function arrayReduceRight(array,iteratee,accumulator,initAccum){var length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[--length]);length--;)accumulator=iteratee(accumulator,array[length],length,array);return accumulator}function arraySome(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}var asciiSize=baseProperty("length");function baseFindKey(collection,predicate,eachFunc){var result;return eachFunc(collection,(function(value,key,collection){if(predicate(value,key,collection))return result=key,!1})),result}function baseFindIndex(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){return value==value?function(array,value,fromIndex){var index=fromIndex-1,length=array.length;for(;++index<length;)if(array[index]===value)return index;return-1}(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}function baseIndexOfWith(array,value,fromIndex,comparator){for(var index=fromIndex-1,length=array.length;++index<length;)if(comparator(array[index],value))return index;return-1}function baseIsNaN(value){return value!=value}function baseMean(array,iteratee){var length=null==array?0:array.length;return length?baseSum(array,iteratee)/length:NaN}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyOf(object){return function(key){return null==object?undefined:object[key]}}function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,(function(value,index,collection){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection)})),accumulator}function baseSum(array,iteratee){for(var result,index=-1,length=array.length;++index<length;){var current=iteratee(array[index]);undefined!==current&&(result=undefined===result?current:result+current)}return result}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function baseUnary(func){return function(value){return func(value)}}function baseValues(object,props){return arrayMap(props,(function(key){return object[key]}))}function cacheHas(cache,key){return cache.has(key)}function charsStartIndex(strSymbols,chrSymbols){for(var index=-1,length=strSymbols.length;++index<length&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function charsEndIndex(strSymbols,chrSymbols){for(var index=strSymbols.length;index--&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function countHolders(array,placeholder){for(var length=array.length,result=0;length--;)array[length]===placeholder&&++result;return result}var deburrLetter=basePropertyOf({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n",ſ:"s"}),escapeHtmlChar=basePropertyOf({"&":"&","<":"<",">":">",'"':""","'":"'"});function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function hasUnicode(string){return reHasUnicode.test(string)}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach((function(value,key){result[++index]=[key,value]})),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function replaceHolders(array,placeholder){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index];value!==placeholder&&value!==PLACEHOLDER||(array[index]=PLACEHOLDER,result[resIndex++]=index)}return result}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach((function(value){result[++index]=value})),result}function setToPairs(set){var index=-1,result=Array(set.size);return set.forEach((function(value){result[++index]=[value,value]})),result}function stringSize(string){return hasUnicode(string)?function(string){var result=reUnicode.lastIndex=0;for(;reUnicode.test(string);)++result;return result}(string):asciiSize(string)}function stringToArray(string){return hasUnicode(string)?function(string){return string.match(reUnicode)||[]}(string):function(string){return string.split("")}(string)}var unescapeHtmlChar=basePropertyOf({"&":"&","<":"<",">":">",""":'"',"'":"'"});var _=function runInContext(context){var uid,Array=(context=null==context?root:_.defaults(root.Object(),context,_.pick(root,contextProps))).Array,Date=context.Date,Error=context.Error,Function=context.Function,Math=context.Math,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError,arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=context["__core-js_shared__"],funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,idCounter=0,maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""))?"Symbol(src)_1."+uid:"",nativeObjectToString=objectProto.toString,objectCtorString=funcToString.call(Object),oldDash=root._,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?context.Buffer:undefined,Symbol=context.Symbol,Uint8Array=context.Uint8Array,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined,symIterator=Symbol?Symbol.iterator:undefined,symToStringTag=Symbol?Symbol.toStringTag:undefined,defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e){}}(),ctxClearTimeout=context.clearTimeout!==root.clearTimeout&&context.clearTimeout,ctxNow=Date&&Date.now!==root.Date.now&&Date.now,ctxSetTimeout=context.setTimeout!==root.setTimeout&&context.setTimeout,nativeCeil=Math.ceil,nativeFloor=Math.floor,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeIsFinite=context.isFinite,nativeJoin=arrayProto.join,nativeKeys=overArg(Object.keys,Object),nativeMax=Math.max,nativeMin=Math.min,nativeNow=Date.now,nativeParseInt=context.parseInt,nativeRandom=Math.random,nativeReverse=arrayProto.reverse,DataView=getNative(context,"DataView"),Map=getNative(context,"Map"),Promise=getNative(context,"Promise"),Set=getNative(context,"Set"),WeakMap=getNative(context,"WeakMap"),nativeCreate=getNative(Object,"create"),metaMap=WeakMap&&new WeakMap,realNames={},dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper)return value;if(hasOwnProperty.call(value,"__wrapped__"))return wrapperClone(value)}return new LodashWrapper(value)}var baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=undefined,result}}();function baseLodash(){}function LodashWrapper(value,chainAll){this.__wrapped__=value,this.__actions__=[],this.__chain__=!!chainAll,this.__index__=0,this.__values__=undefined}function LazyWrapper(value){this.__wrapped__=value,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function SetCache(values){var index=-1,length=null==values?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}function arraySample(array){var length=array.length;return length?array[baseRandom(0,length-1)]:undefined}function arraySampleSize(array,n){return shuffleSelf(copyArray(array),baseClamp(n,0,array.length))}function arrayShuffle(array){return shuffleSelf(copyArray(array))}function assignMergeValue(object,key,value){(undefined!==value&&!eq(object[key],value)||undefined===value&&!(key in object))&&baseAssignValue(object,key,value)}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(undefined!==value||key in object)||baseAssignValue(object,key,value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAggregator(collection,setter,iteratee,accumulator){return baseEach(collection,(function(value,key,collection){setter(accumulator,value,iteratee(value),collection)})),accumulator}function baseAssign(object,source){return object&©Object(source,keys(source),object)}function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function baseAt(object,paths){for(var index=-1,length=paths.length,result=Array(length),skip=null==object;++index<length;)result[index]=skip?undefined:get(object,paths[index]);return result}function baseClamp(number,lower,upper){return number==number&&(undefined!==upper&&(number=number<=upper?number:upper),undefined!==lower&&(number=number>=lower?number:lower)),number}function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=1&bitmask,isFlat=2&bitmask,isFull=4&bitmask;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),undefined!==result)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=function(array){var length=array.length,result=new array.constructor(length);length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input);return result}(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(result=isFlat||isFunc?{}:initCloneObject(value),!isDeep)return isFlat?function(source,object){return copyObject(source,getSymbolsIn(source),object)}(value,function(object,source){return object&©Object(source,keysIn(source),object)}(result,value)):function(source,object){return copyObject(source,getSymbols(source),object)}(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=function(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return function(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return function(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}(object);case setTag:return new Ctor;case symbolTag:return symbol=object,symbolValueOf?Object(symbolValueOf.call(symbol)):{}}var symbol}(value,tag,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;stack.set(value,result),isSet(value)?value.forEach((function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))})):isMap(value)&&value.forEach((function(subValue,key){result.set(key,baseClone(subValue,bitmask,customizer,key,value,stack))}));var props=isArr?undefined:(isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys)(value);return arrayEach(props||value,(function(subValue,key){props&&(subValue=value[key=subValue]),assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))})),result}function baseConformsTo(object,source,props){var length=props.length;if(null==object)return!length;for(object=Object(object);length--;){var key=props[length],predicate=source[key],value=object[key];if(undefined===value&&!(key in object)||!predicate(value))return!1}return!0}function baseDelay(func,wait,args){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return setTimeout((function(){func.apply(undefined,args)}),wait)}function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=!0,length=array.length,result=[],valuesLength=values.length;if(!length)return result;iteratee&&(values=arrayMap(values,baseUnary(iteratee))),comparator?(includes=arrayIncludesWith,isCommon=!1):values.length>=200&&(includes=cacheHas,isCommon=!1,values=new SetCache(values));outer:for(;++index<length;){var value=array[index],computed=null==iteratee?value:iteratee(value);if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var valuesIndex=valuesLength;valuesIndex--;)if(values[valuesIndex]===computed)continue outer;result.push(value)}else includes(values,computed,comparator)||result.push(value)}return result}lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=baseCreate(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=baseCreate(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=function(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0},Hash.prototype.delete=function(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result},Hash.prototype.get=function(key){var data=this.__data__;if(nativeCreate){var result=data[key];return"__lodash_hash_undefined__"===result?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined},Hash.prototype.has=function(key){var data=this.__data__;return nativeCreate?undefined!==data[key]:hasOwnProperty.call(data,key)},Hash.prototype.set=function(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&undefined===value?"__lodash_hash_undefined__":value,this},ListCache.prototype.clear=function(){this.__data__=[],this.size=0},ListCache.prototype.delete=function(key){var data=this.__data__,index=assocIndexOf(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)},ListCache.prototype.get=function(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]},ListCache.prototype.has=function(key){return assocIndexOf(this.__data__,key)>-1},ListCache.prototype.set=function(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this},MapCache.prototype.clear=function(){this.size=0,this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}},MapCache.prototype.delete=function(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result},MapCache.prototype.get=function(key){return getMapData(this,key).get(key)},MapCache.prototype.has=function(key){return getMapData(this,key).has(key)},MapCache.prototype.set=function(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this},SetCache.prototype.add=SetCache.prototype.push=function(value){return this.__data__.set(value,"__lodash_hash_undefined__"),this},SetCache.prototype.has=function(value){return this.__data__.has(value)},Stack.prototype.clear=function(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result},Stack.prototype.get=function(key){return this.__data__.get(key)},Stack.prototype.has=function(key){return this.__data__.has(key)},Stack.prototype.set=function(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<199)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this};var baseEach=createBaseEach(baseForOwn),baseEachRight=createBaseEach(baseForOwnRight,!0);function baseEvery(collection,predicate){var result=!0;return baseEach(collection,(function(value,index,collection){return result=!!predicate(value,index,collection)})),result}function baseExtremum(array,iteratee,comparator){for(var index=-1,length=array.length;++index<length;){var value=array[index],current=iteratee(value);if(null!=current&&(undefined===computed?current==current&&!isSymbol(current):comparator(current,computed)))var computed=current,result=value}return result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,(function(value,index,collection){predicate(value,index,collection)&&result.push(value)})),result}function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush(result,value):isStrict||(result[result.length]=value)}return result}var baseFor=createBaseFor(),baseForRight=createBaseFor(!0);function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys)}function baseForOwnRight(object,iteratee){return object&&baseForRight(object,iteratee,keys)}function baseFunctions(object,props){return arrayFilter(props,(function(key){return isFunction(object[key])}))}function baseGet(object,path){for(var index=0,length=(path=castPath(path,object)).length;null!=object&&index<length;)object=object[toKey(path[index++])];return index&&index==length?object:undefined}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return null==value?undefined===value?"[object Undefined]":"[object Null]":symToStringTag&&symToStringTag in Object(value)?function(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]);return result}(value):function(value){return nativeObjectToString.call(value)}(value)}function baseGt(value,other){return value>other}function baseHas(object,key){return null!=object&&hasOwnProperty.call(object,key)}function baseHasIn(object,key){return null!=object&&key in Object(object)}function baseIntersection(arrays,iteratee,comparator){for(var includes=comparator?arrayIncludesWith:arrayIncludes,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array(othLength),maxLength=1/0,result=[];othIndex--;){var array=arrays[othIndex];othIndex&&iteratee&&(array=arrayMap(array,baseUnary(iteratee))),maxLength=nativeMin(array.length,maxLength),caches[othIndex]=!comparator&&(iteratee||length>=120&&array.length>=120)?new SetCache(othIndex&&array):undefined}array=arrays[0];var index=-1,seen=caches[0];outer:for(;++index<length&&result.length<maxLength;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,!(seen?cacheHas(seen,computed):includes(result,computed,comparator))){for(othIndex=othLength;--othIndex;){var cache=caches[othIndex];if(!(cache?cacheHas(cache,computed):includes(arrays[othIndex],computed,comparator)))continue outer}seen&&seen.push(computed),result.push(value)}}return result}function baseInvoke(object,path,args){var func=null==(object=parent(object,path=castPath(path,object)))?object:object[toKey(last(path))];return null==func?undefined:apply(func,object,args)}function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike(value)&&!isObjectLike(other)?value!=value&&other!=other:function(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other),objIsObj=(objTag=objTag==argsTag?objectTag:objTag)==objectTag,othIsObj=(othTag=othTag==argsTag?objectTag:othTag)==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):function(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=1&bitmask;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=2,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(1&bitmask)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag)return!1;return stack||(stack=new Stack),function(object,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,objProps=getAllKeys(object),objLength=objProps.length,othLength=getAllKeys(other).length;if(objLength!=othLength&&!isPartial)return!1;var index=objLength;for(;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);var skipCtor=isPartial;for(;++index<objLength;){var objValue=object[key=objProps[index]],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(undefined===compared?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor==othCtor||!("constructor"in object)||!("constructor"in other)||"function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor||(result=!1)}return stack.delete(object),stack.delete(other),result}(object,other,bitmask,customizer,equalFunc,stack)}(value,other,bitmask,customizer,baseIsEqual,stack))}function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){var key=(data=matchData[index])[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(undefined===objValue&&!(key in object))return!1}else{var stack=new Stack;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(undefined===result?baseIsEqual(srcValue,objValue,3,customizer,stack):result))return!1}}return!0}function baseIsNative(value){return!(!isObject(value)||(func=value,maskSrcKey&&maskSrcKey in func))&&(isFunction(value)?reIsNative:reIsHostCtor).test(toSource(value));var func}function baseIteratee(value){return"function"==typeof value?value:null==value?identity:"object"==typeof value?isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value):property(value)}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function baseKeysIn(object){if(!isObject(object))return function(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty.call(object,key))&&result.push(key);return result}function baseLt(value,other){return value<other}function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value,key,collection){result[++index]=iteratee(value,key,collection)})),result}function baseMatches(source){var matchData=getMatchData(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch(object,source,matchData)}}function baseMatchesProperty(path,srcValue){return isKey(path)&&isStrictComparable(srcValue)?matchesStrictComparable(toKey(path),srcValue):function(object){var objValue=get(object,path);return undefined===objValue&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,3)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,(function(srcValue,key){if(stack||(stack=new Stack),isObject(srcValue))!function(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked)return void assignMergeValue(object,key,stacked);var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined,isCommon=undefined===newValue;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:isPlainObject(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=toPlainObject(objValue):isObject(objValue)&&!isFunction(objValue)||(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack.delete(srcValue));assignMergeValue(object,key,newValue)}(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):undefined;undefined===newValue&&(newValue=srcValue),assignMergeValue(object,key,newValue)}}),keysIn)}function baseNth(array,n){var length=array.length;if(length)return isIndex(n+=n<0?length:0,length)?array[n]:undefined}function baseOrderBy(collection,iteratees,orders){iteratees=iteratees.length?arrayMap(iteratees,(function(iteratee){return isArray(iteratee)?function(value){return baseGet(value,1===iteratee.length?iteratee[0]:iteratee)}:iteratee})):[identity];var index=-1;return iteratees=arrayMap(iteratees,baseUnary(getIteratee())),function(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}(baseMap(collection,(function(value,key,collection){return{criteria:arrayMap(iteratees,(function(iteratee){return iteratee(value)})),index:++index,value:value}})),(function(object,other){return function(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;for(;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result)return index>=ordersLength?result:result*("desc"==orders[index]?-1:1)}return object.index-other.index}(object,other,orders)}))}function basePickBy(object,paths,predicate){for(var index=-1,length=paths.length,result={};++index<length;){var path=paths[index],value=baseGet(object,path);predicate(value,path)&&baseSet(result,castPath(path,object),value)}return result}function basePullAll(array,values,iteratee,comparator){var indexOf=comparator?baseIndexOfWith:baseIndexOf,index=-1,length=values.length,seen=array;for(array===values&&(values=copyArray(values)),iteratee&&(seen=arrayMap(array,baseUnary(iteratee)));++index<length;)for(var fromIndex=0,value=values[index],computed=iteratee?iteratee(value):value;(fromIndex=indexOf(seen,computed,fromIndex,comparator))>-1;)seen!==array&&splice.call(seen,fromIndex,1),splice.call(array,fromIndex,1);return array}function basePullAt(array,indexes){for(var length=array?indexes.length:0,lastIndex=length-1;length--;){var index=indexes[length];if(length==lastIndex||index!==previous){var previous=index;isIndex(index)?splice.call(array,index,1):baseUnset(array,index)}}return array}function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()*(upper-lower+1))}function baseRepeat(string,n){var result="";if(!string||n<1||n>9007199254740991)return result;do{n%2&&(result+=string),(n=nativeFloor(n/2))&&(string+=string)}while(n);return result}function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}function baseSample(collection){return arraySample(values(collection))}function baseSampleSize(collection,n){var array=values(collection);return shuffleSelf(array,baseClamp(n,0,array.length))}function baseSet(object,path,value,customizer){if(!isObject(object))return object;for(var index=-1,length=(path=castPath(path,object)).length,lastIndex=length-1,nested=object;null!=nested&&++index<length;){var key=toKey(path[index]),newValue=value;if("__proto__"===key||"constructor"===key||"prototype"===key)return object;if(index!=lastIndex){var objValue=nested[key];undefined===(newValue=customizer?customizer(objValue,key,nested):undefined)&&(newValue=isObject(objValue)?objValue:isIndex(path[index+1])?[]:{})}assignValue(nested,key,newValue),nested=nested[key]}return object}var baseSetData=metaMap?function(func,data){return metaMap.set(func,data),func}:identity,baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity;function baseShuffle(collection){return shuffleSelf(values(collection))}function baseSlice(array,start,end){var index=-1,length=array.length;start<0&&(start=-start>length?0:length+start),(end=end>length?length:end)<0&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,(function(value,index,collection){return!(result=predicate(value,index,collection))})),!!result}function baseSortedIndex(array,value,retHighest){var low=0,high=null==array?low:array.length;if("number"==typeof value&&value==value&&high<=2147483647){for(;low<high;){var mid=low+high>>>1,computed=array[mid];null!==computed&&!isSymbol(computed)&&(retHighest?computed<=value:computed<value)?low=mid+1:high=mid}return high}return baseSortedIndexBy(array,value,identity,retHighest)}function baseSortedIndexBy(array,value,iteratee,retHighest){var low=0,high=null==array?0:array.length;if(0===high)return 0;for(var valIsNaN=(value=iteratee(value))!=value,valIsNull=null===value,valIsSymbol=isSymbol(value),valIsUndefined=undefined===value;low<high;){var mid=nativeFloor((low+high)/2),computed=iteratee(array[mid]),othIsDefined=undefined!==computed,othIsNull=null===computed,othIsReflexive=computed==computed,othIsSymbol=isSymbol(computed);if(valIsNaN)var setLow=retHighest||othIsReflexive;else setLow=valIsUndefined?othIsReflexive&&(retHighest||othIsDefined):valIsNull?othIsReflexive&&othIsDefined&&(retHighest||!othIsNull):valIsSymbol?othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol):!othIsNull&&!othIsSymbol&&(retHighest?computed<=value:computed<value);setLow?low=mid+1:high=mid}return nativeMin(high,4294967294)}function baseSortedUniq(array,iteratee){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(!index||!eq(computed,seen)){var seen=computed;result[resIndex++]=0===value?0:value}}return result}function baseToNumber(value){return"number"==typeof value?value:isSymbol(value)?NaN:+value}function baseToString(value){if("string"==typeof value)return value;if(isArray(value))return arrayMap(value,baseToString)+"";if(isSymbol(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result}function baseUniq(array,iteratee,comparator){var index=-1,includes=arrayIncludes,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes=arrayIncludesWith;else if(length>=200){var set=iteratee?null:createSet(array);if(set)return setToArray(set);isCommon=!1,includes=cacheHas,seen=new SetCache}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}function baseUnset(object,path){return null==(object=parent(object,path=castPath(path,object)))||delete object[toKey(last(path))]}function baseUpdate(object,path,updater,customizer){return baseSet(object,path,updater(baseGet(object,path)),customizer)}function baseWhile(array,predicate,isDrop,fromRight){for(var length=array.length,index=fromRight?length:-1;(fromRight?index--:++index<length)&&predicate(array[index],index,array););return isDrop?baseSlice(array,fromRight?0:index,fromRight?index+1:length):baseSlice(array,fromRight?index+1:0,fromRight?length:index)}function baseWrapperValue(value,actions){var result=value;return result instanceof LazyWrapper&&(result=result.value()),arrayReduce(actions,(function(result,action){return action.func.apply(action.thisArg,arrayPush([result],action.args))}),result)}function baseXor(arrays,iteratee,comparator){var length=arrays.length;if(length<2)return length?baseUniq(arrays[0]):[];for(var index=-1,result=Array(length);++index<length;)for(var array=arrays[index],othIndex=-1;++othIndex<length;)othIndex!=index&&(result[index]=baseDifference(result[index]||array,arrays[othIndex],iteratee,comparator));return baseUniq(baseFlatten(result,1),iteratee,comparator)}function baseZipObject(props,values,assignFunc){for(var index=-1,length=props.length,valsLength=values.length,result={};++index<length;){var value=index<valsLength?values[index]:undefined;assignFunc(result,props[index],value)}return result}function castArrayLikeObject(value){return isArrayLikeObject(value)?value:[]}function castFunction(value){return"function"==typeof value?value:identity}function castPath(value,object){return isArray(value)?value:isKey(value,object)?[value]:stringToPath(toString(value))}var castRest=baseRest;function castSlice(array,start,end){var length=array.length;return end=undefined===end?length:end,!start&&end>=length?array:baseSlice(array,start,end)}var clearTimeout=ctxClearTimeout||function(id){return root.clearTimeout(id)};function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function compareAscending(value,other){if(value!==other){var valIsDefined=undefined!==value,valIsNull=null===value,valIsReflexive=value==value,valIsSymbol=isSymbol(value),othIsDefined=undefined!==other,othIsNull=null===other,othIsReflexive=other==other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}function composeArgs(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;++leftIndex<leftLength;)result[leftIndex]=partials[leftIndex];for(;++argsIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[holders[argsIndex]]=args[argsIndex]);for(;rangeLength--;)result[leftIndex++]=args[argsIndex++];return result}function composeArgsRight(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;++argsIndex<rangeLength;)result[argsIndex]=args[argsIndex];for(var offset=argsIndex;++rightIndex<rightLength;)result[offset+rightIndex]=partials[rightIndex];for(;++holdersIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[offset+holders[holdersIndex]]=args[argsIndex++]);return result}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;undefined===newValue&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}function createAggregator(setter,initializer){return function(collection,iteratee){var func=isArray(collection)?arrayAggregator:baseAggregator,accumulator=initializer?initializer():{};return func(collection,setter,getIteratee(iteratee,2),accumulator)}}function createAssigner(assigner){return baseRest((function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):undefined,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?undefined:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object}))}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(!1===iteratee(iterable[key],key,iterable))break}return object}}function createCaseFirst(methodName){return function(string){var strSymbols=hasUnicode(string=toString(string))?stringToArray(string):undefined,chr=strSymbols?strSymbols[0]:string.charAt(0),trailing=strSymbols?castSlice(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}function createCompounder(callback){return function(string){return arrayReduce(words(deburr(string).replace(reApos,"")),callback,"")}}function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike(collection)){var iteratee=getIteratee(predicate,3);collection=keys(collection),predicate=function(key){return iteratee(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:undefined}}function createFlow(fromRight){return flatRest((function(funcs){var length=funcs.length,index=length,prereq=LodashWrapper.prototype.thru;for(fromRight&&funcs.reverse();index--;){var func=funcs[index];if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);if(prereq&&!wrapper&&"wrapper"==getFuncName(func))var wrapper=new LodashWrapper([],!0)}for(index=wrapper?index:length;++index<length;){var funcName=getFuncName(func=funcs[index]),data="wrapper"==funcName?getData(func):undefined;wrapper=data&&isLaziable(data[0])&&424==data[1]&&!data[4].length&&1==data[9]?wrapper[getFuncName(data[0])].apply(wrapper,data[3]):1==func.length&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}return function(){var args=arguments,value=args[0];if(wrapper&&1==args.length&&isArray(value))return wrapper.plant(value).value();for(var index=0,result=length?funcs[index].apply(this,args):value;++index<length;)result=funcs[index].call(this,result);return result}}))}function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=128&bitmask,isBind=1&bitmask,isBindKey=2&bitmask,isCurried=24&bitmask,isFlip=512&bitmask,Ctor=isBindKey?undefined:createCtor(func);return function wrapper(){for(var length=arguments.length,args=Array(length),index=length;index--;)args[index]=arguments[index];if(isCurried)var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder);if(partials&&(args=composeArgs(args,partials,holders,isCurried)),partialsRight&&(args=composeArgsRight(args,partialsRight,holdersRight,isCurried)),length-=holdersCount,isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;return length=args.length,argPos?args=reorder(args,argPos):isFlip&&length>1&&args.reverse(),isAry&&ary<length&&(args.length=ary),this&&this!==root&&this instanceof wrapper&&(fn=Ctor||createCtor(fn)),fn.apply(thisBinding,args)}}function createInverter(setter,toIteratee){return function(object,iteratee){return function(object,setter,iteratee,accumulator){return baseForOwn(object,(function(value,key,object){setter(accumulator,iteratee(value),key,object)})),accumulator}(object,setter,toIteratee(iteratee),{})}}function createMathOperation(operator,defaultValue){return function(value,other){var result;if(undefined===value&&undefined===other)return defaultValue;if(undefined!==value&&(result=value),undefined!==other){if(undefined===result)return other;"string"==typeof value||"string"==typeof other?(value=baseToString(value),other=baseToString(other)):(value=baseToNumber(value),other=baseToNumber(other)),result=operator(value,other)}return result}}function createOver(arrayFunc){return flatRest((function(iteratees){return iteratees=arrayMap(iteratees,baseUnary(getIteratee())),baseRest((function(args){var thisArg=this;return arrayFunc(iteratees,(function(iteratee){return apply(iteratee,thisArg,args)}))}))}))}function createPadding(length,chars){var charsLength=(chars=undefined===chars?" ":baseToString(chars)).length;if(charsLength<2)return charsLength?baseRepeat(chars,length):chars;var result=baseRepeat(chars,nativeCeil(length/stringSize(chars)));return hasUnicode(chars)?castSlice(stringToArray(result),0,length).join(""):result.slice(0,length)}function createRange(fromRight){return function(start,end,step){return step&&"number"!=typeof step&&isIterateeCall(start,end,step)&&(end=step=undefined),start=toFinite(start),undefined===end?(end=start,start=0):end=toFinite(end),function(start,end,step,fromRight){for(var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);length--;)result[fromRight?length:++index]=start,start+=step;return result}(start,end,step=undefined===step?start<end?1:-1:toFinite(step),fromRight)}}function createRelationalOperation(operator){return function(value,other){return"string"==typeof value&&"string"==typeof other||(value=toNumber(value),other=toNumber(other)),operator(value,other)}}function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=8&bitmask;bitmask|=isCurry?32:64,4&(bitmask&=~(isCurry?64:32))||(bitmask&=-4);var newData=[func,bitmask,thisArg,isCurry?partials:undefined,isCurry?holders:undefined,isCurry?undefined:partials,isCurry?undefined:holders,argPos,ary,arity],result=wrapFunc.apply(undefined,newData);return isLaziable(func)&&setData(result,newData),result.placeholder=placeholder,setWrapToString(result,func,bitmask)}function createRound(methodName){var func=Math[methodName];return function(number,precision){if(number=toNumber(number),(precision=null==precision?0:nativeMin(toInteger(precision),292))&&nativeIsFinite(number)){var pair=(toString(number)+"e").split("e");return+((pair=(toString(func(pair[0]+"e"+(+pair[1]+precision)))+"e").split("e"))[0]+"e"+(+pair[1]-precision))}return func(number)}}var createSet=Set&&1/setToArray(new Set([,-0]))[1]==Infinity?function(values){return new Set(values)}:noop;function createToPairs(keysFunc){return function(object){var tag=getTag(object);return tag==mapTag?mapToArray(object):tag==setTag?setToPairs(object):function(object,props){return arrayMap(props,(function(key){return[key,object[key]]}))}(object,keysFunc(object))}}function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=2&bitmask;if(!isBindKey&&"function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);var length=partials?partials.length:0;if(length||(bitmask&=-97,partials=holders=undefined),ary=undefined===ary?ary:nativeMax(toInteger(ary),0),arity=undefined===arity?arity:toInteger(arity),length-=holders?holders.length:0,64&bitmask){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data&&function(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<131,isCombo=128==srcBitmask&&8==bitmask||128==srcBitmask&&256==bitmask&&data[7].length<=source[8]||384==srcBitmask&&source[7].length<=source[8]&&8==bitmask;if(!isCommon&&!isCombo)return data;1&srcBitmask&&(data[2]=source[2],newBitmask|=1&bitmask?0:4);var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):value,data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source[4]}(value=source[5])&&(partials=data[5],data[5]=partials?composeArgsRight(partials,value,source[6]):value,data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source[6]);(value=source[7])&&(data[7]=value);128&srcBitmask&&(data[8]=null==data[8]?source[8]:nativeMin(data[8],source[8]));null==data[9]&&(data[9]=source[9]);data[0]=source[0],data[1]=newBitmask}(newData,data),func=newData[0],bitmask=newData[1],thisArg=newData[2],partials=newData[3],holders=newData[4],!(arity=newData[9]=undefined===newData[9]?isBindKey?0:func.length:nativeMax(newData[9]-length,0))&&24&bitmask&&(bitmask&=-25),bitmask&&1!=bitmask)result=8==bitmask||16==bitmask?function(func,bitmask,arity){var Ctor=createCtor(func);return function wrapper(){for(var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);index--;)args[index]=arguments[index];var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);return(length-=holders.length)<arity?createRecurry(func,bitmask,createHybrid,wrapper.placeholder,void 0,args,holders,void 0,void 0,arity-length):apply(this&&this!==root&&this instanceof wrapper?Ctor:func,this,args)}}(func,bitmask,arity):32!=bitmask&&33!=bitmask||holders.length?createHybrid.apply(undefined,newData):function(func,bitmask,thisArg,partials){var isBind=1&bitmask,Ctor=createCtor(func);return function wrapper(){for(var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;++leftIndex<leftLength;)args[leftIndex]=partials[leftIndex];for(;argsLength--;)args[leftIndex++]=arguments[++argsIndex];return apply(fn,isBind?thisArg:this,args)}}(func,bitmask,thisArg,partials);else var result=function(func,bitmask,thisArg){var isBind=1&bitmask,Ctor=createCtor(func);return function wrapper(){return(this&&this!==root&&this instanceof wrapper?Ctor:func).apply(isBind?thisArg:this,arguments)}}(func,bitmask,thisArg);return setWrapToString((data?baseSetData:setData)(result,newData),func,bitmask)}function customDefaultsAssignIn(objValue,srcValue,key,object){return undefined===objValue||eq(objValue,objectProto[key])&&!hasOwnProperty.call(object,key)?srcValue:objValue}function customDefaultsMerge(objValue,srcValue,key,object,source,stack){return isObject(objValue)&&isObject(srcValue)&&(stack.set(srcValue,objValue),baseMerge(objValue,srcValue,undefined,customDefaultsMerge,stack),stack.delete(srcValue)),objValue}function customOmitClone(value){return isPlainObject(value)?undefined:value}function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=2&bitmask?new SetCache:undefined;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(undefined!==compared){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,(function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack)))return seen.push(othIndex)}))){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack.delete(array),stack.delete(other),result}function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}var getData=metaMap?function(func){return metaMap.get(func)}:noop;function getFuncName(func){for(var result=func.name+"",array=realNames[result],length=hasOwnProperty.call(realNames,result)?array.length:0;length--;){var data=array[length],otherFunc=data.func;if(null==otherFunc||otherFunc==func)return data.name}return result}function getHolder(func){return(hasOwnProperty.call(lodash,"placeholder")?lodash:func).placeholder}function getIteratee(){var result=lodash.iteratee||iteratee;return result=result===iteratee?baseIteratee:result,arguments.length?result(arguments[0],arguments[1]):result}function getMapData(map,key){var value,type,data=map.__data__;return("string"==(type=typeof(value=key))||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value)?data["string"==typeof key?"string":"hash"]:data.map}function getMatchData(object){for(var result=keys(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}function getNative(object,key){var value=function(object,key){return null==object?void 0:object[key]}(object,key);return baseIsNative(value)?value:undefined}var getSymbols=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),(function(symbol){return propertyIsEnumerable.call(object,symbol)})))}:stubArray,getSymbolsIn=nativeGetSymbols?function(object){for(var result=[];object;)arrayPush(result,getSymbols(object)),object=getPrototype(object);return result}:stubArray,getTag=baseGetTag;function hasPath(object,path,hasFunc){for(var index=-1,length=(path=castPath(path,object)).length,result=!1;++index<length;){var key=toKey(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:!!(length=null==object?0:object.length)&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object))}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}function isIndex(value,length){var type=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type||"symbol"!=type&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object)&&eq(object[index],value)}function isKey(value,object){if(isArray(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}function isLaziable(func){var funcName=getFuncName(func),other=lodash[funcName];if("function"!=typeof other||!(funcName in LazyWrapper.prototype))return!1;if(func===other)return!0;var data=getData(other);return!!data&&func===data[0]}(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&"[object Promise]"!=getTag(Promise.resolve())||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return"[object Promise]";case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var isMaskable=coreJsData?isFunction:stubFalse;function isPrototype(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto)}function isStrictComparable(value){return value==value&&!isObject(value)}function matchesStrictComparable(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(undefined!==srcValue||key in Object(object)))}}function overRest(func,start,transform){return start=nativeMax(undefined===start?func.length-1:start,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);++index<length;)array[index]=args[start+index];index=-1;for(var otherArgs=Array(start+1);++index<start;)otherArgs[index]=args[index];return otherArgs[start]=transform(array),apply(func,this,otherArgs)}}function parent(object,path){return path.length<2?object:baseGet(object,baseSlice(path,0,-1))}function reorder(array,indexes){for(var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);length--;){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function safeGet(object,key){if(("constructor"!==key||"function"!=typeof object[key])&&"__proto__"!=key)return object[key]}var setData=shortOut(baseSetData),setTimeout=ctxSetTimeout||function(func,wait){return root.setTimeout(func,wait)},setToString=shortOut(baseSetToString);function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString(wrapper,function(source,details){var length=details.length;if(!length)return source;var lastIndex=length-1;return details[lastIndex]=(length>1?"& ":"")+details[lastIndex],details=details.join(length>2?", ":" "),source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}(source,function(details,bitmask){return arrayEach(wrapFlags,(function(pair){var value="_."+pair[0];bitmask&pair[1]&&!arrayIncludes(details,value)&&details.push(value)})),details.sort()}(function(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}(source),bitmask)))}function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=16-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=800)return arguments[0]}else count=0;return func.apply(undefined,arguments)}}function shuffleSelf(array,size){var index=-1,length=array.length,lastIndex=length-1;for(size=undefined===size?length:size;++index<size;){var rand=baseRandom(index,lastIndex),value=array[rand];array[rand]=array[index],array[index]=value}return array.length=size,array}var stringToPath=function(func){var result=memoize(func,(function(key){return 500===cache.size&&cache.clear(),key})),cache=result.cache;return result}((function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName,(function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)})),result}));function toKey(value){if("string"==typeof value||isSymbol(value))return value;var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper)return wrapper.clone();var result=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);return result.__actions__=copyArray(wrapper.__actions__),result.__index__=wrapper.__index__,result.__values__=wrapper.__values__,result}var difference=baseRest((function(array,values){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0)):[]})),differenceBy=baseRest((function(array,values){var iteratee=last(values);return isArrayLikeObject(iteratee)&&(iteratee=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),getIteratee(iteratee,2)):[]})),differenceWith=baseRest((function(array,values){var comparator=last(values);return isArrayLikeObject(comparator)&&(comparator=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),undefined,comparator):[]}));function findIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseFindIndex(array,getIteratee(predicate,3),index)}function findLastIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length-1;return undefined!==fromIndex&&(index=toInteger(fromIndex),index=fromIndex<0?nativeMax(length+index,0):nativeMin(index,length-1)),baseFindIndex(array,getIteratee(predicate,3),index,!0)}function flatten(array){return(null==array?0:array.length)?baseFlatten(array,1):[]}function head(array){return array&&array.length?array[0]:undefined}var intersection=baseRest((function(arrays){var mapped=arrayMap(arrays,castArrayLikeObject);return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped):[]})),intersectionBy=baseRest((function(arrays){var iteratee=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return iteratee===last(mapped)?iteratee=undefined:mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,getIteratee(iteratee,2)):[]})),intersectionWith=baseRest((function(arrays){var comparator=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return(comparator="function"==typeof comparator?comparator:undefined)&&mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,undefined,comparator):[]}));function last(array){var length=null==array?0:array.length;return length?array[length-1]:undefined}var pull=baseRest(pullAll);function pullAll(array,values){return array&&array.length&&values&&values.length?basePullAll(array,values):array}var pullAt=flatRest((function(array,indexes){var length=null==array?0:array.length,result=baseAt(array,indexes);return basePullAt(array,arrayMap(indexes,(function(index){return isIndex(index,length)?+index:index})).sort(compareAscending)),result}));function reverse(array){return null==array?array:nativeReverse.call(array)}var union=baseRest((function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0))})),unionBy=baseRest((function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),getIteratee(iteratee,2))})),unionWith=baseRest((function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),undefined,comparator)}));function unzip(array){if(!array||!array.length)return[];var length=0;return array=arrayFilter(array,(function(group){if(isArrayLikeObject(group))return length=nativeMax(group.length,length),!0})),baseTimes(length,(function(index){return arrayMap(array,baseProperty(index))}))}function unzipWith(array,iteratee){if(!array||!array.length)return[];var result=unzip(array);return null==iteratee?result:arrayMap(result,(function(group){return apply(iteratee,undefined,group)}))}var without=baseRest((function(array,values){return isArrayLikeObject(array)?baseDifference(array,values):[]})),xor=baseRest((function(arrays){return baseXor(arrayFilter(arrays,isArrayLikeObject))})),xorBy=baseRest((function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseXor(arrayFilter(arrays,isArrayLikeObject),getIteratee(iteratee,2))})),xorWith=baseRest((function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseXor(arrayFilter(arrays,isArrayLikeObject),undefined,comparator)})),zip=baseRest(unzip);var zipWith=baseRest((function(arrays){var length=arrays.length,iteratee=length>1?arrays[length-1]:undefined;return iteratee="function"==typeof iteratee?(arrays.pop(),iteratee):undefined,unzipWith(arrays,iteratee)}));function chain(value){var result=lodash(value);return result.__chain__=!0,result}function thru(value,interceptor){return interceptor(value)}var wrapperAt=flatRest((function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt(object,paths)};return!(length>1||this.__actions__.length)&&value instanceof LazyWrapper&&isIndex(start)?((value=value.slice(start,+start+(length?1:0))).__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(value,this.__chain__).thru((function(array){return length&&!array.length&&array.push(undefined),array}))):this.thru(interceptor)}));var countBy=createAggregator((function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:baseAssignValue(result,key,1)}));var find=createFind(findIndex),findLast=createFind(findLastIndex);function forEach(collection,iteratee){return(isArray(collection)?arrayEach:baseEach)(collection,getIteratee(iteratee,3))}function forEachRight(collection,iteratee){return(isArray(collection)?arrayEachRight:baseEachRight)(collection,getIteratee(iteratee,3))}var groupBy=createAggregator((function(result,value,key){hasOwnProperty.call(result,key)?result[key].push(value):baseAssignValue(result,key,[value])}));var invokeMap=baseRest((function(collection,path,args){var index=-1,isFunc="function"==typeof path,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value){result[++index]=isFunc?apply(path,value,args):baseInvoke(value,path,args)})),result})),keyBy=createAggregator((function(result,value,key){baseAssignValue(result,key,value)}));function map(collection,iteratee){return(isArray(collection)?arrayMap:baseMap)(collection,getIteratee(iteratee,3))}var partition=createAggregator((function(result,value,key){result[key?0:1].push(value)}),(function(){return[[],[]]}));var sortBy=baseRest((function(collection,iteratees){if(null==collection)return[];var length=iteratees.length;return length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])?iteratees=[]:length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])&&(iteratees=[iteratees[0]]),baseOrderBy(collection,baseFlatten(iteratees,1),[])})),now=ctxNow||function(){return root.Date.now()};function ary(func,n,guard){return n=guard?undefined:n,createWrap(func,128,undefined,undefined,undefined,undefined,n=func&&null==n?func.length:n)}function before(n,func){var result;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){return--n>0&&(result=func.apply(this,arguments)),n<=1&&(func=undefined),result}}var bind=baseRest((function(func,thisArg,partials){var bitmask=1;if(partials.length){var holders=replaceHolders(partials,getHolder(bind));bitmask|=32}return createWrap(func,bitmask,thisArg,partials,holders)})),bindKey=baseRest((function(object,key,partials){var bitmask=3;if(partials.length){var holders=replaceHolders(partials,getHolder(bindKey));bitmask|=32}return createWrap(key,bitmask,object,partials,holders)}));function debounce(func,wait,options){var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=!1,maxing=!1,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);function invokeFunc(time){var args=lastArgs,thisArg=lastThis;return lastArgs=lastThis=undefined,lastInvokeTime=time,result=func.apply(thisArg,args)}function leadingEdge(time){return lastInvokeTime=time,timerId=setTimeout(timerExpired,wait),leading?invokeFunc(time):result}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime;return undefined===lastCallTime||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&time-lastInvokeTime>=maxWait}function timerExpired(){var time=now();if(shouldInvoke(time))return trailingEdge(time);timerId=setTimeout(timerExpired,function(time){var timeWaiting=wait-(time-lastCallTime);return maxing?nativeMin(timeWaiting,maxWait-(time-lastInvokeTime)):timeWaiting}(time))}function trailingEdge(time){return timerId=undefined,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=undefined,result)}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(undefined===timerId)return leadingEdge(lastCallTime);if(maxing)return clearTimeout(timerId),timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return undefined===timerId&&(timerId=setTimeout(timerExpired,wait)),result}return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxWait=(maxing="maxWait"in options)?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=function(){undefined!==timerId&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=undefined},debounced.flush=function(){return undefined===timerId?result:trailingEdge(now())},debounced}var defer=baseRest((function(func,args){return baseDelay(func,1,args)})),delay=baseRest((function(func,wait,args){return baseDelay(func,toNumber(wait)||0,args)}));function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError(FUNC_ERROR_TEXT);var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(predicate){if("function"!=typeof predicate)throw new TypeError(FUNC_ERROR_TEXT);return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}memoize.Cache=MapCache;var overArgs=castRest((function(func,transforms){var funcsLength=(transforms=1==transforms.length&&isArray(transforms[0])?arrayMap(transforms[0],baseUnary(getIteratee())):arrayMap(baseFlatten(transforms,1),baseUnary(getIteratee()))).length;return baseRest((function(args){for(var index=-1,length=nativeMin(args.length,funcsLength);++index<length;)args[index]=transforms[index].call(this,args[index]);return apply(func,this,args)}))})),partial=baseRest((function(func,partials){return createWrap(func,32,undefined,partials,replaceHolders(partials,getHolder(partial)))})),partialRight=baseRest((function(func,partials){return createWrap(func,64,undefined,partials,replaceHolders(partials,getHolder(partialRight)))})),rearg=flatRest((function(func,indexes){return createWrap(func,256,undefined,undefined,undefined,indexes)}));function eq(value,other){return value===other||value!=value&&other!=other}var gt=createRelationalOperation(baseGt),gte=createRelationalOperation((function(value,other){return value>=other})),isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray,isArrayBuffer=nodeIsArrayBuffer?baseUnary(nodeIsArrayBuffer):function(value){return isObjectLike(value)&&baseGetTag(value)==arrayBufferTag};function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}var isBuffer=nativeIsBuffer||stubFalse,isDate=nodeIsDate?baseUnary(nodeIsDate):function(value){return isObjectLike(value)&&baseGetTag(value)==dateTag};function isError(value){if(!isObjectLike(value))return!1;var tag=baseGetTag(value);return tag==errorTag||"[object DOMException]"==tag||"string"==typeof value.message&&"string"==typeof value.name&&!isPlainObject(value)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}function isInteger(value){return"number"==typeof value&&value==toInteger(value)}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}function isObjectLike(value){return null!=value&&"object"==typeof value}var isMap=nodeIsMap?baseUnary(nodeIsMap):function(value){return isObjectLike(value)&&getTag(value)==mapTag};function isNumber(value){return"number"==typeof value||isObjectLike(value)&&baseGetTag(value)==numberTag}function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag)return!1;var proto=getPrototype(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}var isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):function(value){return isObjectLike(value)&&baseGetTag(value)==regexpTag};var isSet=nodeIsSet?baseUnary(nodeIsSet):function(value){return isObjectLike(value)&&getTag(value)==setTag};function isString(value){return"string"==typeof value||!isArray(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}function isSymbol(value){return"symbol"==typeof value||isObjectLike(value)&&baseGetTag(value)==symbolTag}var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):function(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]};var lt=createRelationalOperation(baseLt),lte=createRelationalOperation((function(value,other){return value<=other}));function toArray(value){if(!value)return[];if(isArrayLike(value))return isString(value)?stringToArray(value):copyArray(value);if(symIterator&&value[symIterator])return function(iterator){for(var data,result=[];!(data=iterator.next()).done;)result.push(data.value);return result}(value[symIterator]());var tag=getTag(value);return(tag==mapTag?mapToArray:tag==setTag?setToArray:values)(value)}function toFinite(value){return value?Infinity===(value=toNumber(value))||-Infinity===value?17976931348623157e292*(value<0?-1:1):value==value?value:0:0===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result==result?remainder?result-remainder:result:0}function toLength(value){return value?baseClamp(toInteger(value),0,4294967295):0}function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NaN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value}function toPlainObject(value){return copyObject(value,keysIn(value))}function toString(value){return null==value?"":baseToString(value)}var assign=createAssigner((function(object,source){if(isPrototype(source)||isArrayLike(source))copyObject(source,keys(source),object);else for(var key in source)hasOwnProperty.call(source,key)&&assignValue(object,key,source[key])})),assignIn=createAssigner((function(object,source){copyObject(source,keysIn(source),object)})),assignInWith=createAssigner((function(object,source,srcIndex,customizer){copyObject(source,keysIn(source),object,customizer)})),assignWith=createAssigner((function(object,source,srcIndex,customizer){copyObject(source,keys(source),object,customizer)})),at=flatRest(baseAt);var defaults=baseRest((function(object,sources){object=Object(object);var index=-1,length=sources.length,guard=length>2?sources[2]:undefined;for(guard&&isIterateeCall(sources[0],sources[1],guard)&&(length=1);++index<length;)for(var source=sources[index],props=keysIn(source),propsIndex=-1,propsLength=props.length;++propsIndex<propsLength;){var key=props[propsIndex],value=object[key];(undefined===value||eq(value,objectProto[key])&&!hasOwnProperty.call(object,key))&&(object[key]=source[key])}return object})),defaultsDeep=baseRest((function(args){return args.push(undefined,customDefaultsMerge),apply(mergeWith,undefined,args)}));function get(object,path,defaultValue){var result=null==object?undefined:baseGet(object,path);return undefined===result?defaultValue:result}function hasIn(object,path){return null!=object&&hasPath(object,path,baseHasIn)}var invert=createInverter((function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),result[value]=key}),constant(identity)),invertBy=createInverter((function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]}),getIteratee),invoke=baseRest(baseInvoke);function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}var merge=createAssigner((function(object,source,srcIndex){baseMerge(object,source,srcIndex)})),mergeWith=createAssigner((function(object,source,srcIndex,customizer){baseMerge(object,source,srcIndex,customizer)})),omit=flatRest((function(object,paths){var result={};if(null==object)return result;var isDeep=!1;paths=arrayMap(paths,(function(path){return path=castPath(path,object),isDeep||(isDeep=path.length>1),path})),copyObject(object,getAllKeysIn(object),result),isDeep&&(result=baseClone(result,7,customOmitClone));for(var length=paths.length;length--;)baseUnset(result,paths[length]);return result}));var pick=flatRest((function(object,paths){return null==object?{}:function(object,paths){return basePickBy(object,paths,(function(value,path){return hasIn(object,path)}))}(object,paths)}));function pickBy(object,predicate){if(null==object)return{};var props=arrayMap(getAllKeysIn(object),(function(prop){return[prop]}));return predicate=getIteratee(predicate),basePickBy(object,props,(function(value,path){return predicate(value,path[0])}))}var toPairs=createToPairs(keys),toPairsIn=createToPairs(keysIn);function values(object){return null==object?[]:baseValues(object,keys(object))}var camelCase=createCompounder((function(result,word,index){return word=word.toLowerCase(),result+(index?capitalize(word):word)}));function capitalize(string){return upperFirst(toString(string).toLowerCase())}function deburr(string){return(string=toString(string))&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}var kebabCase=createCompounder((function(result,word,index){return result+(index?"-":"")+word.toLowerCase()})),lowerCase=createCompounder((function(result,word,index){return result+(index?" ":"")+word.toLowerCase()})),lowerFirst=createCaseFirst("toLowerCase");var snakeCase=createCompounder((function(result,word,index){return result+(index?"_":"")+word.toLowerCase()}));var startCase=createCompounder((function(result,word,index){return result+(index?" ":"")+upperFirst(word)}));var upperCase=createCompounder((function(result,word,index){return result+(index?" ":"")+word.toUpperCase()})),upperFirst=createCaseFirst("toUpperCase");function words(string,pattern,guard){return string=toString(string),undefined===(pattern=guard?undefined:pattern)?function(string){return reHasUnicodeWord.test(string)}(string)?function(string){return string.match(reUnicodeWord)||[]}(string):function(string){return string.match(reAsciiWord)||[]}(string):string.match(pattern)||[]}var attempt=baseRest((function(func,args){try{return apply(func,undefined,args)}catch(e){return isError(e)?e:new Error(e)}})),bindAll=flatRest((function(object,methodNames){return arrayEach(methodNames,(function(key){key=toKey(key),baseAssignValue(object,key,bind(object[key],object))})),object}));function constant(value){return function(){return value}}var flow=createFlow(),flowRight=createFlow(!0);function identity(value){return value}function iteratee(func){return baseIteratee("function"==typeof func?func:baseClone(func,1))}var method=baseRest((function(path,args){return function(object){return baseInvoke(object,path,args)}})),methodOf=baseRest((function(object,args){return function(path){return baseInvoke(object,path,args)}}));function mixin(object,source,options){var props=keys(source),methodNames=baseFunctions(source,props);null!=options||isObject(source)&&(methodNames.length||!props.length)||(options=source,source=object,object=this,methodNames=baseFunctions(source,keys(source)));var chain=!(isObject(options)&&"chain"in options&&!options.chain),isFunc=isFunction(object);return arrayEach(methodNames,(function(methodName){var func=source[methodName];object[methodName]=func,isFunc&&(object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=copyArray(this.__actions__);return actions.push({func:func,args:arguments,thisArg:object}),result.__chain__=chainAll,result}return func.apply(object,arrayPush([this.value()],arguments))})})),object}function noop(){}var over=createOver(arrayMap),overEvery=createOver(arrayEvery),overSome=createOver(arraySome);function property(path){return isKey(path)?baseProperty(toKey(path)):function(path){return function(object){return baseGet(object,path)}}(path)}var range=createRange(),rangeRight=createRange(!0);function stubArray(){return[]}function stubFalse(){return!1}var add=createMathOperation((function(augend,addend){return augend+addend}),0),ceil=createRound("ceil"),divide=createMathOperation((function(dividend,divisor){return dividend/divisor}),1),floor=createRound("floor");var source,multiply=createMathOperation((function(multiplier,multiplicand){return multiplier*multiplicand}),1),round=createRound("round"),subtract=createMathOperation((function(minuend,subtrahend){return minuend-subtrahend}),0);return lodash.after=function(n,func){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){if(--n<1)return func.apply(this,arguments)}},lodash.ary=ary,lodash.assign=assign,lodash.assignIn=assignIn,lodash.assignInWith=assignInWith,lodash.assignWith=assignWith,lodash.at=at,lodash.before=before,lodash.bind=bind,lodash.bindAll=bindAll,lodash.bindKey=bindKey,lodash.castArray=function(){if(!arguments.length)return[];var value=arguments[0];return isArray(value)?value:[value]},lodash.chain=chain,lodash.chunk=function(array,size,guard){size=(guard?isIterateeCall(array,size,guard):undefined===size)?1:nativeMax(toInteger(size),0);var length=null==array?0:array.length;if(!length||size<1)return[];for(var index=0,resIndex=0,result=Array(nativeCeil(length/size));index<length;)result[resIndex++]=baseSlice(array,index,index+=size);return result},lodash.compact=function(array){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];value&&(result[resIndex++]=value)}return result},lodash.concat=function(){var length=arguments.length;if(!length)return[];for(var args=Array(length-1),array=arguments[0],index=length;index--;)args[index-1]=arguments[index];return arrayPush(isArray(array)?copyArray(array):[array],baseFlatten(args,1))},lodash.cond=function(pairs){var length=null==pairs?0:pairs.length,toIteratee=getIteratee();return pairs=length?arrayMap(pairs,(function(pair){if("function"!=typeof pair[1])throw new TypeError(FUNC_ERROR_TEXT);return[toIteratee(pair[0]),pair[1]]})):[],baseRest((function(args){for(var index=-1;++index<length;){var pair=pairs[index];if(apply(pair[0],this,args))return apply(pair[1],this,args)}}))},lodash.conforms=function(source){return function(source){var props=keys(source);return function(object){return baseConformsTo(object,source,props)}}(baseClone(source,1))},lodash.constant=constant,lodash.countBy=countBy,lodash.create=function(prototype,properties){var result=baseCreate(prototype);return null==properties?result:baseAssign(result,properties)},lodash.curry=function curry(func,arity,guard){var result=createWrap(func,8,undefined,undefined,undefined,undefined,undefined,arity=guard?undefined:arity);return result.placeholder=curry.placeholder,result},lodash.curryRight=function curryRight(func,arity,guard){var result=createWrap(func,16,undefined,undefined,undefined,undefined,undefined,arity=guard?undefined:arity);return result.placeholder=curryRight.placeholder,result},lodash.debounce=debounce,lodash.defaults=defaults,lodash.defaultsDeep=defaultsDeep,lodash.defer=defer,lodash.delay=delay,lodash.difference=difference,lodash.differenceBy=differenceBy,lodash.differenceWith=differenceWith,lodash.drop=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,(n=guard||undefined===n?1:toInteger(n))<0?0:n,length):[]},lodash.dropRight=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,0,(n=length-(n=guard||undefined===n?1:toInteger(n)))<0?0:n):[]},lodash.dropRightWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0,!0):[]},lodash.dropWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0):[]},lodash.fill=function(array,value,start,end){var length=null==array?0:array.length;return length?(start&&"number"!=typeof start&&isIterateeCall(array,value,start)&&(start=0,end=length),function(array,value,start,end){var length=array.length;for((start=toInteger(start))<0&&(start=-start>length?0:length+start),(end=void 0===end||end>length?length:toInteger(end))<0&&(end+=length),end=start>end?0:toLength(end);start<end;)array[start++]=value;return array}(array,value,start,end)):[]},lodash.filter=function(collection,predicate){return(isArray(collection)?arrayFilter:baseFilter)(collection,getIteratee(predicate,3))},lodash.flatMap=function(collection,iteratee){return baseFlatten(map(collection,iteratee),1)},lodash.flatMapDeep=function(collection,iteratee){return baseFlatten(map(collection,iteratee),Infinity)},lodash.flatMapDepth=function(collection,iteratee,depth){return depth=undefined===depth?1:toInteger(depth),baseFlatten(map(collection,iteratee),depth)},lodash.flatten=flatten,lodash.flattenDeep=function(array){return(null==array?0:array.length)?baseFlatten(array,Infinity):[]},lodash.flattenDepth=function(array,depth){return(null==array?0:array.length)?baseFlatten(array,depth=undefined===depth?1:toInteger(depth)):[]},lodash.flip=function(func){return createWrap(func,512)},lodash.flow=flow,lodash.flowRight=flowRight,lodash.fromPairs=function(pairs){for(var index=-1,length=null==pairs?0:pairs.length,result={};++index<length;){var pair=pairs[index];result[pair[0]]=pair[1]}return result},lodash.functions=function(object){return null==object?[]:baseFunctions(object,keys(object))},lodash.functionsIn=function(object){return null==object?[]:baseFunctions(object,keysIn(object))},lodash.groupBy=groupBy,lodash.initial=function(array){return(null==array?0:array.length)?baseSlice(array,0,-1):[]},lodash.intersection=intersection,lodash.intersectionBy=intersectionBy,lodash.intersectionWith=intersectionWith,lodash.invert=invert,lodash.invertBy=invertBy,lodash.invokeMap=invokeMap,lodash.iteratee=iteratee,lodash.keyBy=keyBy,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=function(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,(function(value,key,object){baseAssignValue(result,iteratee(value,key,object),value)})),result},lodash.mapValues=function(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,(function(value,key,object){baseAssignValue(result,key,iteratee(value,key,object))})),result},lodash.matches=function(source){return baseMatches(baseClone(source,1))},lodash.matchesProperty=function(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,1))},lodash.memoize=memoize,lodash.merge=merge,lodash.mergeWith=mergeWith,lodash.method=method,lodash.methodOf=methodOf,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=function(n){return n=toInteger(n),baseRest((function(args){return baseNth(args,n)}))},lodash.omit=omit,lodash.omitBy=function(object,predicate){return pickBy(object,negate(getIteratee(predicate)))},lodash.once=function(func){return before(2,func)},lodash.orderBy=function(collection,iteratees,orders,guard){return null==collection?[]:(isArray(iteratees)||(iteratees=null==iteratees?[]:[iteratees]),isArray(orders=guard?undefined:orders)||(orders=null==orders?[]:[orders]),baseOrderBy(collection,iteratees,orders))},lodash.over=over,lodash.overArgs=overArgs,lodash.overEvery=overEvery,lodash.overSome=overSome,lodash.partial=partial,lodash.partialRight=partialRight,lodash.partition=partition,lodash.pick=pick,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=function(object){return function(path){return null==object?undefined:baseGet(object,path)}},lodash.pull=pull,lodash.pullAll=pullAll,lodash.pullAllBy=function(array,values,iteratee){return array&&array.length&&values&&values.length?basePullAll(array,values,getIteratee(iteratee,2)):array},lodash.pullAllWith=function(array,values,comparator){return array&&array.length&&values&&values.length?basePullAll(array,values,undefined,comparator):array},lodash.pullAt=pullAt,lodash.range=range,lodash.rangeRight=rangeRight,lodash.rearg=rearg,lodash.reject=function(collection,predicate){return(isArray(collection)?arrayFilter:baseFilter)(collection,negate(getIteratee(predicate,3)))},lodash.remove=function(array,predicate){var result=[];if(!array||!array.length)return result;var index=-1,indexes=[],length=array.length;for(predicate=getIteratee(predicate,3);++index<length;){var value=array[index];predicate(value,index,array)&&(result.push(value),indexes.push(index))}return basePullAt(array,indexes),result},lodash.rest=function(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return baseRest(func,start=undefined===start?start:toInteger(start))},lodash.reverse=reverse,lodash.sampleSize=function(collection,n,guard){return n=(guard?isIterateeCall(collection,n,guard):undefined===n)?1:toInteger(n),(isArray(collection)?arraySampleSize:baseSampleSize)(collection,n)},lodash.set=function(object,path,value){return null==object?object:baseSet(object,path,value)},lodash.setWith=function(object,path,value,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseSet(object,path,value,customizer)},lodash.shuffle=function(collection){return(isArray(collection)?arrayShuffle:baseShuffle)(collection)},lodash.slice=function(array,start,end){var length=null==array?0:array.length;return length?(end&&"number"!=typeof end&&isIterateeCall(array,start,end)?(start=0,end=length):(start=null==start?0:toInteger(start),end=undefined===end?length:toInteger(end)),baseSlice(array,start,end)):[]},lodash.sortBy=sortBy,lodash.sortedUniq=function(array){return array&&array.length?baseSortedUniq(array):[]},lodash.sortedUniqBy=function(array,iteratee){return array&&array.length?baseSortedUniq(array,getIteratee(iteratee,2)):[]},lodash.split=function(string,separator,limit){return limit&&"number"!=typeof limit&&isIterateeCall(string,separator,limit)&&(separator=limit=undefined),(limit=undefined===limit?4294967295:limit>>>0)?(string=toString(string))&&("string"==typeof separator||null!=separator&&!isRegExp(separator))&&!(separator=baseToString(separator))&&hasUnicode(string)?castSlice(stringToArray(string),0,limit):string.split(separator,limit):[]},lodash.spread=function(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=null==start?0:nativeMax(toInteger(start),0),baseRest((function(args){var array=args[start],otherArgs=castSlice(args,0,start);return array&&arrayPush(otherArgs,array),apply(func,this,otherArgs)}))},lodash.tail=function(array){var length=null==array?0:array.length;return length?baseSlice(array,1,length):[]},lodash.take=function(array,n,guard){return array&&array.length?baseSlice(array,0,(n=guard||undefined===n?1:toInteger(n))<0?0:n):[]},lodash.takeRight=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,(n=length-(n=guard||undefined===n?1:toInteger(n)))<0?0:n,length):[]},lodash.takeRightWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!1,!0):[]},lodash.takeWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3)):[]},lodash.tap=function(value,interceptor){return interceptor(value),value},lodash.throttle=function(func,wait,options){var leading=!0,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return isObject(options)&&(leading="leading"in options?!!options.leading:leading,trailing="trailing"in options?!!options.trailing:trailing),debounce(func,wait,{leading:leading,maxWait:wait,trailing:trailing})},lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=toPairs,lodash.toPairsIn=toPairsIn,lodash.toPath=function(value){return isArray(value)?arrayMap(value,toKey):isSymbol(value)?[value]:copyArray(stringToPath(toString(value)))},lodash.toPlainObject=toPlainObject,lodash.transform=function(object,iteratee,accumulator){var isArr=isArray(object),isArrLike=isArr||isBuffer(object)||isTypedArray(object);if(iteratee=getIteratee(iteratee,4),null==accumulator){var Ctor=object&&object.constructor;accumulator=isArrLike?isArr?new Ctor:[]:isObject(object)&&isFunction(Ctor)?baseCreate(getPrototype(object)):{}}return(isArrLike?arrayEach:baseForOwn)(object,(function(value,index,object){return iteratee(accumulator,value,index,object)})),accumulator},lodash.unary=function(func){return ary(func,1)},lodash.union=union,lodash.unionBy=unionBy,lodash.unionWith=unionWith,lodash.uniq=function(array){return array&&array.length?baseUniq(array):[]},lodash.uniqBy=function(array,iteratee){return array&&array.length?baseUniq(array,getIteratee(iteratee,2)):[]},lodash.uniqWith=function(array,comparator){return comparator="function"==typeof comparator?comparator:undefined,array&&array.length?baseUniq(array,undefined,comparator):[]},lodash.unset=function(object,path){return null==object||baseUnset(object,path)},lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=function(object,path,updater){return null==object?object:baseUpdate(object,path,castFunction(updater))},lodash.updateWith=function(object,path,updater,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseUpdate(object,path,castFunction(updater),customizer)},lodash.values=values,lodash.valuesIn=function(object){return null==object?[]:baseValues(object,keysIn(object))},lodash.without=without,lodash.words=words,lodash.wrap=function(value,wrapper){return partial(castFunction(wrapper),value)},lodash.xor=xor,lodash.xorBy=xorBy,lodash.xorWith=xorWith,lodash.zip=zip,lodash.zipObject=function(props,values){return baseZipObject(props||[],values||[],assignValue)},lodash.zipObjectDeep=function(props,values){return baseZipObject(props||[],values||[],baseSet)},lodash.zipWith=zipWith,lodash.entries=toPairs,lodash.entriesIn=toPairsIn,lodash.extend=assignIn,lodash.extendWith=assignInWith,mixin(lodash,lodash),lodash.add=add,lodash.attempt=attempt,lodash.camelCase=camelCase,lodash.capitalize=capitalize,lodash.ceil=ceil,lodash.clamp=function(number,lower,upper){return undefined===upper&&(upper=lower,lower=undefined),undefined!==upper&&(upper=(upper=toNumber(upper))==upper?upper:0),undefined!==lower&&(lower=(lower=toNumber(lower))==lower?lower:0),baseClamp(toNumber(number),lower,upper)},lodash.clone=function(value){return baseClone(value,4)},lodash.cloneDeep=function(value){return baseClone(value,5)},lodash.cloneDeepWith=function(value,customizer){return baseClone(value,5,customizer="function"==typeof customizer?customizer:undefined)},lodash.cloneWith=function(value,customizer){return baseClone(value,4,customizer="function"==typeof customizer?customizer:undefined)},lodash.conformsTo=function(object,source){return null==source||baseConformsTo(object,source,keys(source))},lodash.deburr=deburr,lodash.defaultTo=function(value,defaultValue){return null==value||value!=value?defaultValue:value},lodash.divide=divide,lodash.endsWith=function(string,target,position){string=toString(string),target=baseToString(target);var length=string.length,end=position=undefined===position?length:baseClamp(toInteger(position),0,length);return(position-=target.length)>=0&&string.slice(position,end)==target},lodash.eq=eq,lodash.escape=function(string){return(string=toString(string))&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string},lodash.escapeRegExp=function(string){return(string=toString(string))&&reHasRegExpChar.test(string)?string.replace(reRegExpChar,"\\$&"):string},lodash.every=function(collection,predicate,guard){var func=isArray(collection)?arrayEvery:baseEvery;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))},lodash.find=find,lodash.findIndex=findIndex,lodash.findKey=function(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwn)},lodash.findLast=findLast,lodash.findLastIndex=findLastIndex,lodash.findLastKey=function(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwnRight)},lodash.floor=floor,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=function(object,iteratee){return null==object?object:baseFor(object,getIteratee(iteratee,3),keysIn)},lodash.forInRight=function(object,iteratee){return null==object?object:baseForRight(object,getIteratee(iteratee,3),keysIn)},lodash.forOwn=function(object,iteratee){return object&&baseForOwn(object,getIteratee(iteratee,3))},lodash.forOwnRight=function(object,iteratee){return object&&baseForOwnRight(object,getIteratee(iteratee,3))},lodash.get=get,lodash.gt=gt,lodash.gte=gte,lodash.has=function(object,path){return null!=object&&hasPath(object,path,baseHas)},lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=function(collection,value,fromIndex,guard){collection=isArrayLike(collection)?collection:values(collection),fromIndex=fromIndex&&!guard?toInteger(fromIndex):0;var length=collection.length;return fromIndex<0&&(fromIndex=nativeMax(length+fromIndex,0)),isString(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf(collection,value,fromIndex)>-1},lodash.indexOf=function(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseIndexOf(array,value,index)},lodash.inRange=function(number,start,end){return start=toFinite(start),undefined===end?(end=start,start=0):end=toFinite(end),function(number,start,end){return number>=nativeMin(start,end)&&number<nativeMax(start,end)}(number=toNumber(number),start,end)},lodash.invoke=invoke,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isArrayBuffer=isArrayBuffer,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=function(value){return!0===value||!1===value||isObjectLike(value)&&baseGetTag(value)==boolTag},lodash.isBuffer=isBuffer,lodash.isDate=isDate,lodash.isElement=function(value){return isObjectLike(value)&&1===value.nodeType&&!isPlainObject(value)},lodash.isEmpty=function(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if(tag==mapTag||tag==setTag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0},lodash.isEqual=function(value,other){return baseIsEqual(value,other)},lodash.isEqualWith=function(value,other,customizer){var result=(customizer="function"==typeof customizer?customizer:undefined)?customizer(value,other):undefined;return undefined===result?baseIsEqual(value,other,undefined,customizer):!!result},lodash.isError=isError,lodash.isFinite=function(value){return"number"==typeof value&&nativeIsFinite(value)},lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=isMap,lodash.isMatch=function(object,source){return object===source||baseIsMatch(object,source,getMatchData(source))},lodash.isMatchWith=function(object,source,customizer){return customizer="function"==typeof customizer?customizer:undefined,baseIsMatch(object,source,getMatchData(source),customizer)},lodash.isNaN=function(value){return isNumber(value)&&value!=+value},lodash.isNative=function(value){if(isMaskable(value))throw new Error("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return baseIsNative(value)},lodash.isNil=function(value){return null==value},lodash.isNull=function(value){return null===value},lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=isRegExp,lodash.isSafeInteger=function(value){return isInteger(value)&&value>=-9007199254740991&&value<=9007199254740991},lodash.isSet=isSet,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=isTypedArray,lodash.isUndefined=function(value){return undefined===value},lodash.isWeakMap=function(value){return isObjectLike(value)&&getTag(value)==weakMapTag},lodash.isWeakSet=function(value){return isObjectLike(value)&&"[object WeakSet]"==baseGetTag(value)},lodash.join=function(array,separator){return null==array?"":nativeJoin.call(array,separator)},lodash.kebabCase=kebabCase,lodash.last=last,lodash.lastIndexOf=function(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length;return undefined!==fromIndex&&(index=(index=toInteger(fromIndex))<0?nativeMax(length+index,0):nativeMin(index,length-1)),value==value?function(array,value,fromIndex){for(var index=fromIndex+1;index--;)if(array[index]===value)return index;return index}(array,value,index):baseFindIndex(array,baseIsNaN,index,!0)},lodash.lowerCase=lowerCase,lodash.lowerFirst=lowerFirst,lodash.lt=lt,lodash.lte=lte,lodash.max=function(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined},lodash.maxBy=function(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseGt):undefined},lodash.mean=function(array){return baseMean(array,identity)},lodash.meanBy=function(array,iteratee){return baseMean(array,getIteratee(iteratee,2))},lodash.min=function(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined},lodash.minBy=function(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseLt):undefined},lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=function(){return{}},lodash.stubString=function(){return""},lodash.stubTrue=function(){return!0},lodash.multiply=multiply,lodash.nth=function(array,n){return array&&array.length?baseNth(array,toInteger(n)):undefined},lodash.noConflict=function(){return root._===this&&(root._=oldDash),this},lodash.noop=noop,lodash.now=now,lodash.pad=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;if(!length||strLength>=length)return string;var mid=(length-strLength)/2;return createPadding(nativeFloor(mid),chars)+string+createPadding(nativeCeil(mid),chars)},lodash.padEnd=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;return length&&strLength<length?string+createPadding(length-strLength,chars):string},lodash.padStart=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;return length&&strLength<length?createPadding(length-strLength,chars)+string:string},lodash.parseInt=function(string,radix,guard){return guard||null==radix?radix=0:radix&&(radix=+radix),nativeParseInt(toString(string).replace(reTrimStart,""),radix||0)},lodash.random=function(lower,upper,floating){if(floating&&"boolean"!=typeof floating&&isIterateeCall(lower,upper,floating)&&(upper=floating=undefined),undefined===floating&&("boolean"==typeof upper?(floating=upper,upper=undefined):"boolean"==typeof lower&&(floating=lower,lower=undefined)),undefined===lower&&undefined===upper?(lower=0,upper=1):(lower=toFinite(lower),undefined===upper?(upper=lower,lower=0):upper=toFinite(upper)),lower>upper){var temp=lower;lower=upper,upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom();return nativeMin(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom(lower,upper)},lodash.reduce=function(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEach)},lodash.reduceRight=function(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduceRight:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEachRight)},lodash.repeat=function(string,n,guard){return n=(guard?isIterateeCall(string,n,guard):undefined===n)?1:toInteger(n),baseRepeat(toString(string),n)},lodash.replace=function(){var args=arguments,string=toString(args[0]);return args.length<3?string:string.replace(args[1],args[2])},lodash.result=function(object,path,defaultValue){var index=-1,length=(path=castPath(path,object)).length;for(length||(length=1,object=undefined);++index<length;){var value=null==object?undefined:object[toKey(path[index])];undefined===value&&(index=length,value=defaultValue),object=isFunction(value)?value.call(object):value}return object},lodash.round=round,lodash.runInContext=runInContext,lodash.sample=function(collection){return(isArray(collection)?arraySample:baseSample)(collection)},lodash.size=function(collection){if(null==collection)return 0;if(isArrayLike(collection))return isString(collection)?stringSize(collection):collection.length;var tag=getTag(collection);return tag==mapTag||tag==setTag?collection.size:baseKeys(collection).length},lodash.snakeCase=snakeCase,lodash.some=function(collection,predicate,guard){var func=isArray(collection)?arraySome:baseSome;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))},lodash.sortedIndex=function(array,value){return baseSortedIndex(array,value)},lodash.sortedIndexBy=function(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2))},lodash.sortedIndexOf=function(array,value){var length=null==array?0:array.length;if(length){var index=baseSortedIndex(array,value);if(index<length&&eq(array[index],value))return index}return-1},lodash.sortedLastIndex=function(array,value){return baseSortedIndex(array,value,!0)},lodash.sortedLastIndexBy=function(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2),!0)},lodash.sortedLastIndexOf=function(array,value){if(null==array?0:array.length){var index=baseSortedIndex(array,value,!0)-1;if(eq(array[index],value))return index}return-1},lodash.startCase=startCase,lodash.startsWith=function(string,target,position){return string=toString(string),position=null==position?0:baseClamp(toInteger(position),0,string.length),target=baseToString(target),string.slice(position,position+target.length)==target},lodash.subtract=subtract,lodash.sum=function(array){return array&&array.length?baseSum(array,identity):0},lodash.sumBy=function(array,iteratee){return array&&array.length?baseSum(array,getIteratee(iteratee,2)):0},lodash.template=function(string,options,guard){var settings=lodash.templateSettings;guard&&isIterateeCall(string,options,guard)&&(options=undefined),string=toString(string),options=assignInWith({},options,settings,customDefaultsAssignIn);var isEscaping,isEvaluating,imports=assignInWith({},options.imports,settings.imports,customDefaultsAssignIn),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys),index=0,interpolate=options.interpolate||reNoMatch,source="__p += '",reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g"),sourceURL="//# sourceURL="+(hasOwnProperty.call(options,"sourceURL")?(options.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,(function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){return interpolateValue||(interpolateValue=esTemplateValue),source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar),escapeValue&&(isEscaping=!0,source+="' +\n__e("+escapeValue+") +\n'"),evaluateValue&&(isEvaluating=!0,source+="';\n"+evaluateValue+";\n__p += '"),interpolateValue&&(source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"),index=offset+match.length,match})),source+="';\n";var variable=hasOwnProperty.call(options,"variable")&&options.variable;variable||(source="with (obj) {\n"+source+"\n}\n"),source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;"),source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt((function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)}));if(result.source=source,isError(result))throw result;return result},lodash.times=function(n,iteratee){if((n=toInteger(n))<1||n>9007199254740991)return[];var index=4294967295,length=nativeMin(n,4294967295);n-=4294967295;for(var result=baseTimes(length,iteratee=getIteratee(iteratee));++index<n;)iteratee(index);return result},lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=function(value){return toString(value).toLowerCase()},lodash.toNumber=toNumber,lodash.toSafeInteger=function(value){return value?baseClamp(toInteger(value),-9007199254740991,9007199254740991):0===value?value:0},lodash.toString=toString,lodash.toUpper=function(value){return toString(value).toUpperCase()},lodash.trim=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrim,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),chrSymbols=stringToArray(chars);return castSlice(strSymbols,charsStartIndex(strSymbols,chrSymbols),charsEndIndex(strSymbols,chrSymbols)+1).join("")},lodash.trimEnd=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrimEnd,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string);return castSlice(strSymbols,0,charsEndIndex(strSymbols,stringToArray(chars))+1).join("")},lodash.trimStart=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrimStart,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string);return castSlice(strSymbols,charsStartIndex(strSymbols,stringToArray(chars))).join("")},lodash.truncate=function(string,options){var length=30,omission="...";if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger(options.length):length,omission="omission"in options?baseToString(options.omission):omission}var strLength=(string=toString(string)).length;if(hasUnicode(string)){var strSymbols=stringToArray(string);strLength=strSymbols.length}if(length>=strLength)return string;var end=length-stringSize(omission);if(end<1)return omission;var result=strSymbols?castSlice(strSymbols,0,end).join(""):string.slice(0,end);if(undefined===separator)return result+omission;if(strSymbols&&(end+=result.length-end),isRegExp(separator)){if(string.slice(end).search(separator)){var match,substring=result;for(separator.global||(separator=RegExp(separator.source,toString(reFlags.exec(separator))+"g")),separator.lastIndex=0;match=separator.exec(substring);)var newEnd=match.index;result=result.slice(0,undefined===newEnd?end:newEnd)}}else if(string.indexOf(baseToString(separator),end)!=end){var index=result.lastIndexOf(separator);index>-1&&(result=result.slice(0,index))}return result+omission},lodash.unescape=function(string){return(string=toString(string))&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string},lodash.uniqueId=function(prefix){var id=++idCounter;return toString(prefix)+id},lodash.upperCase=upperCase,lodash.upperFirst=upperFirst,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,(source={},baseForOwn(lodash,(function(func,methodName){hasOwnProperty.call(lodash.prototype,methodName)||(source[methodName]=func)})),source),{chain:!1}),lodash.VERSION="4.17.20",arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(methodName){lodash[methodName].placeholder=lodash})),arrayEach(["drop","take"],(function(methodName,index){LazyWrapper.prototype[methodName]=function(n){n=undefined===n?1:nativeMax(toInteger(n),0);var result=this.__filtered__&&!index?new LazyWrapper(this):this.clone();return result.__filtered__?result.__takeCount__=nativeMin(n,result.__takeCount__):result.__views__.push({size:nativeMin(n,4294967295),type:methodName+(result.__dir__<0?"Right":"")}),result},LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(methodName,index){var type=index+1,isFilter=1==type||3==type;LazyWrapper.prototype[methodName]=function(iteratee){var result=this.clone();return result.__iteratees__.push({iteratee:getIteratee(iteratee,3),type:type}),result.__filtered__=result.__filtered__||isFilter,result}})),arrayEach(["head","last"],(function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}})),arrayEach(["initial","tail"],(function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(predicate){return this.filter(predicate).head()},LazyWrapper.prototype.findLast=function(predicate){return this.reverse().find(predicate)},LazyWrapper.prototype.invokeMap=baseRest((function(path,args){return"function"==typeof path?new LazyWrapper(this):this.map((function(value){return baseInvoke(value,path,args)}))})),LazyWrapper.prototype.reject=function(predicate){return this.filter(negate(getIteratee(predicate)))},LazyWrapper.prototype.slice=function(start,end){start=toInteger(start);var result=this;return result.__filtered__&&(start>0||end<0)?new LazyWrapper(result):(start<0?result=result.takeRight(-start):start&&(result=result.drop(start)),undefined!==end&&(result=(end=toInteger(end))<0?result.dropRight(-end):result.take(end-start)),result)},LazyWrapper.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(4294967295)},baseForOwn(LazyWrapper.prototype,(function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash[isTaker?"take"+("last"==methodName?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);lodashFunc&&(lodash.prototype[methodName]=function(){var value=this.__wrapped__,args=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value),interceptor=function(value){var result=lodashFunc.apply(lodash,arrayPush([value],args));return isTaker&&chainAll?result[0]:result};useLazy&&checkIteratee&&"function"==typeof iteratee&&1!=iteratee.length&&(isLazy=useLazy=!1);var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);return result.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(result,chainAll)}return isUnwrapped&&onlyLazy?func.apply(this,args):(result=this.thru(interceptor),isUnwrapped?isTaker?result.value()[0]:result.value():result)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(methodName){var func=arrayProto[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray(value)?value:[],args)}return this[chainName]((function(value){return func.apply(isArray(value)?value:[],args)}))}})),baseForOwn(LazyWrapper.prototype,(function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name+"";hasOwnProperty.call(realNames,key)||(realNames[key]=[]),realNames[key].push({name:methodName,func:lodashFunc})}})),realNames[createHybrid(undefined,2).name]=[{name:"wrapper",func:undefined}],LazyWrapper.prototype.clone=function(){var result=new LazyWrapper(this.__wrapped__);return result.__actions__=copyArray(this.__actions__),result.__dir__=this.__dir__,result.__filtered__=this.__filtered__,result.__iteratees__=copyArray(this.__iteratees__),result.__takeCount__=this.__takeCount__,result.__views__=copyArray(this.__views__),result},LazyWrapper.prototype.reverse=function(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1,result.__filtered__=!0}else(result=this.clone()).__dir__*=-1;return result},LazyWrapper.prototype.value=function(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=function(start,end,transforms){var index=-1,length=transforms.length;for(;++index<length;){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size)}}return{start:start,end:end}}(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length)return baseWrapperValue(array,this.__actions__);var result=[];outer:for(;length--&&resIndex<takeCount;){for(var iterIndex=-1,value=array[index+=dir];++iterIndex<iterLength;){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(2==type)value=computed;else if(!computed){if(1==type)continue outer;break outer}}result[resIndex++]=value}return result},lodash.prototype.at=wrapperAt,lodash.prototype.chain=function(){return chain(this)},lodash.prototype.commit=function(){return new LodashWrapper(this.value(),this.__chain__)},lodash.prototype.next=function(){undefined===this.__values__&&(this.__values__=toArray(this.value()));var done=this.__index__>=this.__values__.length;return{done:done,value:done?undefined:this.__values__[this.__index__++]}},lodash.prototype.plant=function(value){for(var result,parent=this;parent instanceof baseLodash;){var clone=wrapperClone(parent);clone.__index__=0,clone.__values__=undefined,result?previous.__wrapped__=clone:result=clone;var previous=clone;parent=parent.__wrapped__}return previous.__wrapped__=value,result},lodash.prototype.reverse=function(){var value=this.__wrapped__;if(value instanceof LazyWrapper){var wrapped=value;return this.__actions__.length&&(wrapped=new LazyWrapper(this)),(wrapped=wrapped.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:undefined}),new LodashWrapper(wrapped,this.__chain__)}return this.thru(reverse)},lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=function(){return baseWrapperValue(this.__wrapped__,this.__actions__)},lodash.prototype.first=lodash.prototype.head,symIterator&&(lodash.prototype[symIterator]=function(){return this}),lodash}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(root._=_,define((function(){return _}))):freeModule?((freeModule.exports=_)._=_,freeExports._=_):root._=_}).call(this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],730:[function(require,module,exports){(function(global){(function(){
|
|
259
|
+
`)}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowCodeMerge=BLZFlowCodeMerge},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557,"ts-dedent":732}],561:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowLog=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowLog extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.log},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}executionType(){return Flow_1.BLZFlowExecutionType.customWithoutBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.noExecution()}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,_flowIdentifier,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("source");if(!source)throw Error("Log statement invalid or variable not defined yet");let data=yield source.asValue(dataContext,executionContext),description=this.convertToString(data);executionContext.logger.logUser(description,executionContext.executedBlueprint),console.log(description)}))}convertToString(variable){return null===variable?"null":variable instanceof Map?JSON.stringify(Array.from(variable.entries())):JSON.stringify(variable)}}exports.BLZFlowLog=BLZFlowLog},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],562:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowEmit=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),EmittedContent_1=require("./../../../emitters/EmittedContent"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("../../../../configuration/KeywordsFlows");class BLZFlowEmit extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.emit},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"file"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(dataContext,body,executionContext,_configuration,_outputs,sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){var _a;return __awaiter(this,void 0,void 0,(function*(){let blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name must be provided");var blueprintName="";let possibleName=blueprintNameSource.asString();if(possibleName&&StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(possibleName))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(possibleName);else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if("string"!=typeof computedBlueprintName)throw Error("Blueprint name must resolve to string");blueprintName=computedBlueprintName}let emittedContent=new EmittedContent_1.BLZEmittedContent(blueprintName,null!==(_a=body.result)&&void 0!==_a?_a:"");executionContext.blueprintEmitter.emit(emittedContent),resolve("")}))}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowEmit=BLZFlowEmit},{"../../../../configuration/KeywordsFlows":513,"./../../../../utils/StringUtils":698,"./../../../emitters/EmittedContent":554,"./../../Flow":556,"./../../FlowIterator":557}],563:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowImport=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),BlueprintConfiguration_1=require("./../../../../blueprints/BlueprintConfiguration"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowImport extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.import},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"from"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let variableNameOutput=outputs.get("variableName");if(!variableNameOutput)throw Error("Variable name must be provided");let variableName=variableNameOutput.asString(),blueprintName="",blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name argument must be provided");if(blueprintName=blueprintNameSource.asString(),StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(blueprintName))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(blueprintName);else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if("string"!=typeof computedBlueprintName)throw Error("Blueprint name must resolve to string");blueprintName=computedBlueprintName}let payload={type:"function",declaration:executionContext.blueprintLoader.loadBlueprint(blueprintName,executionContext,BlueprintConfiguration_1.BLZBlueprintConfiguration.default()).declaration};executionContext.variableContext.setVariable(variableName,!1,!1,flowIdentifier,payload)}))}}exports.BLZFlowImport=BLZFlowImport},{"./../../../../blueprints/BlueprintConfiguration":511,"./../../../../configuration/KeywordsFlows":513,"./../../../../utils/StringUtils":698,"./../../Flow":556,"./../../FlowIterator":557}],564:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowReturn=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowReturn extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.return},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"data"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,_flowIdentifier,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let dataSource=sources.get("data");if(!dataSource)throw Error("Return data must be provided");let data=yield dataSource.asValue(dataContext,executionContext);if(!(data&&data instanceof Map))throw Error("Return data must resolve to dictionary");const returnStack=executionContext.getFunctionReturnStack();0!==returnStack.length?(returnStack.pop(),returnStack.push(data)):console.warn("Using return flow without call to function")}))}}exports.BLZFlowReturn=BLZFlowReturn},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],565:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowElse=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowElse extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.else}]}canFormChainRoot(){return!1}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return this.resolveAsTrue()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowElse=BLZFlowElse},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],566:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowElseIf=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowElseIf extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.elseIf},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"condition"}]}chainableFlows(){return["elseif","else"]}canFormChainRoot(){return!1}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("condition");if(!source)throw Error("Condition must be provided");let value=yield source.asValue(_currentContext,_executionContext);return value?"boolean"==typeof value?value?this.resolveAsTrue():this.resolveAsFalse():"number"==typeof value?value>=1?this.resolveAsTrue():this.resolveAsFalse():"string"==typeof value&&value.length>0?this.resolveAsTrue():this.resolveAsFalse():this.resolveAsFalse()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowElseIf=BLZFlowElseIf},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],567:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowIf=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowIf extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.if},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"condition"}]}chainableFlows(){return["elseif","else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("condition");if(!source)throw Error("Condition must be provided");let value=yield source.asValue(_currentContext,_executionContext);return value?"boolean"==typeof value?value?this.resolveAsTrue():this.resolveAsFalse():"number"==typeof value?value>=1?this.resolveAsTrue():this.resolveAsFalse():"string"==typeof value&&value.length>0?this.resolveAsTrue():this.resolveAsFalse():this.resolveAsFalse()}))}resolveAsTrue(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}resolveAsFalse(){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.followThroughExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowIf=BLZFlowIf},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],568:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowInject=void 0;const FlowUtils_1=require("./../../../../utils/FlowUtils"),InterpreterContext_1=require("./../../../InterpreterContext"),FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),Interpreter_1=require("../../../Interpreter"),StringUtils_1=require("./../../../../utils/StringUtils"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows"),lodash_1=require("lodash");class BLZFlowInject extends Flow_1.BLZFlow{constructor(){super(...arguments),this.cachedBlueprints=new Map}flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.inject},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"blueprintName"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.optional,definition:"formatFirstLine"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.optional,definition:"userOffset"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(dataContext,body,executionContext,configuration,outputs,sources,_keywords,lineOffset,firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let blueprintName="",blueprintNameSource=sources.get("blueprintName");if(!blueprintNameSource)throw Error("Blueprint name argument must be provided");if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(blueprintNameSource.asString()))blueprintName=StringUtils_1.StringUtils.withoutDoubleQuotes(blueprintNameSource.asString());else{let computedBlueprintName=yield blueprintNameSource.asValue(dataContext,executionContext);if(!computedBlueprintName||"string"!=typeof computedBlueprintName)throw Error("BLueprint name must resolve to string");blueprintName=computedBlueprintName}let injectionContext=yield source.asValue(dataContext,executionContext);if(!injectionContext||!lodash_1.isPlainObject(injectionContext)&&!(injectionContext instanceof Map))throw Error(`Context for injected blueprint must resolve to dictionary, blueprint '${blueprintName}'`);lodash_1.isPlainObject(injectionContext)&&(injectionContext=new Map(Object.entries(injectionContext)));var shouldFormatFirstLine=firstLineDirective;let canOverride=outputs.get("formatFirstLine");canOverride&&(shouldFormatFirstLine=null!==(_a=canOverride.asBool())&&void 0!==_a&&_a);var userOffset=0;let offsetLines=outputs.get("userOffset");offsetLines&&(userOffset=null!==(_b=offsetLines.asNumber())&&void 0!==_b?_b:0);let blueprint=executionContext.blueprintLoader.loadBlueprint(blueprintName,executionContext,configuration),interpreter=new Interpreter_1.BLZInterpreter,additions=new Map;additions.set("#body",null!==(_c=body.result)&&void 0!==_c?_c:"");let interpreterContext=new InterpreterContext_1.BLZInterpreterContext(injectionContext,additions),result=yield interpreter.interpret(blueprint,interpreterContext,executionContext);resolve(FlowUtils_1.FlowUtils.offsetLinesCanIgnoreFirstline(result,!shouldFormatFirstLine,userOffset,lineOffset," "))}))}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowInject=BLZFlowInject},{"../../../Interpreter":551,"./../../../../configuration/KeywordsFlows":513,"./../../../../utils/FlowUtils":697,"./../../../../utils/StringUtils":698,"./../../../InterpreterContext":552,"./../../Flow":556,"./../../FlowIterator":557,lodash:729}],569:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowFor=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowFor extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.for},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"in"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}chainableFlows(){return["else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let output=outputs.get("key"),source=sources.get("source");if(!output||!source)throw Error("Key and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Array))throw Error("For source must be an array, but it's type is "+typeof sourceData);const sourceArray=sourceData;if(0===sourceArray.length)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;return sourceArray.forEach(((value,index)=>{let adjustment=new Map,key=output.asString();adjustment.set(key,value),adjustment.set("#index",index),adjustment.set("#first",0===index),adjustment.set("#last",index===sourceArray.length-1);const even=index%2==0;adjustment.set("#even",even),adjustment.set("#odd",!even),contextAdjustments.push(adjustment)})),FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowFor=BLZFlowFor},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],570:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowMap=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowMap extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.map},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"to"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"}]}chainableFlows(){return["else"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let key=outputs.get("key"),value=outputs.get("value"),source=sources.get("source");if(!key||!value||!source)throw Error("Key, value and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Map))throw Error("Map source must be a dictionary");if(0===sourceData.size)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;for(let[sKey,sValue]of sourceData){let adjustment=new Map;adjustment.set(key.asString(),sKey),adjustment.set(value.asString(),sValue),contextAdjustments.push(adjustment)}return FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowMap=BLZFlowMap},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],571:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowTraverse=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowTraverse extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.traverse},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"key"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"into"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"},{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let output=outputs.get("key"),source=sources.get("source"),value=outputs.get("value");if(!output||!source||!value)throw Error("Key and source arguments must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!(sourceData&&sourceData instanceof Map))throw Error("For source must be a dictionary");if(0===sourceData.size)return FlowIterator_1.FlowIterator.followThroughExecution(new Map);let contextAdjustments=new Array;for(let[key,value]of sourceData){let adjustment=new Map;adjustment.set(key,value),contextAdjustments.push(adjustment)}return FlowIterator_1.FlowIterator.iterativeExecution(contextAdjustments)}))}traverseMakeContext(context,key,bindTo){var contextAdjustments=new Array;(new Map).set(bindTo,context);let nestedArray=context.get(key);if(nestedArray instanceof Array)for(let subcontext of nestedArray){if(!(subcontext instanceof Map))throw Error("Nested array must only contain dictionaries");contextAdjustments.concat(this.traverseMakeContext(subcontext,key,bindTo))}return contextAdjustments}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowTraverse=BLZFlowTraverse},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],572:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowCase=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowCase extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.case},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"value"}]}chainableFlows(){return["case","default"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,_executionContext,outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let userValue=outputs.get("value");if(!userValue)throw Error("Case value must be provided");let switchValue=currentContext.data.get("@internal.switch");if(!switchValue)throw Error("Internal error - switch chain data not provided");if("number"==typeof switchValue&&userValue.asNumber()===switchValue)return FlowIterator_1.FlowIterator.singleExecution(new Map);if("string"==typeof switchValue&&userValue.asString()===switchValue)return FlowIterator_1.FlowIterator.singleExecution(new Map);let followingContextEnhancement=new Map;return followingContextEnhancement.set("@internal.switch",switchValue),FlowIterator_1.FlowIterator.followThroughExecution(followingContextEnhancement)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowCase=BLZFlowCase},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],573:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowDefault=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowDefault extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.default}]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowDefault=BLZFlowDefault},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],574:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowSwitch=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowSwitch extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.switch},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"source"}]}chainableFlows(){return["case"]}executionType(){return Flow_1.BLZFlowExecutionType.defaultBody}createBodyIterator(currentContext,executionContext,_outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("source");if(!source)throw Error("Property to switch must be provided");let sourceData=yield source.asValue(currentContext,executionContext);if(!sourceData||"string"!=typeof sourceData&&"number"!=typeof sourceData)throw Error("Switch only supports string and numeric values");let switchData=new Map;return switchData.set("@internal.switch",sourceData),FlowIterator_1.FlowIterator.followThroughExecution(switchData)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(_dataContext,_body,_executionContext,_flowIdentifier,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){}))}}exports.BLZFlowSwitch=BLZFlowSwitch},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],575:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowGlobal=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowGlobal extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.global},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!0,!1,flowIdentifier,value)}))}}exports.BLZFlowGlobal=BLZFlowGlobal},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],576:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowLet=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowLet extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.let},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!1,!1,flowIdentifier,value)}))}}exports.BLZFlowLet=BLZFlowLet},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],577:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowSet=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowSet extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.set},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.getVariable(variableName,flowIdentifier).setPayload(value)}))}}exports.BLZFlowSet=BLZFlowSet},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],578:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFlowVar=void 0;const FlowIterator_1=require("./../../FlowIterator"),Flow_1=require("./../../Flow"),KeywordsFlows_1=require("./../../../../configuration/KeywordsFlows");class BLZFlowVar extends Flow_1.BLZFlow{flowFormat(){return[{type:Flow_1.BLZFlowFormatType.keyword,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:KeywordsFlows_1.BLZKeywordsFlows.var},{type:Flow_1.BLZFlowFormatType.output,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"variableName"},{type:Flow_1.BLZFlowFormatType.source,requirement:Flow_1.BLZFlowFormatRequirement.required,definition:"context"}]}executionType(){return Flow_1.BLZFlowExecutionType.customBody}createBodyIterator(_currentContext,_executionContext,_outputs,_sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){return FlowIterator_1.FlowIterator.singleExecution(new Map)}))}createFlowExecutor(_dataContext,_body,_executionContext,_configuration,_outputs,_sources,_keywords,_lineOffset,_firstLineDirective){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(resolve,_){resolve("")}))}))}adjustInterpretingContext(_dataContext,_body,_executionContext,_outputs,_sources,_keywords){return null}adjustExecutingContext(dataContext,_body,executionContext,flowIdentifier,outputs,sources,_keywords){return __awaiter(this,void 0,void 0,(function*(){let source=sources.get("context");if(!source)throw Error("Context must be provided");let value=yield source.asValue(dataContext,executionContext),variableNameObject=outputs.get("variableName");if(!variableNameObject)throw Error("Variable name must be provided");let variableName=variableNameObject.asString();executionContext.variableContext.setVariable(variableName,!1,!0,flowIdentifier,value)}))}}exports.BLZFlowVar=BLZFlowVar},{"./../../../../configuration/KeywordsFlows":513,"./../../Flow":556,"./../../FlowIterator":557}],579:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunction=void 0;const FunctionArgument_1=require("./FunctionArgument"),StringUtils_1=require("./../../utils/StringUtils");exports.BLZFunction=class{numberOfArguments(){throw Error("Function arguments must be registered")}isVariadic(){return!1}keyword(){throw Error("Function keyword must be registered")}documentation(){return null}isPrivate(){return!1}constructor(){}provideValueUsingArgumentString(argumentString,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let args=this.parseArgumentsFromArgumentString(argumentString);return this.provideValueUsingArguments(args,context,executionContext)}))}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("Function must declare its body")}))}))}parseArgumentsFromArgumentString(argumentString){let pieces=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(argumentString,",").map((value=>StringUtils_1.StringUtils.trimmed(value)));if(this.isVariadic()?pieces.length<this.numberOfArguments():pieces.length!==this.numberOfArguments())throw Error(`expectedDifferentNoArguments: ${this.keyword()}, actual=${pieces.length}, expected=${this.numberOfArguments()}`);let args=[];for(let[index,piece]of pieces.entries())args.push(new FunctionArgument_1.BLZFunctionArgument(piece,this.keyword(),index));return args}enrichArgumentError(position,error){let message=error.message;return Error(`Invalid argument ${position} of ${this.keyword()}: ${message}`)}expectString(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectString(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectInt(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectInt(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectDouble(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectDouble(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectNumeric(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectNumeric(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectBool(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectBool(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectArray(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectArray(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectDictionary(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return yield argument.expectDictionary(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectAnyNonNull(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return argument.expectAnyNonNull(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectAny(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){let argument=this.expectArgument(position,args);try{return argument.expectAny(context,ec)}catch(error){throw this.enrichArgumentError(position,error)}}))}expectArgument(position,args){if(position>args.length)throw Error(`Invalid implementation of function ${this.keyword()}, expecting argument #${position} but function only provides ${this.numberOfArguments()}`);return args[position]}equals(obj){return this.keyword()===obj.keyword()}}},{"./../../utils/StringUtils":698,"./FunctionArgument":580}],580:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionArgument=void 0;const StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeSubstitution_1=require("../../parser/syntax/nodes/SyntaxNodeSubstitution"),FlowSource_1=require("../flows/FlowSource"),lodash_1=require("lodash");exports.BLZFunctionArgument=class{constructor(argument,keyword,position){if(0===argument.length)throw Error(`functionArgumentEmpty(#${position} - ${keyword})`);this.backingProperty=argument}expectString(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let result=yield this.resolveAsSource(interpreterContext,ec);if(null!==result&&"string"==typeof result)return result;throw Error(`Function argument ${content} should resolve to string`)}}catch(error){throw error}}))}expectInt(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectDouble(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectNumeric(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Function argument ${content} expected to be a number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Function argument ${content} should resolve to number, not string`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectBool(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content)){let noQuotesContent=StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);throw"false"===noQuotesContent||"true"===noQuotesContent?Error(`${noQuotesContent} can't be surrounded with quotes`):Error(`Function argument ${content} expected to be boolean, not string`)}if("true"===content)return!0;if("false"===content)return!1;{let result=yield this.resolveAsSource(interpreterContext,ec);if("boolean"==typeof result)return result;throw Error(`Function argument ${content} should resolve to boolean`)}}catch(error){throw error}}))}expectArray(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be array, not string`);{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Array)return result;throw Error(`Transformer argument ${content} should resolve to array`)}}catch(error){throw error}}))}expectDictionary(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be dictionary, not string`);{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Map)return result;if(lodash_1.isPlainObject(result))return new Map(Object.entries(result));throw Error(`Transformer argument ${content} should resolve to dictionary`)}}catch(error){throw error}}))}expectAnyNonNull(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null!==asNumber&&!Number.isNaN(asNumber))return asNumber.valueOf();if("false"===content)return!1;if("true"===content)return!0;if(null!==(yield this.resolveAsSource(interpreterContext,ec)))throw Error(`Function argument ${content} should resolve to value, not null`)}}catch(error){throw error}}))}expectAny(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){if("false"===content)return!1;if("true"===content)return!0;return yield this.resolveAsSource(interpreterContext,ec)}return asNumber.valueOf()}}catch(error){throw error}}))}resolveAsSource(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(this.backingProperty,ec),flowSource=new FlowSource_1.BLZFlowSource(substitutionNode);return yield flowSource.asValue(interpreterContext,ec)}catch(error){throw error}}))}}},{"../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"../flows/FlowSource":559,"./../../utils/StringUtils":698,lodash:729}],581:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionCall=void 0;const InterpreterContext_1=require("../../../InterpreterContext"),Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions"),Interpreter_1=require("../../../Interpreter");class BLZFunctionCall extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.blueprintsCall}provideValueUsingArguments(args,context,executionContext){var _a;return __awaiter(this,void 0,void 0,(function*(){const fname=yield this.expectString(0,args,context,executionContext),fargs=yield this.expectDictionary(1,args,context,executionContext);let blueprint=executionContext.blueprintLoader.loadBlueprint(fname,executionContext,null),interpreter=new Interpreter_1.BLZInterpreter,interpreterContext=new InterpreterContext_1.BLZInterpreterContext(fargs);executionContext.getFunctionReturnStack().push(new Map);let output=yield interpreter.interpret(blueprint,interpreterContext,executionContext),returnedData=null!==(_a=executionContext.getFunctionReturnStack().pop())&&void 0!==_a?_a:null;if(!returnedData)throw Error("No data to return");return returnedData.set("output",output),returnedData}))}}exports.BLZFunctionCall=BLZFunctionCall},{"../../../Interpreter":551,"../../../InterpreterContext":552,"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],582:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionAnd=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionAnd extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanAnd}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){for(let arg of args){if(!(yield arg.expectBool(context,executionContext)))return!1}return!0}))}}exports.BLZFunctionAnd=BLZFunctionAnd},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],583:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNot=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNot extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanNot}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!(yield this.expectBool(0,args,context,executionContext))}))}}exports.BLZFunctionNot=BLZFunctionNot},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],584:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionOr=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionOr extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanOr}isVariadic(){return!0}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){for(let arg of args){if(yield arg.expectBool(context,executionContext))return!0}return!1}))}}exports.BLZFunctionOr=BLZFunctionOr},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],585:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionTernaryValue=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionTernaryValue extends Function_1.BLZFunction{numberOfArguments(){return 3}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.booleanTernaryValue}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let condition=yield this.expectBool(0,args,context,executionContext);return yield this.expectAnyNonNull(condition?1:2,args,context,executionContext)}))}}exports.BLZFunctionTernaryValue=BLZFunctionTernaryValue},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],586:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectAny(0,args,context,executionContext))===(yield this.expectAny(1,args,context,executionContext))}))}}exports.BLZFunctionEquals=BLZFunctionEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],587:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionCompareEmpty=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("../../../../configuration/KeywordsFunctions");class BLZFunctionCompareEmpty extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareEmpty}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let x=yield this.expectAny(0,args,context,executionContext);return Array.isArray(x)?0===x.length:!x}))}}exports.BLZFunctionCompareEmpty=BLZFunctionCompareEmpty},{"../../../../configuration/KeywordsFunctions":514,"../../Function":579}],588:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEqualsNonNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEqualsNonNull extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareNonNull}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!!(yield this.expectAny(0,args,context,executionContext))}))}}exports.BLZFunctionEqualsNonNull=BLZFunctionEqualsNonNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],589:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionEqualsNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionEqualsNull extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareNull}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return!(yield this.expectAny(0,args,context,executionContext))}))}}exports.BLZFunctionEqualsNull=BLZFunctionEqualsNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],590:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionGreaterThan=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionGreaterThan extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareGreaterThan}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))>(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionGreaterThan=BLZFunctionGreaterThan},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],591:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionGreaterThanEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionGreaterThanEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareGreaterThanEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))>=(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionGreaterThanEquals=BLZFunctionGreaterThanEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],592:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionLessThan=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionLessThan extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareLessThan}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))<(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionLessThan=BLZFunctionLessThan},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],593:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionLessThanEquals=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionLessThanEquals extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.compareLessThanEquals}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return(yield this.expectNumeric(0,args,context,executionContext))<=(yield this.expectNumeric(1,args,context,executionContext))}))}}exports.BLZFunctionLessThanEquals=BLZFunctionLessThanEquals},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],594:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewArray extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewArray}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Array}))}}exports.BLZFunctionNewArray=BLZFunctionNewArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],595:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewDate=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions"),moment_1=__importDefault(require("moment"));class BLZFunctionNewDate extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewDate}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return moment_1.default().unix()}))}}exports.BLZFunctionNewDate=BLZFunctionNewDate},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514,moment:731}],596:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewDictionary=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewDictionary extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewDictionary}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Map}))}}exports.BLZFunctionNewDictionary=BLZFunctionNewDictionary},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],597:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewNull=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewNull extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewNull}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return null}))}}exports.BLZFunctionNewNull=BLZFunctionNewNull},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],598:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewNumber=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewNumber extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewNumber}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0}))}}exports.BLZFunctionNewNumber=BLZFunctionNewNumber},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],599:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNewString=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionNewString extends Function_1.BLZFunction{numberOfArguments(){return 0}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.initNewString}provideValueUsingArguments(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return""}))}}exports.BLZFunctionNewString=BLZFunctionNewString},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],600:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionNetworkGetAnonymous=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("../../../../configuration/KeywordsFunctions"),axios_1=__importDefault(require("axios"));class BLZFunctionNetworkGetAnonymous extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.networkGetAnonymous}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let url=yield this.expectString(0,args,context,executionContext);return new Promise(((respond,reject)=>{axios_1.default.get(url).then((value=>{if(value.data instanceof Object){let data=new Map(Object.entries(value.data));respond(data)}else respond(value.data)})).catch((error=>{reject(error)}))}))}))}}exports.BLZFunctionNetworkGetAnonymous=BLZFunctionNetworkGetAnonymous},{"../../../../configuration/KeywordsFunctions":514,"../../Function":579,axios:699}],601:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomNumber=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomNumber extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomNumber}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let lowLimit=yield this.expectInt(0,args,context,executionContext),highLimit=yield this.expectInt(1,args,context,executionContext);if(lowLimit>=highLimit)throw Error("Low range can't be smaller than high range");return Math.floor(Math.random()*highLimit-lowLimit)+lowLimit}))}}exports.BLZFunctionRandomNumber=BLZFunctionRandomNumber},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],602:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomNumericArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomNumericArray extends Function_1.BLZFunction{numberOfArguments(){return 3}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomNumberArray}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let arraySize=yield this.expectInt(0,args,context,executionContext),lowLimit=yield this.expectInt(1,args,context,executionContext),highLimit=yield this.expectInt(2,args,context,executionContext);if(lowLimit>=highLimit)throw Error("Low range can't be smaller than high range");if(arraySize<=0)throw Error("Random array must be created non-empty");let array=Array();for(let i=0;i<arraySize;i++){let randomNumber=Math.floor(Math.random()*highLimit-lowLimit)+lowLimit;array.push(randomNumber)}return array}))}}exports.BLZFunctionRandomNumericArray=BLZFunctionRandomNumericArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],603:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomString=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomString extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomString}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let stringLength=yield yield this.expectInt(0,args,context,executionContext);if(stringLength<=0)throw Error("Random strinng must be created non-empty");return" ".repeat(stringLength)}))}}exports.BLZFunctionRandomString=BLZFunctionRandomString},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],604:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionRandomStringArray=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionRandomStringArray extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.randomStringArray}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let arraySize=yield yield this.expectInt(0,args,context,executionContext),stringLength=yield yield this.expectInt(1,args,context,executionContext);if(arraySize<=0)throw Error("Random array must be created non-empty");let array=Array();for(let i=0;i<arraySize;i++)array.push(" ".repeat(stringLength));return array}))}}exports.BLZFunctionRandomStringArray=BLZFunctionRandomStringArray},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],605:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionArraysToZippedMap=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionArraysToZippedMap extends Function_1.BLZFunction{numberOfArguments(){return 2}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.supportArraysToZippedMap}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let keyArray=yield yield this.expectArray(0,args,context,executionContext),valueArray=yield yield this.expectArray(1,args,context,executionContext);if(keyArray.length!==valueArray.length)throw new Error("Key and value arrays must be the same size");let objectMap=new Map;for(let[index,key]of keyArray.entries()){let value=valueArray[index];objectMap.set(key,value)}return objectMap}))}}exports.BLZFunctionArraysToZippedMap=BLZFunctionArraysToZippedMap},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],606:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionVarDefined=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionVarDefined extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.varDefined}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let identifier=yield yield this.expectString(0,args,context,executionContext);return!!executionContext.variableContext.getVariableFailable(identifier,executionContext.executedScope)}))}}exports.BLZFunctionVarDefined=BLZFunctionVarDefined},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],607:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZFunctionVarMutable=void 0;const Function_1=require("../../Function"),KeywordsFunctions_1=require("./../../../../configuration/KeywordsFunctions");class BLZFunctionVarMutable extends Function_1.BLZFunction{numberOfArguments(){return 1}keyword(){return KeywordsFunctions_1.BLZKeywordsFunctions.varMutable}provideValueUsingArguments(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let identifier=yield this.expectString(0,args,context,executionContext),possibleVariable=executionContext.variableContext.getVariableFailable(identifier,executionContext.executedScope);return!(!possibleVariable||!possibleVariable.isMutable)}))}}exports.BLZFunctionVarMutable=BLZFunctionVarMutable},{"../../Function":579,"./../../../../configuration/KeywordsFunctions":514}],608:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintLoader=void 0;exports.BLZBlueprintLoader=class{constructor(){this.cachedBlueprints=new Map}cache(blueprint,id=null){this.cachedBlueprints[null!=id?id:blueprint.id]=blueprint}cachedBlueprint(id){var _a;return null!==(_a=this.cachedBlueprints[id])&&void 0!==_a?_a:null}removeCachedBlueprint(id){return this.cachedBlueprints.delete(id)}removeCachedBlueprints(){this.cachedBlueprints=new Map}loadBlueprint(_blueprintId,_executionContext,_configuration){throw Error("Blueprint loader must provide its own loading routine")}}},{}],609:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZMemoryBlueprintLoader=void 0;const BlueprintFactory_1=require("./../../blueprints/BlueprintFactory"),BlueprintLoader_1=require("./BlueprintLoader");class BLZMemoryBlueprintLoader extends BlueprintLoader_1.BLZBlueprintLoader{constructor(blueprints){super();for(let[key,blueprint]of blueprints)this.cache(blueprint,key)}load(blueprint,key){this.cache(blueprint,key)}loadFromDefinition(definition,key,executionContext=null,configuration=null){try{let blueprint=BlueprintFactory_1.BLZBlueprintFactory.blueprint(definition,key,executionContext,configuration);this.cache(blueprint,key)}catch(error){throw error}}loadBlueprint(blueprintId,_executionContext,_configuration){let blueprint=this.cachedBlueprint(blueprintId);if(null===blueprint)throw Error("undefinedBlueprint:"+blueprintId);return blueprint}}exports.BLZMemoryBlueprintLoader=BLZMemoryBlueprintLoader},{"./../../blueprints/BlueprintFactory":512,"./BlueprintLoader":608}],610:[function(require,module,exports){"use strict";var BLZLogType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZLogger=exports.BLZLogType=void 0,function(BLZLogType){BLZLogType[BLZLogType.success=0]="success",BLZLogType[BLZLogType.info=1]="info",BLZLogType[BLZLogType.warning=2]="warning",BLZLogType[BLZLogType.error=3]="error",BLZLogType[BLZLogType.user=4]="user"}(BLZLogType=exports.BLZLogType||(exports.BLZLogType={}));exports.BLZLogger=class{constructor(){this.logs=[]}emptyLogs(){this.logs=[]}store(log){return this.logs.push(log),log}logSuccess(message,id){let log={id:id,message:message,type:BLZLogType.success,time:new Date};return this.store(log)}logInfo(message,id){let log={id:id,message:message,type:BLZLogType.info,time:new Date};return this.store(log)}logWarning(message,id){let log={id:id,message:message,type:BLZLogType.warning,time:new Date};return this.store(log)}logError(message,id){let log={id:id,message:message,type:BLZLogType.error,time:new Date};return this.store(log)}logUser(message,id){let log={id:id,message:message,type:BLZLogType.user,time:new Date};return this.store(log)}logType(type,message,id){let log={id:id,message:message,type:type,time:new Date};return this.store(log)}logSystem(systemMessage,id){return this.logType(systemMessage.type,systemMessage.message,id)}}},{}],611:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZLoggerDefaultMessages=void 0;const Logger_1=require("./Logger");class BLZLoggerDefaultMessages{}exports.BLZLoggerDefaultMessages=BLZLoggerDefaultMessages,BLZLoggerDefaultMessages.compilerStart={message:"Build started",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.compilerBuildSuccessful={message:"Build successful",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.compilerBuildFailure={message:"Build failed",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterStart={message:"Rendering started",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterRenderingSuccessful={message:"Rendering successful",type:Logger_1.BLZLogType.info},BLZLoggerDefaultMessages.interpreterRenderingFailure={message:"Rendering failed",type:Logger_1.BLZLogType.info}},{"./Logger":610}],612:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformer=void 0;const StringUtils_1=require("./../../utils/StringUtils"),TransformerArgument_1=require("./TransformerArgument");exports.BLZTransformer=class{numberOfArguments(){throw Error("Transformer arguments must be registered")}keyword(){throw Error("Transformer keyword must be registered")}documentation(){return null}isPrivate(){return!1}constructor(){}transformValueUsingArgumentString(value,argumentString,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){if("self"===argumentString){if(isRoot)return context.data;throw Error("Self is only allowed at the beginning of transformer chain")}try{if(0===this.numberOfArguments())return this.transformValueUsingArguments(value,[],context,executionContext,isRoot);let pieces=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(argumentString,",").map((piece=>StringUtils_1.StringUtils.trimmed(piece)));if(pieces.length!==this.numberOfArguments())throw Error("Expected different number of arguments");let args=[];for(let[index,piece]of pieces.entries())args.push(new TransformerArgument_1.BLZTransformerArgument(piece,this.keyword(),index));return this.transformValueUsingArguments(value,args,context,executionContext,isRoot)}catch(error){throw error}}))}transformValueUsingArguments(value,args,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){try{if("string"==typeof value)return yield this.transformStringValue(value,args,context,executionContext);if("number"==typeof value)return yield this.transformNumericValue(value,args,context,executionContext);if("boolean"==typeof value)return yield this.transformBooleanValue(value,args,context,executionContext);if(value instanceof Array)return yield this.transformArrayValue(value,args,context,executionContext);if(value instanceof Map)return yield this.transformMapValue(value,args,context,executionContext,isRoot);if(value instanceof Object)return yield this.transformMapValue(new Map(Object.entries(value)),args,context,executionContext,isRoot);if(null===value)return yield this.transformNullValue(args,context,executionContext);throw Error("Unsupported transform source")}catch(error){throw error}}))}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected string")}))}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected boolean")}))}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected number")}))}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected dictionary")}))}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return new Promise((function(_,reject){reject("unsupportedTransformSource, expected array")}))}))}transformNullValue(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return null}))}expectString(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectString(context,ec)}catch(error){throw error}}))}expectInt(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectInt(context,ec)}catch(error){throw error}}))}expectDouble(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectDouble(context,ec)}catch(error){throw error}}))}expectBool(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectBool(context,ec)}catch(error){throw error}}))}expectAnyNonNull(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectAnyNonNull(context,ec)}catch(error){throw error}}))}expectAny(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectAny(context,ec)}catch(error){throw error}}))}expectArray(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectArray(context,ec)}catch(error){throw error}}))}expectDictionary(position,args,context,ec){return __awaiter(this,void 0,void 0,(function*(){try{let argument=this.expectArgument(position,args);return yield argument.expectDictionary(context,ec)}catch(error){throw error}}))}expectArgument(position,args){if(position>=args.length)throw Error(`Invalid implementation of transformer ${this.keyword()}, expecting argument ${position} but transformer only provides ${args.length}`);return args[position]}equals(obj){return this.keyword()===obj.keyword()}}},{"./../../utils/StringUtils":698,"./TransformerArgument":613}],613:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerArgument=void 0;const StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeSubstitution_1=require("../../parser/syntax/nodes/SyntaxNodeSubstitution"),FlowSource_1=require("../flows/FlowSource");class BLZTransformerArgument{constructor(argument,keyword,position){if(0===argument.length)throw Error(`transformerArgumentEmpty(#${position} - ${keyword})`);this.backingProperty=argument}expectString(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let result=yield this.resolveAsSource(interpreterContext,ec);if(null!==result&&"string"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to string`)}}catch(error){throw error}}))}expectInt(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectDouble(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectNumeric(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be a number, not string`);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){let result=yield this.resolveAsSource(interpreterContext,ec);if("number"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to number, not string`)}return asNumber.valueOf()}}catch(error){throw error}}))}expectBool(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content)){let noQuotesContent=StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);throw"false"===noQuotesContent||"true"===noQuotesContent?Error(`${noQuotesContent} can't be surrounded with quotes`):Error(`Transformer argument ${content} expected to be boolean, not string`)}if("true"===content)return!0;if("false"===content)return!1;{let result=yield this.resolveAsSource(interpreterContext,ec);if("boolean"==typeof result)return result;throw Error(`Transformer argument ${content} should resolve to boolean`)}}catch(error){throw error}}))}expectArray(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be array, not string`);if(StringUtils_1.StringUtils.isStructuralArrayDefinition(content)){let components=StringUtils_1.StringUtils.parsedArrayFromDefinition(content);if(!components)throw Error("Array definition not formatted correctly");let componentValues=new Array;for(let[index,component]of components.entries()){let arg=new BLZTransformerArgument(component,"array.item",index),value=yield arg.expectAnyNonNull(interpreterContext,ec);componentValues.push(value)}return componentValues}{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Array)return result;throw Error(`Transformer argument ${content} should resolve to array`)}}catch(error){throw error}}))}expectDictionary(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))throw Error(`Transformer argument ${content} expected to be dictionary, not string`);if(StringUtils_1.StringUtils.isStructuralDictionaryDefinition(content)){let components=StringUtils_1.StringUtils.parsedDictionaryFromDefinition(content);if(!components)throw Error("Dictionary definition not formatted correctly");let componentValues=new Map,index=0;for(let[key,value]of components){let keyArg=new BLZTransformerArgument(key,"dict.key",index),valueArg=new BLZTransformerArgument(value,"dict.value",index),parsedKey=yield keyArg.expectString(interpreterContext,ec),parsedValue=yield valueArg.expectAnyNonNull(interpreterContext,ec);if(componentValues.get(parsedKey))throw Error(`Can't redefine key ${parsedKey} in inline dictionary`);componentValues.set(parsedKey,parsedValue),index++}return componentValues}{let result=yield this.resolveAsSource(interpreterContext,ec);if(result instanceof Map)return result;throw Error(`Transformer argument ${content} should resolve to dictionary`)}}catch(error){throw error}}))}expectAnyNonNull(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){const result=yield this.expectAny(interpreterContext,ec);if(null===result)throw Error(`Transformer argument ${this.backingProperty} should resolve to value, not null`);return result}))}expectAny(interpreterContext,ec){var _a;return __awaiter(this,void 0,void 0,(function*(){try{let content=this.backingProperty;if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(content))return StringUtils_1.StringUtils.withoutDoubleQuotesSingleOccurance(content);{let asNumber=null!==(_a=Number(content))&&void 0!==_a?_a:null;if(null===asNumber||Number.isNaN(asNumber)){if("false"===content)return!1;if("true"===content)return!0;return yield this.resolveAsSource(interpreterContext,ec)}return asNumber.valueOf()}}catch(error){throw error}}))}resolveAsSource(interpreterContext,ec){return __awaiter(this,void 0,void 0,(function*(){try{let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(this.backingProperty,ec),flowSource=new FlowSource_1.BLZFlowSource(substitutionNode);return yield flowSource.asValue(interpreterContext,ec)}catch(error){throw error}}))}}exports.BLZTransformerArgument=BLZTransformerArgument},{"../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"../flows/FlowSource":559,"./../../utils/StringUtils":698}],614:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAppend=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),fp_1=require("lodash/fp");class BLZTransformerAppend extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.append}documentation(){let args=[Doc_1.BLZDoc.arg("value","Newly added value",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns new array by extending source array with provided value.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let newElement=yield this.expectAnyNonNull(0,args,context,executionContext);value=value;var clonedValue=fp_1.cloneDeep(value);return clonedValue.push(newElement),clonedValue}))}}exports.BLZTransformerAppend=BLZTransformerAppend},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],615:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAt=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAt extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.at}documentation(){let args=[Doc_1.BLZDoc.arg("index","Index of seeked element",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns the Nth element of the array. Throws error when index is out of bounds",Doc_2.DocDataTypePredefinedType.any,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let index=yield this.expectInt(0,args,context,executionContext);if(index<0||index>=value.length)throw Error("Index out of bounds");return value[index]}))}}exports.BLZTransformerAt=BLZTransformerAt},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],616:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerConcat=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerConcat extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.concat}documentation(){let args=[Doc_1.BLZDoc.arg("value","Array to extend with",Doc_2.DocDataTypePredefinedType.array)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source array extended by content of value array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let newElements=yield this.expectArray(0,args,context,executionContext);return value.concat(newElements)}))}}exports.BLZTransformerConcat=BLZTransformerConcat},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],617:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEnumerated=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEnumerated extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.enumerated}documentation(){let args=[Doc_1.BLZDoc.arg("value","Newly added value",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns dictionary with index-based keys and values of source array. This is very useful for loops to obtain index alongside data for each cycle. Enumeration index starts with 0.",Doc_2.DocDataTypePredefinedType.dict,args,null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let map=new Map,index=0;for(let piece of value)map.set(index++,piece);return map}))}}exports.BLZTransformerEnumerated=BLZTransformerEnumerated},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],618:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFirst=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFirst extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.first}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Return the first element in the source array.",Doc_2.DocDataTypePredefinedType.any,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0===value.length?null:value[0]}))}}exports.BLZTransformerFirst=BLZTransformerFirst},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],619:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFrom=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFrom extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.from}documentation(){let args=[Doc_1.BLZDoc.arg("index","Size of offset from beginning",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array starting from the Nth element. If index is beyond bounds, will return empty array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let fromRange=yield this.expectInt(0,args,context,executionContext);return fromRange>=value.length?new Array:value.slice(fromRange,value.length)}))}}exports.BLZTransformerFrom=BLZTransformerFrom},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],620:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerJoin=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("../../../../configuration/KeywordsTranformers");class BLZTransformerJoin extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.join}documentation(){let args=[Doc_1.BLZDoc.arg("separator","Separator to join",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns joined elements",Doc_2.DocDataTypePredefinedType.string,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.join(separator)}))}}exports.BLZTransformerJoin=BLZTransformerJoin},{"../../../../configuration/KeywordsTranformers":515,"../../../../tools/documentation/Doc":693,"../../Transformer":612}],621:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRandom=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRandom extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.random}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns random element from the source array. Returns null if empty.",Doc_2.DocDataTypePredefinedType.any,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return 0===value.length?null:value[Math.floor(Math.random()*value.length)]}))}}exports.BLZTransformerRandom=BLZTransformerRandom},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],622:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRange=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRange extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.range}documentation(){let args=[Doc_1.BLZDoc.arg("from","First index of the searched range",Doc_2.DocDataTypePredefinedType.int),Doc_1.BLZDoc.arg("count","Number of elements to retrieve",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns N elements of the array, starting at index M. Indexing starts from 0. If the array is not sufficiently long, will be trimmed from the end. Returns empty array if from is out of bounds.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let from=yield this.expectInt(0,args,context,executionContext),size=yield this.expectInt(1,args,context,executionContext);if(from>=value.length)return new Array;if(from<0)throw Error("Range has to start with positive number");let startIndex=from,endIndex=size<=value.length?size:value.length;return value.slice(startIndex,endIndex+1)}))}}exports.BLZTransformerRange=BLZTransformerRange},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],623:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerReversed=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerReversed extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.reversed}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns reversed array, where the first element becomes the last and vice versa.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return clonedArray.reverse(),clonedArray}))}}exports.BLZTransformerReversed=BLZTransformerReversed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],624:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerShuffled=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerShuffled extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.shuffled}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns shuffled source array.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return this.shuffle(clonedArray),clonedArray}))}shuffle(array){let counter=array.length;for(;counter>0;){let index=Math.floor(Math.random()*counter);counter--;let temp=array[counter];array[counter]=array[index],array[index]=temp}return array}}exports.BLZTransformerShuffled=BLZTransformerShuffled},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],625:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSorted=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSorted extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.sorted}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns sorted array. Elements will be sorted in descending order.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let clonedArray=fp_1.cloneDeep(value);return clonedArray.sort(),clonedArray}))}}exports.BLZTransformerSorted=BLZTransformerSorted},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],626:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerUntil=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerUntil extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.until}documentation(){let args=[Doc_1.BLZDoc.arg("index","Number of first N elements",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns first N elements of the array. If the array is not sufficiently long, will return the entire array.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformArrayValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let endRange=yield this.expectInt(0,args,context,executionContext);if(endRange<0)throw Error("Range has to start with positive number");let endIndex=endRange<value.length?endRange:value.length;return value.slice(0,endIndex+1)}))}}exports.BLZTransformerUntil=BLZTransformerUntil},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],627:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAdd=void 0;const fp_1=require("lodash/fp"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAdd extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.add}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of newly added object",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("value","Value of newly added object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Extends source dictionary with provided value, accessible by provided key.",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userKey=yield this.expectString(0,args,context,executionContext),extensionValue=yield this.expectAny(1,args,context,executionContext),clonedMap=fp_1.cloneDeep(value);return clonedMap.set(userKey,extensionValue),clonedMap}))}}exports.BLZTransformerAdd=BLZTransformerAdd},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"lodash/fp":725}],628:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAlwaysRootValue=void 0;const Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),TransformerValue_1=require("./TransformerValue");class BLZTransformerAlwaysRootValue extends TransformerValue_1.BLZTransformerValue{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.alwaysRootValue}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of searched object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Only for internal language use",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext,isRoot){const _super=Object.create(null,{transformMapValue:{get:()=>super.transformMapValue}});return __awaiter(this,void 0,void 0,(function*(){return _super.transformMapValue.call(this,value,args,context,executionContext,!0)}))}}exports.BLZTransformerAlwaysRootValue=BLZTransformerAlwaysRootValue},{"../../../../tools/documentation/Doc":693,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./TransformerValue":630}],629:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerKeys=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerKeys extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.keys}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Transforms dictionary into an array containing all its keys.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let dataArray=new Array;for(let[key,_]of value)dataArray.push(key);return dataArray}))}}exports.BLZTransformerKeys=BLZTransformerKeys},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],630:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerValue=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),StringUtils_1=require("./../../../../utils/StringUtils"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerValue extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.value}documentation(){let args=[Doc_1.BLZDoc.arg("key","Key of searched object",Doc_2.DocDataTypePredefinedType.any)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns object from source dictionary by provided key.",Doc_2.DocDataTypePredefinedType.bool,args,null)}transformMapValue(value,args,context,executionContext,isRoot){return __awaiter(this,void 0,void 0,(function*(){if(0===args.length)return null;let arg=args[0].backingProperty;StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(arg)&&(arg=StringUtils_1.StringUtils.withoutDoubleQuotes(arg));let variable=executionContext.variableContext.getVariableFailable(arg,executionContext.executedScope);if(null!==variable&&isRoot){let payload=variable.payload;return value.has(payload)?value.get(payload):payload}if(value.has(arg))return value.get(arg);let keyValue=context.data.get(arg);return keyValue&&"string"==typeof keyValue&&value.has(keyValue)?value.get(keyValue):null}))}}exports.BLZTransformerValue=BLZTransformerValue},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],631:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerValues=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerValues extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.values}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Transforms source dictionary into an array containing its values.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){let dataArray=new Array;for(let[_,piece]of value)dataArray.push(piece);return dataArray}))}}exports.BLZTransformerValues=BLZTransformerValues},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],632:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAbsolute=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAbsolute extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.absolute}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns absolute source value.",Doc_2.DocDataTypePredefinedType.int,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.abs(value)}))}}exports.BLZTransformerAbsolute=BLZTransformerAbsolute},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],633:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerAddedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerAddedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.addedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to add",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by adding value to source.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value+userValue}))}}exports.BLZTransformerAddedBy=BLZTransformerAddedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],634:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCeiled=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerCeiled extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.ceiled}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns the next highest integer value by rounding up source if neccessary.",Doc_2.DocDataTypePredefinedType.int,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.ceil(value)}))}}exports.BLZTransformerCeiled=BLZTransformerCeiled},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],635:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerDividedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerDividedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.dividedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to divide by",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by dividing value by value.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return 0===userValue?0:value/userValue}))}}exports.BLZTransformerDividedBy=BLZTransformerDividedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],636:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFloored=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerFloored extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.floored}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns the next highest integer value by rounding down source if neccessary.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return Math.floor(value)}))}}exports.BLZTransformerFloored=BLZTransformerFloored},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],637:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerMultipledBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerMultipledBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.multipliedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to multiply by",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by multiplying source and value.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value*userValue}))}}exports.BLZTransformerMultipledBy=BLZTransformerMultipledBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],638:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerNegative=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerNegative extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.negative}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns value that is either the same as source if it was <0, or source multiplied by -1 if it was >0",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value>0?-1*value:value}))}}exports.BLZTransformerNegative=BLZTransformerNegative},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],639:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerPositive=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerPositive extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.positive}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns value that is either the same as source if it was >0, or source multiplied by -1 if it was <0.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value<0?-1*value:value}))}}exports.BLZTransformerPositive=BLZTransformerPositive},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],640:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerRounded=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerRounded extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.rounded}documentation(){let args=[Doc_1.BLZDoc.arg("fractions","Number of fractions to round to",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source rounded to specified number of fractions. Note that fractions must be a integer.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let fractionalPlaces=yield yield this.expectInt(0,args,context,executionContext);return this.rounded(value,fractionalPlaces)}))}rounded(value,toPlaces){let divisor=Math.pow(10,toPlaces);return Math.round(value*divisor)/divisor}}exports.BLZTransformerRounded=BLZTransformerRounded},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],641:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSubtractedBy=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSubtractedBy extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.subtractedBy}documentation(){let args=[Doc_1.BLZDoc.arg("value","Number to subtract",Doc_2.DocDataTypePredefinedType.number)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns number by subtracting value from source.",Doc_2.DocDataTypePredefinedType.number,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectDouble(0,args,context,executionContext);return value-userValue}))}}exports.BLZTransformerSubtractedBy=BLZTransformerSubtractedBy},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],642:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCount=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerCount extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.count}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"For arrays and dictionaries, this returns number of elements. For strings, the length of the string is returned instead.",Doc_2.DocDataTypePredefinedType.number,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.length}))}transformMapValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.size}))}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.length}))}}exports.BLZTransformerCount=BLZTransformerCount},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],643:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerFormatDate=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),moment_1=__importDefault(require("moment"));class BLZTransformerFormatDate extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.formatDate}documentation(){let args=[Doc_1.BLZDoc.arg("format","Standard ISO8601 output format",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns formatted string which was created from source date. If the source is string, it must be of ISO8601 format (either yyyy-MM-dd'T'HH:mm:ssZ or yyyy-MM-dd'T'HH:mm:ss.SSSZ is accepted), otherwise an error is thrown. If the source is number, it is considered as a standard time interval since 1970 (Unix epoch time).",Doc_2.DocDataTypePredefinedType.string,args,null)}transformNumericValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let format=yield this.expectString(0,args,context,executionContext),date=moment_1.default.unix(value).toDate();return this.format(format,date)}))}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let format=yield this.expectString(0,args,context,executionContext),date=new Date(value);return this.format(format,date)}))}format(format,date){return moment_1.default(date).format(format)}}exports.BLZTransformerFormatDate=BLZTransformerFormatDate},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,moment:731}],644:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsArray=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsArray extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isArray}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is array, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}}exports.BLZTransformerIsArray=BLZTransformerIsArray},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],645:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsBool=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsBool extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isBool}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is boolean, false otherwise. Value of boolean is ignored in this case, this is strictly for checking its data type.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsBool=BLZTransformerIsBool},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],646:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsDictionary=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsDictionary extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isDictionary}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is dictionary, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsDictionary=BLZTransformerIsDictionary},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],647:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsNull=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsNull extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isNull}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is null, false otherwise. Any operation that results in undefined value (for example, calling .first() on empty array results to null.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNullValue(_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}}exports.BLZTransformerIsNull=BLZTransformerIsNull},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],648:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsNumber=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsNumber extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isNumber}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is number, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsNumber=BLZTransformerIsNumber},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],649:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerIsString=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerIsString extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.isString}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns true if the source is string, false otherwise.",Doc_2.DocDataTypePredefinedType.bool,[],null)}transformStringValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!0}))}transformBooleanValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformNumericValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return!1}))}transformArrayValue(_value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return!1}))}}exports.BLZTransformerIsString=BLZTransformerIsString},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],650:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerToString=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerToString extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.toString}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Allows to describe value that otherwise can't be used as substitution output. For example, dictionary can't be printed by {{ dict }}, however, it can be printed using {{ dict.toString() }}. This method fully describes dictionary, array, string, number or bool, all supported data types. Dictionaries and arrays will be deep-described including their content.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value}))}transformBooleanValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return""+(value?"true":"false")}))}transformNumericValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return`${value}`}))}transformArrayValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return JSON.stringify(value)}))}transformMapValue(_value,_args,_context,_executionContext,_isRoot){return __awaiter(this,void 0,void 0,(function*(){return""}))}}exports.BLZTransformerToString=BLZTransformerToString},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],651:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCamelcased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerCamelcased extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.camelcased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns string in camel case representation",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){const upperFirst=yield this.expectBool(0,_args,_context,_executionContext),str=lodash_1.default.camelCase(value);return upperFirst?lodash_1.default.upperFirst(str):str}))}}exports.BLZTransformerCamelcased=BLZTransformerCamelcased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],652:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerCapitalized=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerCapitalized extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.capizalited}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns Capitalized source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.capitalize(value)}))}}exports.BLZTransformerCapitalized=BLZTransformerCapitalized},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],653:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerContains=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerContains extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.contains}documentation(){let args=[Doc_1.BLZDoc.arg("contains","String to search for","String")];return Doc_1.BLZDoc.transfomerDoc(this,"Returns true or false depending whether the source string constains provided string. Case sensitive search.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectString(0,args,context,executionContext);return value.includes(userValue)}))}}exports.BLZTransformerContains=BLZTransformerContains},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],654:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerDefault=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerDefault extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.default}documentation(){let args=[Doc_1.BLZDoc.arg("default","Text to use as default fallback",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns default value if the source value is empty in case of array and dictionary, its 0 in case of number, the length of string is 0 or value is null",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let defaultValue=yield this.expectString(0,args,context,executionContext);return 0===value.length?defaultValue:value}))}transformNullValue(args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return yield this.expectString(0,args,context,executionContext)}))}}exports.BLZTransformerDefault=BLZTransformerDefault},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],655:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEquals=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEquals extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.equals}documentation(){let args=[Doc_1.BLZDoc.arg("value","Value to compare to",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Outputs value only is it is equal to another value. Value must be a string value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let userValue=yield this.expectString(0,args,context,executionContext);return value===userValue?value:""}))}}exports.BLZTransformerEquals=BLZTransformerEquals},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],656:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerEqualsTernary=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerEqualsTernary extends Transformer_1.BLZTransformer{numberOfArguments(){return 3}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.equalsTernary}documentation(){let args=[Doc_1.BLZDoc.arg("compareTo","Value to compare to",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("trueValue","Value used if true",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("falseValue","Value used if false",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns first string if the source is equal to provided value, otherwise returns second string.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let compareTo=yield yield this.expectString(0,args,context,executionContext),output1=yield yield this.expectString(1,args,context,executionContext),output2=yield yield this.expectString(2,args,context,executionContext);return value===compareTo?output1:output2}))}}exports.BLZTransformerEqualsTernary=BLZTransformerEqualsTernary},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],657:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerExtended=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerExtended extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.extended}documentation(){let args=[Doc_1.BLZDoc.arg("prefix","Prefix text",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("suffix","Suffix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string prefixed and suffixed with provided values.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let prefix=yield this.expectString(0,args,context,executionContext),suffix=yield this.expectString(1,args,context,executionContext);return`${prefix}${value}${suffix}`}))}}exports.BLZTransformerExtended=BLZTransformerExtended},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],658:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerLowercased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerLowercased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.lowercased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns lowercased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.toLower(value)}))}}exports.BLZTransformerLowercased=BLZTransformerLowercased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],659:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerPrefixed=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerPrefixed extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.prefixed}documentation(){let args=[Doc_1.BLZDoc.arg("prefix","Prefix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string prefixed with provided value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){return`${yield this.expectString(0,args,context,executionContext)}${value}`}))}}exports.BLZTransformerPrefixed=BLZTransformerPrefixed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],660:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerReplacing=void 0;const StringUtils_1=require("./../../../../utils/StringUtils"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerReplacing extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.replacing}documentation(){let args=[Doc_1.BLZDoc.arg("search","Searched text to be replaced",Doc_2.DocDataTypePredefinedType.string),Doc_1.BLZDoc.arg("replace","Text to replace with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all occurances of provided substring replaced with another string.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let searchString=yield this.expectString(0,args,context,executionContext),replacementString=yield this.expectString(1,args,context,executionContext);return StringUtils_1.StringUtils.replaceAll(value,searchString,replacementString)}))}}exports.BLZTransformerReplacing=BLZTransformerReplacing},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],661:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashDoubleQuotes=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),StringUtils_1=require("./../../../../utils/StringUtils");class BLZTransformerSlashDoubleQuotes extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashDoubleQuotes}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all double quotes prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return StringUtils_1.StringUtils.replaceAll(value,'"','"')}))}}exports.BLZTransformerSlashDoubleQuotes=BLZTransformerSlashDoubleQuotes},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],662:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashNewlines=void 0;const StringUtils_1=require("./../../../../utils/StringUtils"),Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSlashNewlines extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashNewlines}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all newlines prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return StringUtils_1.StringUtils.replaceAll(value,"\n","\\\n")}))}}exports.BLZTransformerSlashNewlines=BLZTransformerSlashNewlines},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,"./../../../../utils/StringUtils":698}],663:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSlashSingleQuotes=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSlashSingleQuotes extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.slashSingleQuotes}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns source string with all single quotes prefixed with backslash.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.replace("'","'")}))}}exports.BLZTransformerSlashSingleQuotes=BLZTransformerSlashSingleQuotes},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],664:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSnakecased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerSnakecased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.snakecased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns snakecased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.snakeCase(value)}))}}exports.BLZTransformerSnakecased=BLZTransformerSnakecased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],665:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSplit=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSplit extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.split}documentation(){let args=[Doc_1.BLZDoc.arg("separator","string to split with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array of strings made by splitting the source string using separator. Separator can be multiple characters.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.split(separator)}))}}exports.BLZTransformerSplit=BLZTransformerSplit},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],666:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSplitExpr=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSplitExpr extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.splitExpr}documentation(){let args=[Doc_1.BLZDoc.arg("expression","Expression to split with",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns array of strings split using expression. Expression must be a valid regular expression, otherwise exception is thrown.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let separator=yield this.expectString(0,args,context,executionContext);return value.split(new RegExp(separator)).filter((c=>0!==c.length))}))}}exports.BLZTransformerSplitExpr=BLZTransformerSplitExpr},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],667:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSubstring=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSubstring extends Transformer_1.BLZTransformer{numberOfArguments(){return 2}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.substring}documentation(){let args=[Doc_1.BLZDoc.arg("location","Location of substring",Doc_2.DocDataTypePredefinedType.int),Doc_1.BLZDoc.arg("length","String to split with",Doc_2.DocDataTypePredefinedType.int)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns substring by initial location and length. location and length must be Int. When location is out of bounds, empty string is returned. When length + location is out of bounds, substring until the end of the original string will be returned.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let location=yield this.expectInt(0,args,context,executionContext),length=yield this.expectInt(1,args,context,executionContext);if(location>=value.length)return"";let boundLength=value.length-location>length?length:value.length-location;return value.substr(location,boundLength)}))}}exports.BLZTransformerSubstring=BLZTransformerSubstring},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],668:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerSuffixed=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerSuffixed extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.suffixed}documentation(){let args=[Doc_1.BLZDoc.arg("suffix","Suffix text",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Return source string suffixed with provided value.",Doc_2.DocDataTypePredefinedType.string,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let suffix=yield this.expectString(0,args,context,executionContext);return`${value}${suffix}`}))}}exports.BLZTransformerSuffixed=BLZTransformerSuffixed},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],669:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerTrimmingCharacter=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("../../../../configuration/KeywordsTranformers");class BLZTransformerTrimmingCharacter extends Transformer_1.BLZTransformer{numberOfArguments(){return 1}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.trimming}documentation(){let args=[Doc_1.BLZDoc.arg("character","Character to trim",Doc_2.DocDataTypePredefinedType.string)];return Doc_1.BLZDoc.transfomerDoc(this,"Returns string left and right-trimmed with specified character.",Doc_2.DocDataTypePredefinedType.array,args,null)}transformStringValue(value,args,context,executionContext){return __awaiter(this,void 0,void 0,(function*(){let character=yield this.expectString(0,args,context,executionContext);if(1!==character.length)throw Error("Replacement string must be a single character");return this.trim(value,character)}))}trim(s,c){return"]"===c&&(c="\\]"),"\\"===c&&(c="\\\\"),s.replace(new RegExp("^["+c+"]+|["+c+"]+$","g"),"")}}exports.BLZTransformerTrimmingCharacter=BLZTransformerTrimmingCharacter},{"../../../../configuration/KeywordsTranformers":515,"../../../../tools/documentation/Doc":693,"../../Transformer":612}],670:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerTrimmingSpaces=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers");class BLZTransformerTrimmingSpaces extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.trimmingSpaces}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns string with left and right trimmed spaces.",Doc_2.DocDataTypePredefinedType.array,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return value.trim()}))}}exports.BLZTransformerTrimmingSpaces=BLZTransformerTrimmingSpaces},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693}],671:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZTransformerUppercased=void 0;const Transformer_1=require("../../Transformer"),Doc_1=require("../../../../tools/documentation/Doc"),Doc_2=require("./../../../../tools/documentation/Doc"),KeywordsTranformers_1=require("./../../../../configuration/KeywordsTranformers"),lodash_1=__importDefault(require("lodash"));class BLZTransformerUppercased extends Transformer_1.BLZTransformer{numberOfArguments(){return 0}keyword(){return KeywordsTranformers_1.BLZKeywordsTransformers.uppercased}documentation(){return Doc_1.BLZDoc.transfomerDoc(this,"Returns uppercased source string.",Doc_2.DocDataTypePredefinedType.string,[],null)}transformStringValue(value,_args,_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return lodash_1.default.toUpper(value)}))}}exports.BLZTransformerUppercased=BLZTransformerUppercased},{"../../../../tools/documentation/Doc":693,"../../Transformer":612,"./../../../../configuration/KeywordsTranformers":515,"./../../../../tools/documentation/Doc":693,lodash:729}],672:[function(require,module,exports){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZVariable=void 0;const lodash_1=__importDefault(require("lodash"));class BLZVariable{constructor(identifier,scope,isMutable,isGlobal,payload){this.identifier=identifier,this.scope=scope,this.isMutable=isMutable,this.isGlobal=isGlobal,this.payload=payload}static immutableProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!1,!1,payload)}static mutableProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!0,!1,payload)}static immutableGlobalProperty(scope,identifier,payload){return new BLZVariable(identifier,scope,!1,!0,payload)}setPayload(payload){if(!this.isMutable)throw Error("variableImmutable");this.payload=payload}isAvailableInContext(flowIdentifier){return!!this.isGlobal||(0===this.scope.length||!(flowIdentifier.length<this.scope.length)&&lodash_1.default.isEqual(this.scope,flowIdentifier.slice(0,this.scope.length)))}debugDescription(){return`${this.isMutable?"var":"let"} ${this.identifier}, defined in scope ${this.scope}, ${this.isGlobal?"global":"scoped"}, type: ${typeof this.payload}`}}exports.BLZVariable=BLZVariable},{lodash:729}],673:[function(require,module,exports){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZVariableContext=void 0;const Variable_1=require("./Variable"),lodash_1=__importDefault(require("lodash"));exports.BLZVariableContext=class{constructor(){this.functionReturnStack=[],this.stack=[]}setVariable(identifier,isGlobal,isMutable,context,payload){if(this.getVariableFailable(identifier,context))throw Error("variableAlreadyDefined");let variable;isGlobal&&!isMutable?variable=Variable_1.BLZVariable.immutableGlobalProperty(lodash_1.default.clone(context),identifier,payload):isGlobal||isMutable?!isGlobal&&isMutable&&(variable=Variable_1.BLZVariable.mutableProperty(lodash_1.default.clone(context),identifier,payload)):variable=Variable_1.BLZVariable.immutableProperty(lodash_1.default.clone(context),identifier,payload),this.stack.push(variable)}getVariable(identifier,context){let variable=this.getVariableFailable(identifier,context);if(null===variable)throw Error(`variableNotDefined: ${identifier}`);return variable}getVariableFailable(identifier,context){let lookup=this.variables(identifier).filter((variable=>variable.isAvailableInContext(context)));return lookup.length>0?lookup[0]:null}variables(identifier){return this.stack.filter((variable=>variable.identifier===identifier))}}},{"./Variable":672,lodash:729}],674:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteBuffer=void 0;class ConcreteBuffer{constructor(tokens){this.tokens=tokens}isEmpty(){return 0===this.tokens.length}size(){return this.tokens.length}addToken(token){this.tokens.push(token)}addTokens(tokens){tokens.forEach((token=>{this.tokens.push(token)}))}removeFirst(){return 0===this.tokens.length?null:this.tokens.splice(0,1)[0]}removeLast(){return 0===this.tokens.length?null:this.tokens.pop()}removeAt(at){return this.tokens.length>at?this.tokens.splice(at,1)[0]:null}removeLastFew(count){return this.tokens.splice(this.tokens.length-count,count)}removeFirstFew(count){return this.tokens.splice(0,count)}shallowCopy(){var copiedTokens=new Array;return this.tokens.forEach((token=>{let copiedToken={type:token.type,associatedValue:token.associatedValue,lineOffset:token.lineOffset,firstLineDirective:token.firstLineDirective};copiedTokens.push(copiedToken)})),new ConcreteBuffer(copiedTokens)}first(){return 0===this.tokens.length?null:this.tokens[0]}last(){return 0===this.tokens.length?null:this.tokens[this.tokens.length-1]}lookahead(offset){return this.tokens.length>offset?this.tokens[offset]:null}debugDescription(){return`\n --- Concrete Buffer ---\n - Count: ${this.tokens.length} tokens\n - Tags:\n ${this.tokens.map((token=>` - ${JSON.stringify(token)}`)).join("\n")}\n `}}exports.ConcreteBuffer=ConcreteBuffer},{}],675:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteParser=void 0;const ConcreteBuffer_1=require("./ConcreteBuffer"),ConcreteToken_1=require("./ConcreteToken"),StringUtils_1=require("./../../../utils/StringUtils"),LexicalToken_1=require("./../Lexical/LexicalToken");exports.ConcreteParser=class{constructor(tokens,configuration){this.tokens=tokens,this.configuration=configuration}parse(){let concreteBuffer=new ConcreteBuffer_1.ConcreteBuffer([]),openedFlows=0,lineOffset=0,isFirstLineDirective=!0;try{if(0===this.tokens.size())return concreteBuffer;let lexicalBuffer=this.tokens.shallowCopy(),token=lexicalBuffer.removeFirst();for(;null!==token;){let extracted=null;switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:extracted=this.extractTextToken(lexicalBuffer.tokens,token.associatedValue),lineOffset+=token.associatedValue.length,StringUtils_1.StringUtils.isOnlySpaces(token.associatedValue)||(isFirstLineDirective=!1);break;case LexicalToken_1.LexicalTokenType.newline:extracted={token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:"\n",lineOffset:0,firstLineDirective:!1},size:1},lineOffset=0;break;case LexicalToken_1.LexicalTokenType.openingSubstitution:extracted=this.extractSubstitutionToken(lexicalBuffer.tokens),isFirstLineDirective=!1;break;case LexicalToken_1.LexicalTokenType.openingComment:lexicalBuffer.removeFirstFew(this.extractCommentToken(lexicalBuffer.tokens));break;case LexicalToken_1.LexicalTokenType.openingFlow:if(extracted=this.extractFlow(lexicalBuffer.tokens,lineOffset,isFirstLineDirective),extracted.token.type===ConcreteToken_1.ConcreteTokenType.flowEnd){if(openedFlows-=1,openedFlows<0)throw Error("enclosingFlowTagPrecedingFlowDefinition")}else openedFlows+=1;let lastBufferedToken=concreteBuffer.last();null!==lastBufferedToken&&lastBufferedToken.type===ConcreteToken_1.ConcreteTokenType.text&&StringUtils_1.StringUtils.isOnlySpacesOrLineBreaks(lastBufferedToken.associatedValue)&&concreteBuffer.removeLast();let followingToken=lexicalBuffer.lookahead(extracted.size-1);null!==followingToken&&followingToken.type===LexicalToken_1.LexicalTokenType.newline&&lexicalBuffer.removeAt(extracted.size-1);break;case LexicalToken_1.LexicalTokenType.enclosingSubstitution:throw Error("missingOpeningSubstitutionTag");case LexicalToken_1.LexicalTokenType.enclosingComment:throw Error("missingOpeningCommentTag");case LexicalToken_1.LexicalTokenType.enclosingFlow:case LexicalToken_1.LexicalTokenType.flowEnd:throw Error("missingOpeningFlowTag");case LexicalToken_1.LexicalTokenType.openingEditorPlaceholder:case LexicalToken_1.LexicalTokenType.enclosingEditorPlaceholder:throw Error("editorPlaceholderFound")}if(null!==extracted){let extractedTokens=lexicalBuffer.removeFirstFew(Math.max(extracted.size-1,0));concreteBuffer.addToken(extracted.token);let lastToken=extractedTokens[extractedTokens.length-1];if(lastToken)switch(lastToken.type){case LexicalToken_1.LexicalTokenType.newline:lineOffset=0,isFirstLineDirective=!0;break;case LexicalToken_1.LexicalTokenType.plainText:lastToken.associatedValue.endsWith("\n")&&(lineOffset=0,isFirstLineDirective=!0)}}token=lexicalBuffer.removeFirst()}}catch(error){throw error}return concreteBuffer}extractTextToken(tokens,prefix){let complexString=prefix;for(let[index,token]of tokens.entries())switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:complexString+=token.associatedValue;break;case LexicalToken_1.LexicalTokenType.newline:return complexString+="\n",{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:index+2};default:return{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:index+1}}return{token:{type:ConcreteToken_1.ConcreteTokenType.text,associatedValue:complexString,lineOffset:0,firstLineDirective:!1},size:tokens.length}}extractSubstitutionToken(tokens){if(tokens.length<2)throw Error("unclosedSubstitutionTag");if(this.isText(tokens[0])&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingSubstitution)return{token:{type:ConcreteToken_1.ConcreteTokenType.substitution,associatedValue:this.textFrom(tokens[0]),lineOffset:0,firstLineDirective:!1},size:3};throw Error("invalidSubstitutionStructure")}extractCommentToken(tokens){for(let[index,token]of tokens.entries())if(token.type===LexicalToken_1.LexicalTokenType.enclosingComment)return index+1;throw Error("unclosedCommentTag")}extractFlow(tokens,lineOffset,isFirstLineDirective){if(tokens.length<2)throw Error("unclosedFlowTag");if(this.isText(tokens[0])&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingFlow)return{token:{type:ConcreteToken_1.ConcreteTokenType.flow,associatedValue:this.textFrom(tokens[0]),lineOffset:lineOffset,firstLineDirective:isFirstLineDirective},size:3};if(tokens[0].type===LexicalToken_1.LexicalTokenType.flowEnd&&tokens[1].type===LexicalToken_1.LexicalTokenType.enclosingFlow)return{token:{type:ConcreteToken_1.ConcreteTokenType.flowEnd,associatedValue:null,lineOffset:0,firstLineDirective:!1},size:3};throw Error("invalidFlowStructure")}isEqual(t1,t2){return t1.type===t2.type&&t1.associatedValue===t2.associatedValue}isText(t1){return t1.type===LexicalToken_1.LexicalTokenType.plainText}textFrom(token){switch(token.type){case LexicalToken_1.LexicalTokenType.plainText:return token.associatedValue;default:throw Error("Can't extract text from non-text token of type (token))")}}}},{"./../../../utils/StringUtils":698,"./../Lexical/LexicalToken":679,"./ConcreteBuffer":674,"./ConcreteToken":676}],676:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConcreteTokenType=void 0,function(ConcreteTokenType){ConcreteTokenType.text="text",ConcreteTokenType.substitution="substitution",ConcreteTokenType.flow="flow",ConcreteTokenType.flowEnd="flowEnd"}(exports.ConcreteTokenType||(exports.ConcreteTokenType={}))},{}],677:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalBuffer=void 0;class LexicalBuffer{constructor(tokens){this.tokens=tokens}isEmpty(){return 0===this.tokens.length}size(){return this.tokens.length}addToken(token){this.tokens.push(token)}addTokens(tokens){tokens.forEach((token=>{this.tokens.push(token)}))}removeFirst(){if(0===this.tokens.length)return null;return this.tokens.splice(0,1)[0]}removeLast(){return 0===this.tokens.length?null:this.tokens.pop()}removeAt(at){return this.tokens.length>at?this.tokens.splice(at,1)[0]:null}removeLastFew(count){return this.tokens.splice(this.tokens.length-count,count)}removeFirstFew(count){return this.tokens.splice(0,count)}shallowCopy(){var copiedTokens=new Array;return this.tokens.forEach((token=>{let copiedToken={type:token.type,associatedValue:token.associatedValue};copiedTokens.push(copiedToken)})),new LexicalBuffer(copiedTokens)}first(){return 0===this.tokens.length?null:this.tokens[0]}last(){return 0===this.tokens.length?null:this.tokens[this.tokens.length-1]}lookahead(offset){return this.tokens.length>offset?this.tokens[offset]:null}debugDescription(){return`\n --- Lexical Buffer ---\n - Count: ${this.tokens.length} tokens\n - Tags:\n ${this.tokens.map((token=>` - ${JSON.stringify(token)}`)).join("\n")}\n `}}exports.LexicalBuffer=LexicalBuffer},{}],678:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalParser=void 0;const LexicalBuffer_1=require("./LexicalBuffer"),LexicalToken_1=require("./LexicalToken");exports.LexicalParser=class{constructor(definition,configuration){this.definition=definition,this.configuration=configuration}parse(){let buffer=new LexicalBuffer_1.LexicalBuffer([]);return this.definition.split("\n").forEach((piece=>{let startIndex=0,skipNext=!1,scalars=piece.split("");for(let[index,scalar]of scalars.entries())if(skipNext)skipNext=!1;else if(scalar===this.configuration.openingWrapperIdentifier){if(scalars.length===index+1)break;let lookaheadToken=scalars.length>index+1?scalars[index+1]:null;if(!lookaheadToken)continue;let controlToken=this.openingToken(lookaheadToken);if(controlToken){if(index>0){let endIndex=index-1;if(endIndex>=startIndex){let substring=piece.substr(startIndex,endIndex-startIndex+1),textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:substring};buffer.addToken(textToken)}}buffer.addToken(controlToken),skipNext=!0,startIndex=index+2}}else if(scalar===this.configuration.closingWrapperIdentifier){let previousToken=index>0?scalars[index-1]:null;if(!previousToken)continue;let controlToken=this.enclosingToken(previousToken);if(controlToken){let suffixTokens=null;if(index-2>startIndex){let text=piece.substr(startIndex,index-startIndex-1);if(controlToken.type===LexicalToken_1.LexicalTokenType.enclosingFlow&&text.endsWith(this.configuration.flowEnd)&&(suffixTokens=this.enclosingFlowTagCombination(),text=text.substr(0,text.length-1)),text.length>0){let textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:text};buffer.addToken(textToken)}}else if(index-1>startIndex){let possibleEnd=scalars[startIndex];if(possibleEnd===this.configuration.flowEnd){let flowEndToken={type:LexicalToken_1.LexicalTokenType.flowEnd,associatedValue:null};buffer.addToken(flowEndToken)}else{let textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:possibleEnd};buffer.addToken(textToken)}}buffer.addToken(controlToken),startIndex=index+1,suffixTokens&&buffer.addTokens(suffixTokens)}}if(startIndex!==piece.length){let substring=piece.substr(startIndex,piece.length-startIndex),textToken={type:LexicalToken_1.LexicalTokenType.plainText,associatedValue:substring};buffer.addToken(textToken)}let newlineToken={type:LexicalToken_1.LexicalTokenType.newline,associatedValue:null};buffer.addToken(newlineToken)})),buffer.removeLast(),buffer}enclosingFlowTagCombination(){return[{type:LexicalToken_1.LexicalTokenType.openingFlow,associatedValue:null},{type:LexicalToken_1.LexicalTokenType.flowEnd,associatedValue:null},{type:LexicalToken_1.LexicalTokenType.enclosingFlow,associatedValue:null}]}openingToken(from){switch(from){case this.configuration.openingSubstitutionIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingSubstitution,associatedValue:null};case this.configuration.openingFlowIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingFlow,associatedValue:null};case this.configuration.openingCommentIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingComment,associatedValue:null};case this.configuration.openingEditorPlaceholderIdentifier:return{type:LexicalToken_1.LexicalTokenType.openingEditorPlaceholder,associatedValue:null};default:return null}}enclosingToken(from){switch(from){case this.configuration.closingSubstitutionIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingSubstitution,associatedValue:null};case this.configuration.closingFlowIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingFlow,associatedValue:null};case this.configuration.closingCommentIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingComment,associatedValue:null};case this.configuration.closingEditorPlaceholderIdentifier:return{type:LexicalToken_1.LexicalTokenType.enclosingEditorPlaceholder,associatedValue:null};default:return null}}}},{"./LexicalBuffer":677,"./LexicalToken":679}],679:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LexicalTokenType=void 0,function(LexicalTokenType){LexicalTokenType.openingSubstitution="openingSubstitution",LexicalTokenType.enclosingSubstitution="enclosingSubstitution",LexicalTokenType.openingFlow="openingFlow",LexicalTokenType.enclosingFlow="enclosingFlow",LexicalTokenType.flowEnd="flowEnd",LexicalTokenType.openingComment="openingComment",LexicalTokenType.enclosingComment="enclosingComment",LexicalTokenType.openingEditorPlaceholder="openingEditorPLaceholder",LexicalTokenType.enclosingEditorPlaceholder="enclosingEditorPlaceholder",LexicalTokenType.plainText="plainText",LexicalTokenType.newline="newline"}(exports.LexicalTokenType||(exports.LexicalTokenType={}))},{}],680:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxParser=void 0;const SyntaxNode_1=require("./nodes/SyntaxNode"),ConcreteToken_1=require("./../Tokenization/Concrete/ConcreteToken"),SyntaxTree_1=require("./SyntaxTree"),SyntaxNodeFlow_1=require("./nodes/SyntaxNodeFlow"),SyntaxNodeText_1=require("./nodes/SyntaxNodeText"),SyntaxNodeSubstitution_1=require("./nodes/SyntaxNodeSubstitution");exports.SyntaxParser=class{constructor(tokens,executionContext){this.tokens=tokens,this.executionContext=executionContext,this.openedFlowNodes=[]}parse(){try{let concreteBuffer=this.tokens.shallowCopy();return this.parseTokens(concreteBuffer)}catch(error){throw error}}parseTokens(tokens){let syntaxTree=new SyntaxTree_1.SyntaxTree,token=tokens.removeFirst();for(;null!==token;){try{let parsedNode=null;switch(token.type){case ConcreteToken_1.ConcreteTokenType.text:parsedNode=new SyntaxNodeText_1.SyntaxNodeText(token.associatedValue);break;case ConcreteToken_1.ConcreteTokenType.substitution:parsedNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(token.associatedValue,this.executionContext);break;case ConcreteToken_1.ConcreteTokenType.flow:let currentFlowNode=new SyntaxNodeFlow_1.SyntaxNodeFlow(token.associatedValue,token.lineOffset,token.firstLineDirective,null,this.executionContext),lastChainableFlowNode=this.openedFlowNodes.length>0?this.openedFlowNodes[this.openedFlowNodes.length-1]:null;if(currentFlowNode.setParent(lastChainableFlowNode),null!==lastChainableFlowNode){let chainsTo=lastChainableFlowNode.flow.chainableFlows();null!==chainsTo&&chainsTo.includes(currentFlowNode.flow.keyword())&&(this.openedFlowNodes.pop(),lastChainableFlowNode.setLinksToFlow(currentFlowNode))}parsedNode=currentFlowNode;break;case ConcreteToken_1.ConcreteTokenType.flowEnd:this.openedFlowNodes.length>0&&this.openedFlowNodes.pop()}if(null!==parsedNode){let openedFlowNode=this.lastOpenedChainNode();null!==openedFlowNode?openedFlowNode.flowGroup.add(parsedNode):syntaxTree.rootNode.add(parsedNode)}null!==parsedNode&&parsedNode.nodeType===SyntaxNode_1.NodeType.flow&&this.openedFlowNodes.push(parsedNode)}catch(error){throw error}token=tokens.removeFirst()}if(this.openedFlowNodes.length>0)throw Error("missingEnclosingFlowTag");return syntaxTree}lastOpenedChainNode(){return this.openedFlowNodes.length>0?this.openedFlowNodes[this.openedFlowNodes.length-1]:null}}},{"./../Tokenization/Concrete/ConcreteToken":676,"./SyntaxTree":681,"./nodes/SyntaxNode":682,"./nodes/SyntaxNodeFlow":683,"./nodes/SyntaxNodeSubstitution":685,"./nodes/SyntaxNodeText":686}],681:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxTree=void 0;const SyntaxNodeGroup_1=require("./nodes/SyntaxNodeGroup");exports.SyntaxTree=class{constructor(rootNode){this.rootNode=null!=rootNode?rootNode:new SyntaxNodeGroup_1.SyntaxNodeGroup([])}debugDescription(){return`\n Syntax Tree:\n ${this.rootNode.debugDescription()}\n `}equals(obj){return this.rootNode===obj.rootNode}}},{"./nodes/SyntaxNodeGroup":684}],682:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNode=exports.NodeType=void 0,function(NodeType){NodeType[NodeType.text=0]="text",NodeType[NodeType.flow=1]="flow",NodeType[NodeType.substitution=2]="substitution",NodeType[NodeType.group=3]="group"}(exports.NodeType||(exports.NodeType={}));exports.SyntaxNode=class{}},{}],683:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeFlow=void 0;const SyntaxNode_1=require("./SyntaxNode"),uuid_1=require("uuid"),SyntaxNodeGroup_1=require("./SyntaxNodeGroup"),StringUtils_1=require("./../../../utils/StringUtils"),FlowSource_1=require("../../../interpreter/flows/FlowSource"),FlowOutput_1=require("./../../../interpreter/flows/FlowOutput"),Flow_1=require("./../../../interpreter/flows/Flow"),SyntaxNodeSubstitution_1=require("./SyntaxNodeSubstitution");exports.SyntaxNodeFlow=class{constructor(directive,lineOffset,firstLineDirective,flowGroup=null,executionContext){var _a;this.previousChainFlow=null,this.nextChainFlow=null,this.parent=null,this.directive=directive,this.nodeType=SyntaxNode_1.NodeType.flow,this.flowGroup=null!=flowGroup?flowGroup:new SyntaxNodeGroup_1.SyntaxNodeGroup([]),this.flowIdentifier=uuid_1.v4(),this.lineOffset=lineOffset,this.firstLineDirective=firstLineDirective;try{let components=StringUtils_1.StringUtils.splitIgnoringQuotedContent(StringUtils_1.StringUtils.withoutSpacesInsideRoundBrackets(StringUtils_1.StringUtils.trimmed(directive))," "),flowKeyword=null!==(_a=components[0])&&void 0!==_a?_a:null;if(null==flowKeyword)throw Error("missingFlowKeyword");let flow=executionContext.flow(flowKeyword);if(!flow)throw Error("missingFlowKeyword");let requiredParts=flow.flowFormat().filter((format=>format.requirement===Flow_1.BLZFlowFormatRequirement.required)),foundOptional=!1;for(let part of flow.flowFormat())if(part.requirement===Flow_1.BLZFlowFormatRequirement.required){if(foundOptional)throw Error("flowRequiredPartMustPrecedeOptional")}else part.requirement===Flow_1.BLZFlowFormatRequirement.optional&&(foundOptional=!0);for(let[index,part]of requiredParts.entries())switch(part.type){case Flow_1.BLZFlowFormatType.keyword:if(index>=components.length)throw Error("flowKeywordMissing");if(components[index]!==part.definition)throw Error("flowKeywordMissing");break;case Flow_1.BLZFlowFormatType.output:case Flow_1.BLZFlowFormatType.source:if(index>=components.length)throw Error("flowArgumentEmpty")}let outputs=new Map,sources=new Map,keywords=new Map;for(let[index,formatPiece]of flow.flowFormat().entries())switch(formatPiece.type){case Flow_1.BLZFlowFormatType.output:let parseOutput=!0;if(formatPiece.requirement===Flow_1.BLZFlowFormatRequirement.optional&&components.length<=index&&(parseOutput=!1),parseOutput){let output=new FlowOutput_1.BLZFlowOutput(components[index]);outputs.set(formatPiece.definition,output)}break;case Flow_1.BLZFlowFormatType.source:let parseSource=!0;if(formatPiece.requirement===Flow_1.BLZFlowFormatRequirement.optional&&components.length<=index&&(parseSource=!1),parseSource){let substitutionNode=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(components[index],executionContext),source=new FlowSource_1.BLZFlowSource(substitutionNode);sources.set(formatPiece.definition,source)}break;case Flow_1.BLZFlowFormatType.keyword:keywords.set(formatPiece.definition,index<components.length)}this.outputs=outputs,this.sources=sources,this.keywords=keywords,this.flow=flow}catch(error){throw error}}setLinksToFlow(node){this.nextChainFlow=node,node.previousChainFlow=this}unlinkPreviousChainedFlow(){this.previousChainFlow=null}unlinkNextChainedFlow(){this.nextChainFlow=null}setParent(node){this.parent=node}flowStackIdentifier(){let identifiers=[this.flowIdentifier],parent=this.parent;for(;parent;)identifiers.splice(0,0,parent.flowIdentifier),parent=parent.parent;return identifiers}debugDescription(){return`\n Flow Node: ${this.directive}\n Group: ${this.flowGroup.debugDescription()}\n `}equals(obj){return this.directive===obj.directive&&this.flowGroup===obj.flowGroup}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){throw Error("Flow can't interpret directly")}))}}},{"../../../interpreter/flows/FlowSource":559,"./../../../interpreter/flows/Flow":556,"./../../../interpreter/flows/FlowOutput":558,"./../../../utils/StringUtils":698,"./SyntaxNode":682,"./SyntaxNodeGroup":684,"./SyntaxNodeSubstitution":685,uuid:733}],684:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeGroup=void 0;const SyntaxNode_1=require("./SyntaxNode");exports.SyntaxNodeGroup=class{constructor(nodes,depth=0){this.nodes=nodes,this.depth=depth,this.nodeType=SyntaxNode_1.NodeType.group}add(node){this.nodes.push(node)}debugDescription(){return`\n Group Node, size: ${this.nodes.length}, depth: ${this.depth}\n Subnodes: [\n ${this.nodes.map((value=>` - ${value.debugDescription()}`)).join("\n")}\n ]\n `}equals(obj){if(this.nodes.length!==obj.nodes.length)return!1;for(let[index,lnode]of this.nodes.entries()){let rnode=obj.nodes[index];if((lnode.nodeType!==SyntaxNode_1.NodeType.text||rnode.nodeType!==SyntaxNode_1.NodeType.text||lnode!==rnode)&&((lnode.nodeType!==SyntaxNode_1.NodeType.substitution||rnode.nodeType!==SyntaxNode_1.NodeType.substitution||lnode!==rnode)&&!(lnode.nodeType===SyntaxNode_1.NodeType.flow&&rnode.nodeType===SyntaxNode_1.NodeType.flow&&lnode===rnode||lnode.nodeType===SyntaxNode_1.NodeType.group&&rnode.nodeType===SyntaxNode_1.NodeType.group&&lnode===rnode)))return!1}return!0}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){throw"Group can't interpret directly"}))}}},{"./SyntaxNode":682}],685:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeSubstitution=void 0;const SyntaxNode_1=require("./SyntaxNode"),StringUtils_1=require("./../../../utils/StringUtils");exports.SyntaxNodeSubstitution=class{constructor(directive,executionContext){this.directive=directive,this.nodeType=SyntaxNode_1.NodeType.substitution;try{let workingDirective=StringUtils_1.StringUtils.trimmed(directive),hasCustomDataSource=!1;if(workingDirective.startsWith("@")){workingDirective=workingDirective.substr(1);let keyword=StringUtils_1.StringUtils.substringUntilDelimiter(workingDirective,"(");if(null===keyword)throw Error("functionMustBeCalled");let func=executionContext.function(keyword);if(null===func)throw Error("unknownFunction "+keyword);let argument=StringUtils_1.StringUtils.argumentStringBetweenBracketsFirstOccurance(workingDirective,keyword);workingDirective=workingDirective.substr(argument.length+keyword.length+2),this.customDataSource={function:func,directive:argument},hasCustomDataSource=!0}else this.customDataSource=null;if(hasCustomDataSource&&workingDirective.length>0){if(!workingDirective.startsWith("."))throw Error("dotNotationAfterFunctionInvocationExpected");workingDirective=workingDirective.substring(1)}let components=StringUtils_1.StringUtils.splitIgnoringQuotedBracketedContent(workingDirective,".");if(0===components.length&&!hasCustomDataSource)throw Error("missingSubstitutionValue");let transformerStack=[];for(let component of components){let keyword=StringUtils_1.StringUtils.substringUntilDelimiter(component,"(");if(null!==keyword){let transformer=executionContext.transformer(keyword);if(null===transformer)throw Error(`unknown transformer ${keyword}`);{"value"==transformer.keyword()&&(transformer=executionContext.valueAlwaysRootTransformer());let argument=StringUtils_1.StringUtils.argumentStringBetweenBrackets(component,keyword);transformerStack.push({transformer:transformer,directive:argument})}}else{let valueTransformer=executionContext.valueTransformer();transformerStack.push({transformer:valueTransformer,directive:component})}}if(!hasCustomDataSource){let transformer=transformerStack.length>0?transformerStack[0]:null;if(null===transformer||"value"!==transformer.transformer.keyword())throw Error("substitutionMustNotStartWithTransformer")}this.transformers=transformerStack}catch(error){throw error}}modifyInputValue(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{let data=null;if(null!==this.customDataSource){let func=this.customDataSource.function,directive=this.customDataSource.directive;data=yield func.provideValueUsingArgumentString(directive,context,executionContext)}else data=context.data;for(let[index,transformerEntry]of this.transformers.entries())data=yield transformerEntry.transformer.transformValueUsingArgumentString(data,transformerEntry.directive,context,executionContext,0===index);return data}catch(error){throw error}}))}debugDescription(){return`Directive ${this.directive}, applied transformers: ${JSON.stringify(this.transformers)}`}equals(obj){return this.directive===obj.directive}interpret(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{let dynamicValue=yield this.modifyInputValue(context,executionContext);if("string"==typeof dynamicValue)return dynamicValue;if("number"==typeof dynamicValue)return dynamicValue.toString();if(null===dynamicValue&&"#body"===this.directive)return"";throw Error("substitutionOutputNotString: "+dynamicValue)}catch(error){throw error}}))}interpretValue(context,executionContext){return __awaiter(this,void 0,void 0,(function*(){try{return yield this.modifyInputValue(context,executionContext)}catch(error){throw error}}))}}},{"./../../../utils/StringUtils":698,"./SyntaxNode":682}],686:[function(require,module,exports){"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P((function(resolve){resolve(value)}))).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SyntaxNodeText=void 0;const SyntaxNode_1=require("./SyntaxNode");exports.SyntaxNodeText=class{constructor(text){this.nodeType=SyntaxNode_1.NodeType.text,this.text=text}debugDescription(){return`Text Node: "${this.text}"`}equals(obj){return this.text===obj.text}interpret(_context,_executionContext){return __awaiter(this,void 0,void 0,(function*(){return this.text}))}}},{"./SyntaxNode":682}],687:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZAutocompleteEngine=exports.BLZAutocompleteEngineSuggestionType=void 0,function(BLZAutocompleteEngineSuggestionType){BLZAutocompleteEngineSuggestionType.method="method",BLZAutocompleteEngineSuggestionType.transformer="transformer",BLZAutocompleteEngineSuggestionType.snippet="snippet",BLZAutocompleteEngineSuggestionType.variable="variable"}(exports.BLZAutocompleteEngineSuggestionType||(exports.BLZAutocompleteEngineSuggestionType={}));exports.BLZAutocompleteEngine=class{constructor(){}suggestNextBasedOnString(_string,_selectionLocation,_selectionLength){return[]}suggestedStringUntilSelection(string,selectionLocation,_selectionLength){return string.substring(0,selectionLocation)}applySuggestion(suggestion,string,selectionLocation,_selectionLength,_decoderAddition){let stringUntilSelection=string.substring(0,selectionLocation),stringAfterSelection=string.substr(selectionLocation,string.length-selectionLocation);return stringUntilSelection=stringUntilSelection.substr(0,selectionLocation-suggestion.inputString.length),stringUntilSelection+=suggestion.suggestionString,{resultingString:`${stringUntilSelection}${stringAfterSelection}`,proposedSelectionLocation:stringUntilSelection.length,proposedSelectionLength:0}}}},{}],688:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintAutocompleteEngine=exports.BLZBlueprintAutocompleteEngineControlCharacter=void 0;const DeclarationBuilder_1=require("./../documentation/DeclarationBuilder"),AutocompleteEngine_1=require("./AutocompleteEngine"),Doc_1=require("../documentation/Doc");var BLZBlueprintAutocompleteEngineControlCharacter;!function(BLZBlueprintAutocompleteEngineControlCharacter){BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen="{{",BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose="}}",BLZBlueprintAutocompleteEngineControlCharacter.flowOpening="{[",BLZBlueprintAutocompleteEngineControlCharacter.flowClosing="/]}",BLZBlueprintAutocompleteEngineControlCharacter.commentOpen="/*",BLZBlueprintAutocompleteEngineControlCharacter.commentClose="*/",BLZBlueprintAutocompleteEngineControlCharacter.quote='"',BLZBlueprintAutocompleteEngineControlCharacter.none="none"}(BLZBlueprintAutocompleteEngineControlCharacter=exports.BLZBlueprintAutocompleteEngineControlCharacter||(exports.BLZBlueprintAutocompleteEngineControlCharacter={}));class BLZBlueprintAutocompleteEngine extends AutocompleteEngine_1.BLZAutocompleteEngine{constructor(executionContext,includePlaceholders=!1){super(),this.executionContext=executionContext,this.snippets=new Array,this.includePlaceholders=includePlaceholders}update(executionContext){this.executionContext=executionContext}loadSnippets(snippets){this.snippets=this.snippets.concat(snippets)}suggestNextBasedOnString(string,selectionLocation,selectionLength){let stringUntilSelection=this.suggestedStringUntilSelection(string,selectionLocation,selectionLength),lastLine=this.lastLineOfString(stringUntilSelection),contextControlChar=this.seekLastControlCharacterOfString(lastLine);return this.suggestionsForString(lastLine,contextControlChar)}suggestionsForString(codeLine,context){let suggestions=new Array;switch(context){case BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen:case BLZBlueprintAutocompleteEngineControlCharacter.flowOpening:let fnKeyword=this.lastWordOfString(codeLine,["@"]),variableKeyword=this.lastWordOfString(codeLine,[" ","("]),transformerKeyword=this.lastWordOfString(codeLine,["."]);suggestions=suggestions.concat(this.variableSuggestionsContainingKeyword(variableKeyword)),suggestions=suggestions.concat(this.functionSuggestionsContainingKeyword(fnKeyword)),suggestions=suggestions.concat(this.transformerSuggestionsContainingKeyword(transformerKeyword));break;case BLZBlueprintAutocompleteEngineControlCharacter.flowClosing:case BLZBlueprintAutocompleteEngineControlCharacter.commentOpen:case BLZBlueprintAutocompleteEngineControlCharacter.quote:break;case BLZBlueprintAutocompleteEngineControlCharacter.commentClose:case BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose:case BLZBlueprintAutocompleteEngineControlCharacter.none:let snippetKeyword=this.lastWordOfString(codeLine,[" "]);suggestions=suggestions.concat(this.snippetSuggestionsContainingKeyword(snippetKeyword))}return suggestions}variableSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allVariables=this.executionContext.variableContext.stack,usableVariables=new Array;for(let variable of allVariables){let ranges=this.rangesOfSubsequence(variable.identifier,subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableVariables.push({variable:variable,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableVariables){let suggestion=this.convertVariableToSuggestion(pack.variable,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}transformerSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allTransformers=this.executionContext.availableTransformers().values(),usableTransformers=new Array;for(let transformer of allTransformers){let ranges=this.rangesOfSubsequence(transformer.keyword(),subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableTransformers.push({transformer:transformer,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableTransformers){let suggestion=this.convertTransformerToSuggestion(pack.transformer,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}snippetSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let usableSnippets=this.snippets.filter((filter=>filter.keyword.startsWith(subsequence))),suggestions=new Array;for(let snippet of usableSnippets){let suggestion=this.convertSnippetToSuggestion(snippet,subsequence);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}functionSuggestionsContainingKeyword(subsequence){if(0===subsequence.length)return[];let allFunctions=this.executionContext.availableFunctions().values(),usableFunctions=new Array;for(let fn of allFunctions){let ranges=this.rangesOfSubsequence(fn.keyword(),subsequence);if(ranges){let weight=this.longestRangeOfRanges(ranges);usableFunctions.push({function:fn,ranges:ranges,weight:weight})}}let suggestions=new Array;for(let pack of usableFunctions){let suggestion=this.convertFunctionToSuggestion(pack.function,subsequence,pack.ranges,pack.weight);suggestions.push(suggestion)}return this.sortedSuggestions(suggestions)}convertFunctionToSuggestion(fn,searchKeyword,ranges,weight){var _a;let suggestion=DeclarationBuilder_1.BLZDeclarationBuilder.snippetDeclarationForFunction(fn,this.includePlaceholders),declaration=DeclarationBuilder_1.BLZDeclarationBuilder.documentationDeclarationForFunction(fn),doc=null!==(_a=fn.documentation())&&void 0!==_a?_a:new Doc_1.BLZDoc(fn.keyword(),null,"No description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.method,inputString:searchKeyword,suggestionString:suggestion,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:declaration}}convertTransformerToSuggestion(transformer,searchKeyword,ranges,weight){var _a;let suggestion=DeclarationBuilder_1.BLZDeclarationBuilder.snippetDeclarationForTransformer(transformer,this.includePlaceholders),declaration=DeclarationBuilder_1.BLZDeclarationBuilder.documentationDeclarationForTransformer(transformer),doc=null!==(_a=transformer.documentation())&&void 0!==_a?_a:new Doc_1.BLZDoc(transformer.keyword(),null,"No description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.transformer,inputString:searchKeyword,suggestionString:suggestion,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:declaration}}convertVariableToSuggestion(variable,searchKeyword,ranges,weight){let description;description=variable.isGlobal?"Variable is immutable and available in global scope":variable.isMutable?"Variable is mutable and available in local scope":"Variable is immutable and available in local scope";let doc=new Doc_1.BLZDoc(variable.identifier,null,description,null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.variable,inputString:searchKeyword,suggestionString:variable.identifier,ranges:ranges,weight:weight,caretLocation:null,documentationObject:doc,declarationString:null}}convertSnippetToSuggestion(snippet,searchKeyword){var _a;let doc=new Doc_1.BLZDoc(snippet.keyword,null,null!==(_a=snippet.description)&&void 0!==_a?_a:"No Description",null,[]);return{type:AutocompleteEngine_1.BLZAutocompleteEngineSuggestionType.snippet,inputString:searchKeyword,suggestionString:snippet.content,ranges:[],weight:snippet.priority,caretLocation:snippet.caretPosition,documentationObject:doc,declarationString:null}}sortedSuggestions(suggestions){return suggestions.sort(((s1,s2)=>s1.weight-s2.weight))}rangesOfSubsequence(string,subsequence){let subsequenceCount=subsequence.length;subsequence=subsequence.toLowerCase();if(0===string.toLowerCase().length||0===subsequence.length)return[];if(subsequence.length>string.length)return null;var matchingIndexes=new Array;for(let i=0;i<string.length;i++){let character=string[i];if(subsequence.length>0){if(character!==subsequence[0])break;subsequence=subsequence.substring(1),matchingIndexes.push(i)}}return matchingIndexes.length===subsequenceCount?this.compactRanges(matchingIndexes):null}compactRanges(indexes){if(0===indexes.length)return[];let firstOpeningIndex=indexes[0];if(indexes.shift(),0===indexes.length)return[{location:firstOpeningIndex,length:1}];let ranges=[];for(var succeedingCount=0;indexes.length>0;){let index=indexes[0];firstOpeningIndex+succeedingCount<index-1?(ranges.push({location:firstOpeningIndex,length:succeedingCount+1}),succeedingCount=0,firstOpeningIndex=index):succeedingCount+=1,indexes.shift()}return succeedingCount>0&&ranges.push({location:firstOpeningIndex,length:succeedingCount+1}),ranges}longestRangeOfRanges(ranges){return ranges.map((range=>range.length)).reduce(((a,b)=>Math.max(a,b)))}seekLastControlCharacterOfString(codeLine){let length=(codeLine=codeLine).length;for(let i=0;i<length;i++){for(let potentialControlChar of this.allControlCharacters())if(this.lastPartOfStringContains(codeLine,potentialControlChar))return potentialControlChar;codeLine=codeLine.substring(0,codeLine.length-1)}return BLZBlueprintAutocompleteEngineControlCharacter.none}allControlCharacters(){return[BLZBlueprintAutocompleteEngineControlCharacter.commentClose,BLZBlueprintAutocompleteEngineControlCharacter.commentOpen,BLZBlueprintAutocompleteEngineControlCharacter.flowClosing,BLZBlueprintAutocompleteEngineControlCharacter.flowOpening,BLZBlueprintAutocompleteEngineControlCharacter.quote,BLZBlueprintAutocompleteEngineControlCharacter.substitutionClose,BLZBlueprintAutocompleteEngineControlCharacter.substitutionOpen]}lastPartOfStringContains(string,contains){return string.endsWith(contains)}lastWordOfString(string,delimiters){var buffer="";for(let i=string.length-1;i>=0;i--){let c=string[i];if(delimiters.includes(c))return buffer;buffer=c+buffer}return buffer}lastLineOfString(string){return this.lastWordOfString(string,["\n"])}}exports.BLZBlueprintAutocompleteEngine=BLZBlueprintAutocompleteEngine},{"../documentation/Doc":693,"./../documentation/DeclarationBuilder":692,"./AutocompleteEngine":687}],689:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZAutocompleteBlueprintSnippets=void 0;const PlaceholderDisabledSnippetPool_1=require("./PlaceholderDisabledSnippetPool"),PlaceholderEnabledSnippetPool_1=require("./PlaceholderEnabledSnippetPool");exports.BLZAutocompleteBlueprintSnippets=class{constructor(){}snippetPool(includingEditorPlaceholder=!1){if(includingEditorPlaceholder){return(new PlaceholderEnabledSnippetPool_1.BLZPlaceholderEnabledSnippetPool).allSnippets()}return(new PlaceholderDisabledSnippetPool_1.BLZPlaceholderDisabledSnippetPool).allSnippets()}}},{"./PlaceholderDisabledSnippetPool":690,"./PlaceholderEnabledSnippetPool":691}],690:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZPlaceholderDisabledSnippetPool=void 0;const ts_dedent_1=require("ts-dedent");exports.BLZPlaceholderDisabledSnippetPool=class{constructor(){}allSnippets(){return[this.commentSnippet(),this.commentMultilineSnippet(),this.flowSnippet(),this.flowEndSnippet(),this.flowNoBodySnippet(),this.substitutionSnippet(),this.logFlowSnippet(),this.varFlowSnippet(),this.letFlowSnippet(),this.setFlowSnippet(),this.globalFlowSnippet(),this.importFlowSnippet(),this.returnFlowSnippet(),this.emitFlowSnippet(),this.injectFlowSnippet(),this.codeMergeFlowSnippet(),this.mapFlowSnippet(),this.mapElseFlowSnippet(),this.forFlowSnippet(),this.forElseFlowSnippet(),this.traverseFlowSnippet(),this.switchFlowSnippet(),this.switchDefaultFlowSnippet(),this.caseFlowSnippet(),this.defaultFlowSnippet(),this.ifFlowSnippet(),this.ifElseFlowSnippet(),this.ifElseIfElseFlowSnippet()]}commentSnippet(){return{keyword:"comment",content:ts_dedent_1.dedent("\n {* *}\n\n "),description:"Creates inline comment block.",caretPosition:3,priority:0}}commentMultilineSnippet(){return{keyword:"comment_block",content:"\n {*\n\n *}\n\n ",description:"Creates multiline comment block.",caretPosition:4,priority:0}}flowSnippet(){return{keyword:"flow",content:ts_dedent_1.dedent("\n {[ Statement ]}\n Body\n {[/]}\n\n "),description:"Creates flow with opening and ending statement including content block.",caretPosition:3,priority:0}}flowEndSnippet(){return{keyword:"flow_end",content:ts_dedent_1.dedent("\n {[/]}\n\n "),description:"Creates ending tag for opened flow.",caretPosition:6,priority:0}}flowNoBodySnippet(){return{keyword:"flow_no_body",content:ts_dedent_1.dedent("\n {[ Statement /]}\n\n "),description:"Creates flow with opening and ending statement without content block.",caretPosition:3,priority:0}}substitutionSnippet(){return{keyword:"substitution",content:ts_dedent_1.dedent("\n {{ Statement }}\n "),description:"Creates substitution block used to output dynamic value.",caretPosition:3,priority:0}}logFlowSnippet(){return{keyword:"log",content:ts_dedent_1.dedent("\n {[ log statement /]}\n "),description:"Outputs any information into console. Log works with results of functions, variables or even custom messages",caretPosition:7,priority:0}}varFlowSnippet(){return{keyword:"var",content:ts_dedent_1.dedent("\n {[ var name value /]}\n "),description:"Creates named variable within the current scope that is mutable.",caretPosition:7,priority:0}}letFlowSnippet(){return{keyword:"let",content:ts_dedent_1.dedent("\n {[ let name value /]}\n "),description:"Creates named variable within the current scope that is immutable.",caretPosition:7,priority:0}}setFlowSnippet(){return{keyword:"set",content:ts_dedent_1.dedent("\n {[ set name value /]}\n "),description:"Creates flow used to modify value of previously defined mutable varible (defined using var flow).",caretPosition:7,priority:0}}globalFlowSnippet(){return{keyword:"global",content:ts_dedent_1.dedent("\n {[ global name value /]}\n "),description:"Creates named variable that is accessible within any scope. Note that global variables are always immutable and should only be used to set things such as global configuration flags.",caretPosition:10,priority:0}}importFlowSnippet(){return{keyword:"import",content:ts_dedent_1.dedent("\n {[ import name from blueprint /]}\n "),description:"Creates import flow used to extract value from another import. In order to define properties retrieved from blueprint execution, use return flow.",caretPosition:10,priority:0}}returnFlowSnippet(){return{keyword:"return",content:ts_dedent_1.dedent("\n {[ return variable /]}\n "),description:"Creates return flow used to define values that can be imported into another blueprint. Use import flow to reuse the values in another blueprint.",caretPosition:10,priority:0}}emitFlowSnippet(){return{keyword:"emit",content:ts_dedent_1.dedent("\n {[ emit file filename ]}\n body to emit\n {[/]}\n\n "),description:"Creates emit flow to export another blueprint from current one, resulting in multiple output files. Body of the emitter is what is used to define the content",caretPosition:13,priority:0}}injectFlowSnippet(){return{keyword:"inject",content:ts_dedent_1.dedent("\n {[ inject blueprint name context blueprint data /]}\n "),description:"Creates inject flow which allows to import content of another blueprint",caretPosition:10,priority:0}}codeMergeFlowSnippet(){return{keyword:"code",content:ts_dedent_1.dedent("\n {[ code /]}\n\n "),description:"Creates merging code tag signifying that area inside this file is untouchable by code regeneration.",caretPosition:12,priority:0}}mapFlowSnippet(){return{keyword:"map",content:ts_dedent_1.dedent("\n {[ map source to key value /]}\n {{ key }} {{ value }}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value",caretPosition:7,priority:0}}mapElseFlowSnippet(){return{keyword:"mapelse",content:ts_dedent_1.dedent("\n {[ map source to key value /]}\n {{ key }} {{ value }}\n {[ else ]}\n body when empty\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value. If the source dictionary is empty, else block is used instead and can provide default value",caretPosition:7,priority:0}}forFlowSnippet(){return{keyword:"for",content:ts_dedent_1.dedent("\n {[ for value in source ]}\n {{ value }}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration",caretPosition:15,priority:0}}forElseFlowSnippet(){return{keyword:"for_else",content:ts_dedent_1.dedent("\n {[ for value in source ]}\n {{ value }}\n {[ else ]}\n body when empty\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration. If the source array is empty, else block is used instead and can provide default value",caretPosition:15,priority:0}}traverseFlowSnippet(){return{keyword:"traverse",content:ts_dedent_1.dedent("\n {[ traverse key into value source source or _ ]}\n {{ value }}\n {[/]}\n\n "),description:"Creates traverse iterator which can be used to iterate through nested objects. ",caretPosition:12,priority:0}}switchFlowSnippet(){return{keyword:"switch",content:ts_dedent_1.dedent("\n {[ switch source ]}\n {[ case value1 ]}\n body\n {[ case value1 ]}\n body\n {[/]}\n "),description:"Creates switch flow without default statement",caretPosition:10,priority:0}}switchDefaultFlowSnippet(){return{keyword:"switch_default",content:ts_dedent_1.dedent("\n {[ switch source ]}\n {[ case value1 ]}\n body\n {[ default ]}\n fallthrough\n {[/]}\n "),description:"Creates switch flow with default statement to handle cases not explicitly handled within switch statement",caretPosition:10,priority:0}}caseFlowSnippet(){return{keyword:"case",content:ts_dedent_1.dedent("\n {[ case value ]}\n\n "),description:"Creates anoter case for switch statement. If case statement results to true, body is invoked",caretPosition:8,priority:0}}defaultFlowSnippet(){return{keyword:"default",content:ts_dedent_1.dedent("\n {[ default ]}\n\n "),description:"Creates default branch for switch statement. Default branch is only executed when none of previous cases results to true",caretPosition:15,priority:0}}ifFlowSnippet(){return{keyword:"if",content:ts_dedent_1.dedent("\n {[ if condition ]}\n true body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true",caretPosition:6,priority:0}}ifElseFlowSnippet(){return{keyword:"if_else",content:ts_dedent_1.dedent("\n {[ if condition ]}\n true body\n {[ else ]}\n false body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to else branch when false",caretPosition:6,priority:0}}ifElseIfElseFlowSnippet(){return{keyword:"if_elseif_else",content:ts_dedent_1.dedent("\n {[ if condition ]}\n body\n {[ elseif another condition ]}\n body\n {[ else ]}\n body\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to another condition if false, or falls back to else branch when everything fails",caretPosition:6,priority:0}}}},{"ts-dedent":732}],691:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZPlaceholderEnabledSnippetPool=void 0;const ts_dedent_1=require("ts-dedent");exports.BLZPlaceholderEnabledSnippetPool=class{constructor(){}allSnippets(){return[this.commentSnippet(),this.commentMultilineSnippet(),this.flowSnippet(),this.flowEndSnippet(),this.flowNoBodySnippet(),this.substitutionSnippet(),this.logFlowSnippet(),this.varFlowSnippet(),this.letFlowSnippet(),this.setFlowSnippet(),this.globalFlowSnippet(),this.importFlowSnippet(),this.returnFlowSnippet(),this.emitFlowSnippet(),this.injectFlowSnippet(),this.codeMergeFlowSnippet(),this.mapFlowSnippet(),this.mapElseFlowSnippet(),this.forFlowSnippet(),this.forElseFlowSnippet(),this.traverseFlowSnippet(),this.switchFlowSnippet(),this.switchDefaultFlowSnippet(),this.caseFlowSnippet(),this.defaultFlowSnippet(),this.ifFlowSnippet(),this.ifElseFlowSnippet(),this.ifElseIfElseFlowSnippet()]}commentSnippet(){return{keyword:"comment",content:ts_dedent_1.dedent("\n {* *}\n\n "),description:"Creates inline comment block.",caretPosition:3,priority:0}}commentMultilineSnippet(){return{keyword:"comment_block",content:"\n {*\n\n *}\n\n ",description:"Creates multiline comment block.",caretPosition:4,priority:0}}flowSnippet(){return{keyword:"flow",content:ts_dedent_1.dedent("\n {[ ${1:Statement} ]}\n ${2:Body}\n {[/]}\n\n "),description:"Creates flow with opening and ending statement including content block.",caretPosition:3,priority:0}}flowEndSnippet(){return{keyword:"flow_end",content:ts_dedent_1.dedent("\n {[/]}\n\n "),description:"Creates ending tag for opened flow.",caretPosition:6,priority:0}}flowNoBodySnippet(){return{keyword:"flow_no_body",content:ts_dedent_1.dedent("\n {[ ${1:Statement} /]}\n\n "),description:"Creates flow with opening and ending statement without content block.",caretPosition:3,priority:0}}substitutionSnippet(){return{keyword:"substitution",content:ts_dedent_1.dedent("\n {{ ${1:Statement} }}\n "),description:"Creates substitution block used to output dynamic value.",caretPosition:3,priority:0}}logFlowSnippet(){return{keyword:"log",content:ts_dedent_1.dedent("\n {[ log ${1:statement} /]}\n "),description:"Outputs any information into console. Log works with results of functions, variables or even custom messages",caretPosition:7,priority:0}}varFlowSnippet(){return{keyword:"var",content:ts_dedent_1.dedent("\n {[ var ${1:name} ${2:value} /]}\n "),description:"Creates named variable within the current scope that is mutable.",caretPosition:7,priority:0}}letFlowSnippet(){return{keyword:"let",content:ts_dedent_1.dedent("\n {[ let ${1:name} ${2:value} /]}\n "),description:"Creates named variable within the current scope that is immutable.",caretPosition:7,priority:0}}setFlowSnippet(){return{keyword:"set",content:ts_dedent_1.dedent("\n {[ set ${1:name} ${2:value} /]}\n "),description:"Creates flow used to modify value of previously defined mutable varible (defined using var flow).",caretPosition:7,priority:0}}globalFlowSnippet(){return{keyword:"global",content:ts_dedent_1.dedent("\n {[ global ${1:name} ${2:value} /]}\n "),description:"Creates named variable that is accessible within any scope. Note that global variables are always immutable and should only be used to set things such as global configuration flags.",caretPosition:10,priority:0}}importFlowSnippet(){return{keyword:"import",content:ts_dedent_1.dedent("\n {[ import ${1:name} from ${2:blueprint} /]}\n "),description:"Creates import flow used to extract value from another import. In order to define properties retrieved from blueprint execution, use return flow.",caretPosition:10,priority:0}}returnFlowSnippet(){return{keyword:"return",content:ts_dedent_1.dedent("\n {[ return ${1:variable} /]}\n "),description:"Creates return flow used to define values that can be imported into another blueprint. Use import flow to reuse the values in another blueprint.",caretPosition:10,priority:0}}emitFlowSnippet(){return{keyword:"emit",content:ts_dedent_1.dedent("\n {[ emit file ${1:filename} ]}\n ${1:body to emit}\n {[/]}\n\n "),description:"Creates emit flow to export another blueprint from current one, resulting in multiple output files. Body of the emitter is what is used to define the content",caretPosition:13,priority:0}}injectFlowSnippet(){return{keyword:"inject",content:ts_dedent_1.dedent("\n {[ inject ${1:blueprint name} context ${2:data to pass} /]}\n "),description:"Creates inject flow which allows to import content of another blueprint",caretPosition:10,priority:0}}codeMergeFlowSnippet(){return{keyword:"code",content:ts_dedent_1.dedent("\n {[ code /]}\n\n "),description:"Creates merging code tag signifying that area inside this file is untouchable by code regeneration.",caretPosition:12,priority:0}}mapFlowSnippet(){return{keyword:"map",content:ts_dedent_1.dedent("\n {[ map ${1:source} to ${2:key} ${3:value} /]}\n {{ ${2:key} }} {{ ${3:value} }}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value",caretPosition:7,priority:0}}mapElseFlowSnippet(){return{keyword:"map_else",content:ts_dedent_1.dedent("\n {[ map ${1:source} to ${2:key} ${3:value} /]}\n {{ ${2:key} }} {{ ${3:value} }}\n {[ else ]}\n ${4:body when empty}\n {[/]}\n\n "),description:"Creates directory iterator defining two new properties for each iteration, key and value. If the source dictionary is empty, else block is used instead and can provide default value",caretPosition:7,priority:0}}forFlowSnippet(){return{keyword:"for",content:ts_dedent_1.dedent("\n {[ for ${1:value} in ${2:source} ]}\n {{ ${1:value} }}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration",caretPosition:15,priority:0}}forElseFlowSnippet(){return{keyword:"for_else",content:ts_dedent_1.dedent("\n {[ for ${1:value} in ${2:source} ]}\n {{ ${1:value} }}\n {[ else ]}\n ${3:body when empty}\n {[/]}\n\n "),description:"Creates array iterator defining new property for each iteration. If the source array is empty, else block is used instead and can provide default value",caretPosition:15,priority:0}}traverseFlowSnippet(){return{keyword:"traverse",content:ts_dedent_1.dedent("\n {[ traverse ${1:key} into ${2:value} source ${3:source | _} ]}\n {{ ${2:value} }}\n {[/]}\n\n "),description:"Creates traverse iterator which can be used to iterate through nested objects. ",caretPosition:12,priority:0}}switchFlowSnippet(){return{keyword:"switch",content:ts_dedent_1.dedent("\n {[ switch ${1:source} ]}\n {[ case ${2:value1} ]}\n ${3:body1}\n {[ case ${4:value2} ]}\n ${5:body2}\n {[/]}\n "),description:"Creates switch flow without default statement",caretPosition:10,priority:0}}switchDefaultFlowSnippet(){return{keyword:"switch_default",content:ts_dedent_1.dedent("\n {[ switch ${1:source} ]}\n {[ case ${2:value1} ]}\n ${3:body1}\n {[ default ]}\n ${4:fallthrough}\n {[/]}\n "),description:"Creates switch flow with default statement to handle cases not explicitly handled within switch statement",caretPosition:10,priority:0}}caseFlowSnippet(){return{keyword:"case",content:ts_dedent_1.dedent("\n {[ case ${1:value} ]}\n\n "),description:"Creates anoter case for switch statement. If case statement results to true, body is invoked",caretPosition:8,priority:0}}defaultFlowSnippet(){return{keyword:"default",content:ts_dedent_1.dedent("\n {[ default ]}\n\n "),description:"Creates default branch for switch statement. Default branch is only executed when none of previous cases results to true",caretPosition:15,priority:0}}ifFlowSnippet(){return{keyword:"if",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true",caretPosition:6,priority:0}}ifElseFlowSnippet(){return{keyword:"if_else",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[ else ]}\n ${3:executes when false}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to else branch when false",caretPosition:6,priority:0}}ifElseIfElseFlowSnippet(){return{keyword:"if_elseif_else",content:ts_dedent_1.dedent("\n {[ if ${1:condition} ]}\n ${2:executes when true}\n {[ elseif ${3:another condition} ]}\n ${4:executes when true}\n {[ else ]}\n ${5:executes when all false}\n {[/]}\n "),description:"Creates conditional flow that executes when statement results to true, or resorts to another condition if false, or falls back to else branch when everything fails",caretPosition:6,priority:0}}}},{"ts-dedent":732}],692:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZDeclarationBuilder=void 0;exports.BLZDeclarationBuilder=class{static snippetDeclarationForFunction(func,includePlaceholders){var argumentString="";let doc=func.documentation();if(null!==doc){argumentString=doc.arguments.map(((arg,index)=>includePlaceholders?`\${${index+1}:${arg.name}}`:`${arg.name}`)).join(", ")}return`${func.keyword()}${argumentString}`}static snippetDeclarationForTransformer(transformer,includePlaceholders){var argumentString="";let doc=transformer.documentation();if(null!==doc){argumentString=doc.arguments.map(((arg,index)=>includePlaceholders?`\${${index+1}:${arg.name}}`:`${arg.name}`)).join(", ")}return`${transformer.keyword()}(${argumentString})`}static documentationDeclarationForFunction(func){var returnString="",argumentString="";let doc=func.documentation();if(null!==doc){argumentString=doc.arguments.map((arg=>`${arg.name}: ${arg.dataType}`)).join(", "),null!==doc.returnType&&(returnString=` -> ${doc.returnType}`)}return`${func.keyword()}(${argumentString})${returnString}`}static documentationDeclarationForTransformer(transformer){var returnString="",argumentString="";let doc=transformer.documentation();if(null!==doc){argumentString=doc.arguments.map((arg=>`${arg.name}: ${arg.dataType}`)).join(", "),null!==doc.returnType&&(returnString=` -> ${doc.returnType}`)}return`${transformer.keyword()}(${argumentString})${returnString}`}}},{}],693:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZDoc=exports.DocDataTypePredefinedType=void 0,function(DocDataTypePredefinedType){DocDataTypePredefinedType.number="Number",DocDataTypePredefinedType.bool="Bool",DocDataTypePredefinedType.string="string",DocDataTypePredefinedType.int="Int",DocDataTypePredefinedType.double="Double",DocDataTypePredefinedType.float="Float",DocDataTypePredefinedType.array="Array",DocDataTypePredefinedType.dict="Dictionary",DocDataTypePredefinedType.any="Any"}(exports.DocDataTypePredefinedType||(exports.DocDataTypePredefinedType={}));class BLZDoc{constructor(name,link,text,dataType,args){this.name=name,this.description=text,this.link=link,this.returnType=dataType,this.arguments=null!=args?args:[]}static functionDoc(func,text,dataType,args,link){return new BLZDoc(func.keyword(),link,text,dataType,args)}static transfomerDoc(transformer,text,dataType,args,link){return new BLZDoc(transformer.keyword(),link,text,dataType,args)}static arg(name,text,dataType){return{name:name,description:text,dataType:dataType}}}exports.BLZDoc=BLZDoc},{}],694:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintHighlightEngine=void 0;const HighlightEngine_1=require("./HighlightEngine"),BlueprintHighlightEngineState_1=require("./BlueprintHighlightEngineState"),SyntaxNodeSubstitution_1=require("./../../parser/syntax/nodes/SyntaxNodeSubstitution"),StringUtils_1=require("./../../utils/StringUtils"),SyntaxNodeFlow_1=require("./../../parser/syntax/nodes/SyntaxNodeFlow");class BLZBlueprintHighlightEngine extends HighlightEngine_1.BLZHighlightEngine{constructor(executionContext){super(),this.blueprintFlowOpeningTag="{[",this.blueprintFlowClosingTag="]}",this.blueprintFlowClosingEndingTag="/]}",this.blueprintFlowOpeningSubstitution="{{",this.blueprintFlowClosingSubstitution="}}",this.blueprintCommentOpening="{*",this.blueprintCommentClosing="*}",this.blueprintSnippetOpening="{#",this.blueprintSnippetClosing="#}",this.executionContext=executionContext,this.blueprintFunctions=new Map,this.blueprintTransformers=new Map,this.blueprintFlows=new Map}tokenize(string){this.updateKeywords(this.executionContext);let tokens=new Array;return tokens=tokens.concat(this.tokenizeControlTokens(string)),tokens=tokens.concat(this.tokenizeNoncontrolTokens(string)),tokens}tokenizeControlTokens(string){let tokens=[],state=new BlueprintHighlightEngineState_1.BLZBlueprintHighlightEngineState(string);for(;string.length>0;)if(state.followsFlowOpening){let result=this.tokenizeUntilFlowEndOrNewline(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else if(state.followsSubstitutionOpening){let result=this.tokenizeUntilSubstitutionEndOrNewline(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else{let result=this.tokenizeUntilAnyControlOpeningTag(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}return tokens}tokenizeNoncontrolTokens(string){let tokens=[],state=new BlueprintHighlightEngineState_1.BLZBlueprintHighlightEngineState(string);for(;string.length>0;)if(state.commentOpened){let result=this.tokenizeUntilCommentEnd(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else if(state.snippetOpened){let result=this.tokenizeUntilSnippetEnd(state,string);tokens=tokens.concat(result.tokens),string=result.remaining}else{string=this.tokenizeUntilAnyNonControlOpeningTag(state,string)}return tokens}tokenizeUntilCommentEnd(state,string){for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPart(2)===this.blueprintCommentClosing){let token=this.tokenAtPosition(state.bufferStart-1,index+3,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.comment);return state.resetAfterClosingComment(),{remaining:string.substring(index+1),tokens:[token]}}}return{remaining:"",tokens:[]}}tokenizeUntilSnippetEnd(state,string){for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPart(2)===this.blueprintSnippetClosing){let token=this.tokenAtPosition(state.bufferStart-1,index+3,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.dynamicSnippet);return state.resetAfterClosingSnippet(),{remaining:string.substring(index+1),tokens:[token]}}}return{remaining:"",tokens:[]}}tokenizeUntilSubstitutionEndOrNewline(state,string){let tokens=[],endReached=!1,substitutionBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];state.addToBuffer(c);let part=state.lastBufferPartIfEquals(this.blueprintFlowClosingSubstitution);if(part){let text=state.textAtPosition(part.startIndex,part.size);tokens.push(this.tokenAtPosition(part.startIndex,part.size,text,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterSubstitutionClosingTag(),endReached=!0}else if(state.isLastCharacterLineSeparator())state.resetAfterNewline(),endReached=!0;else if(state.isLastCharacterClosingBracket()){let text=state.textAtPosition(state.seekedIndex-1,1);tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,text,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterBracket()}else if(state.isLastCharacterOpeningBracket()){let text=state.textAtPosition(state.seekedIndex-1,1);tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,text,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),state.resetAfterBracket()}if(endReached){console.log("end reached");let remainingLength=string.length-index+1,substitutionDefinition=string.substring(0,string.length-remainingLength+1),flowTokens=this.tokenizeSubstitution(substitutionDefinition,substitutionBeginning);return tokens=tokens.concat(flowTokens),{remaining:string.substring(index+1,string.length),tokens:tokens}}}return{remaining:"",tokens:tokens}}tokenizeUntilFlowEndOrNewline(state,string){let tokens=new Array,endReached=!1,flowBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];state.addToBuffer(c);let flowClosingEndingTagPart=state.lastBufferPartIfEquals(this.blueprintFlowClosingEndingTag),flowClosingTagPart=state.lastBufferPartIfEquals(this.blueprintFlowClosingTag);if(flowClosingEndingTagPart?(tokens.push(this.tokenAtPosition(flowClosingEndingTagPart.startIndex,flowClosingEndingTagPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterFlowClosingTag(),endReached=!0):flowClosingTagPart?(tokens.push(this.tokenAtPosition(flowClosingTagPart.startIndex,flowClosingTagPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterFlowClosingTag(),endReached=!0):state.isLastCharacterLineSeparator()?(state.resetAfterNewline(),endReached=!0):state.isLastCharacterClosingBracket()?(tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.closingBracket)),state.resetAfterBracket()):state.isLastCharacterOpeningBracket()&&(tokens.push(this.tokenAtPosition(state.seekedIndex-1,1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),state.resetAfterBracket()),endReached){let remainingLength=string.length-index+1,flowDefinition=string.substring(0,string.length-remainingLength+1),flowTokens=this.tokenizeFlow(flowDefinition,flowBeginning);return tokens=tokens.concat(flowTokens),{remaining:string.substring(index+1,string.length),tokens:tokens}}}return{remaining:"",tokens:[]}}tokenizeUntilAnyNonControlOpeningTag(state,string){let endReached=!1;for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPartIfEquals(this.blueprintCommentOpening)?(state.openComment(),endReached=!0):state.lastBufferPartIfEquals(this.blueprintSnippetOpening)&&(state.openSnippet(),endReached=!0),endReached)return string.substring(index+1,string.length)}return""}tokenizeUntilAnyControlOpeningTag(state,string){let tokens=[],endReached=!1,controlLength=0,flowBeginning=state.seekedIndex-1;for(let index=0;index<string.length;index++){let c=string[index];if(state.addToBuffer(c),state.lastBufferPartIfEquals(this.blueprintCommentOpening))controlLength=this.blueprintCommentOpening.length,state.openComment(),endReached=!0;else if(state.lastBufferPartIfEquals(this.blueprintSnippetOpening))controlLength=this.blueprintSnippetOpening.length,state.openSnippet(),endReached=!0;else{let substitutionOpeningPart=state.lastBufferPartIfEquals(this.blueprintFlowOpeningSubstitution);if(substitutionOpeningPart)tokens.push(this.tokenAtPosition(substitutionOpeningPart.startIndex,substitutionOpeningPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),controlLength=this.blueprintFlowOpeningSubstitution.length,state.resetAfterSubstitutionOpeningTag(),endReached=!0;else{let flowOpeningPart=state.lastBufferPartIfEquals(this.blueprintFlowOpeningTag);flowOpeningPart&&(tokens.push(this.tokenAtPosition(flowOpeningPart.startIndex,flowOpeningPart.size,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.openingBracket)),controlLength=this.blueprintFlowOpeningTag.length,state.resetAfterFlowOpeningTag(),endReached=!0)}}if(endReached)return index-controlLength>0&&tokens.push(this.tokenAtPosition(flowBeginning+1,index-1,state.buffer,HighlightEngine_1.BLZHighlightEngineTokenType.plainText)),{remaining:string.substring(index+1,string.length),tokens:tokens}}return{remaining:"",tokens:[]}}tokenizeFlow(definition,initialSeekIndex){let tokens=[];try{let node=new SyntaxNodeFlow_1.SyntaxNodeFlow(definition,0,!0,null,this.executionContext);for(let[_,source]of node.sources)if(StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(source.directive())){let index=definition.indexOf(source.directive());-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,source.directive().length,source.directive(),HighlightEngine_1.BLZHighlightEngineTokenType.stringConstant))}else tokens=tokens.concat(this.highlightSubstitution(source.backingProperty,definition,initialSeekIndex));for(let[_,output]of node.outputs){let index=definition.indexOf(output.originalBackingProperty);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,output.originalBackingProperty.length,output.originalBackingProperty,StringUtils_1.StringUtils.isSurroundedWithDoubleQuotes(output.originalBackingProperty)?HighlightEngine_1.BLZHighlightEngineTokenType.stringConstant:HighlightEngine_1.BLZHighlightEngineTokenType.variable))}for(let[key,isEnabled]of node.keywords)if(isEnabled){let index=definition.indexOf(key);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index+1,key.length,key,HighlightEngine_1.BLZHighlightEngineTokenType.keyword))}}catch(_a){return[]}return tokens}tokenizeSubstitution(definition,initialSeekIndex){try{let node=new SyntaxNodeSubstitution_1.SyntaxNodeSubstitution(definition,this.executionContext);return this.highlightSubstitution(node,definition,initialSeekIndex)}catch(_a){return[]}}highlightSubstitution(node,definition,initialSeekIndex){let tokens=[];if(node.customDataSource){let keyword=node.customDataSource.function.keyword(),index=definition.indexOf(keyword);-1!==index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,keyword.length+1,keyword,HighlightEngine_1.BLZHighlightEngineTokenType.function))}for(let transformerPack of node.transformers)if("value"===transformerPack.transformer.keyword()){let index=definition.indexOf(transformerPack.directive);index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,transformerPack.directive.length+1,transformerPack.directive,HighlightEngine_1.BLZHighlightEngineTokenType.variable))}else{let keyword=transformerPack.transformer.keyword(),index=definition.indexOf(keyword);index&&tokens.push(this.tokenAtPosition(initialSeekIndex+index,keyword.length+1,keyword,HighlightEngine_1.BLZHighlightEngineTokenType.method))}return tokens}updateKeywords(executionContext){this.blueprintFlows=executionContext.availableFlows(),this.blueprintTransformers=executionContext.availableTransformers(),this.blueprintFunctions=executionContext.availableFunctions()}}exports.BLZBlueprintHighlightEngine=BLZBlueprintHighlightEngine},{"./../../parser/syntax/nodes/SyntaxNodeFlow":683,"./../../parser/syntax/nodes/SyntaxNodeSubstitution":685,"./../../utils/StringUtils":698,"./BlueprintHighlightEngineState":695,"./HighlightEngine":696}],695:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZBlueprintHighlightEngineState=void 0;exports.BLZBlueprintHighlightEngineState=class{constructor(fullString){this.seekedIndex=0,this.followsDot=!1,this.followsFunction=!1,this.followsFlowOpening=!1,this.followsSubstitutionOpening=!1,this.commentOpened=!1,this.snippetOpened=!1,this.bufferStart=0,this.buffer="",this.fullString="",this.lineSeparator="\n",this.wordSeparator=" ",this.fullString=fullString}resetAfterNewline(){this.followsDot=!1,this.followsFunction=!1,this.followsFlowOpening=!1,this.followsSubstitutionOpening=!1,this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterSpace(){this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterSubstitutionOpeningTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsSubstitutionOpening=!0}resetAfterSubstitutionClosingTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsSubstitutionOpening=!1}resetAfterFlowOpeningTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsFlowOpening=!0}resetAfterBracket(){this.buffer="",this.bufferStart=this.seekedIndex+1}resetAfterFlowClosingTag(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.followsFlowOpening=!1}openComment(){this.buffer=this.buffer.substr(this.buffer.length-3,2),this.bufferStart=this.seekedIndex-1,this.commentOpened=!0}resetAfterClosingComment(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.commentOpened=!1}openSnippet(){this.buffer=this.buffer.substr(this.buffer.length-3,2),this.bufferStart=this.seekedIndex-1,this.snippetOpened=!0}resetAfterClosingSnippet(){this.buffer="",this.bufferStart=this.seekedIndex+1,this.snippetOpened=!1}addToBuffer(character){this.buffer+=character,this.seekedIndex+=1}isBufferedNewline(){return 1===this.buffer.length&&this.buffer===this.lineSeparator}isLastCharacterWordSeparator(){return 0!==this.buffer.length&&this.buffer[this.buffer.length-1]===this.wordSeparator}isLastCharacterLineSeparator(){return 0!==this.buffer.length&&this.buffer[this.buffer.length-1]===this.lineSeparator}isLastCharacterOpeningBracket(){return 0!==this.buffer.length&&"("===this.buffer[this.buffer.length-1]}isLastCharacterClosingBracket(){return 0!==this.buffer.length&&")"===this.buffer[this.buffer.length-1]}isLastCharacterQuote(){return 0!==this.buffer.length&&'"'===this.buffer[this.buffer.length-1]}isLastCharacterFunctionMark(){return 0!==this.buffer.length&&"@"===this.buffer[this.buffer.length-1]}lastBufferPart(size){return this.buffer.length>=size?this.buffer.substr(this.buffer.length-size,size):null}lastBufferPartIfEquals(equals){return this.lastBufferPart(equals.length)===equals?{equals:!0,startIndex:this.seekedIndex-equals.length,size:equals.length}:null}textAtPosition(position,length){return this.fullString.substr(position,length)}}},{}],696:[function(require,module,exports){"use strict";var BLZHighlightEngineTokenType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.BLZHighlightEngine=exports.BLZHighlightEngineTokenType=void 0,function(BLZHighlightEngineTokenType){BLZHighlightEngineTokenType.keyword="keyword",BLZHighlightEngineTokenType.openingBracket="openingBracket",BLZHighlightEngineTokenType.closingBracket="closingBracket",BLZHighlightEngineTokenType.customDelimiter1="cd1",BLZHighlightEngineTokenType.customDelimiter2="cd2",BLZHighlightEngineTokenType.stringKey="stringKey",BLZHighlightEngineTokenType.stringConstant="stringConstant",BLZHighlightEngineTokenType.numericConstant="numericConstant",BLZHighlightEngineTokenType.comment="comment",BLZHighlightEngineTokenType.function="function",BLZHighlightEngineTokenType.method="method",BLZHighlightEngineTokenType.variable="variable",BLZHighlightEngineTokenType.plainText="plainText",BLZHighlightEngineTokenType.dynamicSnippet="dynamicSnippet"}(BLZHighlightEngineTokenType=exports.BLZHighlightEngineTokenType||(exports.BLZHighlightEngineTokenType={}));exports.BLZHighlightEngine=class{constructor(){this.baseFont={family:"Helvetica",weight:300,size:12},this.baseColor="#000",this.styles=new Map,this.setupDefaultStyles()}setupDefaultStyles(){for(let type of Object.values(BLZHighlightEngineTokenType)){let style={font:{family:"Helvetica",weight:300,size:12},color:"#000",type:type};this.setStyle(style)}}tokenize(_string){return[]}tokenAtPosition(position,count,text,type){return{type:type,position:position,count:count||1,text:text}}setStyles(styles){for(let style of styles)this.setStyle(style)}setStyle(style){this.styles.set(style.type,style)}setStyleUsingDefinition(font,color,type){let style={font:font,color:color,type:type};this.setStyle(style)}}},{}],697:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FlowUtils=void 0;exports.FlowUtils=class{static offsetLines(content,by,character){return content.split("\n").map((piece=>`${character.repeat(by)}${piece}`)).join("\n")}static offsetLinesIgnoreFirst(content,by,character){let lines=content.split("\n"),buffer=[];for(let[offset,element]of lines.entries()){let piece=offset>0?`${character.repeat(by)}${element}`:element;buffer.push(piece)}return buffer.join("\n")}static offsetLinesCanIgnoreFirstline(content,shouldIgnoreFirstLine,userOffset,nodeOffset,character){let actualOffset=Math.max(-nodeOffset,nodeOffset+userOffset);return shouldIgnoreFirstLine?this.offsetLinesIgnoreFirst(content,actualOffset,character):this.offsetLines(content,actualOffset,character)}}},{}],698:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StringUtils=void 0;exports.StringUtils=class{static trimmed(str){return str.trim()}static withoutDoubleQuotes(str){return str.replace(/(^"|"$)/g,"")}static withoutQuotes(str){return str.replace(/(^'|'$)/g,"")}static substringUntilDelimiter(str,delimiter){let buffer="";for(const c of str){if(c===delimiter)return buffer;buffer+=c}return null}static isSurroundedWithDoubleQuotes(str){return str.startsWith('"')&&str.endsWith('"')}static argumentStringBetweenBrackets(str,keyword){let argument=str;return argument.startsWith(keyword)?(argument=argument.substr(keyword.length),argument.startsWith("(")&&argument.endsWith(")")?(argument=argument.substr(1,argument.length-2),argument):null):null}static argumentStringBetweenBracketsFirstOccurance(str,keyword){let argument=str;if(!argument.startsWith(keyword))return null;if(argument=argument.substr(keyword.length),!argument.startsWith("("))return null;argument=argument.substr(1);let buffer="",lock=null,previousChar=null,openedBrackets=1;for(const c of argument){if("\\"!==previousChar&&(lock===c?lock=null:null!==lock||"'"!==c&&'"'!==c||(lock=c)),null===lock&&"("===c)openedBrackets+=1;else if(null===lock&&")"===c&&(openedBrackets>0&&(openedBrackets-=1),0===openedBrackets))return buffer;previousChar=c,buffer+=c}return null}static withoutQuotesSingleOccurance(str){let string=str;return(string.startsWith('"')||string.startsWith("'"))&&(string=string.substr(1)),(string.endsWith('"')||string.endsWith("'"))&&(string=string.substr(0,string.length-1)),string}static withoutDoubleQuotesSingleOccurance(str){let string=str;return string.startsWith('"')&&(string=string.substr(1)),string.endsWith('"')&&(string=string.substr(0,string.length-1)),string=string.replace(/\\"/g,'"'),string}static withoutRoundBrackets(str){return str.replace("^[(]+|[)]+$","")}static fullRange(str){return{location:0,length:str.length}}static spaces(count){return" ".repeat(count)}static splitIgnoringQuotedContent(str,separator){if('"'===separator||"'"===separator)return[str];let components=[],buffer="",lock=null,previousChar=null,lastQuotePairPosition=null;for(let[index,c]of str.split("").entries())c===separator?null===lock?(components.push(buffer),buffer="",lastQuotePairPosition=null):buffer+=c:(buffer+=c,"\\"!==previousChar&&(lock===c?(lock=null,lastQuotePairPosition=index):null!==lock||"'"!==c&&'"'!==c||(lock=c))),previousChar=c;if(buffer.length>0)if(null!==lock)if(lastQuotePairPosition){let substring=str.substr(lastQuotePairPosition,str.length-lastQuotePairPosition),subcomponents=substring.split(separator);if(subcomponents.length>0){let firstItem=subcomponents[0];firstItem=`${buffer.substring(0,buffer.length-substring.length)}${firstItem}`,subcomponents.splice(0,1,firstItem)}components=components.concat(subcomponents)}else components=components.concat(buffer.split(separator));else components.push(buffer);return components}static withoutSpacesInsideRoundBrackets(str){let bracketCount=0,isInsideQuotes=!1,previousChar=null,result="";for(let char of str){switch(char){case"(":isInsideQuotes||(bracketCount+=1);break;case")":isInsideQuotes||(bracketCount-=1);break;case'"':previousChar&&"\\"===previousChar||(isInsideQuotes=!isInsideQuotes)}" "===char?(0===bracketCount||isInsideQuotes)&&(result+=char):result+=char,previousChar=char}return result}static splitIgnoringQuotedBracketedContent(str,separator){if('"'===separator||"'"===separator||"("===separator||")"===separator||"["===separator||"]"===separator)return[str];let components=[],buffer="",lock=null,previousChar=null,lastQuotePairPosition=null,openedRoundBrackets=0,openedSquareBrackets=0;for(let[index,c]of str.split("").entries())c===separator?null===lock&&0===openedSquareBrackets&&0===openedRoundBrackets?(components.push(buffer),buffer="",lastQuotePairPosition=null):buffer+=c:(buffer+=c,"\\"!==previousChar&&(lock===c?(lock=null,lastQuotePairPosition=index):null!==lock||"'"!==c&&'"'!==c||(lock=c)),null===lock&&"("===c?openedRoundBrackets+=1:null===lock&&")"===c?openedRoundBrackets>0&&(openedRoundBrackets-=1):null===lock&&"["===c?openedSquareBrackets+=1:null===lock&&"]"===c&&openedSquareBrackets>0&&(openedSquareBrackets-=1)),previousChar=c;if(buffer.length>0)if(null!==lock)if(lastQuotePairPosition){let substring=str.substr(lastQuotePairPosition,str.length-lastQuotePairPosition),subcomponents=substring.split(separator);if(subcomponents.length>0){let firstItem=subcomponents[0];firstItem=`${buffer.substring(0,buffer.length-substring.length)}${firstItem}`,subcomponents.splice(0,1,firstItem)}components=components.concat(subcomponents)}else components=components.concat(buffer.split(separator));else components.push(buffer);return components}static isLowercaseLetters(str){return/^[a-z]+$/.test(str)}static isLowercaseLettersCanIncludeDot(str){return/^[a-z.]+$/.test(str)}static isLetters(str){return/^[a-zA-Z]+$/.test(str)}static isLettersCanIncludeDot(str){return/^[a-zA-Z.]+$/.test(str)}static isFirstCharacterLetterLowercase(str){return 0!==str.length&&str[0].toLowerCase()===str[0]}static isOnlySpaces(str){return/^[ ]+$/.test(str)}static isOnlySpacesOrLineBreaks(str){return/^\s*$/.test(str)}static isStructuralArrayDefinition(str){let trimmed=str.trim();return!(!trimmed.startsWith("[")||!trimmed.endsWith("]")||-1!==str.indexOf(":"))}static parsedArrayFromDefinition(str){let workingString=str;return this.isStructuralArrayDefinition(str)?(workingString=workingString.trim().substr(1,workingString.length-2),this.splitIgnoringQuotedBracketedContent(workingString,",")):null}static isStructuralDictionaryDefinition(str){let trimmed=str.trim();return!(!trimmed.startsWith("[")||!trimmed.endsWith("]")||-1===str.indexOf(":"))}static parsedDictionaryFromDefinition(str){let workingString=str;if(!this.isStructuralDictionaryDefinition(str))return null;if(workingString=workingString.trim(),workingString.substr(1,workingString.length-2),":"===workingString)return new Map;let components=this.splitIgnoringQuotedBracketedContent(workingString,","),map=new Map;for(let component of components){let pair=this.splitIgnoringQuotedContent(component,":");if(2!==pair.length)return null;map.set(pair[0],pair[1])}return map}static replaceAll(str,find,replace){return str.replace(new RegExp(this.escapeRegExp(find),"g"),replace)}static escapeRegExp(string){return string.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}}},{}],699:[function(require,module,exports){module.exports=require("./lib/axios")},{"./lib/axios":701}],700:[function(require,module,exports){"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(config){return new Promise((function(resolve,reject){var requestData=config.data,requestHeaders=config.headers;utils.isFormData(requestData)&&delete requestHeaders["Content-Type"],(utils.isBlob(requestData)||utils.isFile(requestData))&&requestData.type&&delete requestHeaders["Content-Type"];var request=new XMLHttpRequest;if(config.auth){var username=config.auth.username||"",password=unescape(encodeURIComponent(config.auth.password))||"";requestHeaders.Authorization="Basic "+btoa(username+":"+password)}var fullPath=buildFullPath(config.baseURL,config.url);if(request.open(config.method.toUpperCase(),buildURL(fullPath,config.params,config.paramsSerializer),!0),request.timeout=config.timeout,request.onreadystatechange=function(){if(request&&4===request.readyState&&(0!==request.status||request.responseURL&&0===request.responseURL.indexOf("file:"))){var responseHeaders="getAllResponseHeaders"in request?parseHeaders(request.getAllResponseHeaders()):null,response={data:config.responseType&&"text"!==config.responseType?request.response:request.responseText,status:request.status,statusText:request.statusText,headers:responseHeaders,config:config,request:request};settle(resolve,reject,response),request=null}},request.onabort=function(){request&&(reject(createError("Request aborted",config,"ECONNABORTED",request)),request=null)},request.onerror=function(){reject(createError("Network Error",config,null,request)),request=null},request.ontimeout=function(){var timeoutErrorMessage="timeout of "+config.timeout+"ms exceeded";config.timeoutErrorMessage&&(timeoutErrorMessage=config.timeoutErrorMessage),reject(createError(timeoutErrorMessage,config,"ECONNABORTED",request)),request=null},utils.isStandardBrowserEnv()){var xsrfValue=(config.withCredentials||isURLSameOrigin(fullPath))&&config.xsrfCookieName?cookies.read(config.xsrfCookieName):void 0;xsrfValue&&(requestHeaders[config.xsrfHeaderName]=xsrfValue)}if("setRequestHeader"in request&&utils.forEach(requestHeaders,(function(val,key){void 0===requestData&&"content-type"===key.toLowerCase()?delete requestHeaders[key]:request.setRequestHeader(key,val)})),utils.isUndefined(config.withCredentials)||(request.withCredentials=!!config.withCredentials),config.responseType)try{request.responseType=config.responseType}catch(e){if("json"!==config.responseType)throw e}"function"==typeof config.onDownloadProgress&&request.addEventListener("progress",config.onDownloadProgress),"function"==typeof config.onUploadProgress&&request.upload&&request.upload.addEventListener("progress",config.onUploadProgress),config.cancelToken&&config.cancelToken.promise.then((function(cancel){request&&(request.abort(),reject(cancel),request=null)})),requestData||(requestData=null),request.send(requestData)}))}},{"../core/buildFullPath":707,"../core/createError":708,"./../core/settle":712,"./../helpers/buildURL":716,"./../helpers/cookies":718,"./../helpers/isURLSameOrigin":720,"./../helpers/parseHeaders":722,"./../utils":724}],701:[function(require,module,exports){"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig");function createInstance(defaultConfig){var context=new Axios(defaultConfig),instance=bind(Axios.prototype.request,context);return utils.extend(instance,Axios.prototype,context),utils.extend(instance,context),instance}var axios=createInstance(require("./defaults"));axios.Axios=Axios,axios.create=function(instanceConfig){return createInstance(mergeConfig(axios.defaults,instanceConfig))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(promises){return Promise.all(promises)},axios.spread=require("./helpers/spread"),module.exports=axios,module.exports.default=axios},{"./cancel/Cancel":702,"./cancel/CancelToken":703,"./cancel/isCancel":704,"./core/Axios":705,"./core/mergeConfig":711,"./defaults":714,"./helpers/bind":715,"./helpers/spread":723,"./utils":724}],702:[function(require,module,exports){"use strict";function Cancel(message){this.message=message}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel},{}],703:[function(require,module,exports){"use strict";var Cancel=require("./Cancel");function CancelToken(executor){if("function"!=typeof executor)throw new TypeError("executor must be a function.");var resolvePromise;this.promise=new Promise((function(resolve){resolvePromise=resolve}));var token=this;executor((function(message){token.reason||(token.reason=new Cancel(message),resolvePromise(token.reason))}))}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var cancel;return{token:new CancelToken((function(c){cancel=c})),cancel:cancel}},module.exports=CancelToken},{"./Cancel":702}],704:[function(require,module,exports){"use strict";module.exports=function(value){return!(!value||!value.__CANCEL__)}},{}],705:[function(require,module,exports){"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(instanceConfig){this.defaults=instanceConfig,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(config){"string"==typeof config?(config=arguments[1]||{}).url=arguments[0]:config=config||{},(config=mergeConfig(this.defaults,config)).method?config.method=config.method.toLowerCase():this.defaults.method?config.method=this.defaults.method.toLowerCase():config.method="get";var chain=[dispatchRequest,void 0],promise=Promise.resolve(config);for(this.interceptors.request.forEach((function(interceptor){chain.unshift(interceptor.fulfilled,interceptor.rejected)})),this.interceptors.response.forEach((function(interceptor){chain.push(interceptor.fulfilled,interceptor.rejected)}));chain.length;)promise=promise.then(chain.shift(),chain.shift());return promise},Axios.prototype.getUri=function(config){return config=mergeConfig(this.defaults,config),buildURL(config.url,config.params,config.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],(function(method){Axios.prototype[method]=function(url,config){return this.request(mergeConfig(config||{},{method:method,url:url}))}})),utils.forEach(["post","put","patch"],(function(method){Axios.prototype[method]=function(url,data,config){return this.request(mergeConfig(config||{},{method:method,url:url,data:data}))}})),module.exports=Axios},{"../helpers/buildURL":716,"./../utils":724,"./InterceptorManager":706,"./dispatchRequest":709,"./mergeConfig":711}],706:[function(require,module,exports){"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(fulfilled,rejected){return this.handlers.push({fulfilled:fulfilled,rejected:rejected}),this.handlers.length-1},InterceptorManager.prototype.eject=function(id){this.handlers[id]&&(this.handlers[id]=null)},InterceptorManager.prototype.forEach=function(fn){utils.forEach(this.handlers,(function(h){null!==h&&fn(h)}))},module.exports=InterceptorManager},{"./../utils":724}],707:[function(require,module,exports){"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(baseURL,requestedURL){return baseURL&&!isAbsoluteURL(requestedURL)?combineURLs(baseURL,requestedURL):requestedURL}},{"../helpers/combineURLs":717,"../helpers/isAbsoluteURL":719}],708:[function(require,module,exports){"use strict";var enhanceError=require("./enhanceError");module.exports=function(message,config,code,request,response){var error=new Error(message);return enhanceError(error,config,code,request,response)}},{"./enhanceError":710}],709:[function(require,module,exports){"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(config){config.cancelToken&&config.cancelToken.throwIfRequested()}module.exports=function(config){return throwIfCancellationRequested(config),config.headers=config.headers||{},config.data=transformData(config.data,config.headers,config.transformRequest),config.headers=utils.merge(config.headers.common||{},config.headers[config.method]||{},config.headers),utils.forEach(["delete","get","head","post","put","patch","common"],(function(method){delete config.headers[method]})),(config.adapter||defaults.adapter)(config).then((function(response){return throwIfCancellationRequested(config),response.data=transformData(response.data,response.headers,config.transformResponse),response}),(function(reason){return isCancel(reason)||(throwIfCancellationRequested(config),reason&&reason.response&&(reason.response.data=transformData(reason.response.data,reason.response.headers,config.transformResponse))),Promise.reject(reason)}))}},{"../cancel/isCancel":704,"../defaults":714,"./../utils":724,"./transformData":713}],710:[function(require,module,exports){"use strict";module.exports=function(error,config,code,request,response){return error.config=config,code&&(error.code=code),error.request=request,error.response=response,error.isAxiosError=!0,error.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},error}},{}],711:[function(require,module,exports){"use strict";var utils=require("../utils");module.exports=function(config1,config2){config2=config2||{};var config={},valueFromConfig2Keys=["url","method","data"],mergeDeepPropertiesKeys=["headers","auth","proxy","params"],defaultToConfig2Keys=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],directMergeKeys=["validateStatus"];function getMergedValue(target,source){return utils.isPlainObject(target)&&utils.isPlainObject(source)?utils.merge(target,source):utils.isPlainObject(source)?utils.merge({},source):utils.isArray(source)?source.slice():source}function mergeDeepProperties(prop){utils.isUndefined(config2[prop])?utils.isUndefined(config1[prop])||(config[prop]=getMergedValue(void 0,config1[prop])):config[prop]=getMergedValue(config1[prop],config2[prop])}utils.forEach(valueFromConfig2Keys,(function(prop){utils.isUndefined(config2[prop])||(config[prop]=getMergedValue(void 0,config2[prop]))})),utils.forEach(mergeDeepPropertiesKeys,mergeDeepProperties),utils.forEach(defaultToConfig2Keys,(function(prop){utils.isUndefined(config2[prop])?utils.isUndefined(config1[prop])||(config[prop]=getMergedValue(void 0,config1[prop])):config[prop]=getMergedValue(void 0,config2[prop])})),utils.forEach(directMergeKeys,(function(prop){prop in config2?config[prop]=getMergedValue(config1[prop],config2[prop]):prop in config1&&(config[prop]=getMergedValue(void 0,config1[prop]))}));var axiosKeys=valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys).concat(directMergeKeys),otherKeys=Object.keys(config1).concat(Object.keys(config2)).filter((function(key){return-1===axiosKeys.indexOf(key)}));return utils.forEach(otherKeys,mergeDeepProperties),config}},{"../utils":724}],712:[function(require,module,exports){"use strict";var createError=require("./createError");module.exports=function(resolve,reject,response){var validateStatus=response.config.validateStatus;response.status&&validateStatus&&!validateStatus(response.status)?reject(createError("Request failed with status code "+response.status,response.config,null,response.request,response)):resolve(response)}},{"./createError":708}],713:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=function(data,headers,fns){return utils.forEach(fns,(function(fn){data=fn(data,headers)})),data}},{"./../utils":724}],714:[function(require,module,exports){(function(process){(function(){"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(headers,value){!utils.isUndefined(headers)&&utils.isUndefined(headers["Content-Type"])&&(headers["Content-Type"]=value)}var adapter,defaults={adapter:("undefined"!=typeof XMLHttpRequest?adapter=require("./adapters/xhr"):void 0!==process&&"[object process]"===Object.prototype.toString.call(process)&&(adapter=require("./adapters/http")),adapter),transformRequest:[function(data,headers){return normalizeHeaderName(headers,"Accept"),normalizeHeaderName(headers,"Content-Type"),utils.isFormData(data)||utils.isArrayBuffer(data)||utils.isBuffer(data)||utils.isStream(data)||utils.isFile(data)||utils.isBlob(data)?data:utils.isArrayBufferView(data)?data.buffer:utils.isURLSearchParams(data)?(setContentTypeIfUnset(headers,"application/x-www-form-urlencoded;charset=utf-8"),data.toString()):utils.isObject(data)?(setContentTypeIfUnset(headers,"application/json;charset=utf-8"),JSON.stringify(data)):data}],transformResponse:[function(data){if("string"==typeof data)try{data=JSON.parse(data)}catch(e){}return data}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(status){return status>=200&&status<300}};defaults.headers={common:{Accept:"application/json, text/plain, */*"}},utils.forEach(["delete","get","head"],(function(method){defaults.headers[method]={}})),utils.forEach(["post","put","patch"],(function(method){defaults.headers[method]=utils.merge(DEFAULT_CONTENT_TYPE)})),module.exports=defaults}).call(this)}).call(this,require("_process"))},{"./adapters/http":700,"./adapters/xhr":700,"./helpers/normalizeHeaderName":721,"./utils":724,_process:381}],715:[function(require,module,exports){"use strict";module.exports=function(fn,thisArg){return function(){for(var args=new Array(arguments.length),i=0;i<args.length;i++)args[i]=arguments[i];return fn.apply(thisArg,args)}}},{}],716:[function(require,module,exports){"use strict";var utils=require("./../utils");function encode(val){return encodeURIComponent(val).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(url,params,paramsSerializer){if(!params)return url;var serializedParams;if(paramsSerializer)serializedParams=paramsSerializer(params);else if(utils.isURLSearchParams(params))serializedParams=params.toString();else{var parts=[];utils.forEach(params,(function(val,key){null!=val&&(utils.isArray(val)?key+="[]":val=[val],utils.forEach(val,(function(v){utils.isDate(v)?v=v.toISOString():utils.isObject(v)&&(v=JSON.stringify(v)),parts.push(encode(key)+"="+encode(v))})))})),serializedParams=parts.join("&")}if(serializedParams){var hashmarkIndex=url.indexOf("#");-1!==hashmarkIndex&&(url=url.slice(0,hashmarkIndex)),url+=(-1===url.indexOf("?")?"?":"&")+serializedParams}return url}},{"./../utils":724}],717:[function(require,module,exports){"use strict";module.exports=function(baseURL,relativeURL){return relativeURL?baseURL.replace(/\/+$/,"")+"/"+relativeURL.replace(/^\/+/,""):baseURL}},{}],718:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(name,value,expires,path,domain,secure){var cookie=[];cookie.push(name+"="+encodeURIComponent(value)),utils.isNumber(expires)&&cookie.push("expires="+new Date(expires).toGMTString()),utils.isString(path)&&cookie.push("path="+path),utils.isString(domain)&&cookie.push("domain="+domain),!0===secure&&cookie.push("secure"),document.cookie=cookie.join("; ")},read:function(name){var match=document.cookie.match(new RegExp("(^|;\\s*)("+name+")=([^;]*)"));return match?decodeURIComponent(match[3]):null},remove:function(name){this.write(name,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},{"./../utils":724}],719:[function(require,module,exports){"use strict";module.exports=function(url){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url)}},{}],720:[function(require,module,exports){"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var originURL,msie=/(msie|trident)/i.test(navigator.userAgent),urlParsingNode=document.createElement("a");function resolveURL(url){var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}return originURL=resolveURL(window.location.href),function(requestURL){var parsed=utils.isString(requestURL)?resolveURL(requestURL):requestURL;return parsed.protocol===originURL.protocol&&parsed.host===originURL.host}}():function(){return!0}},{"./../utils":724}],721:[function(require,module,exports){"use strict";var utils=require("../utils");module.exports=function(headers,normalizedName){utils.forEach(headers,(function(value,name){name!==normalizedName&&name.toUpperCase()===normalizedName.toUpperCase()&&(headers[normalizedName]=value,delete headers[name])}))}},{"../utils":724}],722:[function(require,module,exports){"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(headers){var key,val,i,parsed={};return headers?(utils.forEach(headers.split("\n"),(function(line){if(i=line.indexOf(":"),key=utils.trim(line.substr(0,i)).toLowerCase(),val=utils.trim(line.substr(i+1)),key){if(parsed[key]&&ignoreDuplicateOf.indexOf(key)>=0)return;parsed[key]="set-cookie"===key?(parsed[key]?parsed[key]:[]).concat([val]):parsed[key]?parsed[key]+", "+val:val}})),parsed):parsed}},{"./../utils":724}],723:[function(require,module,exports){"use strict";module.exports=function(callback){return function(arr){return callback.apply(null,arr)}}},{}],724:[function(require,module,exports){"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(val){return"[object Array]"===toString.call(val)}function isUndefined(val){return void 0===val}function isObject(val){return null!==val&&"object"==typeof val}function isPlainObject(val){if("[object Object]"!==toString.call(val))return!1;var prototype=Object.getPrototypeOf(val);return null===prototype||prototype===Object.prototype}function isFunction(val){return"[object Function]"===toString.call(val)}function forEach(obj,fn){if(null!=obj)if("object"!=typeof obj&&(obj=[obj]),isArray(obj))for(var i=0,l=obj.length;i<l;i++)fn.call(null,obj[i],i,obj);else for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&fn.call(null,obj[key],key,obj)}module.exports={isArray:isArray,isArrayBuffer:function(val){return"[object ArrayBuffer]"===toString.call(val)},isBuffer:function(val){return null!==val&&!isUndefined(val)&&null!==val.constructor&&!isUndefined(val.constructor)&&"function"==typeof val.constructor.isBuffer&&val.constructor.isBuffer(val)},isFormData:function(val){return"undefined"!=typeof FormData&&val instanceof FormData},isArrayBufferView:function(val){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(val):val&&val.buffer&&val.buffer instanceof ArrayBuffer},isString:function(val){return"string"==typeof val},isNumber:function(val){return"number"==typeof val},isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:function(val){return"[object Date]"===toString.call(val)},isFile:function(val){return"[object File]"===toString.call(val)},isBlob:function(val){return"[object Blob]"===toString.call(val)},isFunction:isFunction,isStream:function(val){return isObject(val)&&isFunction(val.pipe)},isURLSearchParams:function(val){return"undefined"!=typeof URLSearchParams&&val instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:forEach,merge:function merge(){var result={};function assignValue(val,key){isPlainObject(result[key])&&isPlainObject(val)?result[key]=merge(result[key],val):isPlainObject(val)?result[key]=merge({},val):isArray(val)?result[key]=val.slice():result[key]=val}for(var i=0,l=arguments.length;i<l;i++)forEach(arguments[i],assignValue);return result},extend:function(a,b,thisArg){return forEach(b,(function(val,key){a[key]=thisArg&&"function"==typeof val?bind(val,thisArg):val})),a},trim:function(str){return str.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(content){return 65279===content.charCodeAt(0)&&(content=content.slice(1)),content}}},{"./helpers/bind":715}],725:[function(require,module,exports){var _=require("./lodash.min").runInContext();module.exports=require("./fp/_baseConvert")(_,_)},{"./fp/_baseConvert":726,"./lodash.min":730}],726:[function(require,module,exports){var mapping=require("./_mapping"),fallbackHolder=require("./placeholder"),push=Array.prototype.push;function baseAry(func,n){return 2==n?function(a,b){return func(a,b)}:function(a){return func(a)}}function cloneArray(array){for(var length=array?array.length:0,result=Array(length);length--;)result[length]=array[length];return result}function wrapImmutable(func,cloner){return function(){var length=arguments.length;if(length){for(var args=Array(length);length--;)args[length]=arguments[length];var result=args[0]=cloner.apply(void 0,args);return func.apply(void 0,args),result}}}module.exports=function baseConvert(util,name,func,options){var isLib="function"==typeof name,isObj=name===Object(name);if(isObj&&(options=func,func=name,name=void 0),null==func)throw new TypeError;options||(options={});var config_cap=!("cap"in options)||options.cap,config_curry=!("curry"in options)||options.curry,config_fixed=!("fixed"in options)||options.fixed,config_immutable=!("immutable"in options)||options.immutable,config_rearg=!("rearg"in options)||options.rearg,defaultHolder=isLib?func:fallbackHolder,forceCurry="curry"in options&&options.curry,forceFixed="fixed"in options&&options.fixed,forceRearg="rearg"in options&&options.rearg,pristine=isLib?func.runInContext():void 0,helpers=isLib?func:{ary:util.ary,assign:util.assign,clone:util.clone,curry:util.curry,forEach:util.forEach,isArray:util.isArray,isError:util.isError,isFunction:util.isFunction,isWeakMap:util.isWeakMap,iteratee:util.iteratee,keys:util.keys,rearg:util.rearg,toInteger:util.toInteger,toPath:util.toPath},ary=helpers.ary,assign=helpers.assign,clone=helpers.clone,curry=helpers.curry,each=helpers.forEach,isArray=helpers.isArray,isError=helpers.isError,isFunction=helpers.isFunction,isWeakMap=helpers.isWeakMap,keys=helpers.keys,rearg=helpers.rearg,toInteger=helpers.toInteger,toPath=helpers.toPath,aryMethodKeys=keys(mapping.aryMethod),wrappers={castArray:function(castArray){return function(){var value=arguments[0];return isArray(value)?castArray(cloneArray(value)):castArray.apply(void 0,arguments)}},iteratee:function(iteratee){return function(){var func=arguments[0],arity=arguments[1],result=iteratee(func,arity),length=result.length;return config_cap&&"number"==typeof arity?(arity=arity>2?arity-2:1,length&&length<=arity?result:baseAry(result,arity)):result}},mixin:function(mixin){return function(source){var func=this;if(!isFunction(func))return mixin(func,Object(source));var pairs=[];return each(keys(source),(function(key){isFunction(source[key])&&pairs.push([key,func.prototype[key]])})),mixin(func,Object(source)),each(pairs,(function(pair){var value=pair[1];isFunction(value)?func.prototype[pair[0]]=value:delete func.prototype[pair[0]]})),func}},nthArg:function(nthArg){return function(n){var arity=n<0?1:toInteger(n)+1;return curry(nthArg(n),arity)}},rearg:function(rearg){return function(func,indexes){var arity=indexes?indexes.length:0;return curry(rearg(func,indexes),arity)}},runInContext:function(runInContext){return function(context){return baseConvert(util,runInContext(context),options)}}};function castCap(name,func){if(config_cap){var indexes=mapping.iterateeRearg[name];if(indexes)return function(func,indexes){return overArg(func,(function(func){var n=indexes.length;return function(func,n){return 2==n?function(a,b){return func.apply(void 0,arguments)}:function(a){return func.apply(void 0,arguments)}}(rearg(baseAry(func,n),indexes),n)}))}(func,indexes);var n=!isLib&&mapping.iterateeAry[name];if(n)return function(func,n){return overArg(func,(function(func){return"function"==typeof func?baseAry(func,n):func}))}(func,n)}return func}function castFixed(name,func,n){if(config_fixed&&(forceFixed||!mapping.skipFixed[name])){var data=mapping.methodSpread[name],start=data&&data.start;return void 0===start?ary(func,n):function(func,start){return function(){for(var length=arguments.length,lastIndex=length-1,args=Array(length);length--;)args[length]=arguments[length];var array=args[start],otherArgs=args.slice(0,start);return array&&push.apply(otherArgs,array),start!=lastIndex&&push.apply(otherArgs,args.slice(start+1)),func.apply(this,otherArgs)}}(func,start)}return func}function castRearg(name,func,n){return config_rearg&&n>1&&(forceRearg||!mapping.skipRearg[name])?rearg(func,mapping.methodRearg[name]||mapping.aryRearg[n]):func}function cloneByPath(object,path){for(var index=-1,length=(path=toPath(path)).length,lastIndex=length-1,result=clone(Object(object)),nested=result;null!=nested&&++index<length;){var key=path[index],value=nested[key];null==value||isFunction(value)||isError(value)||isWeakMap(value)||(nested[key]=clone(index==lastIndex?value:Object(value))),nested=nested[key]}return result}function createConverter(name,func){var realName=mapping.aliasToReal[name]||name,methodName=mapping.remap[realName]||realName,oldOptions=options;return function(options){var newUtil=isLib?pristine:helpers,newFunc=isLib?pristine[methodName]:func,newOptions=assign(assign({},oldOptions),options);return baseConvert(newUtil,realName,newFunc,newOptions)}}function overArg(func,transform){return function(){var length=arguments.length;if(!length)return func();for(var args=Array(length);length--;)args[length]=arguments[length];var index=config_rearg?0:length-1;return args[index]=transform(args[index]),func.apply(void 0,args)}}function wrap(name,func,placeholder){var result,realName=mapping.aliasToReal[name]||name,wrapped=func,wrapper=wrappers[realName];return wrapper?wrapped=wrapper(func):config_immutable&&(mapping.mutate.array[realName]?wrapped=wrapImmutable(func,cloneArray):mapping.mutate.object[realName]?wrapped=wrapImmutable(func,function(func){return function(object){return func({},object)}}(func)):mapping.mutate.set[realName]&&(wrapped=wrapImmutable(func,cloneByPath))),each(aryMethodKeys,(function(aryKey){return each(mapping.aryMethod[aryKey],(function(otherName){if(realName==otherName){var data=mapping.methodSpread[realName],afterRearg=data&&data.afterRearg;return result=afterRearg?castFixed(realName,castRearg(realName,wrapped,aryKey),aryKey):castRearg(realName,castFixed(realName,wrapped,aryKey),aryKey),result=function(name,func,n){return forceCurry||config_curry&&n>1?curry(func,n):func}(0,result=castCap(realName,result),aryKey),!1}})),!result})),result||(result=wrapped),result==func&&(result=forceCurry?curry(result,1):function(){return func.apply(this,arguments)}),result.convert=createConverter(realName,func),result.placeholder=func.placeholder=placeholder,result}if(!isObj)return wrap(name,func,defaultHolder);var _=func,pairs=[];return each(aryMethodKeys,(function(aryKey){each(mapping.aryMethod[aryKey],(function(key){var func=_[mapping.remap[key]||key];func&&pairs.push([key,wrap(key,func,_)])}))})),each(keys(_),(function(key){var func=_[key];if("function"==typeof func){for(var length=pairs.length;length--;)if(pairs[length][0]==key)return;func.convert=createConverter(key,func),pairs.push([key,func])}})),each(pairs,(function(pair){_[pair[0]]=pair[1]})),_.convert=function(options){return _.runInContext.convert(options)(void 0)},_.placeholder=_,each(keys(_),(function(key){each(mapping.realToAlias[key]||[],(function(alias){_[alias]=_[key]}))})),_}},{"./_mapping":727,"./placeholder":728}],727:[function(require,module,exports){exports.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},exports.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},exports.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},exports.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},exports.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},exports.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},exports.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},exports.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},exports.realToAlias=function(){var hasOwnProperty=Object.prototype.hasOwnProperty,object=exports.aliasToReal,result={};for(var key in object){var value=object[key];hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]}return result}(),exports.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},exports.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},exports.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},{}],728:[function(require,module,exports){module.exports={}},{}],729:[function(require,module,exports){(function(global){(function(){(function(){var FUNC_ERROR_TEXT="Expected a function",PLACEHOLDER="__lodash_placeholder__",wrapFlags=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g,reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g,reUnescapedHtml=/[&<>"']/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source),reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source),reTrim=/^\s+|\s+$/g,reTrimStart=/^\s+/,reTrimEnd=/\s+$/,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /,reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,reEscapeChar=/\\(\\)?/g,reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,reFlags=/\w*$/,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsOctal=/^0o[0-7]+$/i,reIsUint=/^(?:0|[1-9]\d*)$/,reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,reNoMatch=/($^)/,reUnescapedString=/['\n\r\u2028\u2029\\]/g,rsComboRange="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",rsBreakRange="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsAstral="[\\ud800-\\udfff]",rsBreak="["+rsBreakRange+"]",rsCombo="["+rsComboRange+"]",rsDigits="\\d+",rsDingbat="[\\u2700-\\u27bf]",rsLower="[a-z\\xdf-\\xf6\\xf8-\\xff]",rsMisc="[^\\ud800-\\udfff"+rsBreakRange+rsDigits+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsNonAstral="[^\\ud800-\\udfff]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",rsMiscLower="(?:"+rsLower+"|"+rsMisc+")",rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")",reOptMod="(?:"+rsCombo+"|"+rsFitz+")"+"?",rsSeq="[\\ufe0e\\ufe0f]?"+reOptMod+("(?:\\u200d(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")[\\ufe0e\\ufe0f]?"+reOptMod+")*"),rsEmoji="(?:"+[rsDingbat,rsRegional,rsSurrPair].join("|")+")"+rsSeq,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")",reApos=RegExp("['’]","g"),reComboMark=RegExp(rsCombo,"g"),reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g"),reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+(?:['’](?:d|ll|m|re|s|t|ve))?",rsUpper+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rsDigits,rsEmoji].join("|"),"g"),reHasUnicode=RegExp("[\\u200d\\ud800-\\udfff"+rsComboRange+"\\ufe0e\\ufe0f]"),reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,contextProps=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],templateCounter=-1,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags["[object Uint8ClampedArray]"]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},freeParseFloat=parseFloat,freeParseInt=parseInt,freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsArrayBuffer=nodeUtil&&nodeUtil.isArrayBuffer,nodeIsDate=nodeUtil&&nodeUtil.isDate,nodeIsMap=nodeUtil&&nodeUtil.isMap,nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,nodeIsSet=nodeUtil&&nodeUtil.isSet,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayAggregator(array,setter,iteratee,accumulator){for(var index=-1,length=null==array?0:array.length;++index<length;){var value=array[index];setter(accumulator,value,iteratee(value),array)}return accumulator}function arrayEach(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&!1!==iteratee(array[index],index,array););return array}function arrayEachRight(array,iteratee){for(var length=null==array?0:array.length;length--&&!1!==iteratee(array[length],length,array););return array}function arrayEvery(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(!predicate(array[index],index,array))return!1;return!0}function arrayFilter(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}function arrayIncludes(array,value){return!!(null==array?0:array.length)&&baseIndexOf(array,value,0)>-1}function arrayIncludesWith(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}function arrayMap(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function arrayReduceRight(array,iteratee,accumulator,initAccum){var length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[--length]);length--;)accumulator=iteratee(accumulator,array[length],length,array);return accumulator}function arraySome(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}var asciiSize=baseProperty("length");function baseFindKey(collection,predicate,eachFunc){var result;return eachFunc(collection,(function(value,key,collection){if(predicate(value,key,collection))return result=key,!1})),result}function baseFindIndex(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){return value==value?function(array,value,fromIndex){var index=fromIndex-1,length=array.length;for(;++index<length;)if(array[index]===value)return index;return-1}(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}function baseIndexOfWith(array,value,fromIndex,comparator){for(var index=fromIndex-1,length=array.length;++index<length;)if(comparator(array[index],value))return index;return-1}function baseIsNaN(value){return value!=value}function baseMean(array,iteratee){var length=null==array?0:array.length;return length?baseSum(array,iteratee)/length:NaN}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyOf(object){return function(key){return null==object?undefined:object[key]}}function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,(function(value,index,collection){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection)})),accumulator}function baseSum(array,iteratee){for(var result,index=-1,length=array.length;++index<length;){var current=iteratee(array[index]);undefined!==current&&(result=undefined===result?current:result+current)}return result}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function baseUnary(func){return function(value){return func(value)}}function baseValues(object,props){return arrayMap(props,(function(key){return object[key]}))}function cacheHas(cache,key){return cache.has(key)}function charsStartIndex(strSymbols,chrSymbols){for(var index=-1,length=strSymbols.length;++index<length&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function charsEndIndex(strSymbols,chrSymbols){for(var index=strSymbols.length;index--&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function countHolders(array,placeholder){for(var length=array.length,result=0;length--;)array[length]===placeholder&&++result;return result}var deburrLetter=basePropertyOf({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),escapeHtmlChar=basePropertyOf({"&":"&","<":"<",">":">",'"':""","'":"'"});function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function hasUnicode(string){return reHasUnicode.test(string)}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach((function(value,key){result[++index]=[key,value]})),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function replaceHolders(array,placeholder){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index];value!==placeholder&&value!==PLACEHOLDER||(array[index]=PLACEHOLDER,result[resIndex++]=index)}return result}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach((function(value){result[++index]=value})),result}function setToPairs(set){var index=-1,result=Array(set.size);return set.forEach((function(value){result[++index]=[value,value]})),result}function stringSize(string){return hasUnicode(string)?function(string){var result=reUnicode.lastIndex=0;for(;reUnicode.test(string);)++result;return result}(string):asciiSize(string)}function stringToArray(string){return hasUnicode(string)?function(string){return string.match(reUnicode)||[]}(string):function(string){return string.split("")}(string)}var unescapeHtmlChar=basePropertyOf({"&":"&","<":"<",">":">",""":'"',"'":"'"});var _=function runInContext(context){var uid,Array=(context=null==context?root:_.defaults(root.Object(),context,_.pick(root,contextProps))).Array,Date=context.Date,Error=context.Error,Function=context.Function,Math=context.Math,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError,arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=context["__core-js_shared__"],funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,idCounter=0,maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""))?"Symbol(src)_1."+uid:"",nativeObjectToString=objectProto.toString,objectCtorString=funcToString.call(Object),oldDash=root._,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?context.Buffer:undefined,Symbol=context.Symbol,Uint8Array=context.Uint8Array,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined,symIterator=Symbol?Symbol.iterator:undefined,symToStringTag=Symbol?Symbol.toStringTag:undefined,defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e){}}(),ctxClearTimeout=context.clearTimeout!==root.clearTimeout&&context.clearTimeout,ctxNow=Date&&Date.now!==root.Date.now&&Date.now,ctxSetTimeout=context.setTimeout!==root.setTimeout&&context.setTimeout,nativeCeil=Math.ceil,nativeFloor=Math.floor,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeIsFinite=context.isFinite,nativeJoin=arrayProto.join,nativeKeys=overArg(Object.keys,Object),nativeMax=Math.max,nativeMin=Math.min,nativeNow=Date.now,nativeParseInt=context.parseInt,nativeRandom=Math.random,nativeReverse=arrayProto.reverse,DataView=getNative(context,"DataView"),Map=getNative(context,"Map"),Promise=getNative(context,"Promise"),Set=getNative(context,"Set"),WeakMap=getNative(context,"WeakMap"),nativeCreate=getNative(Object,"create"),metaMap=WeakMap&&new WeakMap,realNames={},dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper)return value;if(hasOwnProperty.call(value,"__wrapped__"))return wrapperClone(value)}return new LodashWrapper(value)}var baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=undefined,result}}();function baseLodash(){}function LodashWrapper(value,chainAll){this.__wrapped__=value,this.__actions__=[],this.__chain__=!!chainAll,this.__index__=0,this.__values__=undefined}function LazyWrapper(value){this.__wrapped__=value,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function SetCache(values){var index=-1,length=null==values?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}function arraySample(array){var length=array.length;return length?array[baseRandom(0,length-1)]:undefined}function arraySampleSize(array,n){return shuffleSelf(copyArray(array),baseClamp(n,0,array.length))}function arrayShuffle(array){return shuffleSelf(copyArray(array))}function assignMergeValue(object,key,value){(undefined!==value&&!eq(object[key],value)||undefined===value&&!(key in object))&&baseAssignValue(object,key,value)}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(undefined!==value||key in object)||baseAssignValue(object,key,value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAggregator(collection,setter,iteratee,accumulator){return baseEach(collection,(function(value,key,collection){setter(accumulator,value,iteratee(value),collection)})),accumulator}function baseAssign(object,source){return object&©Object(source,keys(source),object)}function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function baseAt(object,paths){for(var index=-1,length=paths.length,result=Array(length),skip=null==object;++index<length;)result[index]=skip?undefined:get(object,paths[index]);return result}function baseClamp(number,lower,upper){return number==number&&(undefined!==upper&&(number=number<=upper?number:upper),undefined!==lower&&(number=number>=lower?number:lower)),number}function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=1&bitmask,isFlat=2&bitmask,isFull=4&bitmask;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),undefined!==result)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=function(array){var length=array.length,result=new array.constructor(length);length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input);return result}(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(result=isFlat||isFunc?{}:initCloneObject(value),!isDeep)return isFlat?function(source,object){return copyObject(source,getSymbolsIn(source),object)}(value,function(object,source){return object&©Object(source,keysIn(source),object)}(result,value)):function(source,object){return copyObject(source,getSymbols(source),object)}(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=function(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return function(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return function(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}(object);case setTag:return new Ctor;case symbolTag:return symbol=object,symbolValueOf?Object(symbolValueOf.call(symbol)):{}}var symbol}(value,tag,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;stack.set(value,result),isSet(value)?value.forEach((function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))})):isMap(value)&&value.forEach((function(subValue,key){result.set(key,baseClone(subValue,bitmask,customizer,key,value,stack))}));var props=isArr?undefined:(isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys)(value);return arrayEach(props||value,(function(subValue,key){props&&(subValue=value[key=subValue]),assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))})),result}function baseConformsTo(object,source,props){var length=props.length;if(null==object)return!length;for(object=Object(object);length--;){var key=props[length],predicate=source[key],value=object[key];if(undefined===value&&!(key in object)||!predicate(value))return!1}return!0}function baseDelay(func,wait,args){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return setTimeout((function(){func.apply(undefined,args)}),wait)}function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=!0,length=array.length,result=[],valuesLength=values.length;if(!length)return result;iteratee&&(values=arrayMap(values,baseUnary(iteratee))),comparator?(includes=arrayIncludesWith,isCommon=!1):values.length>=200&&(includes=cacheHas,isCommon=!1,values=new SetCache(values));outer:for(;++index<length;){var value=array[index],computed=null==iteratee?value:iteratee(value);if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var valuesIndex=valuesLength;valuesIndex--;)if(values[valuesIndex]===computed)continue outer;result.push(value)}else includes(values,computed,comparator)||result.push(value)}return result}lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=baseCreate(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=baseCreate(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=function(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0},Hash.prototype.delete=function(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result},Hash.prototype.get=function(key){var data=this.__data__;if(nativeCreate){var result=data[key];return"__lodash_hash_undefined__"===result?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined},Hash.prototype.has=function(key){var data=this.__data__;return nativeCreate?undefined!==data[key]:hasOwnProperty.call(data,key)},Hash.prototype.set=function(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&undefined===value?"__lodash_hash_undefined__":value,this},ListCache.prototype.clear=function(){this.__data__=[],this.size=0},ListCache.prototype.delete=function(key){var data=this.__data__,index=assocIndexOf(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)},ListCache.prototype.get=function(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]},ListCache.prototype.has=function(key){return assocIndexOf(this.__data__,key)>-1},ListCache.prototype.set=function(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this},MapCache.prototype.clear=function(){this.size=0,this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}},MapCache.prototype.delete=function(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result},MapCache.prototype.get=function(key){return getMapData(this,key).get(key)},MapCache.prototype.has=function(key){return getMapData(this,key).has(key)},MapCache.prototype.set=function(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this},SetCache.prototype.add=SetCache.prototype.push=function(value){return this.__data__.set(value,"__lodash_hash_undefined__"),this},SetCache.prototype.has=function(value){return this.__data__.has(value)},Stack.prototype.clear=function(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result},Stack.prototype.get=function(key){return this.__data__.get(key)},Stack.prototype.has=function(key){return this.__data__.has(key)},Stack.prototype.set=function(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<199)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this};var baseEach=createBaseEach(baseForOwn),baseEachRight=createBaseEach(baseForOwnRight,!0);function baseEvery(collection,predicate){var result=!0;return baseEach(collection,(function(value,index,collection){return result=!!predicate(value,index,collection)})),result}function baseExtremum(array,iteratee,comparator){for(var index=-1,length=array.length;++index<length;){var value=array[index],current=iteratee(value);if(null!=current&&(undefined===computed?current==current&&!isSymbol(current):comparator(current,computed)))var computed=current,result=value}return result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,(function(value,index,collection){predicate(value,index,collection)&&result.push(value)})),result}function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush(result,value):isStrict||(result[result.length]=value)}return result}var baseFor=createBaseFor(),baseForRight=createBaseFor(!0);function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys)}function baseForOwnRight(object,iteratee){return object&&baseForRight(object,iteratee,keys)}function baseFunctions(object,props){return arrayFilter(props,(function(key){return isFunction(object[key])}))}function baseGet(object,path){for(var index=0,length=(path=castPath(path,object)).length;null!=object&&index<length;)object=object[toKey(path[index++])];return index&&index==length?object:undefined}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return null==value?undefined===value?"[object Undefined]":"[object Null]":symToStringTag&&symToStringTag in Object(value)?function(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]);return result}(value):function(value){return nativeObjectToString.call(value)}(value)}function baseGt(value,other){return value>other}function baseHas(object,key){return null!=object&&hasOwnProperty.call(object,key)}function baseHasIn(object,key){return null!=object&&key in Object(object)}function baseIntersection(arrays,iteratee,comparator){for(var includes=comparator?arrayIncludesWith:arrayIncludes,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array(othLength),maxLength=1/0,result=[];othIndex--;){var array=arrays[othIndex];othIndex&&iteratee&&(array=arrayMap(array,baseUnary(iteratee))),maxLength=nativeMin(array.length,maxLength),caches[othIndex]=!comparator&&(iteratee||length>=120&&array.length>=120)?new SetCache(othIndex&&array):undefined}array=arrays[0];var index=-1,seen=caches[0];outer:for(;++index<length&&result.length<maxLength;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,!(seen?cacheHas(seen,computed):includes(result,computed,comparator))){for(othIndex=othLength;--othIndex;){var cache=caches[othIndex];if(!(cache?cacheHas(cache,computed):includes(arrays[othIndex],computed,comparator)))continue outer}seen&&seen.push(computed),result.push(value)}}return result}function baseInvoke(object,path,args){var func=null==(object=parent(object,path=castPath(path,object)))?object:object[toKey(last(path))];return null==func?undefined:apply(func,object,args)}function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike(value)&&!isObjectLike(other)?value!=value&&other!=other:function(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other),objIsObj=(objTag=objTag==argsTag?objectTag:objTag)==objectTag,othIsObj=(othTag=othTag==argsTag?objectTag:othTag)==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):function(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=1&bitmask;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=2,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(1&bitmask)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag)return!1;return stack||(stack=new Stack),function(object,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,objProps=getAllKeys(object),objLength=objProps.length,othLength=getAllKeys(other).length;if(objLength!=othLength&&!isPartial)return!1;var index=objLength;for(;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);var skipCtor=isPartial;for(;++index<objLength;){var objValue=object[key=objProps[index]],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(undefined===compared?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor==othCtor||!("constructor"in object)||!("constructor"in other)||"function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor||(result=!1)}return stack.delete(object),stack.delete(other),result}(object,other,bitmask,customizer,equalFunc,stack)}(value,other,bitmask,customizer,baseIsEqual,stack))}function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){var key=(data=matchData[index])[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(undefined===objValue&&!(key in object))return!1}else{var stack=new Stack;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(undefined===result?baseIsEqual(srcValue,objValue,3,customizer,stack):result))return!1}}return!0}function baseIsNative(value){return!(!isObject(value)||(func=value,maskSrcKey&&maskSrcKey in func))&&(isFunction(value)?reIsNative:reIsHostCtor).test(toSource(value));var func}function baseIteratee(value){return"function"==typeof value?value:null==value?identity:"object"==typeof value?isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value):property(value)}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function baseKeysIn(object){if(!isObject(object))return function(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty.call(object,key))&&result.push(key);return result}function baseLt(value,other){return value<other}function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value,key,collection){result[++index]=iteratee(value,key,collection)})),result}function baseMatches(source){var matchData=getMatchData(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch(object,source,matchData)}}function baseMatchesProperty(path,srcValue){return isKey(path)&&isStrictComparable(srcValue)?matchesStrictComparable(toKey(path),srcValue):function(object){var objValue=get(object,path);return undefined===objValue&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,3)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,(function(srcValue,key){if(stack||(stack=new Stack),isObject(srcValue))!function(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked)return void assignMergeValue(object,key,stacked);var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined,isCommon=undefined===newValue;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:isPlainObject(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=toPlainObject(objValue):isObject(objValue)&&!isFunction(objValue)||(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack.delete(srcValue));assignMergeValue(object,key,newValue)}(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):undefined;undefined===newValue&&(newValue=srcValue),assignMergeValue(object,key,newValue)}}),keysIn)}function baseNth(array,n){var length=array.length;if(length)return isIndex(n+=n<0?length:0,length)?array[n]:undefined}function baseOrderBy(collection,iteratees,orders){iteratees=iteratees.length?arrayMap(iteratees,(function(iteratee){return isArray(iteratee)?function(value){return baseGet(value,1===iteratee.length?iteratee[0]:iteratee)}:iteratee})):[identity];var index=-1;return iteratees=arrayMap(iteratees,baseUnary(getIteratee())),function(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}(baseMap(collection,(function(value,key,collection){return{criteria:arrayMap(iteratees,(function(iteratee){return iteratee(value)})),index:++index,value:value}})),(function(object,other){return function(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;for(;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result)return index>=ordersLength?result:result*("desc"==orders[index]?-1:1)}return object.index-other.index}(object,other,orders)}))}function basePickBy(object,paths,predicate){for(var index=-1,length=paths.length,result={};++index<length;){var path=paths[index],value=baseGet(object,path);predicate(value,path)&&baseSet(result,castPath(path,object),value)}return result}function basePullAll(array,values,iteratee,comparator){var indexOf=comparator?baseIndexOfWith:baseIndexOf,index=-1,length=values.length,seen=array;for(array===values&&(values=copyArray(values)),iteratee&&(seen=arrayMap(array,baseUnary(iteratee)));++index<length;)for(var fromIndex=0,value=values[index],computed=iteratee?iteratee(value):value;(fromIndex=indexOf(seen,computed,fromIndex,comparator))>-1;)seen!==array&&splice.call(seen,fromIndex,1),splice.call(array,fromIndex,1);return array}function basePullAt(array,indexes){for(var length=array?indexes.length:0,lastIndex=length-1;length--;){var index=indexes[length];if(length==lastIndex||index!==previous){var previous=index;isIndex(index)?splice.call(array,index,1):baseUnset(array,index)}}return array}function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()*(upper-lower+1))}function baseRepeat(string,n){var result="";if(!string||n<1||n>9007199254740991)return result;do{n%2&&(result+=string),(n=nativeFloor(n/2))&&(string+=string)}while(n);return result}function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}function baseSample(collection){return arraySample(values(collection))}function baseSampleSize(collection,n){var array=values(collection);return shuffleSelf(array,baseClamp(n,0,array.length))}function baseSet(object,path,value,customizer){if(!isObject(object))return object;for(var index=-1,length=(path=castPath(path,object)).length,lastIndex=length-1,nested=object;null!=nested&&++index<length;){var key=toKey(path[index]),newValue=value;if("__proto__"===key||"constructor"===key||"prototype"===key)return object;if(index!=lastIndex){var objValue=nested[key];undefined===(newValue=customizer?customizer(objValue,key,nested):undefined)&&(newValue=isObject(objValue)?objValue:isIndex(path[index+1])?[]:{})}assignValue(nested,key,newValue),nested=nested[key]}return object}var baseSetData=metaMap?function(func,data){return metaMap.set(func,data),func}:identity,baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity;function baseShuffle(collection){return shuffleSelf(values(collection))}function baseSlice(array,start,end){var index=-1,length=array.length;start<0&&(start=-start>length?0:length+start),(end=end>length?length:end)<0&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,(function(value,index,collection){return!(result=predicate(value,index,collection))})),!!result}function baseSortedIndex(array,value,retHighest){var low=0,high=null==array?low:array.length;if("number"==typeof value&&value==value&&high<=2147483647){for(;low<high;){var mid=low+high>>>1,computed=array[mid];null!==computed&&!isSymbol(computed)&&(retHighest?computed<=value:computed<value)?low=mid+1:high=mid}return high}return baseSortedIndexBy(array,value,identity,retHighest)}function baseSortedIndexBy(array,value,iteratee,retHighest){var low=0,high=null==array?0:array.length;if(0===high)return 0;for(var valIsNaN=(value=iteratee(value))!=value,valIsNull=null===value,valIsSymbol=isSymbol(value),valIsUndefined=undefined===value;low<high;){var mid=nativeFloor((low+high)/2),computed=iteratee(array[mid]),othIsDefined=undefined!==computed,othIsNull=null===computed,othIsReflexive=computed==computed,othIsSymbol=isSymbol(computed);if(valIsNaN)var setLow=retHighest||othIsReflexive;else setLow=valIsUndefined?othIsReflexive&&(retHighest||othIsDefined):valIsNull?othIsReflexive&&othIsDefined&&(retHighest||!othIsNull):valIsSymbol?othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol):!othIsNull&&!othIsSymbol&&(retHighest?computed<=value:computed<value);setLow?low=mid+1:high=mid}return nativeMin(high,4294967294)}function baseSortedUniq(array,iteratee){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(!index||!eq(computed,seen)){var seen=computed;result[resIndex++]=0===value?0:value}}return result}function baseToNumber(value){return"number"==typeof value?value:isSymbol(value)?NaN:+value}function baseToString(value){if("string"==typeof value)return value;if(isArray(value))return arrayMap(value,baseToString)+"";if(isSymbol(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result}function baseUniq(array,iteratee,comparator){var index=-1,includes=arrayIncludes,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes=arrayIncludesWith;else if(length>=200){var set=iteratee?null:createSet(array);if(set)return setToArray(set);isCommon=!1,includes=cacheHas,seen=new SetCache}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}function baseUnset(object,path){return null==(object=parent(object,path=castPath(path,object)))||delete object[toKey(last(path))]}function baseUpdate(object,path,updater,customizer){return baseSet(object,path,updater(baseGet(object,path)),customizer)}function baseWhile(array,predicate,isDrop,fromRight){for(var length=array.length,index=fromRight?length:-1;(fromRight?index--:++index<length)&&predicate(array[index],index,array););return isDrop?baseSlice(array,fromRight?0:index,fromRight?index+1:length):baseSlice(array,fromRight?index+1:0,fromRight?length:index)}function baseWrapperValue(value,actions){var result=value;return result instanceof LazyWrapper&&(result=result.value()),arrayReduce(actions,(function(result,action){return action.func.apply(action.thisArg,arrayPush([result],action.args))}),result)}function baseXor(arrays,iteratee,comparator){var length=arrays.length;if(length<2)return length?baseUniq(arrays[0]):[];for(var index=-1,result=Array(length);++index<length;)for(var array=arrays[index],othIndex=-1;++othIndex<length;)othIndex!=index&&(result[index]=baseDifference(result[index]||array,arrays[othIndex],iteratee,comparator));return baseUniq(baseFlatten(result,1),iteratee,comparator)}function baseZipObject(props,values,assignFunc){for(var index=-1,length=props.length,valsLength=values.length,result={};++index<length;){var value=index<valsLength?values[index]:undefined;assignFunc(result,props[index],value)}return result}function castArrayLikeObject(value){return isArrayLikeObject(value)?value:[]}function castFunction(value){return"function"==typeof value?value:identity}function castPath(value,object){return isArray(value)?value:isKey(value,object)?[value]:stringToPath(toString(value))}var castRest=baseRest;function castSlice(array,start,end){var length=array.length;return end=undefined===end?length:end,!start&&end>=length?array:baseSlice(array,start,end)}var clearTimeout=ctxClearTimeout||function(id){return root.clearTimeout(id)};function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function compareAscending(value,other){if(value!==other){var valIsDefined=undefined!==value,valIsNull=null===value,valIsReflexive=value==value,valIsSymbol=isSymbol(value),othIsDefined=undefined!==other,othIsNull=null===other,othIsReflexive=other==other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}function composeArgs(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;++leftIndex<leftLength;)result[leftIndex]=partials[leftIndex];for(;++argsIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[holders[argsIndex]]=args[argsIndex]);for(;rangeLength--;)result[leftIndex++]=args[argsIndex++];return result}function composeArgsRight(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;++argsIndex<rangeLength;)result[argsIndex]=args[argsIndex];for(var offset=argsIndex;++rightIndex<rightLength;)result[offset+rightIndex]=partials[rightIndex];for(;++holdersIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[offset+holders[holdersIndex]]=args[argsIndex++]);return result}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;undefined===newValue&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}function createAggregator(setter,initializer){return function(collection,iteratee){var func=isArray(collection)?arrayAggregator:baseAggregator,accumulator=initializer?initializer():{};return func(collection,setter,getIteratee(iteratee,2),accumulator)}}function createAssigner(assigner){return baseRest((function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):undefined,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?undefined:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object}))}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(!1===iteratee(iterable[key],key,iterable))break}return object}}function createCaseFirst(methodName){return function(string){var strSymbols=hasUnicode(string=toString(string))?stringToArray(string):undefined,chr=strSymbols?strSymbols[0]:string.charAt(0),trailing=strSymbols?castSlice(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}function createCompounder(callback){return function(string){return arrayReduce(words(deburr(string).replace(reApos,"")),callback,"")}}function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike(collection)){var iteratee=getIteratee(predicate,3);collection=keys(collection),predicate=function(key){return iteratee(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:undefined}}function createFlow(fromRight){return flatRest((function(funcs){var length=funcs.length,index=length,prereq=LodashWrapper.prototype.thru;for(fromRight&&funcs.reverse();index--;){var func=funcs[index];if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);if(prereq&&!wrapper&&"wrapper"==getFuncName(func))var wrapper=new LodashWrapper([],!0)}for(index=wrapper?index:length;++index<length;){var funcName=getFuncName(func=funcs[index]),data="wrapper"==funcName?getData(func):undefined;wrapper=data&&isLaziable(data[0])&&424==data[1]&&!data[4].length&&1==data[9]?wrapper[getFuncName(data[0])].apply(wrapper,data[3]):1==func.length&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}return function(){var args=arguments,value=args[0];if(wrapper&&1==args.length&&isArray(value))return wrapper.plant(value).value();for(var index=0,result=length?funcs[index].apply(this,args):value;++index<length;)result=funcs[index].call(this,result);return result}}))}function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=128&bitmask,isBind=1&bitmask,isBindKey=2&bitmask,isCurried=24&bitmask,isFlip=512&bitmask,Ctor=isBindKey?undefined:createCtor(func);return function wrapper(){for(var length=arguments.length,args=Array(length),index=length;index--;)args[index]=arguments[index];if(isCurried)var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder);if(partials&&(args=composeArgs(args,partials,holders,isCurried)),partialsRight&&(args=composeArgsRight(args,partialsRight,holdersRight,isCurried)),length-=holdersCount,isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;return length=args.length,argPos?args=reorder(args,argPos):isFlip&&length>1&&args.reverse(),isAry&&ary<length&&(args.length=ary),this&&this!==root&&this instanceof wrapper&&(fn=Ctor||createCtor(fn)),fn.apply(thisBinding,args)}}function createInverter(setter,toIteratee){return function(object,iteratee){return function(object,setter,iteratee,accumulator){return baseForOwn(object,(function(value,key,object){setter(accumulator,iteratee(value),key,object)})),accumulator}(object,setter,toIteratee(iteratee),{})}}function createMathOperation(operator,defaultValue){return function(value,other){var result;if(undefined===value&&undefined===other)return defaultValue;if(undefined!==value&&(result=value),undefined!==other){if(undefined===result)return other;"string"==typeof value||"string"==typeof other?(value=baseToString(value),other=baseToString(other)):(value=baseToNumber(value),other=baseToNumber(other)),result=operator(value,other)}return result}}function createOver(arrayFunc){return flatRest((function(iteratees){return iteratees=arrayMap(iteratees,baseUnary(getIteratee())),baseRest((function(args){var thisArg=this;return arrayFunc(iteratees,(function(iteratee){return apply(iteratee,thisArg,args)}))}))}))}function createPadding(length,chars){var charsLength=(chars=undefined===chars?" ":baseToString(chars)).length;if(charsLength<2)return charsLength?baseRepeat(chars,length):chars;var result=baseRepeat(chars,nativeCeil(length/stringSize(chars)));return hasUnicode(chars)?castSlice(stringToArray(result),0,length).join(""):result.slice(0,length)}function createRange(fromRight){return function(start,end,step){return step&&"number"!=typeof step&&isIterateeCall(start,end,step)&&(end=step=undefined),start=toFinite(start),undefined===end?(end=start,start=0):end=toFinite(end),function(start,end,step,fromRight){for(var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);length--;)result[fromRight?length:++index]=start,start+=step;return result}(start,end,step=undefined===step?start<end?1:-1:toFinite(step),fromRight)}}function createRelationalOperation(operator){return function(value,other){return"string"==typeof value&&"string"==typeof other||(value=toNumber(value),other=toNumber(other)),operator(value,other)}}function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=8&bitmask;bitmask|=isCurry?32:64,4&(bitmask&=~(isCurry?64:32))||(bitmask&=-4);var newData=[func,bitmask,thisArg,isCurry?partials:undefined,isCurry?holders:undefined,isCurry?undefined:partials,isCurry?undefined:holders,argPos,ary,arity],result=wrapFunc.apply(undefined,newData);return isLaziable(func)&&setData(result,newData),result.placeholder=placeholder,setWrapToString(result,func,bitmask)}function createRound(methodName){var func=Math[methodName];return function(number,precision){if(number=toNumber(number),(precision=null==precision?0:nativeMin(toInteger(precision),292))&&nativeIsFinite(number)){var pair=(toString(number)+"e").split("e");return+((pair=(toString(func(pair[0]+"e"+(+pair[1]+precision)))+"e").split("e"))[0]+"e"+(+pair[1]-precision))}return func(number)}}var createSet=Set&&1/setToArray(new Set([,-0]))[1]==Infinity?function(values){return new Set(values)}:noop;function createToPairs(keysFunc){return function(object){var tag=getTag(object);return tag==mapTag?mapToArray(object):tag==setTag?setToPairs(object):function(object,props){return arrayMap(props,(function(key){return[key,object[key]]}))}(object,keysFunc(object))}}function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=2&bitmask;if(!isBindKey&&"function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);var length=partials?partials.length:0;if(length||(bitmask&=-97,partials=holders=undefined),ary=undefined===ary?ary:nativeMax(toInteger(ary),0),arity=undefined===arity?arity:toInteger(arity),length-=holders?holders.length:0,64&bitmask){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data&&function(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<131,isCombo=128==srcBitmask&&8==bitmask||128==srcBitmask&&256==bitmask&&data[7].length<=source[8]||384==srcBitmask&&source[7].length<=source[8]&&8==bitmask;if(!isCommon&&!isCombo)return data;1&srcBitmask&&(data[2]=source[2],newBitmask|=1&bitmask?0:4);var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):value,data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source[4]}(value=source[5])&&(partials=data[5],data[5]=partials?composeArgsRight(partials,value,source[6]):value,data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source[6]);(value=source[7])&&(data[7]=value);128&srcBitmask&&(data[8]=null==data[8]?source[8]:nativeMin(data[8],source[8]));null==data[9]&&(data[9]=source[9]);data[0]=source[0],data[1]=newBitmask}(newData,data),func=newData[0],bitmask=newData[1],thisArg=newData[2],partials=newData[3],holders=newData[4],!(arity=newData[9]=undefined===newData[9]?isBindKey?0:func.length:nativeMax(newData[9]-length,0))&&24&bitmask&&(bitmask&=-25),bitmask&&1!=bitmask)result=8==bitmask||16==bitmask?function(func,bitmask,arity){var Ctor=createCtor(func);return function wrapper(){for(var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);index--;)args[index]=arguments[index];var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);return(length-=holders.length)<arity?createRecurry(func,bitmask,createHybrid,wrapper.placeholder,void 0,args,holders,void 0,void 0,arity-length):apply(this&&this!==root&&this instanceof wrapper?Ctor:func,this,args)}}(func,bitmask,arity):32!=bitmask&&33!=bitmask||holders.length?createHybrid.apply(undefined,newData):function(func,bitmask,thisArg,partials){var isBind=1&bitmask,Ctor=createCtor(func);return function wrapper(){for(var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;++leftIndex<leftLength;)args[leftIndex]=partials[leftIndex];for(;argsLength--;)args[leftIndex++]=arguments[++argsIndex];return apply(fn,isBind?thisArg:this,args)}}(func,bitmask,thisArg,partials);else var result=function(func,bitmask,thisArg){var isBind=1&bitmask,Ctor=createCtor(func);return function wrapper(){return(this&&this!==root&&this instanceof wrapper?Ctor:func).apply(isBind?thisArg:this,arguments)}}(func,bitmask,thisArg);return setWrapToString((data?baseSetData:setData)(result,newData),func,bitmask)}function customDefaultsAssignIn(objValue,srcValue,key,object){return undefined===objValue||eq(objValue,objectProto[key])&&!hasOwnProperty.call(object,key)?srcValue:objValue}function customDefaultsMerge(objValue,srcValue,key,object,source,stack){return isObject(objValue)&&isObject(srcValue)&&(stack.set(srcValue,objValue),baseMerge(objValue,srcValue,undefined,customDefaultsMerge,stack),stack.delete(srcValue)),objValue}function customOmitClone(value){return isPlainObject(value)?undefined:value}function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=2&bitmask?new SetCache:undefined;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(undefined!==compared){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,(function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack)))return seen.push(othIndex)}))){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack.delete(array),stack.delete(other),result}function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}var getData=metaMap?function(func){return metaMap.get(func)}:noop;function getFuncName(func){for(var result=func.name+"",array=realNames[result],length=hasOwnProperty.call(realNames,result)?array.length:0;length--;){var data=array[length],otherFunc=data.func;if(null==otherFunc||otherFunc==func)return data.name}return result}function getHolder(func){return(hasOwnProperty.call(lodash,"placeholder")?lodash:func).placeholder}function getIteratee(){var result=lodash.iteratee||iteratee;return result=result===iteratee?baseIteratee:result,arguments.length?result(arguments[0],arguments[1]):result}function getMapData(map,key){var value,type,data=map.__data__;return("string"==(type=typeof(value=key))||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value)?data["string"==typeof key?"string":"hash"]:data.map}function getMatchData(object){for(var result=keys(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}function getNative(object,key){var value=function(object,key){return null==object?void 0:object[key]}(object,key);return baseIsNative(value)?value:undefined}var getSymbols=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),(function(symbol){return propertyIsEnumerable.call(object,symbol)})))}:stubArray,getSymbolsIn=nativeGetSymbols?function(object){for(var result=[];object;)arrayPush(result,getSymbols(object)),object=getPrototype(object);return result}:stubArray,getTag=baseGetTag;function hasPath(object,path,hasFunc){for(var index=-1,length=(path=castPath(path,object)).length,result=!1;++index<length;){var key=toKey(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:!!(length=null==object?0:object.length)&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object))}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}function isIndex(value,length){var type=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type||"symbol"!=type&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object)&&eq(object[index],value)}function isKey(value,object){if(isArray(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}function isLaziable(func){var funcName=getFuncName(func),other=lodash[funcName];if("function"!=typeof other||!(funcName in LazyWrapper.prototype))return!1;if(func===other)return!0;var data=getData(other);return!!data&&func===data[0]}(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&"[object Promise]"!=getTag(Promise.resolve())||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return"[object Promise]";case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var isMaskable=coreJsData?isFunction:stubFalse;function isPrototype(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto)}function isStrictComparable(value){return value==value&&!isObject(value)}function matchesStrictComparable(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(undefined!==srcValue||key in Object(object)))}}function overRest(func,start,transform){return start=nativeMax(undefined===start?func.length-1:start,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);++index<length;)array[index]=args[start+index];index=-1;for(var otherArgs=Array(start+1);++index<start;)otherArgs[index]=args[index];return otherArgs[start]=transform(array),apply(func,this,otherArgs)}}function parent(object,path){return path.length<2?object:baseGet(object,baseSlice(path,0,-1))}function reorder(array,indexes){for(var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);length--;){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function safeGet(object,key){if(("constructor"!==key||"function"!=typeof object[key])&&"__proto__"!=key)return object[key]}var setData=shortOut(baseSetData),setTimeout=ctxSetTimeout||function(func,wait){return root.setTimeout(func,wait)},setToString=shortOut(baseSetToString);function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString(wrapper,function(source,details){var length=details.length;if(!length)return source;var lastIndex=length-1;return details[lastIndex]=(length>1?"& ":"")+details[lastIndex],details=details.join(length>2?", ":" "),source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}(source,function(details,bitmask){return arrayEach(wrapFlags,(function(pair){var value="_."+pair[0];bitmask&pair[1]&&!arrayIncludes(details,value)&&details.push(value)})),details.sort()}(function(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}(source),bitmask)))}function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=16-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=800)return arguments[0]}else count=0;return func.apply(undefined,arguments)}}function shuffleSelf(array,size){var index=-1,length=array.length,lastIndex=length-1;for(size=undefined===size?length:size;++index<size;){var rand=baseRandom(index,lastIndex),value=array[rand];array[rand]=array[index],array[index]=value}return array.length=size,array}var stringToPath=function(func){var result=memoize(func,(function(key){return 500===cache.size&&cache.clear(),key})),cache=result.cache;return result}((function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName,(function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)})),result}));function toKey(value){if("string"==typeof value||isSymbol(value))return value;var result=value+"";return"0"==result&&1/value==-Infinity?"-0":result}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper)return wrapper.clone();var result=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);return result.__actions__=copyArray(wrapper.__actions__),result.__index__=wrapper.__index__,result.__values__=wrapper.__values__,result}var difference=baseRest((function(array,values){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0)):[]})),differenceBy=baseRest((function(array,values){var iteratee=last(values);return isArrayLikeObject(iteratee)&&(iteratee=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),getIteratee(iteratee,2)):[]})),differenceWith=baseRest((function(array,values){var comparator=last(values);return isArrayLikeObject(comparator)&&(comparator=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),undefined,comparator):[]}));function findIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseFindIndex(array,getIteratee(predicate,3),index)}function findLastIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length-1;return undefined!==fromIndex&&(index=toInteger(fromIndex),index=fromIndex<0?nativeMax(length+index,0):nativeMin(index,length-1)),baseFindIndex(array,getIteratee(predicate,3),index,!0)}function flatten(array){return(null==array?0:array.length)?baseFlatten(array,1):[]}function head(array){return array&&array.length?array[0]:undefined}var intersection=baseRest((function(arrays){var mapped=arrayMap(arrays,castArrayLikeObject);return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped):[]})),intersectionBy=baseRest((function(arrays){var iteratee=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return iteratee===last(mapped)?iteratee=undefined:mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,getIteratee(iteratee,2)):[]})),intersectionWith=baseRest((function(arrays){var comparator=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return(comparator="function"==typeof comparator?comparator:undefined)&&mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,undefined,comparator):[]}));function last(array){var length=null==array?0:array.length;return length?array[length-1]:undefined}var pull=baseRest(pullAll);function pullAll(array,values){return array&&array.length&&values&&values.length?basePullAll(array,values):array}var pullAt=flatRest((function(array,indexes){var length=null==array?0:array.length,result=baseAt(array,indexes);return basePullAt(array,arrayMap(indexes,(function(index){return isIndex(index,length)?+index:index})).sort(compareAscending)),result}));function reverse(array){return null==array?array:nativeReverse.call(array)}var union=baseRest((function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0))})),unionBy=baseRest((function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),getIteratee(iteratee,2))})),unionWith=baseRest((function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),undefined,comparator)}));function unzip(array){if(!array||!array.length)return[];var length=0;return array=arrayFilter(array,(function(group){if(isArrayLikeObject(group))return length=nativeMax(group.length,length),!0})),baseTimes(length,(function(index){return arrayMap(array,baseProperty(index))}))}function unzipWith(array,iteratee){if(!array||!array.length)return[];var result=unzip(array);return null==iteratee?result:arrayMap(result,(function(group){return apply(iteratee,undefined,group)}))}var without=baseRest((function(array,values){return isArrayLikeObject(array)?baseDifference(array,values):[]})),xor=baseRest((function(arrays){return baseXor(arrayFilter(arrays,isArrayLikeObject))})),xorBy=baseRest((function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseXor(arrayFilter(arrays,isArrayLikeObject),getIteratee(iteratee,2))})),xorWith=baseRest((function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseXor(arrayFilter(arrays,isArrayLikeObject),undefined,comparator)})),zip=baseRest(unzip);var zipWith=baseRest((function(arrays){var length=arrays.length,iteratee=length>1?arrays[length-1]:undefined;return iteratee="function"==typeof iteratee?(arrays.pop(),iteratee):undefined,unzipWith(arrays,iteratee)}));function chain(value){var result=lodash(value);return result.__chain__=!0,result}function thru(value,interceptor){return interceptor(value)}var wrapperAt=flatRest((function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt(object,paths)};return!(length>1||this.__actions__.length)&&value instanceof LazyWrapper&&isIndex(start)?((value=value.slice(start,+start+(length?1:0))).__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(value,this.__chain__).thru((function(array){return length&&!array.length&&array.push(undefined),array}))):this.thru(interceptor)}));var countBy=createAggregator((function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:baseAssignValue(result,key,1)}));var find=createFind(findIndex),findLast=createFind(findLastIndex);function forEach(collection,iteratee){return(isArray(collection)?arrayEach:baseEach)(collection,getIteratee(iteratee,3))}function forEachRight(collection,iteratee){return(isArray(collection)?arrayEachRight:baseEachRight)(collection,getIteratee(iteratee,3))}var groupBy=createAggregator((function(result,value,key){hasOwnProperty.call(result,key)?result[key].push(value):baseAssignValue(result,key,[value])}));var invokeMap=baseRest((function(collection,path,args){var index=-1,isFunc="function"==typeof path,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value){result[++index]=isFunc?apply(path,value,args):baseInvoke(value,path,args)})),result})),keyBy=createAggregator((function(result,value,key){baseAssignValue(result,key,value)}));function map(collection,iteratee){return(isArray(collection)?arrayMap:baseMap)(collection,getIteratee(iteratee,3))}var partition=createAggregator((function(result,value,key){result[key?0:1].push(value)}),(function(){return[[],[]]}));var sortBy=baseRest((function(collection,iteratees){if(null==collection)return[];var length=iteratees.length;return length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])?iteratees=[]:length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])&&(iteratees=[iteratees[0]]),baseOrderBy(collection,baseFlatten(iteratees,1),[])})),now=ctxNow||function(){return root.Date.now()};function ary(func,n,guard){return n=guard?undefined:n,createWrap(func,128,undefined,undefined,undefined,undefined,n=func&&null==n?func.length:n)}function before(n,func){var result;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){return--n>0&&(result=func.apply(this,arguments)),n<=1&&(func=undefined),result}}var bind=baseRest((function(func,thisArg,partials){var bitmask=1;if(partials.length){var holders=replaceHolders(partials,getHolder(bind));bitmask|=32}return createWrap(func,bitmask,thisArg,partials,holders)})),bindKey=baseRest((function(object,key,partials){var bitmask=3;if(partials.length){var holders=replaceHolders(partials,getHolder(bindKey));bitmask|=32}return createWrap(key,bitmask,object,partials,holders)}));function debounce(func,wait,options){var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=!1,maxing=!1,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);function invokeFunc(time){var args=lastArgs,thisArg=lastThis;return lastArgs=lastThis=undefined,lastInvokeTime=time,result=func.apply(thisArg,args)}function leadingEdge(time){return lastInvokeTime=time,timerId=setTimeout(timerExpired,wait),leading?invokeFunc(time):result}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime;return undefined===lastCallTime||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&time-lastInvokeTime>=maxWait}function timerExpired(){var time=now();if(shouldInvoke(time))return trailingEdge(time);timerId=setTimeout(timerExpired,function(time){var timeWaiting=wait-(time-lastCallTime);return maxing?nativeMin(timeWaiting,maxWait-(time-lastInvokeTime)):timeWaiting}(time))}function trailingEdge(time){return timerId=undefined,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=undefined,result)}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(undefined===timerId)return leadingEdge(lastCallTime);if(maxing)return clearTimeout(timerId),timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return undefined===timerId&&(timerId=setTimeout(timerExpired,wait)),result}return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxWait=(maxing="maxWait"in options)?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=function(){undefined!==timerId&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=undefined},debounced.flush=function(){return undefined===timerId?result:trailingEdge(now())},debounced}var defer=baseRest((function(func,args){return baseDelay(func,1,args)})),delay=baseRest((function(func,wait,args){return baseDelay(func,toNumber(wait)||0,args)}));function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError(FUNC_ERROR_TEXT);var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(predicate){if("function"!=typeof predicate)throw new TypeError(FUNC_ERROR_TEXT);return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}memoize.Cache=MapCache;var overArgs=castRest((function(func,transforms){var funcsLength=(transforms=1==transforms.length&&isArray(transforms[0])?arrayMap(transforms[0],baseUnary(getIteratee())):arrayMap(baseFlatten(transforms,1),baseUnary(getIteratee()))).length;return baseRest((function(args){for(var index=-1,length=nativeMin(args.length,funcsLength);++index<length;)args[index]=transforms[index].call(this,args[index]);return apply(func,this,args)}))})),partial=baseRest((function(func,partials){return createWrap(func,32,undefined,partials,replaceHolders(partials,getHolder(partial)))})),partialRight=baseRest((function(func,partials){return createWrap(func,64,undefined,partials,replaceHolders(partials,getHolder(partialRight)))})),rearg=flatRest((function(func,indexes){return createWrap(func,256,undefined,undefined,undefined,indexes)}));function eq(value,other){return value===other||value!=value&&other!=other}var gt=createRelationalOperation(baseGt),gte=createRelationalOperation((function(value,other){return value>=other})),isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray,isArrayBuffer=nodeIsArrayBuffer?baseUnary(nodeIsArrayBuffer):function(value){return isObjectLike(value)&&baseGetTag(value)==arrayBufferTag};function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}var isBuffer=nativeIsBuffer||stubFalse,isDate=nodeIsDate?baseUnary(nodeIsDate):function(value){return isObjectLike(value)&&baseGetTag(value)==dateTag};function isError(value){if(!isObjectLike(value))return!1;var tag=baseGetTag(value);return tag==errorTag||"[object DOMException]"==tag||"string"==typeof value.message&&"string"==typeof value.name&&!isPlainObject(value)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}function isInteger(value){return"number"==typeof value&&value==toInteger(value)}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}function isObjectLike(value){return null!=value&&"object"==typeof value}var isMap=nodeIsMap?baseUnary(nodeIsMap):function(value){return isObjectLike(value)&&getTag(value)==mapTag};function isNumber(value){return"number"==typeof value||isObjectLike(value)&&baseGetTag(value)==numberTag}function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag)return!1;var proto=getPrototype(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}var isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):function(value){return isObjectLike(value)&&baseGetTag(value)==regexpTag};var isSet=nodeIsSet?baseUnary(nodeIsSet):function(value){return isObjectLike(value)&&getTag(value)==setTag};function isString(value){return"string"==typeof value||!isArray(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}function isSymbol(value){return"symbol"==typeof value||isObjectLike(value)&&baseGetTag(value)==symbolTag}var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):function(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]};var lt=createRelationalOperation(baseLt),lte=createRelationalOperation((function(value,other){return value<=other}));function toArray(value){if(!value)return[];if(isArrayLike(value))return isString(value)?stringToArray(value):copyArray(value);if(symIterator&&value[symIterator])return function(iterator){for(var data,result=[];!(data=iterator.next()).done;)result.push(data.value);return result}(value[symIterator]());var tag=getTag(value);return(tag==mapTag?mapToArray:tag==setTag?setToArray:values)(value)}function toFinite(value){return value?Infinity===(value=toNumber(value))||-Infinity===value?17976931348623157e292*(value<0?-1:1):value==value?value:0:0===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result==result?remainder?result-remainder:result:0}function toLength(value){return value?baseClamp(toInteger(value),0,4294967295):0}function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NaN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value}function toPlainObject(value){return copyObject(value,keysIn(value))}function toString(value){return null==value?"":baseToString(value)}var assign=createAssigner((function(object,source){if(isPrototype(source)||isArrayLike(source))copyObject(source,keys(source),object);else for(var key in source)hasOwnProperty.call(source,key)&&assignValue(object,key,source[key])})),assignIn=createAssigner((function(object,source){copyObject(source,keysIn(source),object)})),assignInWith=createAssigner((function(object,source,srcIndex,customizer){copyObject(source,keysIn(source),object,customizer)})),assignWith=createAssigner((function(object,source,srcIndex,customizer){copyObject(source,keys(source),object,customizer)})),at=flatRest(baseAt);var defaults=baseRest((function(object,sources){object=Object(object);var index=-1,length=sources.length,guard=length>2?sources[2]:undefined;for(guard&&isIterateeCall(sources[0],sources[1],guard)&&(length=1);++index<length;)for(var source=sources[index],props=keysIn(source),propsIndex=-1,propsLength=props.length;++propsIndex<propsLength;){var key=props[propsIndex],value=object[key];(undefined===value||eq(value,objectProto[key])&&!hasOwnProperty.call(object,key))&&(object[key]=source[key])}return object})),defaultsDeep=baseRest((function(args){return args.push(undefined,customDefaultsMerge),apply(mergeWith,undefined,args)}));function get(object,path,defaultValue){var result=null==object?undefined:baseGet(object,path);return undefined===result?defaultValue:result}function hasIn(object,path){return null!=object&&hasPath(object,path,baseHasIn)}var invert=createInverter((function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),result[value]=key}),constant(identity)),invertBy=createInverter((function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]}),getIteratee),invoke=baseRest(baseInvoke);function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}var merge=createAssigner((function(object,source,srcIndex){baseMerge(object,source,srcIndex)})),mergeWith=createAssigner((function(object,source,srcIndex,customizer){baseMerge(object,source,srcIndex,customizer)})),omit=flatRest((function(object,paths){var result={};if(null==object)return result;var isDeep=!1;paths=arrayMap(paths,(function(path){return path=castPath(path,object),isDeep||(isDeep=path.length>1),path})),copyObject(object,getAllKeysIn(object),result),isDeep&&(result=baseClone(result,7,customOmitClone));for(var length=paths.length;length--;)baseUnset(result,paths[length]);return result}));var pick=flatRest((function(object,paths){return null==object?{}:function(object,paths){return basePickBy(object,paths,(function(value,path){return hasIn(object,path)}))}(object,paths)}));function pickBy(object,predicate){if(null==object)return{};var props=arrayMap(getAllKeysIn(object),(function(prop){return[prop]}));return predicate=getIteratee(predicate),basePickBy(object,props,(function(value,path){return predicate(value,path[0])}))}var toPairs=createToPairs(keys),toPairsIn=createToPairs(keysIn);function values(object){return null==object?[]:baseValues(object,keys(object))}var camelCase=createCompounder((function(result,word,index){return word=word.toLowerCase(),result+(index?capitalize(word):word)}));function capitalize(string){return upperFirst(toString(string).toLowerCase())}function deburr(string){return(string=toString(string))&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}var kebabCase=createCompounder((function(result,word,index){return result+(index?"-":"")+word.toLowerCase()})),lowerCase=createCompounder((function(result,word,index){return result+(index?" ":"")+word.toLowerCase()})),lowerFirst=createCaseFirst("toLowerCase");var snakeCase=createCompounder((function(result,word,index){return result+(index?"_":"")+word.toLowerCase()}));var startCase=createCompounder((function(result,word,index){return result+(index?" ":"")+upperFirst(word)}));var upperCase=createCompounder((function(result,word,index){return result+(index?" ":"")+word.toUpperCase()})),upperFirst=createCaseFirst("toUpperCase");function words(string,pattern,guard){return string=toString(string),undefined===(pattern=guard?undefined:pattern)?function(string){return reHasUnicodeWord.test(string)}(string)?function(string){return string.match(reUnicodeWord)||[]}(string):function(string){return string.match(reAsciiWord)||[]}(string):string.match(pattern)||[]}var attempt=baseRest((function(func,args){try{return apply(func,undefined,args)}catch(e){return isError(e)?e:new Error(e)}})),bindAll=flatRest((function(object,methodNames){return arrayEach(methodNames,(function(key){key=toKey(key),baseAssignValue(object,key,bind(object[key],object))})),object}));function constant(value){return function(){return value}}var flow=createFlow(),flowRight=createFlow(!0);function identity(value){return value}function iteratee(func){return baseIteratee("function"==typeof func?func:baseClone(func,1))}var method=baseRest((function(path,args){return function(object){return baseInvoke(object,path,args)}})),methodOf=baseRest((function(object,args){return function(path){return baseInvoke(object,path,args)}}));function mixin(object,source,options){var props=keys(source),methodNames=baseFunctions(source,props);null!=options||isObject(source)&&(methodNames.length||!props.length)||(options=source,source=object,object=this,methodNames=baseFunctions(source,keys(source)));var chain=!(isObject(options)&&"chain"in options&&!options.chain),isFunc=isFunction(object);return arrayEach(methodNames,(function(methodName){var func=source[methodName];object[methodName]=func,isFunc&&(object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=copyArray(this.__actions__);return actions.push({func:func,args:arguments,thisArg:object}),result.__chain__=chainAll,result}return func.apply(object,arrayPush([this.value()],arguments))})})),object}function noop(){}var over=createOver(arrayMap),overEvery=createOver(arrayEvery),overSome=createOver(arraySome);function property(path){return isKey(path)?baseProperty(toKey(path)):function(path){return function(object){return baseGet(object,path)}}(path)}var range=createRange(),rangeRight=createRange(!0);function stubArray(){return[]}function stubFalse(){return!1}var add=createMathOperation((function(augend,addend){return augend+addend}),0),ceil=createRound("ceil"),divide=createMathOperation((function(dividend,divisor){return dividend/divisor}),1),floor=createRound("floor");var source,multiply=createMathOperation((function(multiplier,multiplicand){return multiplier*multiplicand}),1),round=createRound("round"),subtract=createMathOperation((function(minuend,subtrahend){return minuend-subtrahend}),0);return lodash.after=function(n,func){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){if(--n<1)return func.apply(this,arguments)}},lodash.ary=ary,lodash.assign=assign,lodash.assignIn=assignIn,lodash.assignInWith=assignInWith,lodash.assignWith=assignWith,lodash.at=at,lodash.before=before,lodash.bind=bind,lodash.bindAll=bindAll,lodash.bindKey=bindKey,lodash.castArray=function(){if(!arguments.length)return[];var value=arguments[0];return isArray(value)?value:[value]},lodash.chain=chain,lodash.chunk=function(array,size,guard){size=(guard?isIterateeCall(array,size,guard):undefined===size)?1:nativeMax(toInteger(size),0);var length=null==array?0:array.length;if(!length||size<1)return[];for(var index=0,resIndex=0,result=Array(nativeCeil(length/size));index<length;)result[resIndex++]=baseSlice(array,index,index+=size);return result},lodash.compact=function(array){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];value&&(result[resIndex++]=value)}return result},lodash.concat=function(){var length=arguments.length;if(!length)return[];for(var args=Array(length-1),array=arguments[0],index=length;index--;)args[index-1]=arguments[index];return arrayPush(isArray(array)?copyArray(array):[array],baseFlatten(args,1))},lodash.cond=function(pairs){var length=null==pairs?0:pairs.length,toIteratee=getIteratee();return pairs=length?arrayMap(pairs,(function(pair){if("function"!=typeof pair[1])throw new TypeError(FUNC_ERROR_TEXT);return[toIteratee(pair[0]),pair[1]]})):[],baseRest((function(args){for(var index=-1;++index<length;){var pair=pairs[index];if(apply(pair[0],this,args))return apply(pair[1],this,args)}}))},lodash.conforms=function(source){return function(source){var props=keys(source);return function(object){return baseConformsTo(object,source,props)}}(baseClone(source,1))},lodash.constant=constant,lodash.countBy=countBy,lodash.create=function(prototype,properties){var result=baseCreate(prototype);return null==properties?result:baseAssign(result,properties)},lodash.curry=function curry(func,arity,guard){var result=createWrap(func,8,undefined,undefined,undefined,undefined,undefined,arity=guard?undefined:arity);return result.placeholder=curry.placeholder,result},lodash.curryRight=function curryRight(func,arity,guard){var result=createWrap(func,16,undefined,undefined,undefined,undefined,undefined,arity=guard?undefined:arity);return result.placeholder=curryRight.placeholder,result},lodash.debounce=debounce,lodash.defaults=defaults,lodash.defaultsDeep=defaultsDeep,lodash.defer=defer,lodash.delay=delay,lodash.difference=difference,lodash.differenceBy=differenceBy,lodash.differenceWith=differenceWith,lodash.drop=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,(n=guard||undefined===n?1:toInteger(n))<0?0:n,length):[]},lodash.dropRight=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,0,(n=length-(n=guard||undefined===n?1:toInteger(n)))<0?0:n):[]},lodash.dropRightWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0,!0):[]},lodash.dropWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0):[]},lodash.fill=function(array,value,start,end){var length=null==array?0:array.length;return length?(start&&"number"!=typeof start&&isIterateeCall(array,value,start)&&(start=0,end=length),function(array,value,start,end){var length=array.length;for((start=toInteger(start))<0&&(start=-start>length?0:length+start),(end=void 0===end||end>length?length:toInteger(end))<0&&(end+=length),end=start>end?0:toLength(end);start<end;)array[start++]=value;return array}(array,value,start,end)):[]},lodash.filter=function(collection,predicate){return(isArray(collection)?arrayFilter:baseFilter)(collection,getIteratee(predicate,3))},lodash.flatMap=function(collection,iteratee){return baseFlatten(map(collection,iteratee),1)},lodash.flatMapDeep=function(collection,iteratee){return baseFlatten(map(collection,iteratee),Infinity)},lodash.flatMapDepth=function(collection,iteratee,depth){return depth=undefined===depth?1:toInteger(depth),baseFlatten(map(collection,iteratee),depth)},lodash.flatten=flatten,lodash.flattenDeep=function(array){return(null==array?0:array.length)?baseFlatten(array,Infinity):[]},lodash.flattenDepth=function(array,depth){return(null==array?0:array.length)?baseFlatten(array,depth=undefined===depth?1:toInteger(depth)):[]},lodash.flip=function(func){return createWrap(func,512)},lodash.flow=flow,lodash.flowRight=flowRight,lodash.fromPairs=function(pairs){for(var index=-1,length=null==pairs?0:pairs.length,result={};++index<length;){var pair=pairs[index];result[pair[0]]=pair[1]}return result},lodash.functions=function(object){return null==object?[]:baseFunctions(object,keys(object))},lodash.functionsIn=function(object){return null==object?[]:baseFunctions(object,keysIn(object))},lodash.groupBy=groupBy,lodash.initial=function(array){return(null==array?0:array.length)?baseSlice(array,0,-1):[]},lodash.intersection=intersection,lodash.intersectionBy=intersectionBy,lodash.intersectionWith=intersectionWith,lodash.invert=invert,lodash.invertBy=invertBy,lodash.invokeMap=invokeMap,lodash.iteratee=iteratee,lodash.keyBy=keyBy,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=function(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,(function(value,key,object){baseAssignValue(result,iteratee(value,key,object),value)})),result},lodash.mapValues=function(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,(function(value,key,object){baseAssignValue(result,key,iteratee(value,key,object))})),result},lodash.matches=function(source){return baseMatches(baseClone(source,1))},lodash.matchesProperty=function(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,1))},lodash.memoize=memoize,lodash.merge=merge,lodash.mergeWith=mergeWith,lodash.method=method,lodash.methodOf=methodOf,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=function(n){return n=toInteger(n),baseRest((function(args){return baseNth(args,n)}))},lodash.omit=omit,lodash.omitBy=function(object,predicate){return pickBy(object,negate(getIteratee(predicate)))},lodash.once=function(func){return before(2,func)},lodash.orderBy=function(collection,iteratees,orders,guard){return null==collection?[]:(isArray(iteratees)||(iteratees=null==iteratees?[]:[iteratees]),isArray(orders=guard?undefined:orders)||(orders=null==orders?[]:[orders]),baseOrderBy(collection,iteratees,orders))},lodash.over=over,lodash.overArgs=overArgs,lodash.overEvery=overEvery,lodash.overSome=overSome,lodash.partial=partial,lodash.partialRight=partialRight,lodash.partition=partition,lodash.pick=pick,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=function(object){return function(path){return null==object?undefined:baseGet(object,path)}},lodash.pull=pull,lodash.pullAll=pullAll,lodash.pullAllBy=function(array,values,iteratee){return array&&array.length&&values&&values.length?basePullAll(array,values,getIteratee(iteratee,2)):array},lodash.pullAllWith=function(array,values,comparator){return array&&array.length&&values&&values.length?basePullAll(array,values,undefined,comparator):array},lodash.pullAt=pullAt,lodash.range=range,lodash.rangeRight=rangeRight,lodash.rearg=rearg,lodash.reject=function(collection,predicate){return(isArray(collection)?arrayFilter:baseFilter)(collection,negate(getIteratee(predicate,3)))},lodash.remove=function(array,predicate){var result=[];if(!array||!array.length)return result;var index=-1,indexes=[],length=array.length;for(predicate=getIteratee(predicate,3);++index<length;){var value=array[index];predicate(value,index,array)&&(result.push(value),indexes.push(index))}return basePullAt(array,indexes),result},lodash.rest=function(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return baseRest(func,start=undefined===start?start:toInteger(start))},lodash.reverse=reverse,lodash.sampleSize=function(collection,n,guard){return n=(guard?isIterateeCall(collection,n,guard):undefined===n)?1:toInteger(n),(isArray(collection)?arraySampleSize:baseSampleSize)(collection,n)},lodash.set=function(object,path,value){return null==object?object:baseSet(object,path,value)},lodash.setWith=function(object,path,value,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseSet(object,path,value,customizer)},lodash.shuffle=function(collection){return(isArray(collection)?arrayShuffle:baseShuffle)(collection)},lodash.slice=function(array,start,end){var length=null==array?0:array.length;return length?(end&&"number"!=typeof end&&isIterateeCall(array,start,end)?(start=0,end=length):(start=null==start?0:toInteger(start),end=undefined===end?length:toInteger(end)),baseSlice(array,start,end)):[]},lodash.sortBy=sortBy,lodash.sortedUniq=function(array){return array&&array.length?baseSortedUniq(array):[]},lodash.sortedUniqBy=function(array,iteratee){return array&&array.length?baseSortedUniq(array,getIteratee(iteratee,2)):[]},lodash.split=function(string,separator,limit){return limit&&"number"!=typeof limit&&isIterateeCall(string,separator,limit)&&(separator=limit=undefined),(limit=undefined===limit?4294967295:limit>>>0)?(string=toString(string))&&("string"==typeof separator||null!=separator&&!isRegExp(separator))&&!(separator=baseToString(separator))&&hasUnicode(string)?castSlice(stringToArray(string),0,limit):string.split(separator,limit):[]},lodash.spread=function(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=null==start?0:nativeMax(toInteger(start),0),baseRest((function(args){var array=args[start],otherArgs=castSlice(args,0,start);return array&&arrayPush(otherArgs,array),apply(func,this,otherArgs)}))},lodash.tail=function(array){var length=null==array?0:array.length;return length?baseSlice(array,1,length):[]},lodash.take=function(array,n,guard){return array&&array.length?baseSlice(array,0,(n=guard||undefined===n?1:toInteger(n))<0?0:n):[]},lodash.takeRight=function(array,n,guard){var length=null==array?0:array.length;return length?baseSlice(array,(n=length-(n=guard||undefined===n?1:toInteger(n)))<0?0:n,length):[]},lodash.takeRightWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!1,!0):[]},lodash.takeWhile=function(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3)):[]},lodash.tap=function(value,interceptor){return interceptor(value),value},lodash.throttle=function(func,wait,options){var leading=!0,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return isObject(options)&&(leading="leading"in options?!!options.leading:leading,trailing="trailing"in options?!!options.trailing:trailing),debounce(func,wait,{leading:leading,maxWait:wait,trailing:trailing})},lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=toPairs,lodash.toPairsIn=toPairsIn,lodash.toPath=function(value){return isArray(value)?arrayMap(value,toKey):isSymbol(value)?[value]:copyArray(stringToPath(toString(value)))},lodash.toPlainObject=toPlainObject,lodash.transform=function(object,iteratee,accumulator){var isArr=isArray(object),isArrLike=isArr||isBuffer(object)||isTypedArray(object);if(iteratee=getIteratee(iteratee,4),null==accumulator){var Ctor=object&&object.constructor;accumulator=isArrLike?isArr?new Ctor:[]:isObject(object)&&isFunction(Ctor)?baseCreate(getPrototype(object)):{}}return(isArrLike?arrayEach:baseForOwn)(object,(function(value,index,object){return iteratee(accumulator,value,index,object)})),accumulator},lodash.unary=function(func){return ary(func,1)},lodash.union=union,lodash.unionBy=unionBy,lodash.unionWith=unionWith,lodash.uniq=function(array){return array&&array.length?baseUniq(array):[]},lodash.uniqBy=function(array,iteratee){return array&&array.length?baseUniq(array,getIteratee(iteratee,2)):[]},lodash.uniqWith=function(array,comparator){return comparator="function"==typeof comparator?comparator:undefined,array&&array.length?baseUniq(array,undefined,comparator):[]},lodash.unset=function(object,path){return null==object||baseUnset(object,path)},lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=function(object,path,updater){return null==object?object:baseUpdate(object,path,castFunction(updater))},lodash.updateWith=function(object,path,updater,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseUpdate(object,path,castFunction(updater),customizer)},lodash.values=values,lodash.valuesIn=function(object){return null==object?[]:baseValues(object,keysIn(object))},lodash.without=without,lodash.words=words,lodash.wrap=function(value,wrapper){return partial(castFunction(wrapper),value)},lodash.xor=xor,lodash.xorBy=xorBy,lodash.xorWith=xorWith,lodash.zip=zip,lodash.zipObject=function(props,values){return baseZipObject(props||[],values||[],assignValue)},lodash.zipObjectDeep=function(props,values){return baseZipObject(props||[],values||[],baseSet)},lodash.zipWith=zipWith,lodash.entries=toPairs,lodash.entriesIn=toPairsIn,lodash.extend=assignIn,lodash.extendWith=assignInWith,mixin(lodash,lodash),lodash.add=add,lodash.attempt=attempt,lodash.camelCase=camelCase,lodash.capitalize=capitalize,lodash.ceil=ceil,lodash.clamp=function(number,lower,upper){return undefined===upper&&(upper=lower,lower=undefined),undefined!==upper&&(upper=(upper=toNumber(upper))==upper?upper:0),undefined!==lower&&(lower=(lower=toNumber(lower))==lower?lower:0),baseClamp(toNumber(number),lower,upper)},lodash.clone=function(value){return baseClone(value,4)},lodash.cloneDeep=function(value){return baseClone(value,5)},lodash.cloneDeepWith=function(value,customizer){return baseClone(value,5,customizer="function"==typeof customizer?customizer:undefined)},lodash.cloneWith=function(value,customizer){return baseClone(value,4,customizer="function"==typeof customizer?customizer:undefined)},lodash.conformsTo=function(object,source){return null==source||baseConformsTo(object,source,keys(source))},lodash.deburr=deburr,lodash.defaultTo=function(value,defaultValue){return null==value||value!=value?defaultValue:value},lodash.divide=divide,lodash.endsWith=function(string,target,position){string=toString(string),target=baseToString(target);var length=string.length,end=position=undefined===position?length:baseClamp(toInteger(position),0,length);return(position-=target.length)>=0&&string.slice(position,end)==target},lodash.eq=eq,lodash.escape=function(string){return(string=toString(string))&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string},lodash.escapeRegExp=function(string){return(string=toString(string))&&reHasRegExpChar.test(string)?string.replace(reRegExpChar,"\\$&"):string},lodash.every=function(collection,predicate,guard){var func=isArray(collection)?arrayEvery:baseEvery;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))},lodash.find=find,lodash.findIndex=findIndex,lodash.findKey=function(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwn)},lodash.findLast=findLast,lodash.findLastIndex=findLastIndex,lodash.findLastKey=function(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwnRight)},lodash.floor=floor,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=function(object,iteratee){return null==object?object:baseFor(object,getIteratee(iteratee,3),keysIn)},lodash.forInRight=function(object,iteratee){return null==object?object:baseForRight(object,getIteratee(iteratee,3),keysIn)},lodash.forOwn=function(object,iteratee){return object&&baseForOwn(object,getIteratee(iteratee,3))},lodash.forOwnRight=function(object,iteratee){return object&&baseForOwnRight(object,getIteratee(iteratee,3))},lodash.get=get,lodash.gt=gt,lodash.gte=gte,lodash.has=function(object,path){return null!=object&&hasPath(object,path,baseHas)},lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=function(collection,value,fromIndex,guard){collection=isArrayLike(collection)?collection:values(collection),fromIndex=fromIndex&&!guard?toInteger(fromIndex):0;var length=collection.length;return fromIndex<0&&(fromIndex=nativeMax(length+fromIndex,0)),isString(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf(collection,value,fromIndex)>-1},lodash.indexOf=function(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseIndexOf(array,value,index)},lodash.inRange=function(number,start,end){return start=toFinite(start),undefined===end?(end=start,start=0):end=toFinite(end),function(number,start,end){return number>=nativeMin(start,end)&&number<nativeMax(start,end)}(number=toNumber(number),start,end)},lodash.invoke=invoke,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isArrayBuffer=isArrayBuffer,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=function(value){return!0===value||!1===value||isObjectLike(value)&&baseGetTag(value)==boolTag},lodash.isBuffer=isBuffer,lodash.isDate=isDate,lodash.isElement=function(value){return isObjectLike(value)&&1===value.nodeType&&!isPlainObject(value)},lodash.isEmpty=function(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if(tag==mapTag||tag==setTag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0},lodash.isEqual=function(value,other){return baseIsEqual(value,other)},lodash.isEqualWith=function(value,other,customizer){var result=(customizer="function"==typeof customizer?customizer:undefined)?customizer(value,other):undefined;return undefined===result?baseIsEqual(value,other,undefined,customizer):!!result},lodash.isError=isError,lodash.isFinite=function(value){return"number"==typeof value&&nativeIsFinite(value)},lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=isMap,lodash.isMatch=function(object,source){return object===source||baseIsMatch(object,source,getMatchData(source))},lodash.isMatchWith=function(object,source,customizer){return customizer="function"==typeof customizer?customizer:undefined,baseIsMatch(object,source,getMatchData(source),customizer)},lodash.isNaN=function(value){return isNumber(value)&&value!=+value},lodash.isNative=function(value){if(isMaskable(value))throw new Error("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return baseIsNative(value)},lodash.isNil=function(value){return null==value},lodash.isNull=function(value){return null===value},lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=isRegExp,lodash.isSafeInteger=function(value){return isInteger(value)&&value>=-9007199254740991&&value<=9007199254740991},lodash.isSet=isSet,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=isTypedArray,lodash.isUndefined=function(value){return undefined===value},lodash.isWeakMap=function(value){return isObjectLike(value)&&getTag(value)==weakMapTag},lodash.isWeakSet=function(value){return isObjectLike(value)&&"[object WeakSet]"==baseGetTag(value)},lodash.join=function(array,separator){return null==array?"":nativeJoin.call(array,separator)},lodash.kebabCase=kebabCase,lodash.last=last,lodash.lastIndexOf=function(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length;return undefined!==fromIndex&&(index=(index=toInteger(fromIndex))<0?nativeMax(length+index,0):nativeMin(index,length-1)),value==value?function(array,value,fromIndex){for(var index=fromIndex+1;index--;)if(array[index]===value)return index;return index}(array,value,index):baseFindIndex(array,baseIsNaN,index,!0)},lodash.lowerCase=lowerCase,lodash.lowerFirst=lowerFirst,lodash.lt=lt,lodash.lte=lte,lodash.max=function(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined},lodash.maxBy=function(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseGt):undefined},lodash.mean=function(array){return baseMean(array,identity)},lodash.meanBy=function(array,iteratee){return baseMean(array,getIteratee(iteratee,2))},lodash.min=function(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined},lodash.minBy=function(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseLt):undefined},lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=function(){return{}},lodash.stubString=function(){return""},lodash.stubTrue=function(){return!0},lodash.multiply=multiply,lodash.nth=function(array,n){return array&&array.length?baseNth(array,toInteger(n)):undefined},lodash.noConflict=function(){return root._===this&&(root._=oldDash),this},lodash.noop=noop,lodash.now=now,lodash.pad=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;if(!length||strLength>=length)return string;var mid=(length-strLength)/2;return createPadding(nativeFloor(mid),chars)+string+createPadding(nativeCeil(mid),chars)},lodash.padEnd=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;return length&&strLength<length?string+createPadding(length-strLength,chars):string},lodash.padStart=function(string,length,chars){string=toString(string);var strLength=(length=toInteger(length))?stringSize(string):0;return length&&strLength<length?createPadding(length-strLength,chars)+string:string},lodash.parseInt=function(string,radix,guard){return guard||null==radix?radix=0:radix&&(radix=+radix),nativeParseInt(toString(string).replace(reTrimStart,""),radix||0)},lodash.random=function(lower,upper,floating){if(floating&&"boolean"!=typeof floating&&isIterateeCall(lower,upper,floating)&&(upper=floating=undefined),undefined===floating&&("boolean"==typeof upper?(floating=upper,upper=undefined):"boolean"==typeof lower&&(floating=lower,lower=undefined)),undefined===lower&&undefined===upper?(lower=0,upper=1):(lower=toFinite(lower),undefined===upper?(upper=lower,lower=0):upper=toFinite(upper)),lower>upper){var temp=lower;lower=upper,upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom();return nativeMin(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom(lower,upper)},lodash.reduce=function(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEach)},lodash.reduceRight=function(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduceRight:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEachRight)},lodash.repeat=function(string,n,guard){return n=(guard?isIterateeCall(string,n,guard):undefined===n)?1:toInteger(n),baseRepeat(toString(string),n)},lodash.replace=function(){var args=arguments,string=toString(args[0]);return args.length<3?string:string.replace(args[1],args[2])},lodash.result=function(object,path,defaultValue){var index=-1,length=(path=castPath(path,object)).length;for(length||(length=1,object=undefined);++index<length;){var value=null==object?undefined:object[toKey(path[index])];undefined===value&&(index=length,value=defaultValue),object=isFunction(value)?value.call(object):value}return object},lodash.round=round,lodash.runInContext=runInContext,lodash.sample=function(collection){return(isArray(collection)?arraySample:baseSample)(collection)},lodash.size=function(collection){if(null==collection)return 0;if(isArrayLike(collection))return isString(collection)?stringSize(collection):collection.length;var tag=getTag(collection);return tag==mapTag||tag==setTag?collection.size:baseKeys(collection).length},lodash.snakeCase=snakeCase,lodash.some=function(collection,predicate,guard){var func=isArray(collection)?arraySome:baseSome;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))},lodash.sortedIndex=function(array,value){return baseSortedIndex(array,value)},lodash.sortedIndexBy=function(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2))},lodash.sortedIndexOf=function(array,value){var length=null==array?0:array.length;if(length){var index=baseSortedIndex(array,value);if(index<length&&eq(array[index],value))return index}return-1},lodash.sortedLastIndex=function(array,value){return baseSortedIndex(array,value,!0)},lodash.sortedLastIndexBy=function(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2),!0)},lodash.sortedLastIndexOf=function(array,value){if(null==array?0:array.length){var index=baseSortedIndex(array,value,!0)-1;if(eq(array[index],value))return index}return-1},lodash.startCase=startCase,lodash.startsWith=function(string,target,position){return string=toString(string),position=null==position?0:baseClamp(toInteger(position),0,string.length),target=baseToString(target),string.slice(position,position+target.length)==target},lodash.subtract=subtract,lodash.sum=function(array){return array&&array.length?baseSum(array,identity):0},lodash.sumBy=function(array,iteratee){return array&&array.length?baseSum(array,getIteratee(iteratee,2)):0},lodash.template=function(string,options,guard){var settings=lodash.templateSettings;guard&&isIterateeCall(string,options,guard)&&(options=undefined),string=toString(string),options=assignInWith({},options,settings,customDefaultsAssignIn);var isEscaping,isEvaluating,imports=assignInWith({},options.imports,settings.imports,customDefaultsAssignIn),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys),index=0,interpolate=options.interpolate||reNoMatch,source="__p += '",reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g"),sourceURL="//# sourceURL="+(hasOwnProperty.call(options,"sourceURL")?(options.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,(function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){return interpolateValue||(interpolateValue=esTemplateValue),source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar),escapeValue&&(isEscaping=!0,source+="' +\n__e("+escapeValue+") +\n'"),evaluateValue&&(isEvaluating=!0,source+="';\n"+evaluateValue+";\n__p += '"),interpolateValue&&(source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"),index=offset+match.length,match})),source+="';\n";var variable=hasOwnProperty.call(options,"variable")&&options.variable;variable||(source="with (obj) {\n"+source+"\n}\n"),source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;"),source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt((function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)}));if(result.source=source,isError(result))throw result;return result},lodash.times=function(n,iteratee){if((n=toInteger(n))<1||n>9007199254740991)return[];var index=4294967295,length=nativeMin(n,4294967295);n-=4294967295;for(var result=baseTimes(length,iteratee=getIteratee(iteratee));++index<n;)iteratee(index);return result},lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=function(value){return toString(value).toLowerCase()},lodash.toNumber=toNumber,lodash.toSafeInteger=function(value){return value?baseClamp(toInteger(value),-9007199254740991,9007199254740991):0===value?value:0},lodash.toString=toString,lodash.toUpper=function(value){return toString(value).toUpperCase()},lodash.trim=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrim,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),chrSymbols=stringToArray(chars);return castSlice(strSymbols,charsStartIndex(strSymbols,chrSymbols),charsEndIndex(strSymbols,chrSymbols)+1).join("")},lodash.trimEnd=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrimEnd,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string);return castSlice(strSymbols,0,charsEndIndex(strSymbols,stringToArray(chars))+1).join("")},lodash.trimStart=function(string,chars,guard){if((string=toString(string))&&(guard||undefined===chars))return string.replace(reTrimStart,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string);return castSlice(strSymbols,charsStartIndex(strSymbols,stringToArray(chars))).join("")},lodash.truncate=function(string,options){var length=30,omission="...";if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger(options.length):length,omission="omission"in options?baseToString(options.omission):omission}var strLength=(string=toString(string)).length;if(hasUnicode(string)){var strSymbols=stringToArray(string);strLength=strSymbols.length}if(length>=strLength)return string;var end=length-stringSize(omission);if(end<1)return omission;var result=strSymbols?castSlice(strSymbols,0,end).join(""):string.slice(0,end);if(undefined===separator)return result+omission;if(strSymbols&&(end+=result.length-end),isRegExp(separator)){if(string.slice(end).search(separator)){var match,substring=result;for(separator.global||(separator=RegExp(separator.source,toString(reFlags.exec(separator))+"g")),separator.lastIndex=0;match=separator.exec(substring);)var newEnd=match.index;result=result.slice(0,undefined===newEnd?end:newEnd)}}else if(string.indexOf(baseToString(separator),end)!=end){var index=result.lastIndexOf(separator);index>-1&&(result=result.slice(0,index))}return result+omission},lodash.unescape=function(string){return(string=toString(string))&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string},lodash.uniqueId=function(prefix){var id=++idCounter;return toString(prefix)+id},lodash.upperCase=upperCase,lodash.upperFirst=upperFirst,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,(source={},baseForOwn(lodash,(function(func,methodName){hasOwnProperty.call(lodash.prototype,methodName)||(source[methodName]=func)})),source),{chain:!1}),lodash.VERSION="4.17.20",arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(methodName){lodash[methodName].placeholder=lodash})),arrayEach(["drop","take"],(function(methodName,index){LazyWrapper.prototype[methodName]=function(n){n=undefined===n?1:nativeMax(toInteger(n),0);var result=this.__filtered__&&!index?new LazyWrapper(this):this.clone();return result.__filtered__?result.__takeCount__=nativeMin(n,result.__takeCount__):result.__views__.push({size:nativeMin(n,4294967295),type:methodName+(result.__dir__<0?"Right":"")}),result},LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(methodName,index){var type=index+1,isFilter=1==type||3==type;LazyWrapper.prototype[methodName]=function(iteratee){var result=this.clone();return result.__iteratees__.push({iteratee:getIteratee(iteratee,3),type:type}),result.__filtered__=result.__filtered__||isFilter,result}})),arrayEach(["head","last"],(function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}})),arrayEach(["initial","tail"],(function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(predicate){return this.filter(predicate).head()},LazyWrapper.prototype.findLast=function(predicate){return this.reverse().find(predicate)},LazyWrapper.prototype.invokeMap=baseRest((function(path,args){return"function"==typeof path?new LazyWrapper(this):this.map((function(value){return baseInvoke(value,path,args)}))})),LazyWrapper.prototype.reject=function(predicate){return this.filter(negate(getIteratee(predicate)))},LazyWrapper.prototype.slice=function(start,end){start=toInteger(start);var result=this;return result.__filtered__&&(start>0||end<0)?new LazyWrapper(result):(start<0?result=result.takeRight(-start):start&&(result=result.drop(start)),undefined!==end&&(result=(end=toInteger(end))<0?result.dropRight(-end):result.take(end-start)),result)},LazyWrapper.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(4294967295)},baseForOwn(LazyWrapper.prototype,(function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash[isTaker?"take"+("last"==methodName?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);lodashFunc&&(lodash.prototype[methodName]=function(){var value=this.__wrapped__,args=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value),interceptor=function(value){var result=lodashFunc.apply(lodash,arrayPush([value],args));return isTaker&&chainAll?result[0]:result};useLazy&&checkIteratee&&"function"==typeof iteratee&&1!=iteratee.length&&(isLazy=useLazy=!1);var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);return result.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(result,chainAll)}return isUnwrapped&&onlyLazy?func.apply(this,args):(result=this.thru(interceptor),isUnwrapped?isTaker?result.value()[0]:result.value():result)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(methodName){var func=arrayProto[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray(value)?value:[],args)}return this[chainName]((function(value){return func.apply(isArray(value)?value:[],args)}))}})),baseForOwn(LazyWrapper.prototype,(function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name+"";hasOwnProperty.call(realNames,key)||(realNames[key]=[]),realNames[key].push({name:methodName,func:lodashFunc})}})),realNames[createHybrid(undefined,2).name]=[{name:"wrapper",func:undefined}],LazyWrapper.prototype.clone=function(){var result=new LazyWrapper(this.__wrapped__);return result.__actions__=copyArray(this.__actions__),result.__dir__=this.__dir__,result.__filtered__=this.__filtered__,result.__iteratees__=copyArray(this.__iteratees__),result.__takeCount__=this.__takeCount__,result.__views__=copyArray(this.__views__),result},LazyWrapper.prototype.reverse=function(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1,result.__filtered__=!0}else(result=this.clone()).__dir__*=-1;return result},LazyWrapper.prototype.value=function(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=function(start,end,transforms){var index=-1,length=transforms.length;for(;++index<length;){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size)}}return{start:start,end:end}}(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length)return baseWrapperValue(array,this.__actions__);var result=[];outer:for(;length--&&resIndex<takeCount;){for(var iterIndex=-1,value=array[index+=dir];++iterIndex<iterLength;){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(2==type)value=computed;else if(!computed){if(1==type)continue outer;break outer}}result[resIndex++]=value}return result},lodash.prototype.at=wrapperAt,lodash.prototype.chain=function(){return chain(this)},lodash.prototype.commit=function(){return new LodashWrapper(this.value(),this.__chain__)},lodash.prototype.next=function(){undefined===this.__values__&&(this.__values__=toArray(this.value()));var done=this.__index__>=this.__values__.length;return{done:done,value:done?undefined:this.__values__[this.__index__++]}},lodash.prototype.plant=function(value){for(var result,parent=this;parent instanceof baseLodash;){var clone=wrapperClone(parent);clone.__index__=0,clone.__values__=undefined,result?previous.__wrapped__=clone:result=clone;var previous=clone;parent=parent.__wrapped__}return previous.__wrapped__=value,result},lodash.prototype.reverse=function(){var value=this.__wrapped__;if(value instanceof LazyWrapper){var wrapped=value;return this.__actions__.length&&(wrapped=new LazyWrapper(this)),(wrapped=wrapped.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:undefined}),new LodashWrapper(wrapped,this.__chain__)}return this.thru(reverse)},lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=function(){return baseWrapperValue(this.__wrapped__,this.__actions__)},lodash.prototype.first=lodash.prototype.head,symIterator&&(lodash.prototype[symIterator]=function(){return this}),lodash}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(root._=_,define((function(){return _}))):freeModule?((freeModule.exports=_)._=_,freeExports._=_):root._=_}).call(this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],730:[function(require,module,exports){(function(global){(function(){
|
|
260
260
|
/**
|
|
261
261
|
* @license
|
|
262
262
|
* Lodash <https://lodash.com/>
|
|
@@ -265,6 +265,6 @@ var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(src,dst){fo
|
|
|
265
265
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
266
266
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
267
267
|
*/
|
|
268
|
-
(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function e(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!(null==n||!n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function _(n){return n.match(Bt)||[]}function v(n,t,r){var e;return r(n,(function(n,r,u){if(t(n,r,u))return e=r,!1})),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t==t?function(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}(n,t,r):g(n,b,r)}function d(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!=n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Sn}function m(n){return function(t){return null==t?Y:t[n]}}function x(n){return function(t){return null==n?Y:n[t]}}function j(n,t,r,e,u){return u(n,(function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)})),r}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==Y&&(r=r===Y?i:r+i)}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function R(n){return function(t){return n(t)}}function z(n,t){return c(t,(function(t){return n[t]}))}function E(n,t){return n.has(t)}function S(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function W(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}function C(n){return"\\"+Gr[n]}function B(n){return Dr.test(n)}function T(n){return Mr.test(n)}function D(n){var t=-1,r=Array(n.size);return n.forEach((function(n,e){r[++t]=[e,n]})),r}function M(n,t){return function(r){return n(t(r))}}function F(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==un||(n[r]=un,i[u++]=r)}return i}function N(n){var t=-1,r=Array(n.size);return n.forEach((function(n){r[++t]=n})),r}function K(n){return B(n)?function(n){for(var t=Tr.lastIndex=0;Tr.test(n);)++t;return t}(n):se(n)}function V(n){return B(n)?function(n){return n.match(Tr)||[]}(n):function(n){return n.split("")}(n)}function J(n){return n.match($r)||[]}var Y,tn="Expected a function",rn="__lodash_hash_undefined__",un="__lodash_placeholder__",dn=128,Rn=1/0,zn=9007199254740991,Sn=NaN,Wn=4294967295,Un=[["ary",dn],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],Bn="[object Arguments]",Tn="[object Array]",Dn="[object Boolean]",Mn="[object Date]",Nn="[object Error]",Pn="[object Function]",qn="[object GeneratorFunction]",Zn="[object Map]",Kn="[object Number]",Gn="[object Object]",Hn="[object Promise]",Yn="[object RegExp]",Qn="[object Set]",Xn="[object String]",nt="[object Symbol]",rt="[object WeakMap]",ut="[object ArrayBuffer]",it="[object DataView]",ot="[object Float32Array]",ft="[object Float64Array]",ct="[object Int8Array]",at="[object Int16Array]",lt="[object Int32Array]",st="[object Uint8Array]",ht="[object Uint8ClampedArray]",pt="[object Uint16Array]",_t="[object Uint32Array]",vt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,dt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,wt=RegExp(dt.source),mt=RegExp(bt.source),xt=/<%-([\s\S]+?)%>/g,jt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ot=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,zt=RegExp(Rt.source),Et=/^\s+|\s+$/g,St=/^\s+/,Wt=/\s+$/,Lt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ct=/\{\n\/\* \[wrapped with (.+)\] \*/,Ut=/,? & /,Bt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Tt=/\\(\\)?/g,$t=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Dt=/\w*$/,Mt=/^[-+]0x[0-9a-f]+$/i,Ft=/^0b[01]+$/i,Nt=/^\[object .+?Constructor\]$/,Pt=/^0o[0-7]+$/i,qt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Vt=/['\n\r\u2028\u2029\\]/g,Gt="\\ud800-\\udfff",Qt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Xt="\\u2700-\\u27bf",nr="a-z\\xdf-\\xf6\\xf8-\\xff",ir="A-Z\\xc0-\\xd6\\xd8-\\xde",or="\\ufe0e\\ufe0f",fr="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",cr="['’]",ar="["+Gt+"]",lr="["+fr+"]",sr="["+Qt+"]",hr="\\d+",pr="["+Xt+"]",_r="["+nr+"]",vr="[^"+Gt+fr+hr+Xt+nr+ir+"]",gr="\\ud83c[\\udffb-\\udfff]",dr="[^"+Gt+"]",br="(?:\\ud83c[\\udde6-\\uddff]){2}",wr="[\\ud800-\\udbff][\\udc00-\\udfff]",mr="["+ir+"]",jr="(?:"+_r+"|"+vr+")",Ar="(?:"+mr+"|"+vr+")",kr="(?:['’](?:d|ll|m|re|s|t|ve))?",Or="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ir="(?:"+sr+"|"+gr+")"+"?",Rr="["+or+"]?",Wr=Rr+Ir+("(?:\\u200d(?:"+[dr,br,wr].join("|")+")"+Rr+Ir+")*"),Lr="(?:"+[pr,br,wr].join("|")+")"+Wr,Cr="(?:"+[dr+sr+"?",sr,br,wr,ar].join("|")+")",Ur=RegExp(cr,"g"),Br=RegExp(sr,"g"),Tr=RegExp(gr+"(?="+gr+")|"+Cr+Wr,"g"),$r=RegExp([mr+"?"+_r+"+"+kr+"(?="+[lr,mr,"$"].join("|")+")",Ar+"+"+Or+"(?="+[lr,mr+jr,"$"].join("|")+")",mr+"?"+jr+"+"+kr,mr+"+"+Or,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hr,Lr].join("|"),"g"),Dr=RegExp("[\\u200d"+Gt+Qt+or+"]"),Mr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Nr=-1,Pr={};Pr[ot]=Pr[ft]=Pr[ct]=Pr[at]=Pr[lt]=Pr[st]=Pr[ht]=Pr[pt]=Pr[_t]=!0,Pr[Bn]=Pr[Tn]=Pr[ut]=Pr[Dn]=Pr[it]=Pr[Mn]=Pr[Nn]=Pr[Pn]=Pr[Zn]=Pr[Kn]=Pr[Gn]=Pr[Yn]=Pr[Qn]=Pr[Xn]=Pr[rt]=!1;var qr={};qr[Bn]=qr[Tn]=qr[ut]=qr[it]=qr[Dn]=qr[Mn]=qr[ot]=qr[ft]=qr[ct]=qr[at]=qr[lt]=qr[Zn]=qr[Kn]=qr[Gn]=qr[Yn]=qr[Qn]=qr[Xn]=qr[nt]=qr[st]=qr[ht]=qr[pt]=qr[_t]=!0,qr[Nn]=qr[Pn]=qr[rt]=!1;var Gr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Hr=parseFloat,Jr=parseInt,Yr="object"==typeof global&&global&&global.Object===Object&&global,Qr="object"==typeof self&&self&&self.Object===Object&&self,Xr=Yr||Qr||Function("return this")(),ne="object"==typeof exports&&exports&&!exports.nodeType&&exports,te=ne&&"object"==typeof module&&module&&!module.nodeType&&module,re=te&&te.exports===ne,ee=re&&Yr.process,ue=function(){try{var n=te&&te.require&&te.require("util").types;return n||ee&&ee.binding&&ee.binding("util")}catch(n){}}(),ie=ue&&ue.isArrayBuffer,oe=ue&&ue.isDate,fe=ue&&ue.isMap,ce=ue&&ue.isRegExp,ae=ue&&ue.isSet,le=ue&&ue.isTypedArray,se=m("length"),he=x({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n",ſ:"s"}),pe=x({"&":"&","<":"<",">":">",'"':""","'":"'"}),_e=x({"&":"&","<":"<",">":">",""":'"',"'":"'"}),ge=function p(x){function q(n){if(oc(n)&&!yh(n)&&!(n instanceof Bt)){if(n instanceof H)return n;if(yl.call(n,"__wrapped__"))return to(n)}return new H(n)}function G(){}function H(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=Y}function Bt(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Wn,this.__views__=[]}function Yt(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function er(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function ar(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function vr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new ar;++t<r;)this.add(n[t])}function dr(n){this.size=(this.__data__=new er(n)).size}function Ar(n,t){var r=yh(n),e=!r&&gh(n),u=!r&&!e&&bh(n),i=!r&&!e&&!u&&Ah(n),o=r||e||u||i,f=o?O(n.length,ll):[],c=f.length;for(var a in n)!t&&!yl.call(n,a)||o&&("length"==a||u&&("offset"==a||"parent"==a)||i&&("buffer"==a||"byteLength"==a||"byteOffset"==a)||Wi(a,c))||f.push(a);return f}function kr(n){var t=n.length;return t?n[Xe(0,t-1)]:Y}function Or(n,t){return Yi(Uu(n),$r(t,0,n.length))}function Ir(n){return Yi(Uu(n))}function Rr(n,t,r){(r===Y||Kf(n[t],r))&&(r!==Y||t in n)||Cr(n,t,r)}function zr(n,t,r){var e=n[t];yl.call(n,t)&&Kf(e,r)&&(r!==Y||t in n)||Cr(n,t,r)}function Er(n,t){for(var r=n.length;r--;)if(Kf(n[r][0],t))return r;return-1}function Sr(n,t,r,e){return vs(n,(function(n,u,i){t(e,n,r(n),i)})),e}function Wr(n,t){return n&&Bu(t,Fc(t),n)}function Cr(n,t,r){"__proto__"==t&&Ul?Ul(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=el(e),i=null==n;++r<e;)u[r]=i?Y:$c(n,t[r]);return u}function $r(n,t,r){return n==n&&(r!==Y&&(n=n<=r?n:r),t!==Y&&(n=n>=t?n:t)),n}function Dr(n,t,e,u,i,o){var f,c=1&t,a=2&t,l=4&t;if(e&&(f=i?e(n,u,i,o):e(n)),f!==Y)return f;if(!ic(n))return n;var s=yh(n);if(s){if(f=function(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&yl.call(n,"index")&&(r.index=n.index,r.input=n.input),r}(n),!c)return Uu(n,f)}else{var h=Is(n),p=h==Pn||h==qn;if(bh(n))return ku(n,c);if(h==Gn||h==Bn||p&&!i){if(f=a||p?{}:Ri(n),!c)return a?function(n,t){return Bu(n,Os(n),t)}(n,function(n,t){return n&&Bu(t,Nc(t),n)}(f,n)):function(n,t){return Bu(n,ks(n),t)}(n,Wr(f,n))}else{if(!qr[h])return i?n:{};f=function(n,t,r){var e=n.constructor;switch(t){case ut:return Ou(n);case Dn:case Mn:return new e(+n);case it:return function(n,t){return new n.constructor(t?Ou(n.buffer):n.buffer,n.byteOffset,n.byteLength)}(n,r);case ot:case ft:case ct:case at:case lt:case st:case ht:case pt:case _t:return Eu(n,r);case Zn:return new e;case Kn:case Xn:return new e(n);case Yn:return function(n){var t=new n.constructor(n.source,Dt.exec(n));return t.lastIndex=n.lastIndex,t}(n);case Qn:return new e;case nt:return function(n){return hs?cl(hs.call(n)):{}}(n)}}(n,h,c)}}o||(o=new dr);var _=o.get(n);if(_)return _;o.set(n,f),jh(n)?n.forEach((function(r){f.add(Dr(r,t,e,r,n,o))})):mh(n)&&n.forEach((function(r,u){f.set(u,Dr(r,t,e,u,n,o))}));var g=s?Y:(l?a?gi:vi:a?Nc:Fc)(n);return r(g||n,(function(r,u){g&&(r=n[u=r]),zr(f,u,Dr(r,t,e,u,n,o))})),f}function Zr(n,t,r){var e=r.length;if(null==n)return!e;for(n=cl(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===Y&&!(u in n)||!i(o))return!1}return!0}function Kr(n,t,r){if("function"!=typeof n)throw new sl(tn);return Es((function(){n.apply(Y,r)}),t)}function Vr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=c(t,R(r))),e?(i=f,a=!1):t.length>=200&&(i=E,a=!1,t=new vr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_==_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Gr(n,t){var r=!0;return vs(n,(function(n,e,u){return r=!!t(n,e,u)})),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===Y?o==o&&!yc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t){var r=[];return vs(n,(function(n,e,u){t(n,e,u)&&r.push(n)})),r}function te(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Si),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?te(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ee(n,t){return n&&ys(n,t,Fc)}function ue(n,t){return n&&ds(n,t,Fc)}function se(n,t){return i(t,(function(t){return rc(n[t])}))}function ve(n,t){for(var r=0,e=(t=ju(t,n)).length;null!=n&&r<e;)n=n[Qi(t[r++])];return r&&r==e?n:Y}function ye(n,t,r){var e=t(n);return yh(n)?e:a(e,r(n))}function de(n){return null==n?n===Y?"[object Undefined]":"[object Null]":Cl&&Cl in cl(n)?function(n){var t=yl.call(n,Cl),r=n[Cl];try{n[Cl]=Y;var e=!0}catch(n){}var u=wl.call(n);return e&&(t?n[Cl]=r:delete n[Cl]),u}(n):function(n){return wl.call(n)}(n)}function be(n,t){return n>t}function we(n,t){return null!=n&&yl.call(n,t)}function me(n,t){return null!=n&&t in cl(n)}function je(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=el(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,R(t))),s=Vl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new vr(a&&p):Y}p=n[0];var _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?E(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?E(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function ke(t,r,e){var u=null==(t=Ki(t,r=ju(r,t)))?t:t[Qi(mo(r))];return null==u?Y:n(u,t,e)}function Oe(n){return oc(n)&&de(n)==Bn}function ze(n,t,r,e,u){return n===t||(null==n||null==t||!oc(n)&&!oc(t)?n!=n&&t!=t:function(n,t,r,e,u,i){var o=yh(n),f=yh(t),c=o?Tn:Is(n),a=f?Tn:Is(t),l=(c=c==Bn?Gn:c)==Gn,s=(a=a==Bn?Gn:a)==Gn,h=c==a;if(h&&bh(n)){if(!bh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new dr),o||Ah(n)?si(n,t,r,e,u,i):function(n,t,r,e,u,i,o){switch(r){case it:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case ut:return!(n.byteLength!=t.byteLength||!i(new Ol(n),new Ol(t)));case Dn:case Mn:case Kn:return Kf(+n,+t);case Nn:return n.name==t.name&&n.message==t.message;case Yn:case Xn:return n==t+"";case Zn:var f=D;case Qn:var c=1&e;if(f||(f=N),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=2,o.set(n,t);var l=si(f(n),f(t),e,u,i,o);return o.delete(n),l;case nt:if(hs)return hs.call(n)==hs.call(t)}return!1}(n,t,c,r,e,u,i);if(!(1&r)){var p=l&&yl.call(n,"__wrapped__"),_=s&&yl.call(t,"__wrapped__");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new dr),u(v,g,r,e,i)}}return!!h&&(i||(i=new dr),function(n,t,r,e,u,i){var o=1&r,f=vi(n),c=f.length;if(c!=vi(t).length&&!o)return!1;for(var a=c;a--;){var l=f[a];if(!(o?l in t:yl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){var v=n[l=f[a]],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===Y?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_="constructor"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&"constructor"in n&&"constructor"in t&&!("function"==typeof d&&d instanceof d&&"function"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),i.delete(t),p}(n,t,r,e,u,i))}(n,t,r,e,ze,u))}function We(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=cl(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){var c=(f=r[u])[0],a=n[c],l=f[1];if(o&&f[2]){if(a===Y&&!(c in n))return!1}else{var s=new dr;if(e)var h=e(a,l,c,n,t,s);if(!(h===Y?ze(l,a,3,e,s):h))return!1}}return!0}function Le(n){return!(!ic(n)||function(n){return!!bl&&bl in n}(n))&&(rc(n)?jl:Nt).test(Xi(n))}function Te(n){return"function"==typeof n?n:null==n?Sa:"object"==typeof n?yh(n)?Pe(n[0],n[1]):Ne(n):Da(n)}function $e(n){if(!$i(n))return Zl(n);var t=[];for(var r in cl(n))yl.call(n,r)&&"constructor"!=r&&t.push(r);return t}function De(n){if(!ic(n))return function(n){var t=[];if(null!=n)for(var r in cl(n))t.push(r);return t}(n);var t=$i(n),r=[];for(var e in n)("constructor"!=e||!t&&yl.call(n,e))&&r.push(e);return r}function Me(n,t){return n<t}function Fe(n,t){var r=-1,e=Vf(n)?el(n.length):[];return vs(n,(function(n,u,i){e[++r]=t(n,u,i)})),e}function Ne(n){var t=mi(n);return 1==t.length&&t[0][2]?Mi(t[0][0],t[0][1]):function(r){return r===n||We(r,n,t)}}function Pe(n,t){return Ci(n)&&Di(t)?Mi(Qi(n),t):function(r){var e=$c(r,n);return e===Y&&e===t?Mc(r,n):ze(t,e,3)}}function qe(n,t,r,e,u){n!==t&&ys(t,(function(i,o){if(u||(u=new dr),ic(i))!function(n,t,r,e,u,i,o){var f=Gi(n,r),c=Gi(t,r),a=o.get(c);if(a)return Rr(n,r,a),Y;var l=i?i(f,c,r+"",n,t,o):Y,s=l===Y;if(s){var h=yh(c),p=!h&&bh(c),_=!h&&!p&&Ah(c);l=c,h||p||_?yh(f)?l=f:Gf(f)?l=Uu(f):p?(s=!1,l=ku(c,!0)):_?(s=!1,l=Eu(c,!0)):l=[]:_c(c)||gh(c)?(l=f,gh(f)?l=Oc(f):ic(f)&&!rc(f)||(l=Ri(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Rr(n,r,l)}(n,t,o,r,qe,e,u);else{var f=e?e(Gi(n,o),i,o+"",n,t,u):Y;f===Y&&(f=i),Rr(n,o,f)}}),Nc)}function Ke(n,t){var r=n.length;if(r)return Wi(t+=t<0?r:0,r)?n[t]:Y}function Ve(n,t,r){t=t.length?c(t,(function(n){return yh(n)?function(t){return ve(t,1===n.length?n[0]:n)}:n})):[Sa];var e=-1;return t=c(t,R(bi())),function(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}(Fe(n,(function(n,r,u){return{criteria:c(t,(function(t){return t(n)})),index:++e,value:n}})),(function(n,t){return function(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Su(u[e],i[e]);if(c)return e>=f?c:c*("desc"==r[e]?-1:1)}return n.index-t.index}(n,t,r)}))}function He(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=ve(n,o);r(f,o)&&iu(i,ju(o,n),f)}return i}function Ye(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Uu(t)),r&&(f=c(n,R(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Sl.call(f,a,1),Sl.call(n,a,1);return n}function Qe(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;Wi(u)?Sl.call(n,u,1):vu(n,u)}}return n}function Xe(n,t){return n+Ml(Jl()*(t-n+1))}function tu(n,t){var r="";if(!n||t<1||t>zn)return r;do{t%2&&(r+=n),(t=Ml(t/2))&&(n+=n)}while(t);return r}function ru(n,t){return Ss(Zi(n,t,Sa),n+"")}function eu(n){return kr(na(n))}function uu(n,t){var r=na(n);return Yi(r,$r(t,0,r.length))}function iu(n,t,r,e){if(!ic(n))return n;for(var u=-1,i=(t=ju(t,n)).length,o=i-1,f=n;null!=f&&++u<i;){var c=Qi(t[u]),a=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return n;if(u!=o){var l=f[c];(a=e?e(l,c,f):Y)===Y&&(a=ic(l)?l:Wi(t[u+1])?[]:{})}zr(f,c,a),f=f[c]}return n}function ou(n){return Yi(na(n))}function fu(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),(r=r>u?u:r)<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=el(u);++e<u;)i[e]=n[e+t];return i}function cu(n,t){var r;return vs(n,(function(n,e,u){return!(r=t(n,e,u))})),!!r}function au(n,t,r){var e=0,u=null==n?e:n.length;if("number"==typeof t&&t==t&&u<=2147483647){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!yc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return lu(n,t,Sa,r)}function lu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;for(var o=(t=r(t))!=t,f=null===t,c=yc(t),a=t===Y;u<i;){var l=Ml((u+i)/2),s=r(n[l]),h=s!==Y,p=null===s,_=s==s,v=yc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Vl(i,4294967294)}function su(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!Kf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function hu(n){return"number"==typeof n?n:yc(n)?Sn:+n}function pu(n){if("string"==typeof n)return n;if(yh(n))return c(n,pu)+"";if(yc(n))return ps?ps.call(n):"";var t=n+"";return"0"==t&&1/n==-Rn?"-0":t}function _u(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=200){var s=t?null:js(n);if(s)return N(s);c=!1,u=E,l=new vr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p==p){for(var _=l.length;_--;)if(l[_]===p)continue n;t&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function vu(n,t){return null==(n=Ki(n,t=ju(t,n)))||delete n[Qi(mo(t))]}function gu(n,t,r,e){return iu(n,t,r(ve(n,t)),e)}function yu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?fu(n,e?0:i,e?i+1:u):fu(n,e?i+1:0,e?u:i)}function du(n,t){var r=n;return r instanceof Bt&&(r=r.value()),l(t,(function(n,t){return t.func.apply(t.thisArg,a([n],t.args))}),r)}function bu(n,t,r){var e=n.length;if(e<2)return e?_u(n[0]):[];for(var u=-1,i=el(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Vr(i[u]||o,n[f],t,r));return _u(te(i,1),t,r)}function wu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:Y);return o}function mu(n){return Gf(n)?n:[]}function xu(n){return"function"==typeof n?n:Sa}function ju(n,t){return yh(n)?n:Ci(n,t)?[n]:Ws(Rc(n))}function Au(n,t,r){var e=n.length;return r=r===Y?e:r,!t&&r>=e?n:fu(n,t,r)}function ku(n,t){if(t)return n.slice();var r=n.length,e=Il?Il(r):new n.constructor(r);return n.copy(e),e}function Ou(n){var t=new n.constructor(n.byteLength);return new Ol(t).set(new Ol(n)),t}function Eu(n,t){return new n.constructor(t?Ou(n.buffer):n.buffer,n.byteOffset,n.length)}function Su(n,t){if(n!==t){var r=n!==Y,e=null===n,u=n==n,i=yc(n),o=t!==Y,f=null===t,c=t==t,a=yc(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Lu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Kl(i-o,0),l=el(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Cu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Kl(i-f,0),s=el(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Uu(n,t){var r=-1,e=n.length;for(t||(t=el(e));++r<e;)t[r]=n[r];return t}function Bu(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):Y;c===Y&&(c=n[f]),u?Cr(r,f,c):zr(r,f,c)}return r}function Du(n,r){return function(e,u){var i=yh(e)?t:Sr,o=r?r():{};return i(e,n,bi(u,2),o)}}function Mu(n){return ru((function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:Y,o=u>2?r[2]:Y;for(i=n.length>3&&"function"==typeof i?(u--,i):Y,o&&Li(r[0],r[1],o)&&(i=u<3?Y:i,u=1),t=cl(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t}))}function Fu(n,t){return function(r,e){if(null==r)return r;if(!Vf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=cl(r);(t?i--:++i<u)&&!1!==e(o[i],i,o););return r}}function Nu(n){return function(t,r,e){for(var u=-1,i=cl(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(!1===r(i[c],c,i))break}return t}}function qu(n){return function(t){var r=B(t=Rc(t))?V(t):Y,e=r?r[0]:t.charAt(0),u=r?Au(r,1).join(""):t.slice(1);return e[n]()+u}}function Zu(n){return function(t){return l(Oa(oa(t).replace(Ur,"")),n,"")}}function Ku(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=_s(n.prototype),e=n.apply(r,t);return ic(e)?e:r}}function Vu(t,r,e){var i=Ku(t);return function u(){for(var o=arguments.length,f=el(o),c=o,a=di(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:F(f,a);return(o-=l.length)<e?ui(t,r,Ju,u.placeholder,Y,f,l,Y,Y,e-o):n(this&&this!==Xr&&this instanceof u?i:t,this,f)}}function Gu(n){return function(t,r,e){var u=cl(t);if(!Vf(t)){var i=bi(r,3);t=Fc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:Y}}function Hu(n){return _i((function(t){var r=t.length,e=r,u=H.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if("function"!=typeof i)throw new sl(tn);if(u&&!o&&"wrapper"==yi(i))var o=new H([],!0)}for(e=o?e:r;++e<r;){var f=yi(i=t[e]),c="wrapper"==f?As(i):Y;o=c&&Bi(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?o[yi(c[0])].apply(o,c[3]):1==i.length&&Bi(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&yh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}}))}function Ju(n,t,r,e,u,i,o,f,c,a){var s=t&dn,h=1&t,p=2&t,_=24&t,v=512&t,g=p?Y:Ku(n);return function l(){for(var y=arguments.length,d=el(y),b=y;b--;)d[b]=arguments[b];if(_)var w=di(l),m=L(d,w);if(e&&(d=Lu(d,e,u,_)),i&&(d=Cu(d,i,o,_)),y-=m,_&&y<a)return ui(n,t,Ju,l.placeholder,r,d,F(d,w),f,c,a-y);var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Vi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==Xr&&this instanceof l&&(j=g||Ku(j)),j.apply(x,d)}}function Yu(n,t){return function(r,e){return function(n,t,r,e){return ee(n,(function(n,u,i){t(e,r(n),u,i)})),e}(r,n,t(e),{})}}function Qu(n,t){return function(r,e){var u;if(r===Y&&e===Y)return t;if(r!==Y&&(u=r),e!==Y){if(u===Y)return e;"string"==typeof r||"string"==typeof e?(r=pu(r),e=pu(e)):(r=hu(r),e=hu(e)),u=n(r,e)}return u}}function Xu(t){return _i((function(r){return r=c(r,R(bi())),ru((function(e){var u=this;return t(r,(function(t){return n(t,u,e)}))}))}))}function ni(n,t){var r=(t=t===Y?" ":pu(t)).length;if(r<2)return r?tu(t,n):t;var e=tu(t,Dl(n/K(t)));return B(t)?Au(V(e),0,n).join(""):e.slice(0,n)}function ti(t,r,e,u){var o=1&r,f=Ku(t);return function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=el(l+c),h=this&&this!==Xr&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];return n(h,o?e:this,s)}}function ri(n){return function(t,r,e){return e&&"number"!=typeof e&&Li(t,r,e)&&(r=e=Y),t=xc(t),r===Y?(r=t,t=0):r=xc(r),function(n,t,r,e){for(var u=-1,i=Kl(Dl((t-n)/(r||1)),0),o=el(i);i--;)o[e?i:++u]=n,n+=r;return o}(t,r,e=e===Y?t<r?1:-1:xc(e),n)}}function ei(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=kc(t),r=kc(r)),n(t,r)}}function ui(n,t,r,e,u,i,o,f,c,a){var l=8&t;t|=l?32:64,4&(t&=~(l?64:32))||(t&=-4);var v=[n,t,u,l?i:Y,l?o:Y,l?Y:i,l?Y:o,f,c,a],g=r.apply(Y,v);return Bi(n)&&zs(g,v),g.placeholder=e,Hi(g,n,t)}function ii(n){var t=fl[n];return function(n,r){if(n=kc(n),(r=null==r?0:Vl(jc(r),292))&&Pl(n)){var e=(Rc(n)+"e").split("e");return+((e=(Rc(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(+e[1]-r))}return t(n)}}function oi(n){return function(t){var r=Is(t);return r==Zn?D(t):r==Qn?function(n){var t=-1,r=Array(n.size);return n.forEach((function(n){r[++t]=[n,n]})),r}(t):function(n,t){return c(t,(function(t){return[t,n[t]]}))}(t,n(t))}}function fi(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&"function"!=typeof n)throw new sl(tn);var a=e?e.length:0;if(a||(t&=-97,e=u=Y),o=o===Y?o:Kl(jc(o),0),f=f===Y?f:jc(f),a-=u?u.length:0,64&t){var l=e,s=u;e=u=Y}var h=c?Y:As(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&function(n,t){var r=n[1],e=t[1],u=r|e,i=u<131,o=e==dn&&8==r||e==dn&&256==r&&n[7].length<=t[8]||384==e&&t[7].length<=t[8]&&8==r;if(!i&&!o)return n;1&e&&(n[2]=t[2],u|=1&r?0:4);var f=t[3];if(f){var c=n[3];n[3]=c?Lu(c,f,t[4]):f,n[4]=c?F(n[3],un):t[4]}(f=t[5])&&(c=n[5],n[5]=c?Cu(c,f,t[6]):f,n[6]=c?F(n[5],un):t[6]),(f=t[7])&&(n[7]=f),e&dn&&(n[8]=null==n[8]?t[8]:Vl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u}(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],!(f=p[9]=p[9]===Y?c?0:n.length:Kl(p[9]-a,0))&&24&t&&(t&=-25),t&&1!=t)_=8==t||16==t?Vu(n,t,f):32!=t&&33!=t||u.length?Ju.apply(Y,p):ti(n,t,r,e);else var _=function(n,t,r){var u=1&t,i=Ku(n);return function e(){return(this&&this!==Xr&&this instanceof e?i:n).apply(u?r:this,arguments)}}(n,t,r);return Hi((h?bs:zs)(_,p),n,t)}function ci(n,t,r,e){return n===Y||Kf(n,_l[r])&&!yl.call(e,r)?t:n}function ai(n,t,r,e,u,i){return ic(n)&&ic(t)&&(i.set(t,n),qe(n,t,Y,ai,i),i.delete(t)),n}function li(n){return _c(n)?Y:n}function si(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=2&r?new vr:Y;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==Y){if(y)continue;p=!1;break}if(_){if(!h(t,(function(n,t){if(!E(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)}))){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n){return Ss(Zi(n,Y,ho),n+"")}function vi(n){return ye(n,Fc,ks)}function gi(n){return ye(n,Nc,Os)}function yi(n){for(var t=n.name+"",r=is[t],e=yl.call(is,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function di(n){return(yl.call(q,"placeholder")?q:n).placeholder}function bi(){var n=q.iteratee||Wa;return n=n===Wa?Te:n,arguments.length?n(arguments[0],arguments[1]):n}function wi(n,t){var r=n.__data__;return function(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n}(t)?r["string"==typeof t?"string":"hash"]:r.map}function mi(n){for(var t=Fc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Di(u)]}return t}function xi(n,t){var r=function(n,t){return null==n?Y:n[t]}(n,t);return Le(r)?r:Y}function Oi(n,t,r){for(var e=-1,u=(t=ju(t,n)).length,i=!1;++e<u;){var o=Qi(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&uc(u)&&Wi(o,u)&&(yh(n)||gh(n))}function Ri(n){return"function"!=typeof n.constructor||$i(n)?{}:_s(Rl(n))}function Si(n){return yh(n)||gh(n)||!!(Wl&&n&&n[Wl])}function Wi(n,t){var r=typeof n;return!!(t=null==t?zn:t)&&("number"==r||"symbol"!=r&&qt.test(n))&&n>-1&&n%1==0&&n<t}function Li(n,t,r){if(!ic(r))return!1;var e=typeof t;return!!("number"==e?Vf(r)&&Wi(t,r.length):"string"==e&&t in r)&&Kf(r[t],n)}function Ci(n,t){if(yh(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!yc(n))||Ot.test(n)||!kt.test(n)||null!=t&&n in cl(t)}function Bi(n){var t=yi(n),r=q[t];if("function"!=typeof r||!(t in Bt.prototype))return!1;if(n===r)return!0;var e=As(r);return!!e&&n===e[0]}function $i(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||_l)}function Di(n){return n==n&&!ic(n)}function Mi(n,t){return function(r){return null!=r&&r[n]===t&&(t!==Y||n in cl(r))}}function Zi(t,r,e){return r=Kl(r===Y?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Kl(u.length-r,0),f=el(o);++i<o;)f[i]=u[r+i];i=-1;for(var c=el(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Ki(n,t){return t.length<2?n:ve(n,fu(t,0,-1))}function Vi(n,t){for(var r=n.length,e=Vl(t.length,r),u=Uu(n);e--;){var i=t[e];n[e]=Wi(i,r)?u[i]:Y}return n}function Gi(n,t){if(("constructor"!==t||"function"!=typeof n[t])&&"__proto__"!=t)return n[t]}function Hi(n,t,r){var e=t+"";return Ss(n,function(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(Lt,"{\n/* [wrapped with "+t+"] */\n")}(e,no(function(n){var t=n.match(Ct);return t?t[1].split(Ut):[]}(e),r)))}function Ji(n){var t=0,r=0;return function(){var e=Gl(),u=16-(e-r);if(r=e,u>0){if(++t>=800)return arguments[0]}else t=0;return n.apply(Y,arguments)}}function Yi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===Y?e:t;++r<t;){var i=Xe(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function Qi(n){if("string"==typeof n||yc(n))return n;var t=n+"";return"0"==t&&1/n==-Rn?"-0":t}function Xi(n){if(null!=n){try{return gl.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function no(n,t){return r(Un,(function(r){var e="_."+r[0];t&r[1]&&!o(n,e)&&n.push(e)})),n.sort()}function to(n){if(n instanceof Bt)return n.clone();var t=new H(n.__wrapped__,n.__chain__);return t.__actions__=Uu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function lo(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:jc(r);return u<0&&(u=Kl(e+u,0)),g(n,bi(t,3),u)}function so(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==Y&&(u=jc(r),u=r<0?Kl(e+u,0):Vl(u,e-1)),g(n,bi(t,3),u,!0)}function ho(n){return null!=n&&n.length?te(n,1):[]}function go(n){return n&&n.length?n[0]:Y}function mo(n){var t=null==n?0:n.length;return t?n[t-1]:Y}function Ao(n,t){return n&&n.length&&t&&t.length?Ye(n,t):n}function Ro(n){return null==n?n:Yl.call(n)}function Ko(n){if(!n||!n.length)return[];var t=0;return n=i(n,(function(n){if(Gf(n))return t=Kl(n.length,t),!0})),O(t,(function(t){return c(n,m(t))}))}function Vo(t,r){if(!t||!t.length)return[];var e=Ko(t);return null==r?e:c(e,(function(t){return n(r,Y,t)}))}function Jo(n){var t=q(n);return t.__chain__=!0,t}function Qo(n,t){return t(n)}function hf(n,t){return(yh(n)?r:vs)(n,bi(t,3))}function pf(n,t){return(yh(n)?e:gs)(n,bi(t,3))}function vf(n,t){return(yh(n)?c:Fe)(n,bi(t,3))}function Of(n,t,r){return t=r?Y:t,t=n&&null==t?n.length:t,fi(n,dn,Y,Y,Y,Y,t)}function If(n,t){var r;if("function"!=typeof t)throw new sl(tn);return n=jc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=Y),r}}function Ef(n,t,r){function e(t){var r=h,e=p;return h=p=Y,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Es(f,t),b?e(n):v}function o(n){var r=n-y;return y===Y||r>=t||r<0||w&&n-d>=_}function f(){var n=ih();return o(n)?c(n):(g=Es(f,function(n){var u=t-(n-y);return w?Vl(u,_-(n-d)):u}(n)),Y)}function c(n){return g=Y,m&&h?e(n):(h=p=Y,v)}function s(){var n=ih(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===Y)return u(y);if(w)return xs(g),g=Es(f,t),e(y)}return g===Y&&(g=Es(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if("function"!=typeof n)throw new sl(tn);return t=kc(t)||0,ic(r)&&(b=!!r.leading,_=(w="maxWait"in r)?Kl(kc(r.maxWait)||0,t):_,m="trailing"in r?!!r.trailing:m),s.cancel=function(){g!==Y&&xs(g),d=0,h=y=p=g=Y},s.flush=function(){return g===Y?v:c(ih())},s}function Wf(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new sl(tn);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Wf.Cache||ar),r}function Lf(n){if("function"!=typeof n)throw new sl(tn);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Kf(n,t){return n===t||n!=n&&t!=t}function Vf(n){return null!=n&&uc(n.length)&&!rc(n)}function Gf(n){return oc(n)&&Vf(n)}function nc(n){if(!oc(n))return!1;var t=de(n);return t==Nn||"[object DOMException]"==t||"string"==typeof n.message&&"string"==typeof n.name&&!_c(n)}function rc(n){if(!ic(n))return!1;var t=de(n);return t==Pn||t==qn||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ec(n){return"number"==typeof n&&n==jc(n)}function uc(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=zn}function ic(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function oc(n){return null!=n&&"object"==typeof n}function pc(n){return"number"==typeof n||oc(n)&&de(n)==Kn}function _c(n){if(!oc(n)||de(n)!=Gn)return!1;var t=Rl(n);if(null===t)return!0;var r=yl.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&gl.call(r)==ml}function gc(n){return"string"==typeof n||!yh(n)&&oc(n)&&de(n)==Xn}function yc(n){return"symbol"==typeof n||oc(n)&&de(n)==nt}function mc(n){if(!n)return[];if(Vf(n))return gc(n)?V(n):Uu(n);if(Ll&&n[Ll])return function(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}(n[Ll]());var t=Is(n);return(t==Zn?D:t==Qn?N:na)(n)}function xc(n){return n?(n=kc(n))===Rn||n===-Rn?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}function jc(n){var t=xc(n),r=t%1;return t==t?r?t-r:t:0}function Ac(n){return n?$r(jc(n),0,Wn):0}function kc(n){if("number"==typeof n)return n;if(yc(n))return Sn;if(ic(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=ic(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(Et,"");var r=Ft.test(n);return r||Pt.test(n)?Jr(n.slice(2),r?2:8):Mt.test(n)?Sn:+n}function Oc(n){return Bu(n,Nc(n))}function Rc(n){return null==n?"":pu(n)}function $c(n,t,r){var e=null==n?Y:ve(n,t);return e===Y?r:e}function Mc(n,t){return null!=n&&Oi(n,t,me)}function Fc(n){return Vf(n)?Ar(n):$e(n)}function Nc(n){return Vf(n)?Ar(n,!0):De(n)}function Kc(n,t){if(null==n)return{};var r=c(gi(n),(function(n){return[n]}));return t=bi(t),He(n,r,(function(n,r){return t(n,r[0])}))}function na(n){return null==n?[]:z(n,Fc(n))}function ia(n){return Jh(Rc(n).toLowerCase())}function oa(n){return(n=Rc(n))&&n.replace(Zt,he).replace(Br,"")}function Oa(n,t,r){return n=Rc(n),(t=r?Y:t)===Y?T(n)?J(n):_(n):n.match(t)||[]}function za(n){return function(){return n}}function Sa(n){return n}function Wa(n){return Te("function"==typeof n?n:Dr(n,1))}function Ua(n,t,e){var u=Fc(t),i=se(t,u);null!=e||ic(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=se(t,Fc(t)));var o=!(ic(e)&&"chain"in e&&!e.chain),f=rc(n);return r(i,(function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Uu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})})),n}function Ta(){}function Da(n){return Ci(n)?m(Qi(n)):function(n){return function(t){return ve(t,n)}}(n)}function Fa(){return[]}function Na(){return!1}var el=(x=null==x?Xr:ge.defaults(Xr.Object(),x,ge.pick(Xr,Fr))).Array,ul=x.Date,il=x.Error,ol=x.Function,fl=x.Math,cl=x.Object,al=x.RegExp,ll=x.String,sl=x.TypeError,hl=el.prototype,pl=ol.prototype,_l=cl.prototype,vl=x["__core-js_shared__"],gl=pl.toString,yl=_l.hasOwnProperty,dl=0,bl=function(){var n=/[^.]+$/.exec(vl&&vl.keys&&vl.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),wl=_l.toString,ml=gl.call(cl),xl=Xr._,jl=al("^"+gl.call(yl).replace(Rt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Al=re?x.Buffer:Y,kl=x.Symbol,Ol=x.Uint8Array,Il=Al?Al.allocUnsafe:Y,Rl=M(cl.getPrototypeOf,cl),zl=cl.create,El=_l.propertyIsEnumerable,Sl=hl.splice,Wl=kl?kl.isConcatSpreadable:Y,Ll=kl?kl.iterator:Y,Cl=kl?kl.toStringTag:Y,Ul=function(){try{var n=xi(cl,"defineProperty");return n({},"",{}),n}catch(n){}}(),Bl=x.clearTimeout!==Xr.clearTimeout&&x.clearTimeout,Tl=ul&&ul.now!==Xr.Date.now&&ul.now,$l=x.setTimeout!==Xr.setTimeout&&x.setTimeout,Dl=fl.ceil,Ml=fl.floor,Fl=cl.getOwnPropertySymbols,Nl=Al?Al.isBuffer:Y,Pl=x.isFinite,ql=hl.join,Zl=M(cl.keys,cl),Kl=fl.max,Vl=fl.min,Gl=ul.now,Hl=x.parseInt,Jl=fl.random,Yl=hl.reverse,Ql=xi(x,"DataView"),Xl=xi(x,"Map"),ns=xi(x,"Promise"),ts=xi(x,"Set"),rs=xi(x,"WeakMap"),es=xi(cl,"create"),us=rs&&new rs,is={},os=Xi(Ql),fs=Xi(Xl),cs=Xi(ns),as=Xi(ts),ls=Xi(rs),ss=kl?kl.prototype:Y,hs=ss?ss.valueOf:Y,ps=ss?ss.toString:Y,_s=function(){function n(){}return function(t){if(!ic(t))return{};if(zl)return zl(t);n.prototype=t;var r=new n;return n.prototype=Y,r}}();q.templateSettings={escape:xt,evaluate:jt,interpolate:At,variable:"",imports:{_:q}},q.prototype=G.prototype,q.prototype.constructor=q,H.prototype=_s(G.prototype),H.prototype.constructor=H,Bt.prototype=_s(G.prototype),Bt.prototype.constructor=Bt,Yt.prototype.clear=function(){this.__data__=es?es(null):{},this.size=0},Yt.prototype.delete=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t},Yt.prototype.get=function(n){var t=this.__data__;if(es){var r=t[n];return r===rn?Y:r}return yl.call(t,n)?t[n]:Y},Yt.prototype.has=function(n){var t=this.__data__;return es?t[n]!==Y:yl.call(t,n)},Yt.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=es&&t===Y?rn:t,this},er.prototype.clear=function(){this.__data__=[],this.size=0},er.prototype.delete=function(n){var t=this.__data__,r=Er(t,n);return!(r<0||(r==t.length-1?t.pop():Sl.call(t,r,1),--this.size,0))},er.prototype.get=function(n){var t=this.__data__,r=Er(t,n);return r<0?Y:t[r][1]},er.prototype.has=function(n){return Er(this.__data__,n)>-1},er.prototype.set=function(n,t){var r=this.__data__,e=Er(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},ar.prototype.clear=function(){this.size=0,this.__data__={hash:new Yt,map:new(Xl||er),string:new Yt}},ar.prototype.delete=function(n){var t=wi(this,n).delete(n);return this.size-=t?1:0,t},ar.prototype.get=function(n){return wi(this,n).get(n)},ar.prototype.has=function(n){return wi(this,n).has(n)},ar.prototype.set=function(n,t){var r=wi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},vr.prototype.add=vr.prototype.push=function(n){return this.__data__.set(n,rn),this},vr.prototype.has=function(n){return this.__data__.has(n)},dr.prototype.clear=function(){this.__data__=new er,this.size=0},dr.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},dr.prototype.get=function(n){return this.__data__.get(n)},dr.prototype.has=function(n){return this.__data__.has(n)},dr.prototype.set=function(n,t){var r=this.__data__;if(r instanceof er){var e=r.__data__;if(!Xl||e.length<199)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new ar(e)}return r.set(n,t),this.size=r.size,this};var vs=Fu(ee),gs=Fu(ue,!0),ys=Nu(),ds=Nu(!0),bs=us?function(n,t){return us.set(n,t),n}:Sa,ws=Ul?function(n,t){return Ul(n,"toString",{configurable:!0,enumerable:!1,value:za(t),writable:!0})}:Sa,ms=ru,xs=Bl||function(n){return Xr.clearTimeout(n)},js=ts&&1/N(new ts([,-0]))[1]==Rn?function(n){return new ts(n)}:Ta,As=us?function(n){return us.get(n)}:Ta,ks=Fl?function(n){return null==n?[]:(n=cl(n),i(Fl(n),(function(t){return El.call(n,t)})))}:Fa,Os=Fl?function(n){for(var t=[];n;)a(t,ks(n)),n=Rl(n);return t}:Fa,Is=de;(Ql&&Is(new Ql(new ArrayBuffer(1)))!=it||Xl&&Is(new Xl)!=Zn||ns&&Is(ns.resolve())!=Hn||ts&&Is(new ts)!=Qn||rs&&Is(new rs)!=rt)&&(Is=function(n){var t=de(n),r=t==Gn?n.constructor:Y,e=r?Xi(r):"";if(e)switch(e){case os:return it;case fs:return Zn;case cs:return Hn;case as:return Qn;case ls:return rt}return t});var Rs=vl?rc:Na,zs=Ji(bs),Es=$l||function(n,t){return Xr.setTimeout(n,t)},Ss=Ji(ws),Ws=function(n){var t=Wf(n,(function(n){return 500===r.size&&r.clear(),n})),r=t.cache;return t}((function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(It,(function(n,r,e,u){t.push(e?u.replace(Tt,"$1"):r||n)})),t})),Ls=ru((function(n,t){return Gf(n)?Vr(n,te(t,1,Gf,!0)):[]})),Cs=ru((function(n,t){var r=mo(t);return Gf(r)&&(r=Y),Gf(n)?Vr(n,te(t,1,Gf,!0),bi(r,2)):[]})),Us=ru((function(n,t){var r=mo(t);return Gf(r)&&(r=Y),Gf(n)?Vr(n,te(t,1,Gf,!0),Y,r):[]})),Bs=ru((function(n){var t=c(n,mu);return t.length&&t[0]===n[0]?je(t):[]})),Ts=ru((function(n){var t=mo(n),r=c(n,mu);return t===mo(r)?t=Y:r.pop(),r.length&&r[0]===n[0]?je(r,bi(t,2)):[]})),$s=ru((function(n){var t=mo(n),r=c(n,mu);return(t="function"==typeof t?t:Y)&&r.pop(),r.length&&r[0]===n[0]?je(r,Y,t):[]})),Ds=ru(Ao),Ms=_i((function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return Qe(n,c(t,(function(n){return Wi(n,r)?+n:n})).sort(Su)),e})),Fs=ru((function(n){return _u(te(n,1,Gf,!0))})),Ns=ru((function(n){var t=mo(n);return Gf(t)&&(t=Y),_u(te(n,1,Gf,!0),bi(t,2))})),Ps=ru((function(n){var t=mo(n);return t="function"==typeof t?t:Y,_u(te(n,1,Gf,!0),Y,t)})),qs=ru((function(n,t){return Gf(n)?Vr(n,t):[]})),Zs=ru((function(n){return bu(i(n,Gf))})),Ks=ru((function(n){var t=mo(n);return Gf(t)&&(t=Y),bu(i(n,Gf),bi(t,2))})),Vs=ru((function(n){var t=mo(n);return t="function"==typeof t?t:Y,bu(i(n,Gf),Y,t)})),Gs=ru(Ko),Hs=ru((function(n){var t=n.length,r=t>1?n[t-1]:Y;return r="function"==typeof r?(n.pop(),r):Y,Vo(n,r)})),Js=_i((function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Bt&&Wi(r)?((e=e.slice(r,+r+(t?1:0))).__actions__.push({func:Qo,args:[u],thisArg:Y}),new H(e,this.__chain__).thru((function(n){return t&&!n.length&&n.push(Y),n}))):this.thru(u)})),Ys=Du((function(n,t,r){yl.call(n,r)?++n[r]:Cr(n,r,1)})),Qs=Gu(lo),Xs=Gu(so),nh=Du((function(n,t,r){yl.call(n,r)?n[r].push(t):Cr(n,r,[t])})),th=ru((function(t,r,e){var u=-1,i="function"==typeof r,o=Vf(t)?el(t.length):[];return vs(t,(function(t){o[++u]=i?n(r,t,e):ke(t,r,e)})),o})),rh=Du((function(n,t,r){Cr(n,r,t)})),eh=Du((function(n,t,r){n[r?0:1].push(t)}),(function(){return[[],[]]})),uh=ru((function(n,t){if(null==n)return[];var r=t.length;return r>1&&Li(n,t[0],t[1])?t=[]:r>2&&Li(t[0],t[1],t[2])&&(t=[t[0]]),Ve(n,te(t,1),[])})),ih=Tl||function(){return Xr.Date.now()},oh=ru((function(n,t,r){var e=1;if(r.length){var u=F(r,di(oh));e|=32}return fi(n,e,t,r,u)})),fh=ru((function(n,t,r){var e=3;if(r.length){var u=F(r,di(fh));e|=32}return fi(t,e,n,r,u)})),ch=ru((function(n,t){return Kr(n,1,t)})),ah=ru((function(n,t,r){return Kr(n,kc(t)||0,r)}));Wf.Cache=ar;var lh=ms((function(t,r){var e=(r=1==r.length&&yh(r[0])?c(r[0],R(bi())):c(te(r,1),R(bi()))).length;return ru((function(u){for(var i=-1,o=Vl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)}))})),sh=ru((function(n,t){return fi(n,32,Y,t,F(t,di(sh)))})),hh=ru((function(n,t){return fi(n,64,Y,t,F(t,di(hh)))})),ph=_i((function(n,t){return fi(n,256,Y,Y,Y,t)})),_h=ei(be),vh=ei((function(n,t){return n>=t})),gh=Oe(function(){return arguments}())?Oe:function(n){return oc(n)&&yl.call(n,"callee")&&!El.call(n,"callee")},yh=el.isArray,dh=ie?R(ie):function(n){return oc(n)&&de(n)==ut},bh=Nl||Na,wh=oe?R(oe):function(n){return oc(n)&&de(n)==Mn},mh=fe?R(fe):function(n){return oc(n)&&Is(n)==Zn},xh=ce?R(ce):function(n){return oc(n)&&de(n)==Yn},jh=ae?R(ae):function(n){return oc(n)&&Is(n)==Qn},Ah=le?R(le):function(n){return oc(n)&&uc(n.length)&&!!Pr[de(n)]},kh=ei(Me),Oh=ei((function(n,t){return n<=t})),Ih=Mu((function(n,t){if($i(t)||Vf(t))return Bu(t,Fc(t),n),Y;for(var r in t)yl.call(t,r)&&zr(n,r,t[r])})),Rh=Mu((function(n,t){Bu(t,Nc(t),n)})),zh=Mu((function(n,t,r,e){Bu(t,Nc(t),n,e)})),Eh=Mu((function(n,t,r,e){Bu(t,Fc(t),n,e)})),Sh=_i(Tr),Wh=ru((function(n,t){n=cl(n);var r=-1,e=t.length,u=e>2?t[2]:Y;for(u&&Li(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=Nc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===Y||Kf(l,_l[a])&&!yl.call(n,a))&&(n[a]=i[a])}return n})),Lh=ru((function(t){return t.push(Y,ai),n($h,Y,t)})),Ch=Yu((function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=wl.call(t)),n[t]=r}),za(Sa)),Uh=Yu((function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=wl.call(t)),yl.call(n,t)?n[t].push(r):n[t]=[r]}),bi),Bh=ru(ke),Th=Mu((function(n,t,r){qe(n,t,r)})),$h=Mu((function(n,t,r,e){qe(n,t,r,e)})),Dh=_i((function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,(function(t){return t=ju(t,n),e||(e=t.length>1),t})),Bu(n,gi(n),r),e&&(r=Dr(r,7,li));for(var u=t.length;u--;)vu(r,t[u]);return r})),Mh=_i((function(n,t){return null==n?{}:function(n,t){return He(n,t,(function(t,r){return Mc(n,r)}))}(n,t)})),Fh=oi(Fc),Nh=oi(Nc),Ph=Zu((function(n,t,r){return t=t.toLowerCase(),n+(r?ia(t):t)})),qh=Zu((function(n,t,r){return n+(r?"-":"")+t.toLowerCase()})),Zh=Zu((function(n,t,r){return n+(r?" ":"")+t.toLowerCase()})),Kh=qu("toLowerCase"),Vh=Zu((function(n,t,r){return n+(r?"_":"")+t.toLowerCase()})),Gh=Zu((function(n,t,r){return n+(r?" ":"")+Jh(t)})),Hh=Zu((function(n,t,r){return n+(r?" ":"")+t.toUpperCase()})),Jh=qu("toUpperCase"),Yh=ru((function(t,r){try{return n(t,Y,r)}catch(n){return nc(n)?n:new il(n)}})),Qh=_i((function(n,t){return r(t,(function(t){t=Qi(t),Cr(n,t,oh(n[t],n))})),n})),Xh=Hu(),np=Hu(!0),tp=ru((function(n,t){return function(r){return ke(r,n,t)}})),rp=ru((function(n,t){return function(r){return ke(n,r,t)}})),ep=Xu(c),up=Xu(u),ip=Xu(h),op=ri(),fp=ri(!0),cp=Qu((function(n,t){return n+t}),0),ap=ii("ceil"),lp=Qu((function(n,t){return n/t}),1),sp=ii("floor"),hp=Qu((function(n,t){return n*t}),1),pp=ii("round"),_p=Qu((function(n,t){return n-t}),0);return q.after=function(n,t){if("function"!=typeof t)throw new sl(tn);return n=jc(n),function(){if(--n<1)return t.apply(this,arguments)}},q.ary=Of,q.assign=Ih,q.assignIn=Rh,q.assignInWith=zh,q.assignWith=Eh,q.at=Sh,q.before=If,q.bind=oh,q.bindAll=Qh,q.bindKey=fh,q.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return yh(n)?n:[n]},q.chain=Jo,q.chunk=function(n,t,r){t=(r?Li(n,t,r):t===Y)?1:Kl(jc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=el(Dl(e/t));u<e;)o[i++]=fu(n,u,u+=t);return o},q.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},q.concat=function(){var n=arguments.length;if(!n)return[];for(var t=el(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(yh(r)?Uu(r):[r],te(t,1))},q.cond=function(t){var r=null==t?0:t.length,e=bi();return t=r?c(t,(function(n){if("function"!=typeof n[1])throw new sl(tn);return[e(n[0]),n[1]]})):[],ru((function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}}))},q.conforms=function(n){return function(n){var t=Fc(n);return function(r){return Zr(r,n,t)}}(Dr(n,1))},q.constant=za,q.countBy=Ys,q.create=function(n,t){var r=_s(n);return null==t?r:Wr(r,t)},q.curry=function Rf(n,t,r){var e=fi(n,8,Y,Y,Y,Y,Y,t=r?Y:t);return e.placeholder=Rf.placeholder,e},q.curryRight=function zf(n,t,r){var e=fi(n,16,Y,Y,Y,Y,Y,t=r?Y:t);return e.placeholder=zf.placeholder,e},q.debounce=Ef,q.defaults=Wh,q.defaultsDeep=Lh,q.defer=ch,q.delay=ah,q.difference=Ls,q.differenceBy=Cs,q.differenceWith=Us,q.drop=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,(t=r||t===Y?1:jc(t))<0?0:t,e):[]},q.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,0,(t=e-(t=r||t===Y?1:jc(t)))<0?0:t):[]},q.dropRightWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!0,!0):[]},q.dropWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!0):[]},q.fill=function(n,t,r,e){var u=null==n?0:n.length;return u?(r&&"number"!=typeof r&&Li(n,t,r)&&(r=0,e=u),function(n,t,r,e){var u=n.length;for((r=jc(r))<0&&(r=-r>u?0:u+r),(e=e===Y||e>u?u:jc(e))<0&&(e+=u),e=r>e?0:Ac(e);r<e;)n[r++]=t;return n}(n,t,r,e)):[]},q.filter=function(n,t){return(yh(n)?i:ne)(n,bi(t,3))},q.flatMap=function(n,t){return te(vf(n,t),1)},q.flatMapDeep=function(n,t){return te(vf(n,t),Rn)},q.flatMapDepth=function(n,t,r){return r=r===Y?1:jc(r),te(vf(n,t),r)},q.flatten=ho,q.flattenDeep=function(n){return null!=n&&n.length?te(n,Rn):[]},q.flattenDepth=function(n,t){return null!=n&&n.length?te(n,t=t===Y?1:jc(t)):[]},q.flip=function(n){return fi(n,512)},q.flow=Xh,q.flowRight=np,q.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},q.functions=function(n){return null==n?[]:se(n,Fc(n))},q.functionsIn=function(n){return null==n?[]:se(n,Nc(n))},q.groupBy=nh,q.initial=function(n){return null!=n&&n.length?fu(n,0,-1):[]},q.intersection=Bs,q.intersectionBy=Ts,q.intersectionWith=$s,q.invert=Ch,q.invertBy=Uh,q.invokeMap=th,q.iteratee=Wa,q.keyBy=rh,q.keys=Fc,q.keysIn=Nc,q.map=vf,q.mapKeys=function(n,t){var r={};return t=bi(t,3),ee(n,(function(n,e,u){Cr(r,t(n,e,u),n)})),r},q.mapValues=function(n,t){var r={};return t=bi(t,3),ee(n,(function(n,e,u){Cr(r,e,t(n,e,u))})),r},q.matches=function(n){return Ne(Dr(n,1))},q.matchesProperty=function(n,t){return Pe(n,Dr(t,1))},q.memoize=Wf,q.merge=Th,q.mergeWith=$h,q.method=tp,q.methodOf=rp,q.mixin=Ua,q.negate=Lf,q.nthArg=function(n){return n=jc(n),ru((function(t){return Ke(t,n)}))},q.omit=Dh,q.omitBy=function(n,t){return Kc(n,Lf(bi(t)))},q.once=function(n){return If(2,n)},q.orderBy=function(n,t,r,e){return null==n?[]:(yh(t)||(t=null==t?[]:[t]),yh(r=e?Y:r)||(r=null==r?[]:[r]),Ve(n,t,r))},q.over=ep,q.overArgs=lh,q.overEvery=up,q.overSome=ip,q.partial=sh,q.partialRight=hh,q.partition=eh,q.pick=Mh,q.pickBy=Kc,q.property=Da,q.propertyOf=function(n){return function(t){return null==n?Y:ve(n,t)}},q.pull=Ds,q.pullAll=Ao,q.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?Ye(n,t,bi(r,2)):n},q.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?Ye(n,t,Y,r):n},q.pullAt=Ms,q.range=op,q.rangeRight=fp,q.rearg=ph,q.reject=function(n,t){return(yh(n)?i:ne)(n,Lf(bi(t,3)))},q.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=bi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return Qe(n,u),r},q.rest=function(n,t){if("function"!=typeof n)throw new sl(tn);return ru(n,t=t===Y?t:jc(t))},q.reverse=Ro,q.sampleSize=function(n,t,r){return t=(r?Li(n,t,r):t===Y)?1:jc(t),(yh(n)?Or:uu)(n,t)},q.set=function(n,t,r){return null==n?n:iu(n,t,r)},q.setWith=function(n,t,r,e){return e="function"==typeof e?e:Y,null==n?n:iu(n,t,r,e)},q.shuffle=function(n){return(yh(n)?Ir:ou)(n)},q.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&"number"!=typeof r&&Li(n,t,r)?(t=0,r=e):(t=null==t?0:jc(t),r=r===Y?e:jc(r)),fu(n,t,r)):[]},q.sortBy=uh,q.sortedUniq=function(n){return n&&n.length?su(n):[]},q.sortedUniqBy=function(n,t){return n&&n.length?su(n,bi(t,2)):[]},q.split=function(n,t,r){return r&&"number"!=typeof r&&Li(n,t,r)&&(t=r=Y),(r=r===Y?Wn:r>>>0)?(n=Rc(n))&&("string"==typeof t||null!=t&&!xh(t))&&(!(t=pu(t))&&B(n))?Au(V(n),0,r):n.split(t,r):[]},q.spread=function(t,r){if("function"!=typeof t)throw new sl(tn);return r=null==r?0:Kl(jc(r),0),ru((function(e){var u=e[r],i=Au(e,0,r);return u&&a(i,u),n(t,this,i)}))},q.tail=function(n){var t=null==n?0:n.length;return t?fu(n,1,t):[]},q.take=function(n,t,r){return n&&n.length?fu(n,0,(t=r||t===Y?1:jc(t))<0?0:t):[]},q.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,(t=e-(t=r||t===Y?1:jc(t)))<0?0:t,e):[]},q.takeRightWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!1,!0):[]},q.takeWhile=function(n,t){return n&&n.length?yu(n,bi(t,3)):[]},q.tap=function(n,t){return t(n),n},q.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new sl(tn);return ic(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),Ef(n,t,{leading:e,maxWait:t,trailing:u})},q.thru=Qo,q.toArray=mc,q.toPairs=Fh,q.toPairsIn=Nh,q.toPath=function(n){return yh(n)?c(n,Qi):yc(n)?[n]:Uu(Ws(Rc(n)))},q.toPlainObject=Oc,q.transform=function(n,t,e){var u=yh(n),i=u||bh(n)||Ah(n);if(t=bi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:ic(n)&&rc(o)?_s(Rl(n)):{}}return(i?r:ee)(n,(function(n,r,u){return t(e,n,r,u)})),e},q.unary=function(n){return Of(n,1)},q.union=Fs,q.unionBy=Ns,q.unionWith=Ps,q.uniq=function(n){return n&&n.length?_u(n):[]},q.uniqBy=function(n,t){return n&&n.length?_u(n,bi(t,2)):[]},q.uniqWith=function(n,t){return t="function"==typeof t?t:Y,n&&n.length?_u(n,Y,t):[]},q.unset=function(n,t){return null==n||vu(n,t)},q.unzip=Ko,q.unzipWith=Vo,q.update=function(n,t,r){return null==n?n:gu(n,t,xu(r))},q.updateWith=function(n,t,r,e){return e="function"==typeof e?e:Y,null==n?n:gu(n,t,xu(r),e)},q.values=na,q.valuesIn=function(n){return null==n?[]:z(n,Nc(n))},q.without=qs,q.words=Oa,q.wrap=function(n,t){return sh(xu(t),n)},q.xor=Zs,q.xorBy=Ks,q.xorWith=Vs,q.zip=Gs,q.zipObject=function(n,t){return wu(n||[],t||[],zr)},q.zipObjectDeep=function(n,t){return wu(n||[],t||[],iu)},q.zipWith=Hs,q.entries=Fh,q.entriesIn=Nh,q.extend=Rh,q.extendWith=zh,Ua(q,q),q.add=cp,q.attempt=Yh,q.camelCase=Ph,q.capitalize=ia,q.ceil=ap,q.clamp=function(n,t,r){return r===Y&&(r=t,t=Y),r!==Y&&(r=(r=kc(r))==r?r:0),t!==Y&&(t=(t=kc(t))==t?t:0),$r(kc(n),t,r)},q.clone=function(n){return Dr(n,4)},q.cloneDeep=function(n){return Dr(n,5)},q.cloneDeepWith=function(n,t){return Dr(n,5,t="function"==typeof t?t:Y)},q.cloneWith=function(n,t){return Dr(n,4,t="function"==typeof t?t:Y)},q.conformsTo=function(n,t){return null==t||Zr(n,t,Fc(t))},q.deburr=oa,q.defaultTo=function(n,t){return null==n||n!=n?t:n},q.divide=lp,q.endsWith=function(n,t,r){n=Rc(n),t=pu(t);var e=n.length,u=r=r===Y?e:$r(jc(r),0,e);return(r-=t.length)>=0&&n.slice(r,u)==t},q.eq=Kf,q.escape=function(n){return(n=Rc(n))&&mt.test(n)?n.replace(bt,pe):n},q.escapeRegExp=function(n){return(n=Rc(n))&&zt.test(n)?n.replace(Rt,"\\$&"):n},q.every=function(n,t,r){var e=yh(n)?u:Gr;return r&&Li(n,t,r)&&(t=Y),e(n,bi(t,3))},q.find=Qs,q.findIndex=lo,q.findKey=function(n,t){return v(n,bi(t,3),ee)},q.findLast=Xs,q.findLastIndex=so,q.findLastKey=function(n,t){return v(n,bi(t,3),ue)},q.floor=sp,q.forEach=hf,q.forEachRight=pf,q.forIn=function(n,t){return null==n?n:ys(n,bi(t,3),Nc)},q.forInRight=function(n,t){return null==n?n:ds(n,bi(t,3),Nc)},q.forOwn=function(n,t){return n&&ee(n,bi(t,3))},q.forOwnRight=function(n,t){return n&&ue(n,bi(t,3))},q.get=$c,q.gt=_h,q.gte=vh,q.has=function(n,t){return null!=n&&Oi(n,t,we)},q.hasIn=Mc,q.head=go,q.identity=Sa,q.includes=function(n,t,r,e){n=Vf(n)?n:na(n),r=r&&!e?jc(r):0;var u=n.length;return r<0&&(r=Kl(u+r,0)),gc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1},q.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:jc(r);return u<0&&(u=Kl(e+u,0)),y(n,t,u)},q.inRange=function(n,t,r){return t=xc(t),r===Y?(r=t,t=0):r=xc(r),function(n,t,r){return n>=Vl(t,r)&&n<Kl(t,r)}(n=kc(n),t,r)},q.invoke=Bh,q.isArguments=gh,q.isArray=yh,q.isArrayBuffer=dh,q.isArrayLike=Vf,q.isArrayLikeObject=Gf,q.isBoolean=function(n){return!0===n||!1===n||oc(n)&&de(n)==Dn},q.isBuffer=bh,q.isDate=wh,q.isElement=function(n){return oc(n)&&1===n.nodeType&&!_c(n)},q.isEmpty=function(n){if(null==n)return!0;if(Vf(n)&&(yh(n)||"string"==typeof n||"function"==typeof n.splice||bh(n)||Ah(n)||gh(n)))return!n.length;var t=Is(n);if(t==Zn||t==Qn)return!n.size;if($i(n))return!$e(n).length;for(var r in n)if(yl.call(n,r))return!1;return!0},q.isEqual=function(n,t){return ze(n,t)},q.isEqualWith=function(n,t,r){var e=(r="function"==typeof r?r:Y)?r(n,t):Y;return e===Y?ze(n,t,Y,r):!!e},q.isError=nc,q.isFinite=function(n){return"number"==typeof n&&Pl(n)},q.isFunction=rc,q.isInteger=ec,q.isLength=uc,q.isMap=mh,q.isMatch=function(n,t){return n===t||We(n,t,mi(t))},q.isMatchWith=function(n,t,r){return r="function"==typeof r?r:Y,We(n,t,mi(t),r)},q.isNaN=function(n){return pc(n)&&n!=+n},q.isNative=function(n){if(Rs(n))throw new il("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Le(n)},q.isNil=function(n){return null==n},q.isNull=function(n){return null===n},q.isNumber=pc,q.isObject=ic,q.isObjectLike=oc,q.isPlainObject=_c,q.isRegExp=xh,q.isSafeInteger=function(n){return ec(n)&&n>=-zn&&n<=zn},q.isSet=jh,q.isString=gc,q.isSymbol=yc,q.isTypedArray=Ah,q.isUndefined=function(n){return n===Y},q.isWeakMap=function(n){return oc(n)&&Is(n)==rt},q.isWeakSet=function(n){return oc(n)&&"[object WeakSet]"==de(n)},q.join=function(n,t){return null==n?"":ql.call(n,t)},q.kebabCase=qh,q.last=mo,q.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==Y&&(u=(u=jc(r))<0?Kl(e+u,0):Vl(u,e-1)),t==t?function(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}(n,t,u):g(n,b,u,!0)},q.lowerCase=Zh,q.lowerFirst=Kh,q.lt=kh,q.lte=Oh,q.max=function(n){return n&&n.length?Yr(n,Sa,be):Y},q.maxBy=function(n,t){return n&&n.length?Yr(n,bi(t,2),be):Y},q.mean=function(n){return w(n,Sa)},q.meanBy=function(n,t){return w(n,bi(t,2))},q.min=function(n){return n&&n.length?Yr(n,Sa,Me):Y},q.minBy=function(n,t){return n&&n.length?Yr(n,bi(t,2),Me):Y},q.stubArray=Fa,q.stubFalse=Na,q.stubObject=function(){return{}},q.stubString=function(){return""},q.stubTrue=function(){return!0},q.multiply=hp,q.nth=function(n,t){return n&&n.length?Ke(n,jc(t)):Y},q.noConflict=function(){return Xr._===this&&(Xr._=xl),this},q.noop=Ta,q.now=ih,q.pad=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ni(Ml(u),r)+n+ni(Dl(u),r)},q.padEnd=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;return t&&e<t?n+ni(t-e,r):n},q.padStart=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;return t&&e<t?ni(t-e,r)+n:n},q.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),Hl(Rc(n).replace(St,""),t||0)},q.random=function(n,t,r){if(r&&"boolean"!=typeof r&&Li(n,t,r)&&(t=r=Y),r===Y&&("boolean"==typeof t?(r=t,t=Y):"boolean"==typeof n&&(r=n,n=Y)),n===Y&&t===Y?(n=0,t=1):(n=xc(n),t===Y?(t=n,n=0):t=xc(t)),n>t){var e=n;n=t,t=e}if(r||n%1||t%1){var u=Jl();return Vl(n+u*(t-n+Hr("1e-"+((u+"").length-1))),t)}return Xe(n,t)},q.reduce=function(n,t,r){var e=yh(n)?l:j,u=arguments.length<3;return e(n,bi(t,4),r,u,vs)},q.reduceRight=function(n,t,r){var e=yh(n)?s:j,u=arguments.length<3;return e(n,bi(t,4),r,u,gs)},q.repeat=function(n,t,r){return t=(r?Li(n,t,r):t===Y)?1:jc(t),tu(Rc(n),t)},q.replace=function(){var n=arguments,t=Rc(n[0]);return n.length<3?t:t.replace(n[1],n[2])},q.result=function(n,t,r){var e=-1,u=(t=ju(t,n)).length;for(u||(u=1,n=Y);++e<u;){var i=null==n?Y:n[Qi(t[e])];i===Y&&(e=u,i=r),n=rc(i)?i.call(n):i}return n},q.round=pp,q.runInContext=p,q.sample=function(n){return(yh(n)?kr:eu)(n)},q.size=function(n){if(null==n)return 0;if(Vf(n))return gc(n)?K(n):n.length;var t=Is(n);return t==Zn||t==Qn?n.size:$e(n).length},q.snakeCase=Vh,q.some=function(n,t,r){var e=yh(n)?h:cu;return r&&Li(n,t,r)&&(t=Y),e(n,bi(t,3))},q.sortedIndex=function(n,t){return au(n,t)},q.sortedIndexBy=function(n,t,r){return lu(n,t,bi(r,2))},q.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=au(n,t);if(e<r&&Kf(n[e],t))return e}return-1},q.sortedLastIndex=function(n,t){return au(n,t,!0)},q.sortedLastIndexBy=function(n,t,r){return lu(n,t,bi(r,2),!0)},q.sortedLastIndexOf=function(n,t){if(null!=n&&n.length){var r=au(n,t,!0)-1;if(Kf(n[r],t))return r}return-1},q.startCase=Gh,q.startsWith=function(n,t,r){return n=Rc(n),r=null==r?0:$r(jc(r),0,n.length),t=pu(t),n.slice(r,r+t.length)==t},q.subtract=_p,q.sum=function(n){return n&&n.length?k(n,Sa):0},q.sumBy=function(n,t){return n&&n.length?k(n,bi(t,2)):0},q.template=function(n,t,r){var e=q.templateSettings;r&&Li(n,t,r)&&(t=Y),n=Rc(n),t=zh({},t,e,ci);var u,i,o=zh({},t.imports,e.imports,ci),f=Fc(o),c=z(o,f),a=0,l=t.interpolate||Kt,s="__p += '",h=al((t.escape||Kt).source+"|"+l.source+"|"+(l===At?$t:Kt).source+"|"+(t.evaluate||Kt).source+"|$","g"),p="//# sourceURL="+(yl.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Nr+"]")+"\n";n.replace(h,(function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Vt,C),r&&(u=!0,s+="' +\n__e("+r+") +\n'"),f&&(i=!0,s+="';\n"+f+";\n__p += '"),e&&(s+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),a=c+t.length,t})),s+="';\n";var _=yl.call(t,"variable")&&t.variable;_||(s="with (obj) {\n"+s+"\n}\n"),s=(i?s.replace(vt,""):s).replace(gt,"$1").replace(yt,"$1;"),s="function("+(_||"obj")+") {\n"+(_?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(u?", __e = _.escape":"")+(i?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+s+"return __p\n}";var v=Yh((function(){return ol(f,p+"return "+s).apply(Y,c)}));if(v.source=s,nc(v))throw v;return v},q.times=function(n,t){if((n=jc(n))<1||n>zn)return[];var r=Wn,e=Vl(n,Wn);t=bi(t),n-=Wn;for(var u=O(e,t);++r<n;)t(r);return u},q.toFinite=xc,q.toInteger=jc,q.toLength=Ac,q.toLower=function(n){return Rc(n).toLowerCase()},q.toNumber=kc,q.toSafeInteger=function(n){return n?$r(jc(n),-zn,zn):0===n?n:0},q.toString=Rc,q.toUpper=function(n){return Rc(n).toUpperCase()},q.trim=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(Et,"");if(!n||!(t=pu(t)))return n;var e=V(n),u=V(t);return Au(e,S(e,u),W(e,u)+1).join("")},q.trimEnd=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(Wt,"");if(!n||!(t=pu(t)))return n;var e=V(n);return Au(e,0,W(e,V(t))+1).join("")},q.trimStart=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(St,"");if(!n||!(t=pu(t)))return n;var e=V(n);return Au(e,S(e,V(t))).join("")},q.truncate=function(n,t){var r=30,e="...";if(ic(t)){var u="separator"in t?t.separator:u;r="length"in t?jc(t.length):r,e="omission"in t?pu(t.omission):e}var i=(n=Rc(n)).length;if(B(n)){var o=V(n);i=o.length}if(r>=i)return n;var f=r-K(e);if(f<1)return e;var c=o?Au(o,0,f).join(""):n.slice(0,f);if(u===Y)return c+e;if(o&&(f+=c.length-f),xh(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=al(u.source,Rc(Dt.exec(u))+"g")),u.lastIndex=0;a=u.exec(l);)var s=a.index;c=c.slice(0,s===Y?f:s)}}else if(n.indexOf(pu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e},q.unescape=function(n){return(n=Rc(n))&&wt.test(n)?n.replace(dt,_e):n},q.uniqueId=function(n){var t=++dl;return Rc(n)+t},q.upperCase=Hh,q.upperFirst=Jh,q.each=hf,q.eachRight=pf,q.first=go,Ua(q,function(){var n={};return ee(q,(function(t,r){yl.call(q.prototype,r)||(n[r]=t)})),n}(),{chain:!1}),q.VERSION="4.17.20",r(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(n){q[n].placeholder=q})),r(["drop","take"],(function(n,t){Bt.prototype[n]=function(r){r=r===Y?1:Kl(jc(r),0);var e=this.__filtered__&&!t?new Bt(this):this.clone();return e.__filtered__?e.__takeCount__=Vl(r,e.__takeCount__):e.__views__.push({size:Vl(r,Wn),type:n+(e.__dir__<0?"Right":"")}),e},Bt.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}})),r(["filter","map","takeWhile"],(function(n,t){var r=t+1,e=1==r||3==r;Bt.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:bi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}})),r(["head","last"],(function(n,t){var r="take"+(t?"Right":"");Bt.prototype[n]=function(){return this[r](1).value()[0]}})),r(["initial","tail"],(function(n,t){var r="drop"+(t?"":"Right");Bt.prototype[n]=function(){return this.__filtered__?new Bt(this):this[r](1)}})),Bt.prototype.compact=function(){return this.filter(Sa)},Bt.prototype.find=function(n){return this.filter(n).head()},Bt.prototype.findLast=function(n){return this.reverse().find(n)},Bt.prototype.invokeMap=ru((function(n,t){return"function"==typeof n?new Bt(this):this.map((function(r){return ke(r,n,t)}))})),Bt.prototype.reject=function(n){return this.filter(Lf(bi(n)))},Bt.prototype.slice=function(n,t){n=jc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Bt(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==Y&&(r=(t=jc(t))<0?r.dropRight(-t):r.take(t-n)),r)},Bt.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Bt.prototype.toArray=function(){return this.take(Wn)},ee(Bt.prototype,(function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=q[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(q.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Bt,c=o[0],l=f||yh(t),s=function(n){var t=u.apply(q,a([n],o));return e&&h?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Bt(this);var g=n.apply(t,o);return g.__actions__.push({func:Qo,args:[s],thisArg:Y}),new H(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})})),r(["pop","push","shift","sort","splice","unshift"],(function(n){var t=hl[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);q.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(yh(u)?u:[],n)}return this[r]((function(r){return t.apply(yh(r)?r:[],n)}))}})),ee(Bt.prototype,(function(n,t){var r=q[t];if(r){var e=r.name+"";yl.call(is,e)||(is[e]=[]),is[e].push({name:t,func:r})}})),is[Ju(Y,2).name]=[{name:"wrapper",func:Y}],Bt.prototype.clone=function(){var n=new Bt(this.__wrapped__);return n.__actions__=Uu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Uu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Uu(this.__views__),n},Bt.prototype.reverse=function(){if(this.__filtered__){var n=new Bt(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},Bt.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=yh(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=Vl(t,n+o);break;case"takeRight":n=Kl(n,t-o)}}return{start:n,end:t}}(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Vl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return du(n,this.__actions__);var _=[];n:for(;c--&&h<p;){for(var v=-1,g=n[a+=t];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(2==b)g=w;else if(!w){if(1==b)continue n;break n}}_[h++]=g}return _},q.prototype.at=Js,q.prototype.chain=function(){return Jo(this)},q.prototype.commit=function(){return new H(this.value(),this.__chain__)},q.prototype.next=function(){this.__values__===Y&&(this.__values__=mc(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?Y:this.__values__[this.__index__++]}},q.prototype.plant=function(n){for(var t,r=this;r instanceof G;){var e=to(r);e.__index__=0,e.__values__=Y,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t},q.prototype.reverse=function(){var n=this.__wrapped__;if(n instanceof Bt){var t=n;return this.__actions__.length&&(t=new Bt(this)),(t=t.reverse()).__actions__.push({func:Qo,args:[Ro],thisArg:Y}),new H(t,this.__chain__)}return this.thru(Ro)},q.prototype.toJSON=q.prototype.valueOf=q.prototype.value=function(){return du(this.__wrapped__,this.__actions__)},q.prototype.first=q.prototype.head,Ll&&(q.prototype[Ll]=function(){return this}),q}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Xr._=ge,define((function(){return ge}))):te?((te.exports=ge)._=ge,ne._=ge):Xr._=ge}).call(this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],731:[function(require,module,exports){!function(global,factory){"object"==typeof exports&&void 0!==module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global.moment=factory()}(this,(function(){"use strict";var hookCallback,some;function hooks(){return hookCallback.apply(null,arguments)}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function isObjectEmpty(obj){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(obj).length;var k;for(k in obj)if(hasOwnProp(obj,k))return!1;return!0}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[];for(i=0;i<arr.length;++i)res.push(fn(arr[i],i));return res}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!0).utc()}function getParsingFlags(m){return null==m._pf&&(m._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),m._pf}function isValid(m){if(null==m._isValid){var flags=getParsingFlags(m),parsedParts=some.call(flags.parsedDateParts,(function(i){return null!=i})),isNowValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidEra&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict&&(isNowValid=isNowValid&&0===flags.charsLeftOver&&0===flags.unusedTokens.length&&void 0===flags.bigHour),null!=Object.isFrozen&&Object.isFrozen(m))return isNowValid;m._isValid=isNowValid}return m._isValid}function createInvalid(flags){var m=createUTC(NaN);return null!=flags?extend(getParsingFlags(m),flags):getParsingFlags(m).userInvalidated=!0,m}some=Array.prototype.some?Array.prototype.some:function(fun){var i,t=Object(this),len=t.length>>>0;for(i=0;i<len;i++)if(i in t&&fun.call(this,t[i],i,t))return!0;return!1};var momentProperties=hooks.momentProperties=[],updateInProgress=!1;function copyConfig(to,from){var i,prop,val;if(isUndefined(from._isAMomentObject)||(to._isAMomentObject=from._isAMomentObject),isUndefined(from._i)||(to._i=from._i),isUndefined(from._f)||(to._f=from._f),isUndefined(from._l)||(to._l=from._l),isUndefined(from._strict)||(to._strict=from._strict),isUndefined(from._tzm)||(to._tzm=from._tzm),isUndefined(from._isUTC)||(to._isUTC=from._isUTC),isUndefined(from._offset)||(to._offset=from._offset),isUndefined(from._pf)||(to._pf=getParsingFlags(from)),isUndefined(from._locale)||(to._locale=from._locale),momentProperties.length>0)for(i=0;i<momentProperties.length;i++)isUndefined(val=from[prop=momentProperties[i]])||(to[prop]=val);return to}function Moment(config){copyConfig(this,config),this._d=new Date(null!=config._d?config._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(obj){return obj instanceof Moment||null!=obj&&null!=obj._isAMomentObject}function warn(msg){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend((function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,msg),firstTime){var arg,i,key,args=[];for(i=0;i<arguments.length;i++){if(arg="","object"==typeof arguments[i]){for(key in arg+="\n["+i+"] ",arguments[0])hasOwnProp(arguments[0],key)&&(arg+=key+": "+arguments[0][key]+", ");arg=arg.slice(0,-2)}else arg=arguments[i];args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+(new Error).stack),firstTime=!1}return fn.apply(this,arguments)}),fn)}var keys,deprecations={};function deprecateSimple(name,msg){null!=hooks.deprecationHandler&&hooks.deprecationHandler(name,msg),deprecations[name]||(warn(msg),deprecations[name]=!0)}function isFunction(input){return"undefined"!=typeof Function&&input instanceof Function||"[object Function]"===Object.prototype.toString.call(input)}function mergeConfigs(parentConfig,childConfig){var prop,res=extend({},parentConfig);for(prop in childConfig)hasOwnProp(childConfig,prop)&&(isObject(parentConfig[prop])&&isObject(childConfig[prop])?(res[prop]={},extend(res[prop],parentConfig[prop]),extend(res[prop],childConfig[prop])):null!=childConfig[prop]?res[prop]=childConfig[prop]:delete res[prop]);for(prop in parentConfig)hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])&&(res[prop]=extend({},res[prop]));return res}function Locale(config){null!=config&&this.set(config)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null,keys=Object.keys?Object.keys:function(obj){var i,res=[];for(i in obj)hasOwnProp(obj,i)&&res.push(i);return res};function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(number>=0?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]=formatFunctions[format]||function(format){var i,length,input,array=format.match(formattingTokens);for(i=0,length=array.length;i<length;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=(input=array[i]).match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"");return function(mom){var i,output="";for(i=0;i<length;i++)output+=isFunction(array[i])?array[i].call(mom,format):array[i];return output}}(format),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}for(localFormattingTokens.lastIndex=0;i>=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority}function isLeapYear(year){return year%4==0&&year%100!=0||year%400==0}function absFloor(number){return number<0?Math.ceil(number)||0:Math.floor(number)}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=absFloor(coercedNumber)),value}function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){mom.isValid()&&!isNaN(value)&&("FullYear"===unit&&isLeapYear(mom.year())&&1===mom.month()&&29===mom.date()?(value=toInt(value),mom._d["set"+(mom._isUTC?"UTC":"")+unit](value,mom.month(),daysInMonth(value,mom.month()))):mom._d["set"+(mom._isUTC?"UTC":"")+unit](value))}var regexes,match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(regexEscape(token.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}regexes={};var tokens={};function addParseToken(token,callback){var i,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),i=0;i<token.length;i++)tokens[token[i]]=func}function addWeekParseToken(token,callback){addParseToken(token,(function(input,array,config,token){config._w=config._w||{},callback(input,config._w,config,token)}))}function addTimeToArrayFromToken(token,input,config){null!=input&&hasOwnProp(tokens,token)&&tokens[token](input,config._a,config,token)}var indexOf;function daysInMonth(year,month){if(isNaN(year)||isNaN(month))return NaN;var x,modMonth=(month%(x=12)+x)%x;return year+=(month-modMonth)/12,1===modMonth?isLeapYear(year)?29:28:31-modMonth%7%2}indexOf=Array.prototype.indexOf?Array.prototype.indexOf:function(o){var i;for(i=0;i<this.length;++i)if(this[i]===o)return i;return-1},addFormatToken("M",["MM",2],"Mo",(function(){return this.month()+1})),addFormatToken("MMM",0,0,(function(format){return this.localeData().monthsShort(this,format)})),addFormatToken("MMMM",0,0,(function(format){return this.localeData().months(this,format)})),addUnitAlias("month","M"),addUnitPriority("month",8),addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",(function(isStrict,locale){return locale.monthsShortRegex(isStrict)})),addRegexToken("MMMM",(function(isStrict,locale){return locale.monthsRegex(isStrict)})),addParseToken(["M","MM"],(function(input,array){array[1]=toInt(input)-1})),addParseToken(["MMM","MMMM"],(function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);null!=month?array[1]=month:getParsingFlags(config).invalidMonth=input}));var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function handleStrictParse(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)mom=createUTC([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase();return strict?"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))||-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))||-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null}function setMonth(mom,value){var dayOfMonth;if(!mom.isValid())return mom;if("string"==typeof value)if(/^\d+$/.test(value))value=toInt(value);else if(!isNumber(value=mom.localeData().monthsParse(value)))return mom;return dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value)),mom._d["set"+(mom._isUTC?"UTC":"")+"Month"](value,dayOfMonth),mom}function getSetMonth(value){return null!=value?(setMonth(this,value),hooks.updateOffset(this,!0),this):get(this,"Month")}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<12;i++)mom=createUTC([2e3,i]),shortPieces.push(this.monthsShort(mom,"")),longPieces.push(this.months(mom,"")),mixedPieces.push(this.months(mom,"")),mixedPieces.push(this.monthsShort(mom,""));for(shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<12;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]);for(i=0;i<24;i++)mixedPieces[i]=regexEscape(mixedPieces[i]);this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}function daysInYear(year){return isLeapYear(year)?366:365}addFormatToken("Y",0,0,(function(){var y=this.year();return y<=9999?zeroFill(y,4):"+"+y})),addFormatToken(0,["YY",2],0,(function(){return this.year()%100})),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addUnitAlias("year","y"),addUnitPriority("year",1),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],0),addParseToken("YYYY",(function(input,array){array[0]=2===input.length?hooks.parseTwoDigitYear(input):toInt(input)})),addParseToken("YY",(function(input,array){array[0]=hooks.parseTwoDigitYear(input)})),addParseToken("Y",(function(input,array){array[0]=parseInt(input,10)})),hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0);function createDate(y,m,d,h,M,s,ms){var date;return y<100&&y>=0?(date=new Date(y+400,m,d,h,M,s,ms),isFinite(date.getFullYear())&&date.setFullYear(y)):date=new Date(y,m,d,h,M,s,ms),date}function createUTCDate(y){var date,args;return y<100&&y>=0?((args=Array.prototype.slice.call(arguments))[0]=y+400,date=new Date(Date.UTC.apply(null,args)),isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y)):date=new Date(Date.UTC.apply(null,arguments)),date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy;return-((7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7)+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,dayOfYear=1+7*(week-1)+(7+weekday-dow)%7+firstWeekOffset(year,dow,doy);return dayOfYear<=0?resDayOfYear=daysInYear(resYear=year-1)+dayOfYear:dayOfYear>daysInYear(year)?(resYear=year+1,resDayOfYear=dayOfYear-daysInYear(year)):(resYear=year,resDayOfYear=dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?resWeek=week+weeksInYear(resYear=mom.year()-1,dow,doy):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],(function(input,week,config,token){week[token.substr(0,1)]=toInt(input)}));function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,(function(format){return this.localeData().weekdaysMin(this,format)})),addFormatToken("ddd",0,0,(function(format){return this.localeData().weekdaysShort(this,format)})),addFormatToken("dddd",0,0,(function(format){return this.localeData().weekdays(this,format)})),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",(function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)})),addRegexToken("ddd",(function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)})),addRegexToken("dddd",(function(isStrict,locale){return locale.weekdaysRegex(isStrict)})),addWeekParseToken(["dd","ddd","dddd"],(function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input})),addWeekParseToken(["d","e","E"],(function(input,week,config,token){week[token]=toInt(input)}));var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)mom=createUTC([2e3,1]).day(i),minp=regexEscape(this.weekdaysMin(mom,"")),shortp=regexEscape(this.weekdaysShort(mom,"")),longp=regexEscape(this.weekdays(mom,"")),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function meridiem(token,lowercase){addFormatToken(token,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)}))}function matchMeridiem(isStrict,locale){return locale._meridiemParse}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,(function(){return this.hours()||24})),addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)})),addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)})),addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],3),addParseToken(["k","kk"],(function(input,array,config){var kInput=toInt(input);array[3]=24===kInput?0:kInput})),addParseToken(["a","A"],(function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input})),addParseToken(["h","hh"],(function(input,array,config){array[3]=toInt(input),getParsingFlags(config).bigHour=!0})),addParseToken("hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0})),addParseToken("hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0})),addParseToken("Hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos))})),addParseToken("Hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2))}));var getSetHour=makeGetSet("Hours",!0);var globalLocale,baseConfig={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:{dow:0,doy:6},weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:/[ap]\.?m?\.?/i},locales={},localeFamilies={};function commonPrefix(arr1,arr2){var i,minl=Math.min(arr1.length,arr2.length);for(i=0;i<minl;i+=1)if(arr1[i]!==arr2[i])return i;return minl}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function loadLocale(name){var oldLocale=null;if(void 0===locales[name]&&void 0!==module&&module&&module.exports)try{oldLocale=globalLocale._abbr,require("./locale/"+name),getSetGlobalLocale(oldLocale)}catch(e){locales[name]=null}return locales[name]}function getSetGlobalLocale(key,values){var data;return key&&((data=isUndefined(values)?getLocale(key):defineLocale(key,values))?globalLocale=data:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+key+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(name,config){if(null!==config){var locale,parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale)if(null!=locales[config.parentLocale])parentConfig=locales[config.parentLocale]._config;else{if(null==(locale=loadLocale(config.parentLocale)))return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locale._config}return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach((function(x){defineLocale(x.name,x.config)})),getSetGlobalLocale(name),locales[name]}return delete locales[name],null}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return function(names){for(var j,next,locale,split,i=0;i<names.length;){for(j=(split=normalizeLocale(names[i]).split("-")).length,next=(next=normalizeLocale(names[i+1]))?next.split("-"):null;j>0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&commonPrefix(split,next)>=j-1)break;j--}i++}return globalLocale}(key)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[1]<0||a[1]>11?1:a[2]<1||a[2]>daysInMonth(a[0],a[1])?2:a[3]<0||a[3]>24||24===a[3]&&(0!==a[4]||0!==a[5]||0!==a[6])?3:a[4]<0||a[4]>59?4:a[5]<0||a[5]>59?5:a[6]<0||a[6]>999?6:-1,getParsingFlags(m)._overflowDayOfYear&&(overflow<0||overflow>2)&&(overflow=2),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=7),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=8),getParsingFlags(m).overflow=overflow),m}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string);if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDates.length;i<l;i++)if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0],allowTime=!1!==isoDates[i][2];break}if(null==dateFormat)return void(config._isValid=!1);if(match[3]){for(i=0,l=isoTimes.length;i<l;i++)if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||" ")+isoTimes[i][0];break}if(null==timeFormat)return void(config._isValid=!1)}if(!allowTime&&null!=timeFormat)return void(config._isValid=!1);if(match[4]){if(!tzRegex.exec(match[4]))return void(config._isValid=!1);tzFormat="Z"}config._f=dateFormat+(timeFormat||"")+(tzFormat||""),configFromStringAndFormat(config)}else config._isValid=!1}function untruncateYear(yearStr){var year=parseInt(yearStr,10);return year<=49?2e3+year:year<=999?1900+year:year}function configFromRFC2822(config){var parsedArray,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr,result,match=rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(match){if(yearStr=match[4],monthStr=match[3],dayStr=match[2],hourStr=match[5],minuteStr=match[6],secondStr=match[7],result=[untruncateYear(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10)],secondStr&&result.push(parseInt(secondStr,10)),parsedArray=result,!function(weekdayStr,parsedInput,config){return!weekdayStr||defaultLocaleWeekdaysShort.indexOf(weekdayStr)===new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay()||(getParsingFlags(config).weekdayMismatch=!0,config._isValid=!1,!1)}(match[1],parsedArray,config))return;config._a=parsedArray,config._tzm=function(obsOffset,militaryOffset,numOffset){if(obsOffset)return obsOffsets[obsOffset];if(militaryOffset)return 0;var hm=parseInt(numOffset,10),m=hm%100;return(hm-m)/100*60+m}(match[8],match[9],match[10]),config._d=createUTCDate.apply(null,config._a),config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),getParsingFlags(config).rfc2822=!0}else config._isValid=!1}function defaults(a,b,c){return null!=a?a:null!=b?b:c}function configFromArray(config){var i,date,currentDate,expectedWeekday,yearToUse,input=[];if(!config._d){for(currentDate=function(config){var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}(config),config._w&&null==config._a[2]&&null==config._a[1]&&function(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;null!=(w=config._w).GG||null!=w.W||null!=w.E?(dow=1,doy=4,weekYear=defaults(w.GG,config._a[0],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||weekday>7)&&(weekdayOverflow=!0)):(dow=config._locale._week.dow,doy=config._locale._week.doy,curWeek=weekOfYear(createLocal(),dow,doy),weekYear=defaults(w.gg,config._a[0],curWeek.year),week=defaults(w.w,curWeek.week),null!=w.d?((weekday=w.d)<0||weekday>6)&&(weekdayOverflow=!0):null!=w.e?(weekday=w.e+dow,(w.e<0||w.e>6)&&(weekdayOverflow=!0)):weekday=dow);week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[0]=temp.year,config._dayOfYear=temp.dayOfYear)}(config),null!=config._dayOfYear&&(yearToUse=defaults(config._a[0],currentDate[0]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[1]=date.getUTCMonth(),config._a[2]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];24===config._a[3]&&0===config._a[4]&&0===config._a[5]&&0===config._a[6]&&(config._nextDay=!0,config._a[3]=0),config._d=(config._useUTC?createUTCDate:createDate).apply(null,input),expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay(),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[3]=24),config._w&&void 0!==config._w.d&&config._w.d!==expectedWeekday&&(getParsingFlags(config).weekdayMismatch=!0)}}function configFromStringAndFormat(config){if(config._f!==hooks.ISO_8601)if(config._f!==hooks.RFC_2822){config._a=[],getParsingFlags(config).empty=!0;var i,parsedInput,tokens,token,skipped,era,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i<tokens.length;i++)token=tokens[i],(parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0])&&((skipped=string.substr(0,string.indexOf(parsedInput))).length>0&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&getParsingFlags(config).unusedInput.push(string),config._a[3]<=12&&!0===getParsingFlags(config).bigHour&&config._a[3]>0&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,config._a[3]=function(locale,hour,meridiem){var isPm;if(null==meridiem)return hour;return null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):null!=locale.isPM?((isPm=locale.isPM(meridiem))&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0),hour):hour}(config._locale,config._a[3],config._meridiem),null!==(era=getParsingFlags(config).era)&&(config._a[0]=config._locale.erasConvertYear(era,config._a[0])),configFromArray(config),checkOverflow(config)}else configFromRFC2822(config);else configFromISO(config)}function prepareConfig(config){var input=config._i,format=config._f;return config._locale=config._locale||getLocale(config._l),null===input||void 0===format&&""===input?createInvalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),isMoment(input)?new Moment(checkOverflow(input)):(isDate(input)?config._d=input:isArray(format)?function(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore,validFormatFound,bestFormatIsValid=!1;if(0===config._f.length)return getParsingFlags(config).invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;i<config._f.length;i++)currentScore=0,validFormatFound=!1,tempConfig=copyConfig({},config),null!=config._useUTC&&(tempConfig._useUTC=config._useUTC),tempConfig._f=config._f[i],configFromStringAndFormat(tempConfig),isValid(tempConfig)&&(validFormatFound=!0),currentScore+=getParsingFlags(tempConfig).charsLeftOver,currentScore+=10*getParsingFlags(tempConfig).unusedTokens.length,getParsingFlags(tempConfig).score=currentScore,bestFormatIsValid?currentScore<scoreToBeat&&(scoreToBeat=currentScore,bestMoment=tempConfig):(null==scoreToBeat||currentScore<scoreToBeat||validFormatFound)&&(scoreToBeat=currentScore,bestMoment=tempConfig,validFormatFound&&(bestFormatIsValid=!0));extend(config,bestMoment||tempConfig)}(config):format?configFromStringAndFormat(config):function(config){var input=config._i;isUndefined(input)?config._d=new Date(hooks.now()):isDate(input)?config._d=new Date(input.valueOf()):"string"==typeof input?function(config){var matched=aspNetJsonRegex.exec(config._i);null===matched?(configFromISO(config),!1===config._isValid&&(delete config._isValid,configFromRFC2822(config),!1===config._isValid&&(delete config._isValid,config._strict?config._isValid=!1:hooks.createFromInputFallback(config)))):config._d=new Date(+matched[1])}(config):isArray(input)?(config._a=map(input.slice(0),(function(obj){return parseInt(obj,10)})),configFromArray(config)):isObject(input)?function(config){if(!config._d){var i=normalizeObjectUnits(config._i),dayOrDate=void 0===i.day?i.date:i.day;config._a=map([i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],(function(obj){return obj&&parseInt(obj,10)})),configFromArray(config)}}(config):isNumber(input)?config._d=new Date(input):hooks.createFromInputFallback(config)}(config),isValid(config)||(config._d=null),config))}function createLocalOrUTC(input,format,locale,strict,isUTC){var res,c={};return!0!==format&&!1!==format||(strict=format,format=void 0),!0!==locale&&!1!==locale||(strict=locale,locale=void 0),(isObject(input)&&isObjectEmpty(input)||isArray(input)&&0===input.length)&&(input=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=isUTC,c._l=locale,c._i=input,c._f=format,c._strict=strict,(res=new Moment(checkOverflow(prepareConfig(c))))._nextDay&&(res.add(1,"d"),res._nextDay=void 0),res}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!1)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))})),hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other<this?this:other:createInvalid()})),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other>this?this:other:createInvalid()}));function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;i<moments.length;++i)moments[i].isValid()&&!moments[i][fn](res)||(res=moments[i]);return res}var ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||normalizedInput.isoWeek||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=function(m){var key,i,unitHasDecimal=!1;for(key in m)if(hasOwnProp(m,key)&&(-1===indexOf.call(ordering,key)||null!=m[key]&&isNaN(m[key])))return!1;for(i=0;i<ordering.length;++i)if(m[ordering[i]]){if(unitHasDecimal)return!1;parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])&&(unitHasDecimal=!0)}return!0}(normalizedInput),this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+1e3*hours*60*60,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(obj){return obj instanceof Duration}function absRound(number){return number<0?-1*Math.round(-1*number):Math.round(number)}function offset(token,separator){addFormatToken(token,0,0,(function(){var offset=this.utcOffset(),sign="+";return offset<0&&(offset=-offset,sign="-"),sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)}))}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],(function(input,array,config){config._useUTC=!0,config._tzm=offsetFromString(matchShortOffset,input)}));var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var parts,minutes,matches=(string||"").match(matcher);return null===matches?null:0===(minutes=60*(parts=((matches[matches.length-1]||[])+"").match(chunkOffset)||["-",0,0])[1]+toInt(parts[2]))?0:"+"===parts[0]?minutes:-minutes}function cloneWithOffset(input,model){var res,diff;return model._isUTC?(res=model.clone(),diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf(),res._d.setTime(res._d.valueOf()+diff),hooks.updateOffset(res,!1),res):createLocal(input).local()}function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset())}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks.updateOffset=function(){};var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var sign,ret,diffRes,duration=input,match=null;return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)||!isNaN(+input)?(duration={},key?duration[key]=+input:duration.milliseconds=+input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[2])*sign,h:toInt(match[3])*sign,m:toInt(match[4])*sign,s:toInt(match[5])*sign,ms:toInt(absRound(1e3*match[6]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=function(base,other){var res;if(!base.isValid()||!other.isValid())return{milliseconds:0,months:0};other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):((res=positiveMomentsDifference(other,base)).milliseconds=-res.milliseconds,res.months=-res.months);return res}(createLocal(duration.from),createLocal(duration.to)),(duration={}).ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),isDuration(input)&&hasOwnProp(input,"_isValid")&&(ret._isValid=input._isValid),ret}function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function createAdder(direction,name){return function(val,period){var tmp;return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),addSubtract(this,createDuration(val,period),direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,months&&setMonth(mom,get(mom,"Month")+months*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}createDuration.fn=Duration.prototype,createDuration.invalid=function(){return createDuration(NaN)};var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(input){return"string"==typeof input||input instanceof String}function isMomentInput(input){return isMoment(input)||isDate(input)||isString(input)||isNumber(input)||function(input){var arrayTest=isArray(input),dataTypeTest=!1;arrayTest&&(dataTypeTest=0===input.filter((function(item){return!isNumber(item)&&isString(input)})).length);return arrayTest&&dataTypeTest}(input)||function(input){var i,property,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(i=0;i<properties.length;i+=1)property=properties[i],propertyTest=propertyTest||hasOwnProp(input,property);return objectTest&&propertyTest}(input)||null==input}function isCalendarSpec(input){var i,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(i=0;i<properties.length;i+=1)propertyTest=propertyTest||hasOwnProp(input,properties[i]);return objectTest&&propertyTest}function monthDiff(a,b){if(a.date()<b.date())return-monthDiff(b,a);var wholeMonthDiff=12*(b.year()-a.year())+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months");return-(wholeMonthDiff+(b-anchor<0?(b-anchor)/(anchor-a.clone().add(wholeMonthDiff-1,"months")):(b-anchor)/(a.clone().add(wholeMonthDiff+1,"months")-anchor)))||0}function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(null!=(newLocaleData=getLocale(key))&&(this._locale=newLocaleData),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(key){return void 0===key?this.localeData():this.locale(key)}));function localeData(){return this._locale}function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}function localStartOfDate(y,m,d){return y<100&&y>=0?new Date(y+400,m,d)-126227808e5:new Date(y,m,d).valueOf()}function utcStartOfDate(y,m,d){return y<100&&y>=0?Date.UTC(y+400,m,d)-126227808e5:Date.UTC(y,m,d)}function matchEraAbbr(isStrict,locale){return locale.erasAbbrRegex(isStrict)}function computeErasParse(){var i,l,abbrPieces=[],namePieces=[],narrowPieces=[],mixedPieces=[],eras=this.eras();for(i=0,l=eras.length;i<l;++i)namePieces.push(regexEscape(eras[i].name)),abbrPieces.push(regexEscape(eras[i].abbr)),narrowPieces.push(regexEscape(eras[i].narrow)),mixedPieces.push(regexEscape(eras[i].name)),mixedPieces.push(regexEscape(eras[i].abbr)),mixedPieces.push(regexEscape(eras[i].narrow));this._erasRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+namePieces.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+abbrPieces.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+narrowPieces.join("|")+")","i")}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:(week>(weeksTarget=weeksInYear(input,dow,doy))&&(week=weeksTarget),setWeekAll.call(this,input,week,weekday,dow,doy))}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",(function(isStrict,locale){return locale.erasNameRegex(isStrict)})),addRegexToken("NNNNN",(function(isStrict,locale){return locale.erasNarrowRegex(isStrict)})),addParseToken(["N","NN","NNN","NNNN","NNNNN"],(function(input,array,config,token){var era=config._locale.erasParse(input,token,config._strict);era?getParsingFlags(config).era=era:getParsingFlags(config).invalidEra=input})),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",(function(isStrict,locale){return locale._eraYearOrdinalRegex||matchUnsigned})),addParseToken(["y","yy","yyy","yyyy"],0),addParseToken(["yo"],(function(input,array,config,token){var match;config._locale._eraYearOrdinalRegex&&(match=input.match(config._locale._eraYearOrdinalRegex)),config._locale.eraYearOrdinalParse?array[0]=config._locale.eraYearOrdinalParse(input,match):array[0]=parseInt(input,10)})),addFormatToken(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],(function(input,week,config,token){week[token.substr(0,2)]=toInt(input)})),addWeekParseToken(["gg","GG"],(function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)})),addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",(function(input,array){array[1]=3*(toInt(input)-1)})),addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",(function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient})),addParseToken(["D","DD"],2),addParseToken("Do",(function(input,array){array[2]=toInt(input.match(match1to2)[0])}));var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],(function(input,array,config){config._dayOfYear=toInt(input)})),addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],4);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],5);var token,getSetMillisecond,getSetSecond=makeGetSet("Seconds",!1);for(addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[6]=toInt(1e3*("0."+input))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function preParsePostFormat(string){return string}proto.add=add,proto.calendar=function(time,formats){1===arguments.length&&(arguments[0]?isMomentInput(arguments[0])?(time=arguments[0],formats=void 0):isCalendarSpec(arguments[0])&&(formats=arguments[0],time=void 0):(time=void 0,formats=void 0));var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))},proto.clone=function(){return new Moment(this)},proto.diff=function(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid())return NaN;if(!(that=cloneWithOffset(input,this)).isValid())return NaN;switch(zoneDelta=6e4*(that.utcOffset()-this.utcOffset()),units=normalizeUnits(units)){case"year":output=monthDiff(this,that)/12;break;case"month":output=monthDiff(this,that);break;case"quarter":output=monthDiff(this,that)/3;break;case"second":output=(this-that)/1e3;break;case"minute":output=(this-that)/6e4;break;case"hour":output=(this-that)/36e5;break;case"day":output=(this-that-zoneDelta)/864e5;break;case"week":output=(this-that-zoneDelta)/6048e5;break;default:output=this-that}return asFloat?output:absFloor(output)},proto.endOf=function(units){var time,startOfDate;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year()+1,0,1)-1;break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case"hour":time=this._d.valueOf(),time+=36e5-mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":time=this._d.valueOf(),time+=6e4-mod$1(time,6e4)-1;break;case"second":time=this._d.valueOf(),time+=1e3-mod$1(time,1e3)-1}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.format=function(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)},proto.from=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.fromNow=function(withoutSuffix){return this.from(createLocal(),withoutSuffix)},proto.to=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.toNow=function(withoutSuffix){return this.to(createLocal(),withoutSuffix)},proto.get=function(units){return isFunction(this[units=normalizeUnits(units)])?this[units]():this},proto.invalidAt=function(){return getParsingFlags(this).overflow},proto.isAfter=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()>localInput.valueOf():localInput.valueOf()<this.clone().startOf(units).valueOf())},proto.isBefore=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()<localInput.valueOf():this.clone().endOf(units).valueOf()<localInput.valueOf())},proto.isBetween=function(from,to,units,inclusivity){var localFrom=isMoment(from)?from:createLocal(from),localTo=isMoment(to)?to:createLocal(to);return!!(this.isValid()&&localFrom.isValid()&&localTo.isValid())&&(("("===(inclusivity=inclusivity||"()")[0]?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(")"===inclusivity[1]?this.isBefore(localTo,units):!this.isAfter(localTo,units)))},proto.isSame=function(input,units){var inputMs,localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()===localInput.valueOf():(inputMs=localInput.valueOf(),this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()))},proto.isSameOrAfter=function(input,units){return this.isSame(input,units)||this.isAfter(input,units)},proto.isSameOrBefore=function(input,units){return this.isSame(input,units)||this.isBefore(input,units)},proto.isValid=function(){return isValid(this)},proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=function(){return extend({},getParsingFlags(this))},proto.set=function(units,value){if("object"==typeof units){var i,prioritized=function(unitsObj){var u,units=[];for(u in unitsObj)hasOwnProp(unitsObj,u)&&units.push({unit:u,priority:priorities[u]});return units.sort((function(a,b){return a.priority-b.priority})),units}(units=normalizeObjectUnits(units));for(i=0;i<prioritized.length;i++)this[prioritized[i].unit](units[prioritized[i].unit])}else if(isFunction(this[units=normalizeUnits(units)]))return this[units](value);return this},proto.startOf=function(units){var time,startOfDate;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year(),0,1);break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case"month":time=startOfDate(this.year(),this.month(),1);break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date());break;case"hour":time=this._d.valueOf(),time-=mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":time=this._d.valueOf(),time-=mod$1(time,6e4);break;case"second":time=this._d.valueOf(),time-=mod$1(time,1e3)}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.subtract=subtract,proto.toArray=function(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]},proto.toObject=function(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}},proto.toDate=function(){return new Date(this.valueOf())},proto.toISOString=function(keepOffset){if(!this.isValid())return null;var utc=!0!==keepOffset,m=utc?this.clone().utc():this;return m.year()<0||m.year()>9999?formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?utc?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment(m,"Z")):formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},proto.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var prefix,year,suffix,func="moment",zone="";return this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z"),prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY","-MM-DD[T]HH:mm:ss.SSS",suffix=zone+'[")]',this.format(prefix+year+"-MM-DD[T]HH:mm:ss.SSS"+suffix)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=function(){return this.isValid()?this.toISOString():null},proto.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},proto.unix=function(){return Math.floor(this.valueOf()/1e3)},proto.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},proto.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},proto.eraName=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].name;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].name}return""},proto.eraNarrow=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].narrow;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].narrow}return""},proto.eraAbbr=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].abbr;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].abbr}return""},proto.eraYear=function(){var i,l,dir,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i)if(dir=eras[i].since<=eras[i].until?1:-1,val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until||eras[i].until<=val&&val<=eras[i].since)return(this.year()-hooks(eras[i].since).year())*dir+eras[i].offset;return this.year()},proto.year=getSetYear,proto.isLeapYear=function(){return isLeapYear(this.year())},proto.weekYear=function(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},proto.isoWeekYear=function(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)},proto.quarter=proto.quarters=function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},proto.month=getSetMonth,proto.daysInMonth=function(){return daysInMonth(this.year(),this.month())},proto.week=proto.weeks=function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},proto.isoWeek=proto.isoWeeks=function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},proto.weeksInYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},proto.weeksInWeekYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy)},proto.isoWeeksInYear=function(){return weeksInYear(this.year(),1,4)},proto.isoWeeksInISOWeekYear=function(){return weeksInYear(this.isoWeekYear(),1,4)},proto.date=getSetDayOfMonth,proto.day=proto.days=function(input){if(!this.isValid())return null!=input?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=input?(input=function(input,locale){return"string"!=typeof input?input:isNaN(input)?"number"==typeof(input=locale.weekdaysParse(input))?input:null:parseInt(input,10)}(input,this.localeData()),this.add(input-day,"d")):day},proto.weekday=function(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},proto.isoWeekday=function(input){if(!this.isValid())return null!=input?this:NaN;if(null!=input){var weekday=function(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}return this.day()||7},proto.dayOfYear=function(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=function(input,keepLocalTime,keepMinutes){var localAdjust,offset=this._offset||0;if(!this.isValid())return null!=input?this:NaN;if(null!=input){if("string"==typeof input){if(null===(input=offsetFromString(matchShortOffset,input)))return this}else Math.abs(input)<16&&!keepMinutes&&(input*=60);return!this._isUTC&&keepLocalTime&&(localAdjust=getDateOffset(this)),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.add(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addSubtract(this,createDuration(input-offset,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?offset:getDateOffset(this)},proto.utc=function(keepLocalTime){return this.utcOffset(0,keepLocalTime)},proto.local=function(keepLocalTime){return this._isUTC&&(this.utcOffset(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.subtract(getDateOffset(this),"m")),this},proto.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var tZone=offsetFromString(matchOffset,this._i);null!=tZone?this.utcOffset(tZone):this.utcOffset(0,!0)}return this},proto.hasAlignedHourOffset=function(input){return!!this.isValid()&&(input=input?createLocal(input).utcOffset():0,(this.utcOffset()-input)%60==0)},proto.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},proto.isLocal=function(){return!!this.isValid()&&!this._isUTC},proto.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=function(){return this._isUTC?"UTC":""},proto.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(input,keepLocalTime){return null!=input?("string"!=typeof input&&(input=-input),this.utcOffset(input,keepLocalTime),this):-this.utcOffset()})),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var other,c={};return copyConfig(c,this),(c=prepareConfig(c))._a?(other=c._isUTC?createUTC(c._a):createLocal(c._a),this._isDSTShifted=this.isValid()&&function(array1,array2,dontConvert){var i,len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0;for(i=0;i<len;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}(c._a,other.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}));var proto$1=Locale.prototype;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){"boolean"==typeof localeSorted?(isNumber(format)&&(index=format,format=void 0),format=format||""):(index=format=localeSorted,localeSorted=!1,isNumber(format)&&(index=format,format=void 0),format=format||"");var i,locale=getLocale(),shift=localeSorted?locale._week.dow:0,out=[];if(null!=index)return get$1(format,(index+shift)%7,field,"day");for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}proto$1.calendar=function(key,mom,now){var output=this._calendar[key]||this._calendar.sameElse;return isFunction(output)?output.call(mom,now):output},proto$1.longDateFormat=function(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];return format||!formatUpper?format:(this._longDateFormat[key]=formatUpper.match(formattingTokens).map((function(tok){return"MMMM"===tok||"MM"===tok||"DD"===tok||"dddd"===tok?tok.slice(1):tok})).join(""),this._longDateFormat[key])},proto$1.invalidDate=function(){return this._invalidDate},proto$1.ordinal=function(number){return this._ordinal.replace("%d",number)},proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},proto$1.pastFuture=function(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)},proto$1.set=function(config){var prop,i;for(i in config)hasOwnProp(config,i)&&(isFunction(prop=config[i])?this[i]=prop:this["_"+i]=prop);this._config=config,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},proto$1.eras=function(m,format){var i,l,date,eras=this._eras||getLocale("en")._eras;for(i=0,l=eras.length;i<l;++i){switch(typeof eras[i].since){case"string":date=hooks(eras[i].since).startOf("day"),eras[i].since=date.valueOf()}switch(typeof eras[i].until){case"undefined":eras[i].until=1/0;break;case"string":date=hooks(eras[i].until).startOf("day").valueOf(),eras[i].until=date.valueOf()}}return eras},proto$1.erasParse=function(eraName,format,strict){var i,l,name,abbr,narrow,eras=this.eras();for(eraName=eraName.toUpperCase(),i=0,l=eras.length;i<l;++i)if(name=eras[i].name.toUpperCase(),abbr=eras[i].abbr.toUpperCase(),narrow=eras[i].narrow.toUpperCase(),strict)switch(format){case"N":case"NN":case"NNN":if(abbr===eraName)return eras[i];break;case"NNNN":if(name===eraName)return eras[i];break;case"NNNNN":if(narrow===eraName)return eras[i]}else if([name,abbr,narrow].indexOf(eraName)>=0)return eras[i]},proto$1.erasConvertYear=function(era,year){var dir=era.since<=era.until?1:-1;return void 0===year?hooks(era.since).year():hooks(era.since).year()+(year-era.offset)*dir},proto$1.erasAbbrRegex=function(isStrict){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),isStrict?this._erasAbbrRegex:this._erasRegex},proto$1.erasNameRegex=function(isStrict){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),isStrict?this._erasNameRegex:this._erasRegex},proto$1.erasNarrowRegex=function(isStrict){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),isStrict?this._erasNarrowRegex:this._erasRegex},proto$1.months=function(m,format){return m?isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?"format":"standalone"][m.month()]:isArray(this._months)?this._months:this._months.standalone},proto$1.monthsShort=function(m,format){return m?isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?"format":"standalone"][m.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},proto$1.monthsParse=function(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact)return handleStrictParse.call(this,monthName,format,strict);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(mom=createUTC([2e3,i]),strict&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")),strict||this._monthsParse[i]||(regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"MMMM"===format&&this._longMonthsParse[i].test(monthName))return i;if(strict&&"MMM"===format&&this._shortMonthsParse[i].test(monthName))return i;if(!strict&&this._monthsParse[i].test(monthName))return i}},proto$1.monthsRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex)},proto$1.monthsShortRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex)},proto$1.week=function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},proto$1.firstDayOfYear=function(){return this._week.doy},proto$1.firstDayOfWeek=function(){return this._week.dow},proto$1.weekdays=function(m,format){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&!0!==m&&this._weekdays.isFormat.test(format)?"format":"standalone"];return!0===m?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays},proto$1.weekdaysMin=function(m){return!0===m?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin},proto$1.weekdaysShort=function(m){return!0===m?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort},proto$1.weekdaysParse=function(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}},proto$1.weekdaysRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)},proto$1.weekdaysShortRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},proto$1.weekdaysMinRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},proto$1.isPM=function(input){return"p"===(input+"").toLowerCase().charAt(0)},proto$1.meridiem=function(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"},getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function daysToMonths(days){return 4800*days/146097}function monthsToDays(months){return 146097*months/4800}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y");function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,years,s,totalSign,ymSign,daysSign,hmsSign,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months),total=this.asSeconds();return total?(minutes=absFloor(seconds/60),hours=absFloor(minutes/60),seconds%=60,minutes%=60,years=absFloor(months/12),months%=12,s=seconds?seconds.toFixed(3).replace(/\.?0+$/,""):"",totalSign=total<0?"-":"",ymSign=sign(this._months)!==sign(total)?"-":"",daysSign=sign(this._days)!==sign(total)?"-":"",hmsSign=sign(this._milliseconds)!==sign(total)?"-":"",totalSign+"P"+(years?ymSign+years+"Y":"")+(months?ymSign+months+"M":"")+(days?daysSign+days+"D":"")+(hours||minutes||seconds?"T":"")+(hours?hmsSign+hours+"H":"")+(minutes?hmsSign+minutes+"M":"")+(seconds?hmsSign+s+"S":"")):"P0D"}var proto$2=Duration.prototype;return proto$2.isValid=function(){return this._isValid},proto$2.abs=function(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this},proto$2.add=function(input,value){return addSubtract$1(this,input,value,1)},proto$2.subtract=function(input,value){return addSubtract$1(this,input,value,-1)},proto$2.as=function(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;if("month"===(units=normalizeUnits(units))||"quarter"===units||"year"===units)switch(days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),units){case"month":return months;case"quarter":return months/3;case"year":return months/12}else switch(days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}},proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12):NaN},proto$2._bubble=function(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;return milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),days=0,months=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,days+=absFloor(hours/24),months+=monthsFromDays=absFloor(daysToMonths(days)),days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this},proto$2.clone=function(){return createDuration(this)},proto$2.get=function(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN},proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=function(){return absFloor(this.days()/7)},proto$2.months=months,proto$2.years=years,proto$2.humanize=function(argWithSuffix,argThresholds){if(!this.isValid())return this.localeData().invalidDate();var locale,output,withSuffix=!1,th=thresholds;return"object"==typeof argWithSuffix&&(argThresholds=argWithSuffix,argWithSuffix=!1),"boolean"==typeof argWithSuffix&&(withSuffix=argWithSuffix),"object"==typeof argThresholds&&(th=Object.assign({},thresholds,argThresholds),null!=argThresholds.s&&null==argThresholds.ss&&(th.ss=argThresholds.s-1)),output=function(posNegDuration,withoutSuffix,thresholds,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),weeks=round(duration.as("w")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds<thresholds.s&&["ss",seconds]||minutes<=1&&["m"]||minutes<thresholds.m&&["mm",minutes]||hours<=1&&["h"]||hours<thresholds.h&&["hh",hours]||days<=1&&["d"]||days<thresholds.d&&["dd",days];return null!=thresholds.w&&(a=a||weeks<=1&&["w"]||weeks<thresholds.w&&["ww",weeks]),(a=a||months<=1&&["M"]||months<thresholds.M&&["MM",months]||years<=1&&["y"]||["yy",years])[2]=withoutSuffix,a[3]=+posNegDuration>0,a[4]=locale,substituteTimeAgo.apply(null,a)}(this,!withSuffix,th,locale=this.localeData()),withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)},proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",/[+-]?\d+(\.\d{1,3})?/),addParseToken("X",(function(input,array,config){config._d=new Date(1e3*parseFloat(input))})),addParseToken("x",(function(input,array,config){config._d=new Date(toInt(input))})),
|
|
268
|
+
(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function e(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!(null==n||!n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function _(n){return n.match(Bt)||[]}function v(n,t,r){var e;return r(n,(function(n,r,u){if(t(n,r,u))return e=r,!1})),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t==t?function(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}(n,t,r):g(n,b,r)}function d(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!=n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Sn}function m(n){return function(t){return null==t?Y:t[n]}}function x(n){return function(t){return null==n?Y:n[t]}}function j(n,t,r,e,u){return u(n,(function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)})),r}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==Y&&(r=r===Y?i:r+i)}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function R(n){return function(t){return n(t)}}function z(n,t){return c(t,(function(t){return n[t]}))}function E(n,t){return n.has(t)}function S(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function W(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}function C(n){return"\\"+Gr[n]}function B(n){return Dr.test(n)}function T(n){return Mr.test(n)}function D(n){var t=-1,r=Array(n.size);return n.forEach((function(n,e){r[++t]=[e,n]})),r}function M(n,t){return function(r){return n(t(r))}}function F(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==un||(n[r]=un,i[u++]=r)}return i}function N(n){var t=-1,r=Array(n.size);return n.forEach((function(n){r[++t]=n})),r}function K(n){return B(n)?function(n){for(var t=Tr.lastIndex=0;Tr.test(n);)++t;return t}(n):se(n)}function V(n){return B(n)?function(n){return n.match(Tr)||[]}(n):function(n){return n.split("")}(n)}function J(n){return n.match($r)||[]}var Y,tn="Expected a function",rn="__lodash_hash_undefined__",un="__lodash_placeholder__",dn=128,Rn=1/0,zn=9007199254740991,Sn=NaN,Wn=4294967295,Un=[["ary",dn],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],Bn="[object Arguments]",Tn="[object Array]",Dn="[object Boolean]",Mn="[object Date]",Nn="[object Error]",Pn="[object Function]",qn="[object GeneratorFunction]",Zn="[object Map]",Kn="[object Number]",Gn="[object Object]",Hn="[object Promise]",Yn="[object RegExp]",Qn="[object Set]",Xn="[object String]",nt="[object Symbol]",rt="[object WeakMap]",ut="[object ArrayBuffer]",it="[object DataView]",ot="[object Float32Array]",ft="[object Float64Array]",ct="[object Int8Array]",at="[object Int16Array]",lt="[object Int32Array]",st="[object Uint8Array]",ht="[object Uint8ClampedArray]",pt="[object Uint16Array]",_t="[object Uint32Array]",vt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,dt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,wt=RegExp(dt.source),mt=RegExp(bt.source),xt=/<%-([\s\S]+?)%>/g,jt=/<%([\s\S]+?)%>/g,At=/<%=([\s\S]+?)%>/g,kt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ot=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,zt=RegExp(Rt.source),Et=/^\s+|\s+$/g,St=/^\s+/,Wt=/\s+$/,Lt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ct=/\{\n\/\* \[wrapped with (.+)\] \*/,Ut=/,? & /,Bt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Tt=/\\(\\)?/g,$t=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Dt=/\w*$/,Mt=/^[-+]0x[0-9a-f]+$/i,Ft=/^0b[01]+$/i,Nt=/^\[object .+?Constructor\]$/,Pt=/^0o[0-7]+$/i,qt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Vt=/['\n\r\u2028\u2029\\]/g,Gt="\\ud800-\\udfff",Qt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Xt="\\u2700-\\u27bf",nr="a-z\\xdf-\\xf6\\xf8-\\xff",ir="A-Z\\xc0-\\xd6\\xd8-\\xde",or="\\ufe0e\\ufe0f",fr="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",cr="['’]",ar="["+Gt+"]",lr="["+fr+"]",sr="["+Qt+"]",hr="\\d+",pr="["+Xt+"]",_r="["+nr+"]",vr="[^"+Gt+fr+hr+Xt+nr+ir+"]",gr="\\ud83c[\\udffb-\\udfff]",dr="[^"+Gt+"]",br="(?:\\ud83c[\\udde6-\\uddff]){2}",wr="[\\ud800-\\udbff][\\udc00-\\udfff]",mr="["+ir+"]",jr="(?:"+_r+"|"+vr+")",Ar="(?:"+mr+"|"+vr+")",kr="(?:['’](?:d|ll|m|re|s|t|ve))?",Or="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ir="(?:"+sr+"|"+gr+")"+"?",Rr="["+or+"]?",Wr=Rr+Ir+("(?:\\u200d(?:"+[dr,br,wr].join("|")+")"+Rr+Ir+")*"),Lr="(?:"+[pr,br,wr].join("|")+")"+Wr,Cr="(?:"+[dr+sr+"?",sr,br,wr,ar].join("|")+")",Ur=RegExp(cr,"g"),Br=RegExp(sr,"g"),Tr=RegExp(gr+"(?="+gr+")|"+Cr+Wr,"g"),$r=RegExp([mr+"?"+_r+"+"+kr+"(?="+[lr,mr,"$"].join("|")+")",Ar+"+"+Or+"(?="+[lr,mr+jr,"$"].join("|")+")",mr+"?"+jr+"+"+kr,mr+"+"+Or,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hr,Lr].join("|"),"g"),Dr=RegExp("[\\u200d"+Gt+Qt+or+"]"),Mr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Nr=-1,Pr={};Pr[ot]=Pr[ft]=Pr[ct]=Pr[at]=Pr[lt]=Pr[st]=Pr[ht]=Pr[pt]=Pr[_t]=!0,Pr[Bn]=Pr[Tn]=Pr[ut]=Pr[Dn]=Pr[it]=Pr[Mn]=Pr[Nn]=Pr[Pn]=Pr[Zn]=Pr[Kn]=Pr[Gn]=Pr[Yn]=Pr[Qn]=Pr[Xn]=Pr[rt]=!1;var qr={};qr[Bn]=qr[Tn]=qr[ut]=qr[it]=qr[Dn]=qr[Mn]=qr[ot]=qr[ft]=qr[ct]=qr[at]=qr[lt]=qr[Zn]=qr[Kn]=qr[Gn]=qr[Yn]=qr[Qn]=qr[Xn]=qr[nt]=qr[st]=qr[ht]=qr[pt]=qr[_t]=!0,qr[Nn]=qr[Pn]=qr[rt]=!1;var Gr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Hr=parseFloat,Jr=parseInt,Yr="object"==typeof global&&global&&global.Object===Object&&global,Qr="object"==typeof self&&self&&self.Object===Object&&self,Xr=Yr||Qr||Function("return this")(),ne="object"==typeof exports&&exports&&!exports.nodeType&&exports,te=ne&&"object"==typeof module&&module&&!module.nodeType&&module,re=te&&te.exports===ne,ee=re&&Yr.process,ue=function(){try{var n=te&&te.require&&te.require("util").types;return n||ee&&ee.binding&&ee.binding("util")}catch(n){}}(),ie=ue&&ue.isArrayBuffer,oe=ue&&ue.isDate,fe=ue&&ue.isMap,ce=ue&&ue.isRegExp,ae=ue&&ue.isSet,le=ue&&ue.isTypedArray,se=m("length"),he=x({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),pe=x({"&":"&","<":"<",">":">",'"':""","'":"'"}),_e=x({"&":"&","<":"<",">":">",""":'"',"'":"'"}),ge=function p(x){function q(n){if(oc(n)&&!yh(n)&&!(n instanceof Bt)){if(n instanceof H)return n;if(yl.call(n,"__wrapped__"))return to(n)}return new H(n)}function G(){}function H(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=Y}function Bt(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Wn,this.__views__=[]}function Yt(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function er(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function ar(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function vr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new ar;++t<r;)this.add(n[t])}function dr(n){this.size=(this.__data__=new er(n)).size}function Ar(n,t){var r=yh(n),e=!r&&gh(n),u=!r&&!e&&bh(n),i=!r&&!e&&!u&&Ah(n),o=r||e||u||i,f=o?O(n.length,ll):[],c=f.length;for(var a in n)!t&&!yl.call(n,a)||o&&("length"==a||u&&("offset"==a||"parent"==a)||i&&("buffer"==a||"byteLength"==a||"byteOffset"==a)||Wi(a,c))||f.push(a);return f}function kr(n){var t=n.length;return t?n[Xe(0,t-1)]:Y}function Or(n,t){return Yi(Uu(n),$r(t,0,n.length))}function Ir(n){return Yi(Uu(n))}function Rr(n,t,r){(r===Y||Kf(n[t],r))&&(r!==Y||t in n)||Cr(n,t,r)}function zr(n,t,r){var e=n[t];yl.call(n,t)&&Kf(e,r)&&(r!==Y||t in n)||Cr(n,t,r)}function Er(n,t){for(var r=n.length;r--;)if(Kf(n[r][0],t))return r;return-1}function Sr(n,t,r,e){return vs(n,(function(n,u,i){t(e,n,r(n),i)})),e}function Wr(n,t){return n&&Bu(t,Fc(t),n)}function Cr(n,t,r){"__proto__"==t&&Ul?Ul(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=el(e),i=null==n;++r<e;)u[r]=i?Y:$c(n,t[r]);return u}function $r(n,t,r){return n==n&&(r!==Y&&(n=n<=r?n:r),t!==Y&&(n=n>=t?n:t)),n}function Dr(n,t,e,u,i,o){var f,c=1&t,a=2&t,l=4&t;if(e&&(f=i?e(n,u,i,o):e(n)),f!==Y)return f;if(!ic(n))return n;var s=yh(n);if(s){if(f=function(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&yl.call(n,"index")&&(r.index=n.index,r.input=n.input),r}(n),!c)return Uu(n,f)}else{var h=Is(n),p=h==Pn||h==qn;if(bh(n))return ku(n,c);if(h==Gn||h==Bn||p&&!i){if(f=a||p?{}:Ri(n),!c)return a?function(n,t){return Bu(n,Os(n),t)}(n,function(n,t){return n&&Bu(t,Nc(t),n)}(f,n)):function(n,t){return Bu(n,ks(n),t)}(n,Wr(f,n))}else{if(!qr[h])return i?n:{};f=function(n,t,r){var e=n.constructor;switch(t){case ut:return Ou(n);case Dn:case Mn:return new e(+n);case it:return function(n,t){return new n.constructor(t?Ou(n.buffer):n.buffer,n.byteOffset,n.byteLength)}(n,r);case ot:case ft:case ct:case at:case lt:case st:case ht:case pt:case _t:return Eu(n,r);case Zn:return new e;case Kn:case Xn:return new e(n);case Yn:return function(n){var t=new n.constructor(n.source,Dt.exec(n));return t.lastIndex=n.lastIndex,t}(n);case Qn:return new e;case nt:return function(n){return hs?cl(hs.call(n)):{}}(n)}}(n,h,c)}}o||(o=new dr);var _=o.get(n);if(_)return _;o.set(n,f),jh(n)?n.forEach((function(r){f.add(Dr(r,t,e,r,n,o))})):mh(n)&&n.forEach((function(r,u){f.set(u,Dr(r,t,e,u,n,o))}));var g=s?Y:(l?a?gi:vi:a?Nc:Fc)(n);return r(g||n,(function(r,u){g&&(r=n[u=r]),zr(f,u,Dr(r,t,e,u,n,o))})),f}function Zr(n,t,r){var e=r.length;if(null==n)return!e;for(n=cl(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===Y&&!(u in n)||!i(o))return!1}return!0}function Kr(n,t,r){if("function"!=typeof n)throw new sl(tn);return Es((function(){n.apply(Y,r)}),t)}function Vr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=c(t,R(r))),e?(i=f,a=!1):t.length>=200&&(i=E,a=!1,t=new vr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_==_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Gr(n,t){var r=!0;return vs(n,(function(n,e,u){return r=!!t(n,e,u)})),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===Y?o==o&&!yc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t){var r=[];return vs(n,(function(n,e,u){t(n,e,u)&&r.push(n)})),r}function te(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Si),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?te(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ee(n,t){return n&&ys(n,t,Fc)}function ue(n,t){return n&&ds(n,t,Fc)}function se(n,t){return i(t,(function(t){return rc(n[t])}))}function ve(n,t){for(var r=0,e=(t=ju(t,n)).length;null!=n&&r<e;)n=n[Qi(t[r++])];return r&&r==e?n:Y}function ye(n,t,r){var e=t(n);return yh(n)?e:a(e,r(n))}function de(n){return null==n?n===Y?"[object Undefined]":"[object Null]":Cl&&Cl in cl(n)?function(n){var t=yl.call(n,Cl),r=n[Cl];try{n[Cl]=Y;var e=!0}catch(n){}var u=wl.call(n);return e&&(t?n[Cl]=r:delete n[Cl]),u}(n):function(n){return wl.call(n)}(n)}function be(n,t){return n>t}function we(n,t){return null!=n&&yl.call(n,t)}function me(n,t){return null!=n&&t in cl(n)}function je(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=el(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,R(t))),s=Vl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new vr(a&&p):Y}p=n[0];var _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?E(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?E(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function ke(t,r,e){var u=null==(t=Ki(t,r=ju(r,t)))?t:t[Qi(mo(r))];return null==u?Y:n(u,t,e)}function Oe(n){return oc(n)&&de(n)==Bn}function ze(n,t,r,e,u){return n===t||(null==n||null==t||!oc(n)&&!oc(t)?n!=n&&t!=t:function(n,t,r,e,u,i){var o=yh(n),f=yh(t),c=o?Tn:Is(n),a=f?Tn:Is(t),l=(c=c==Bn?Gn:c)==Gn,s=(a=a==Bn?Gn:a)==Gn,h=c==a;if(h&&bh(n)){if(!bh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new dr),o||Ah(n)?si(n,t,r,e,u,i):function(n,t,r,e,u,i,o){switch(r){case it:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case ut:return!(n.byteLength!=t.byteLength||!i(new Ol(n),new Ol(t)));case Dn:case Mn:case Kn:return Kf(+n,+t);case Nn:return n.name==t.name&&n.message==t.message;case Yn:case Xn:return n==t+"";case Zn:var f=D;case Qn:var c=1&e;if(f||(f=N),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=2,o.set(n,t);var l=si(f(n),f(t),e,u,i,o);return o.delete(n),l;case nt:if(hs)return hs.call(n)==hs.call(t)}return!1}(n,t,c,r,e,u,i);if(!(1&r)){var p=l&&yl.call(n,"__wrapped__"),_=s&&yl.call(t,"__wrapped__");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new dr),u(v,g,r,e,i)}}return!!h&&(i||(i=new dr),function(n,t,r,e,u,i){var o=1&r,f=vi(n),c=f.length;if(c!=vi(t).length&&!o)return!1;for(var a=c;a--;){var l=f[a];if(!(o?l in t:yl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){var v=n[l=f[a]],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===Y?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_="constructor"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&"constructor"in n&&"constructor"in t&&!("function"==typeof d&&d instanceof d&&"function"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),i.delete(t),p}(n,t,r,e,u,i))}(n,t,r,e,ze,u))}function We(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=cl(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){var c=(f=r[u])[0],a=n[c],l=f[1];if(o&&f[2]){if(a===Y&&!(c in n))return!1}else{var s=new dr;if(e)var h=e(a,l,c,n,t,s);if(!(h===Y?ze(l,a,3,e,s):h))return!1}}return!0}function Le(n){return!(!ic(n)||function(n){return!!bl&&bl in n}(n))&&(rc(n)?jl:Nt).test(Xi(n))}function Te(n){return"function"==typeof n?n:null==n?Sa:"object"==typeof n?yh(n)?Pe(n[0],n[1]):Ne(n):Da(n)}function $e(n){if(!$i(n))return Zl(n);var t=[];for(var r in cl(n))yl.call(n,r)&&"constructor"!=r&&t.push(r);return t}function De(n){if(!ic(n))return function(n){var t=[];if(null!=n)for(var r in cl(n))t.push(r);return t}(n);var t=$i(n),r=[];for(var e in n)("constructor"!=e||!t&&yl.call(n,e))&&r.push(e);return r}function Me(n,t){return n<t}function Fe(n,t){var r=-1,e=Vf(n)?el(n.length):[];return vs(n,(function(n,u,i){e[++r]=t(n,u,i)})),e}function Ne(n){var t=mi(n);return 1==t.length&&t[0][2]?Mi(t[0][0],t[0][1]):function(r){return r===n||We(r,n,t)}}function Pe(n,t){return Ci(n)&&Di(t)?Mi(Qi(n),t):function(r){var e=$c(r,n);return e===Y&&e===t?Mc(r,n):ze(t,e,3)}}function qe(n,t,r,e,u){n!==t&&ys(t,(function(i,o){if(u||(u=new dr),ic(i))!function(n,t,r,e,u,i,o){var f=Gi(n,r),c=Gi(t,r),a=o.get(c);if(a)return Rr(n,r,a),Y;var l=i?i(f,c,r+"",n,t,o):Y,s=l===Y;if(s){var h=yh(c),p=!h&&bh(c),_=!h&&!p&&Ah(c);l=c,h||p||_?yh(f)?l=f:Gf(f)?l=Uu(f):p?(s=!1,l=ku(c,!0)):_?(s=!1,l=Eu(c,!0)):l=[]:_c(c)||gh(c)?(l=f,gh(f)?l=Oc(f):ic(f)&&!rc(f)||(l=Ri(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Rr(n,r,l)}(n,t,o,r,qe,e,u);else{var f=e?e(Gi(n,o),i,o+"",n,t,u):Y;f===Y&&(f=i),Rr(n,o,f)}}),Nc)}function Ke(n,t){var r=n.length;if(r)return Wi(t+=t<0?r:0,r)?n[t]:Y}function Ve(n,t,r){t=t.length?c(t,(function(n){return yh(n)?function(t){return ve(t,1===n.length?n[0]:n)}:n})):[Sa];var e=-1;return t=c(t,R(bi())),function(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}(Fe(n,(function(n,r,u){return{criteria:c(t,(function(t){return t(n)})),index:++e,value:n}})),(function(n,t){return function(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Su(u[e],i[e]);if(c)return e>=f?c:c*("desc"==r[e]?-1:1)}return n.index-t.index}(n,t,r)}))}function He(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=ve(n,o);r(f,o)&&iu(i,ju(o,n),f)}return i}function Ye(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Uu(t)),r&&(f=c(n,R(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Sl.call(f,a,1),Sl.call(n,a,1);return n}function Qe(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;Wi(u)?Sl.call(n,u,1):vu(n,u)}}return n}function Xe(n,t){return n+Ml(Jl()*(t-n+1))}function tu(n,t){var r="";if(!n||t<1||t>zn)return r;do{t%2&&(r+=n),(t=Ml(t/2))&&(n+=n)}while(t);return r}function ru(n,t){return Ss(Zi(n,t,Sa),n+"")}function eu(n){return kr(na(n))}function uu(n,t){var r=na(n);return Yi(r,$r(t,0,r.length))}function iu(n,t,r,e){if(!ic(n))return n;for(var u=-1,i=(t=ju(t,n)).length,o=i-1,f=n;null!=f&&++u<i;){var c=Qi(t[u]),a=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return n;if(u!=o){var l=f[c];(a=e?e(l,c,f):Y)===Y&&(a=ic(l)?l:Wi(t[u+1])?[]:{})}zr(f,c,a),f=f[c]}return n}function ou(n){return Yi(na(n))}function fu(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),(r=r>u?u:r)<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=el(u);++e<u;)i[e]=n[e+t];return i}function cu(n,t){var r;return vs(n,(function(n,e,u){return!(r=t(n,e,u))})),!!r}function au(n,t,r){var e=0,u=null==n?e:n.length;if("number"==typeof t&&t==t&&u<=2147483647){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!yc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return lu(n,t,Sa,r)}function lu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;for(var o=(t=r(t))!=t,f=null===t,c=yc(t),a=t===Y;u<i;){var l=Ml((u+i)/2),s=r(n[l]),h=s!==Y,p=null===s,_=s==s,v=yc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Vl(i,4294967294)}function su(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!Kf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function hu(n){return"number"==typeof n?n:yc(n)?Sn:+n}function pu(n){if("string"==typeof n)return n;if(yh(n))return c(n,pu)+"";if(yc(n))return ps?ps.call(n):"";var t=n+"";return"0"==t&&1/n==-Rn?"-0":t}function _u(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=200){var s=t?null:js(n);if(s)return N(s);c=!1,u=E,l=new vr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p==p){for(var _=l.length;_--;)if(l[_]===p)continue n;t&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function vu(n,t){return null==(n=Ki(n,t=ju(t,n)))||delete n[Qi(mo(t))]}function gu(n,t,r,e){return iu(n,t,r(ve(n,t)),e)}function yu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?fu(n,e?0:i,e?i+1:u):fu(n,e?i+1:0,e?u:i)}function du(n,t){var r=n;return r instanceof Bt&&(r=r.value()),l(t,(function(n,t){return t.func.apply(t.thisArg,a([n],t.args))}),r)}function bu(n,t,r){var e=n.length;if(e<2)return e?_u(n[0]):[];for(var u=-1,i=el(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Vr(i[u]||o,n[f],t,r));return _u(te(i,1),t,r)}function wu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:Y);return o}function mu(n){return Gf(n)?n:[]}function xu(n){return"function"==typeof n?n:Sa}function ju(n,t){return yh(n)?n:Ci(n,t)?[n]:Ws(Rc(n))}function Au(n,t,r){var e=n.length;return r=r===Y?e:r,!t&&r>=e?n:fu(n,t,r)}function ku(n,t){if(t)return n.slice();var r=n.length,e=Il?Il(r):new n.constructor(r);return n.copy(e),e}function Ou(n){var t=new n.constructor(n.byteLength);return new Ol(t).set(new Ol(n)),t}function Eu(n,t){return new n.constructor(t?Ou(n.buffer):n.buffer,n.byteOffset,n.length)}function Su(n,t){if(n!==t){var r=n!==Y,e=null===n,u=n==n,i=yc(n),o=t!==Y,f=null===t,c=t==t,a=yc(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Lu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Kl(i-o,0),l=el(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Cu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Kl(i-f,0),s=el(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Uu(n,t){var r=-1,e=n.length;for(t||(t=el(e));++r<e;)t[r]=n[r];return t}function Bu(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):Y;c===Y&&(c=n[f]),u?Cr(r,f,c):zr(r,f,c)}return r}function Du(n,r){return function(e,u){var i=yh(e)?t:Sr,o=r?r():{};return i(e,n,bi(u,2),o)}}function Mu(n){return ru((function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:Y,o=u>2?r[2]:Y;for(i=n.length>3&&"function"==typeof i?(u--,i):Y,o&&Li(r[0],r[1],o)&&(i=u<3?Y:i,u=1),t=cl(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t}))}function Fu(n,t){return function(r,e){if(null==r)return r;if(!Vf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=cl(r);(t?i--:++i<u)&&!1!==e(o[i],i,o););return r}}function Nu(n){return function(t,r,e){for(var u=-1,i=cl(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(!1===r(i[c],c,i))break}return t}}function qu(n){return function(t){var r=B(t=Rc(t))?V(t):Y,e=r?r[0]:t.charAt(0),u=r?Au(r,1).join(""):t.slice(1);return e[n]()+u}}function Zu(n){return function(t){return l(Oa(oa(t).replace(Ur,"")),n,"")}}function Ku(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=_s(n.prototype),e=n.apply(r,t);return ic(e)?e:r}}function Vu(t,r,e){var i=Ku(t);return function u(){for(var o=arguments.length,f=el(o),c=o,a=di(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:F(f,a);return(o-=l.length)<e?ui(t,r,Ju,u.placeholder,Y,f,l,Y,Y,e-o):n(this&&this!==Xr&&this instanceof u?i:t,this,f)}}function Gu(n){return function(t,r,e){var u=cl(t);if(!Vf(t)){var i=bi(r,3);t=Fc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:Y}}function Hu(n){return _i((function(t){var r=t.length,e=r,u=H.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if("function"!=typeof i)throw new sl(tn);if(u&&!o&&"wrapper"==yi(i))var o=new H([],!0)}for(e=o?e:r;++e<r;){var f=yi(i=t[e]),c="wrapper"==f?As(i):Y;o=c&&Bi(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?o[yi(c[0])].apply(o,c[3]):1==i.length&&Bi(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&yh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}}))}function Ju(n,t,r,e,u,i,o,f,c,a){var s=t&dn,h=1&t,p=2&t,_=24&t,v=512&t,g=p?Y:Ku(n);return function l(){for(var y=arguments.length,d=el(y),b=y;b--;)d[b]=arguments[b];if(_)var w=di(l),m=L(d,w);if(e&&(d=Lu(d,e,u,_)),i&&(d=Cu(d,i,o,_)),y-=m,_&&y<a)return ui(n,t,Ju,l.placeholder,r,d,F(d,w),f,c,a-y);var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Vi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==Xr&&this instanceof l&&(j=g||Ku(j)),j.apply(x,d)}}function Yu(n,t){return function(r,e){return function(n,t,r,e){return ee(n,(function(n,u,i){t(e,r(n),u,i)})),e}(r,n,t(e),{})}}function Qu(n,t){return function(r,e){var u;if(r===Y&&e===Y)return t;if(r!==Y&&(u=r),e!==Y){if(u===Y)return e;"string"==typeof r||"string"==typeof e?(r=pu(r),e=pu(e)):(r=hu(r),e=hu(e)),u=n(r,e)}return u}}function Xu(t){return _i((function(r){return r=c(r,R(bi())),ru((function(e){var u=this;return t(r,(function(t){return n(t,u,e)}))}))}))}function ni(n,t){var r=(t=t===Y?" ":pu(t)).length;if(r<2)return r?tu(t,n):t;var e=tu(t,Dl(n/K(t)));return B(t)?Au(V(e),0,n).join(""):e.slice(0,n)}function ti(t,r,e,u){var o=1&r,f=Ku(t);return function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=el(l+c),h=this&&this!==Xr&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];return n(h,o?e:this,s)}}function ri(n){return function(t,r,e){return e&&"number"!=typeof e&&Li(t,r,e)&&(r=e=Y),t=xc(t),r===Y?(r=t,t=0):r=xc(r),function(n,t,r,e){for(var u=-1,i=Kl(Dl((t-n)/(r||1)),0),o=el(i);i--;)o[e?i:++u]=n,n+=r;return o}(t,r,e=e===Y?t<r?1:-1:xc(e),n)}}function ei(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=kc(t),r=kc(r)),n(t,r)}}function ui(n,t,r,e,u,i,o,f,c,a){var l=8&t;t|=l?32:64,4&(t&=~(l?64:32))||(t&=-4);var v=[n,t,u,l?i:Y,l?o:Y,l?Y:i,l?Y:o,f,c,a],g=r.apply(Y,v);return Bi(n)&&zs(g,v),g.placeholder=e,Hi(g,n,t)}function ii(n){var t=fl[n];return function(n,r){if(n=kc(n),(r=null==r?0:Vl(jc(r),292))&&Pl(n)){var e=(Rc(n)+"e").split("e");return+((e=(Rc(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(+e[1]-r))}return t(n)}}function oi(n){return function(t){var r=Is(t);return r==Zn?D(t):r==Qn?function(n){var t=-1,r=Array(n.size);return n.forEach((function(n){r[++t]=[n,n]})),r}(t):function(n,t){return c(t,(function(t){return[t,n[t]]}))}(t,n(t))}}function fi(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&"function"!=typeof n)throw new sl(tn);var a=e?e.length:0;if(a||(t&=-97,e=u=Y),o=o===Y?o:Kl(jc(o),0),f=f===Y?f:jc(f),a-=u?u.length:0,64&t){var l=e,s=u;e=u=Y}var h=c?Y:As(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&function(n,t){var r=n[1],e=t[1],u=r|e,i=u<131,o=e==dn&&8==r||e==dn&&256==r&&n[7].length<=t[8]||384==e&&t[7].length<=t[8]&&8==r;if(!i&&!o)return n;1&e&&(n[2]=t[2],u|=1&r?0:4);var f=t[3];if(f){var c=n[3];n[3]=c?Lu(c,f,t[4]):f,n[4]=c?F(n[3],un):t[4]}(f=t[5])&&(c=n[5],n[5]=c?Cu(c,f,t[6]):f,n[6]=c?F(n[5],un):t[6]),(f=t[7])&&(n[7]=f),e&dn&&(n[8]=null==n[8]?t[8]:Vl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u}(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],!(f=p[9]=p[9]===Y?c?0:n.length:Kl(p[9]-a,0))&&24&t&&(t&=-25),t&&1!=t)_=8==t||16==t?Vu(n,t,f):32!=t&&33!=t||u.length?Ju.apply(Y,p):ti(n,t,r,e);else var _=function(n,t,r){var u=1&t,i=Ku(n);return function e(){return(this&&this!==Xr&&this instanceof e?i:n).apply(u?r:this,arguments)}}(n,t,r);return Hi((h?bs:zs)(_,p),n,t)}function ci(n,t,r,e){return n===Y||Kf(n,_l[r])&&!yl.call(e,r)?t:n}function ai(n,t,r,e,u,i){return ic(n)&&ic(t)&&(i.set(t,n),qe(n,t,Y,ai,i),i.delete(t)),n}function li(n){return _c(n)?Y:n}function si(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=2&r?new vr:Y;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==Y){if(y)continue;p=!1;break}if(_){if(!h(t,(function(n,t){if(!E(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)}))){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n){return Ss(Zi(n,Y,ho),n+"")}function vi(n){return ye(n,Fc,ks)}function gi(n){return ye(n,Nc,Os)}function yi(n){for(var t=n.name+"",r=is[t],e=yl.call(is,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function di(n){return(yl.call(q,"placeholder")?q:n).placeholder}function bi(){var n=q.iteratee||Wa;return n=n===Wa?Te:n,arguments.length?n(arguments[0],arguments[1]):n}function wi(n,t){var r=n.__data__;return function(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n}(t)?r["string"==typeof t?"string":"hash"]:r.map}function mi(n){for(var t=Fc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Di(u)]}return t}function xi(n,t){var r=function(n,t){return null==n?Y:n[t]}(n,t);return Le(r)?r:Y}function Oi(n,t,r){for(var e=-1,u=(t=ju(t,n)).length,i=!1;++e<u;){var o=Qi(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&uc(u)&&Wi(o,u)&&(yh(n)||gh(n))}function Ri(n){return"function"!=typeof n.constructor||$i(n)?{}:_s(Rl(n))}function Si(n){return yh(n)||gh(n)||!!(Wl&&n&&n[Wl])}function Wi(n,t){var r=typeof n;return!!(t=null==t?zn:t)&&("number"==r||"symbol"!=r&&qt.test(n))&&n>-1&&n%1==0&&n<t}function Li(n,t,r){if(!ic(r))return!1;var e=typeof t;return!!("number"==e?Vf(r)&&Wi(t,r.length):"string"==e&&t in r)&&Kf(r[t],n)}function Ci(n,t){if(yh(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!yc(n))||Ot.test(n)||!kt.test(n)||null!=t&&n in cl(t)}function Bi(n){var t=yi(n),r=q[t];if("function"!=typeof r||!(t in Bt.prototype))return!1;if(n===r)return!0;var e=As(r);return!!e&&n===e[0]}function $i(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||_l)}function Di(n){return n==n&&!ic(n)}function Mi(n,t){return function(r){return null!=r&&r[n]===t&&(t!==Y||n in cl(r))}}function Zi(t,r,e){return r=Kl(r===Y?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Kl(u.length-r,0),f=el(o);++i<o;)f[i]=u[r+i];i=-1;for(var c=el(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Ki(n,t){return t.length<2?n:ve(n,fu(t,0,-1))}function Vi(n,t){for(var r=n.length,e=Vl(t.length,r),u=Uu(n);e--;){var i=t[e];n[e]=Wi(i,r)?u[i]:Y}return n}function Gi(n,t){if(("constructor"!==t||"function"!=typeof n[t])&&"__proto__"!=t)return n[t]}function Hi(n,t,r){var e=t+"";return Ss(n,function(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(Lt,"{\n/* [wrapped with "+t+"] */\n")}(e,no(function(n){var t=n.match(Ct);return t?t[1].split(Ut):[]}(e),r)))}function Ji(n){var t=0,r=0;return function(){var e=Gl(),u=16-(e-r);if(r=e,u>0){if(++t>=800)return arguments[0]}else t=0;return n.apply(Y,arguments)}}function Yi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===Y?e:t;++r<t;){var i=Xe(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function Qi(n){if("string"==typeof n||yc(n))return n;var t=n+"";return"0"==t&&1/n==-Rn?"-0":t}function Xi(n){if(null!=n){try{return gl.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function no(n,t){return r(Un,(function(r){var e="_."+r[0];t&r[1]&&!o(n,e)&&n.push(e)})),n.sort()}function to(n){if(n instanceof Bt)return n.clone();var t=new H(n.__wrapped__,n.__chain__);return t.__actions__=Uu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function lo(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:jc(r);return u<0&&(u=Kl(e+u,0)),g(n,bi(t,3),u)}function so(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==Y&&(u=jc(r),u=r<0?Kl(e+u,0):Vl(u,e-1)),g(n,bi(t,3),u,!0)}function ho(n){return null!=n&&n.length?te(n,1):[]}function go(n){return n&&n.length?n[0]:Y}function mo(n){var t=null==n?0:n.length;return t?n[t-1]:Y}function Ao(n,t){return n&&n.length&&t&&t.length?Ye(n,t):n}function Ro(n){return null==n?n:Yl.call(n)}function Ko(n){if(!n||!n.length)return[];var t=0;return n=i(n,(function(n){if(Gf(n))return t=Kl(n.length,t),!0})),O(t,(function(t){return c(n,m(t))}))}function Vo(t,r){if(!t||!t.length)return[];var e=Ko(t);return null==r?e:c(e,(function(t){return n(r,Y,t)}))}function Jo(n){var t=q(n);return t.__chain__=!0,t}function Qo(n,t){return t(n)}function hf(n,t){return(yh(n)?r:vs)(n,bi(t,3))}function pf(n,t){return(yh(n)?e:gs)(n,bi(t,3))}function vf(n,t){return(yh(n)?c:Fe)(n,bi(t,3))}function Of(n,t,r){return t=r?Y:t,t=n&&null==t?n.length:t,fi(n,dn,Y,Y,Y,Y,t)}function If(n,t){var r;if("function"!=typeof t)throw new sl(tn);return n=jc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=Y),r}}function Ef(n,t,r){function e(t){var r=h,e=p;return h=p=Y,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Es(f,t),b?e(n):v}function o(n){var r=n-y;return y===Y||r>=t||r<0||w&&n-d>=_}function f(){var n=ih();return o(n)?c(n):(g=Es(f,function(n){var u=t-(n-y);return w?Vl(u,_-(n-d)):u}(n)),Y)}function c(n){return g=Y,m&&h?e(n):(h=p=Y,v)}function s(){var n=ih(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===Y)return u(y);if(w)return xs(g),g=Es(f,t),e(y)}return g===Y&&(g=Es(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if("function"!=typeof n)throw new sl(tn);return t=kc(t)||0,ic(r)&&(b=!!r.leading,_=(w="maxWait"in r)?Kl(kc(r.maxWait)||0,t):_,m="trailing"in r?!!r.trailing:m),s.cancel=function(){g!==Y&&xs(g),d=0,h=y=p=g=Y},s.flush=function(){return g===Y?v:c(ih())},s}function Wf(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new sl(tn);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Wf.Cache||ar),r}function Lf(n){if("function"!=typeof n)throw new sl(tn);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Kf(n,t){return n===t||n!=n&&t!=t}function Vf(n){return null!=n&&uc(n.length)&&!rc(n)}function Gf(n){return oc(n)&&Vf(n)}function nc(n){if(!oc(n))return!1;var t=de(n);return t==Nn||"[object DOMException]"==t||"string"==typeof n.message&&"string"==typeof n.name&&!_c(n)}function rc(n){if(!ic(n))return!1;var t=de(n);return t==Pn||t==qn||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ec(n){return"number"==typeof n&&n==jc(n)}function uc(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=zn}function ic(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function oc(n){return null!=n&&"object"==typeof n}function pc(n){return"number"==typeof n||oc(n)&&de(n)==Kn}function _c(n){if(!oc(n)||de(n)!=Gn)return!1;var t=Rl(n);if(null===t)return!0;var r=yl.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&gl.call(r)==ml}function gc(n){return"string"==typeof n||!yh(n)&&oc(n)&&de(n)==Xn}function yc(n){return"symbol"==typeof n||oc(n)&&de(n)==nt}function mc(n){if(!n)return[];if(Vf(n))return gc(n)?V(n):Uu(n);if(Ll&&n[Ll])return function(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}(n[Ll]());var t=Is(n);return(t==Zn?D:t==Qn?N:na)(n)}function xc(n){return n?(n=kc(n))===Rn||n===-Rn?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}function jc(n){var t=xc(n),r=t%1;return t==t?r?t-r:t:0}function Ac(n){return n?$r(jc(n),0,Wn):0}function kc(n){if("number"==typeof n)return n;if(yc(n))return Sn;if(ic(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=ic(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(Et,"");var r=Ft.test(n);return r||Pt.test(n)?Jr(n.slice(2),r?2:8):Mt.test(n)?Sn:+n}function Oc(n){return Bu(n,Nc(n))}function Rc(n){return null==n?"":pu(n)}function $c(n,t,r){var e=null==n?Y:ve(n,t);return e===Y?r:e}function Mc(n,t){return null!=n&&Oi(n,t,me)}function Fc(n){return Vf(n)?Ar(n):$e(n)}function Nc(n){return Vf(n)?Ar(n,!0):De(n)}function Kc(n,t){if(null==n)return{};var r=c(gi(n),(function(n){return[n]}));return t=bi(t),He(n,r,(function(n,r){return t(n,r[0])}))}function na(n){return null==n?[]:z(n,Fc(n))}function ia(n){return Jh(Rc(n).toLowerCase())}function oa(n){return(n=Rc(n))&&n.replace(Zt,he).replace(Br,"")}function Oa(n,t,r){return n=Rc(n),(t=r?Y:t)===Y?T(n)?J(n):_(n):n.match(t)||[]}function za(n){return function(){return n}}function Sa(n){return n}function Wa(n){return Te("function"==typeof n?n:Dr(n,1))}function Ua(n,t,e){var u=Fc(t),i=se(t,u);null!=e||ic(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=se(t,Fc(t)));var o=!(ic(e)&&"chain"in e&&!e.chain),f=rc(n);return r(i,(function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Uu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})})),n}function Ta(){}function Da(n){return Ci(n)?m(Qi(n)):function(n){return function(t){return ve(t,n)}}(n)}function Fa(){return[]}function Na(){return!1}var el=(x=null==x?Xr:ge.defaults(Xr.Object(),x,ge.pick(Xr,Fr))).Array,ul=x.Date,il=x.Error,ol=x.Function,fl=x.Math,cl=x.Object,al=x.RegExp,ll=x.String,sl=x.TypeError,hl=el.prototype,pl=ol.prototype,_l=cl.prototype,vl=x["__core-js_shared__"],gl=pl.toString,yl=_l.hasOwnProperty,dl=0,bl=function(){var n=/[^.]+$/.exec(vl&&vl.keys&&vl.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),wl=_l.toString,ml=gl.call(cl),xl=Xr._,jl=al("^"+gl.call(yl).replace(Rt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Al=re?x.Buffer:Y,kl=x.Symbol,Ol=x.Uint8Array,Il=Al?Al.allocUnsafe:Y,Rl=M(cl.getPrototypeOf,cl),zl=cl.create,El=_l.propertyIsEnumerable,Sl=hl.splice,Wl=kl?kl.isConcatSpreadable:Y,Ll=kl?kl.iterator:Y,Cl=kl?kl.toStringTag:Y,Ul=function(){try{var n=xi(cl,"defineProperty");return n({},"",{}),n}catch(n){}}(),Bl=x.clearTimeout!==Xr.clearTimeout&&x.clearTimeout,Tl=ul&&ul.now!==Xr.Date.now&&ul.now,$l=x.setTimeout!==Xr.setTimeout&&x.setTimeout,Dl=fl.ceil,Ml=fl.floor,Fl=cl.getOwnPropertySymbols,Nl=Al?Al.isBuffer:Y,Pl=x.isFinite,ql=hl.join,Zl=M(cl.keys,cl),Kl=fl.max,Vl=fl.min,Gl=ul.now,Hl=x.parseInt,Jl=fl.random,Yl=hl.reverse,Ql=xi(x,"DataView"),Xl=xi(x,"Map"),ns=xi(x,"Promise"),ts=xi(x,"Set"),rs=xi(x,"WeakMap"),es=xi(cl,"create"),us=rs&&new rs,is={},os=Xi(Ql),fs=Xi(Xl),cs=Xi(ns),as=Xi(ts),ls=Xi(rs),ss=kl?kl.prototype:Y,hs=ss?ss.valueOf:Y,ps=ss?ss.toString:Y,_s=function(){function n(){}return function(t){if(!ic(t))return{};if(zl)return zl(t);n.prototype=t;var r=new n;return n.prototype=Y,r}}();q.templateSettings={escape:xt,evaluate:jt,interpolate:At,variable:"",imports:{_:q}},q.prototype=G.prototype,q.prototype.constructor=q,H.prototype=_s(G.prototype),H.prototype.constructor=H,Bt.prototype=_s(G.prototype),Bt.prototype.constructor=Bt,Yt.prototype.clear=function(){this.__data__=es?es(null):{},this.size=0},Yt.prototype.delete=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t},Yt.prototype.get=function(n){var t=this.__data__;if(es){var r=t[n];return r===rn?Y:r}return yl.call(t,n)?t[n]:Y},Yt.prototype.has=function(n){var t=this.__data__;return es?t[n]!==Y:yl.call(t,n)},Yt.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=es&&t===Y?rn:t,this},er.prototype.clear=function(){this.__data__=[],this.size=0},er.prototype.delete=function(n){var t=this.__data__,r=Er(t,n);return!(r<0||(r==t.length-1?t.pop():Sl.call(t,r,1),--this.size,0))},er.prototype.get=function(n){var t=this.__data__,r=Er(t,n);return r<0?Y:t[r][1]},er.prototype.has=function(n){return Er(this.__data__,n)>-1},er.prototype.set=function(n,t){var r=this.__data__,e=Er(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},ar.prototype.clear=function(){this.size=0,this.__data__={hash:new Yt,map:new(Xl||er),string:new Yt}},ar.prototype.delete=function(n){var t=wi(this,n).delete(n);return this.size-=t?1:0,t},ar.prototype.get=function(n){return wi(this,n).get(n)},ar.prototype.has=function(n){return wi(this,n).has(n)},ar.prototype.set=function(n,t){var r=wi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},vr.prototype.add=vr.prototype.push=function(n){return this.__data__.set(n,rn),this},vr.prototype.has=function(n){return this.__data__.has(n)},dr.prototype.clear=function(){this.__data__=new er,this.size=0},dr.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},dr.prototype.get=function(n){return this.__data__.get(n)},dr.prototype.has=function(n){return this.__data__.has(n)},dr.prototype.set=function(n,t){var r=this.__data__;if(r instanceof er){var e=r.__data__;if(!Xl||e.length<199)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new ar(e)}return r.set(n,t),this.size=r.size,this};var vs=Fu(ee),gs=Fu(ue,!0),ys=Nu(),ds=Nu(!0),bs=us?function(n,t){return us.set(n,t),n}:Sa,ws=Ul?function(n,t){return Ul(n,"toString",{configurable:!0,enumerable:!1,value:za(t),writable:!0})}:Sa,ms=ru,xs=Bl||function(n){return Xr.clearTimeout(n)},js=ts&&1/N(new ts([,-0]))[1]==Rn?function(n){return new ts(n)}:Ta,As=us?function(n){return us.get(n)}:Ta,ks=Fl?function(n){return null==n?[]:(n=cl(n),i(Fl(n),(function(t){return El.call(n,t)})))}:Fa,Os=Fl?function(n){for(var t=[];n;)a(t,ks(n)),n=Rl(n);return t}:Fa,Is=de;(Ql&&Is(new Ql(new ArrayBuffer(1)))!=it||Xl&&Is(new Xl)!=Zn||ns&&Is(ns.resolve())!=Hn||ts&&Is(new ts)!=Qn||rs&&Is(new rs)!=rt)&&(Is=function(n){var t=de(n),r=t==Gn?n.constructor:Y,e=r?Xi(r):"";if(e)switch(e){case os:return it;case fs:return Zn;case cs:return Hn;case as:return Qn;case ls:return rt}return t});var Rs=vl?rc:Na,zs=Ji(bs),Es=$l||function(n,t){return Xr.setTimeout(n,t)},Ss=Ji(ws),Ws=function(n){var t=Wf(n,(function(n){return 500===r.size&&r.clear(),n})),r=t.cache;return t}((function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(It,(function(n,r,e,u){t.push(e?u.replace(Tt,"$1"):r||n)})),t})),Ls=ru((function(n,t){return Gf(n)?Vr(n,te(t,1,Gf,!0)):[]})),Cs=ru((function(n,t){var r=mo(t);return Gf(r)&&(r=Y),Gf(n)?Vr(n,te(t,1,Gf,!0),bi(r,2)):[]})),Us=ru((function(n,t){var r=mo(t);return Gf(r)&&(r=Y),Gf(n)?Vr(n,te(t,1,Gf,!0),Y,r):[]})),Bs=ru((function(n){var t=c(n,mu);return t.length&&t[0]===n[0]?je(t):[]})),Ts=ru((function(n){var t=mo(n),r=c(n,mu);return t===mo(r)?t=Y:r.pop(),r.length&&r[0]===n[0]?je(r,bi(t,2)):[]})),$s=ru((function(n){var t=mo(n),r=c(n,mu);return(t="function"==typeof t?t:Y)&&r.pop(),r.length&&r[0]===n[0]?je(r,Y,t):[]})),Ds=ru(Ao),Ms=_i((function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return Qe(n,c(t,(function(n){return Wi(n,r)?+n:n})).sort(Su)),e})),Fs=ru((function(n){return _u(te(n,1,Gf,!0))})),Ns=ru((function(n){var t=mo(n);return Gf(t)&&(t=Y),_u(te(n,1,Gf,!0),bi(t,2))})),Ps=ru((function(n){var t=mo(n);return t="function"==typeof t?t:Y,_u(te(n,1,Gf,!0),Y,t)})),qs=ru((function(n,t){return Gf(n)?Vr(n,t):[]})),Zs=ru((function(n){return bu(i(n,Gf))})),Ks=ru((function(n){var t=mo(n);return Gf(t)&&(t=Y),bu(i(n,Gf),bi(t,2))})),Vs=ru((function(n){var t=mo(n);return t="function"==typeof t?t:Y,bu(i(n,Gf),Y,t)})),Gs=ru(Ko),Hs=ru((function(n){var t=n.length,r=t>1?n[t-1]:Y;return r="function"==typeof r?(n.pop(),r):Y,Vo(n,r)})),Js=_i((function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Bt&&Wi(r)?((e=e.slice(r,+r+(t?1:0))).__actions__.push({func:Qo,args:[u],thisArg:Y}),new H(e,this.__chain__).thru((function(n){return t&&!n.length&&n.push(Y),n}))):this.thru(u)})),Ys=Du((function(n,t,r){yl.call(n,r)?++n[r]:Cr(n,r,1)})),Qs=Gu(lo),Xs=Gu(so),nh=Du((function(n,t,r){yl.call(n,r)?n[r].push(t):Cr(n,r,[t])})),th=ru((function(t,r,e){var u=-1,i="function"==typeof r,o=Vf(t)?el(t.length):[];return vs(t,(function(t){o[++u]=i?n(r,t,e):ke(t,r,e)})),o})),rh=Du((function(n,t,r){Cr(n,r,t)})),eh=Du((function(n,t,r){n[r?0:1].push(t)}),(function(){return[[],[]]})),uh=ru((function(n,t){if(null==n)return[];var r=t.length;return r>1&&Li(n,t[0],t[1])?t=[]:r>2&&Li(t[0],t[1],t[2])&&(t=[t[0]]),Ve(n,te(t,1),[])})),ih=Tl||function(){return Xr.Date.now()},oh=ru((function(n,t,r){var e=1;if(r.length){var u=F(r,di(oh));e|=32}return fi(n,e,t,r,u)})),fh=ru((function(n,t,r){var e=3;if(r.length){var u=F(r,di(fh));e|=32}return fi(t,e,n,r,u)})),ch=ru((function(n,t){return Kr(n,1,t)})),ah=ru((function(n,t,r){return Kr(n,kc(t)||0,r)}));Wf.Cache=ar;var lh=ms((function(t,r){var e=(r=1==r.length&&yh(r[0])?c(r[0],R(bi())):c(te(r,1),R(bi()))).length;return ru((function(u){for(var i=-1,o=Vl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)}))})),sh=ru((function(n,t){return fi(n,32,Y,t,F(t,di(sh)))})),hh=ru((function(n,t){return fi(n,64,Y,t,F(t,di(hh)))})),ph=_i((function(n,t){return fi(n,256,Y,Y,Y,t)})),_h=ei(be),vh=ei((function(n,t){return n>=t})),gh=Oe(function(){return arguments}())?Oe:function(n){return oc(n)&&yl.call(n,"callee")&&!El.call(n,"callee")},yh=el.isArray,dh=ie?R(ie):function(n){return oc(n)&&de(n)==ut},bh=Nl||Na,wh=oe?R(oe):function(n){return oc(n)&&de(n)==Mn},mh=fe?R(fe):function(n){return oc(n)&&Is(n)==Zn},xh=ce?R(ce):function(n){return oc(n)&&de(n)==Yn},jh=ae?R(ae):function(n){return oc(n)&&Is(n)==Qn},Ah=le?R(le):function(n){return oc(n)&&uc(n.length)&&!!Pr[de(n)]},kh=ei(Me),Oh=ei((function(n,t){return n<=t})),Ih=Mu((function(n,t){if($i(t)||Vf(t))return Bu(t,Fc(t),n),Y;for(var r in t)yl.call(t,r)&&zr(n,r,t[r])})),Rh=Mu((function(n,t){Bu(t,Nc(t),n)})),zh=Mu((function(n,t,r,e){Bu(t,Nc(t),n,e)})),Eh=Mu((function(n,t,r,e){Bu(t,Fc(t),n,e)})),Sh=_i(Tr),Wh=ru((function(n,t){n=cl(n);var r=-1,e=t.length,u=e>2?t[2]:Y;for(u&&Li(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=Nc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===Y||Kf(l,_l[a])&&!yl.call(n,a))&&(n[a]=i[a])}return n})),Lh=ru((function(t){return t.push(Y,ai),n($h,Y,t)})),Ch=Yu((function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=wl.call(t)),n[t]=r}),za(Sa)),Uh=Yu((function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=wl.call(t)),yl.call(n,t)?n[t].push(r):n[t]=[r]}),bi),Bh=ru(ke),Th=Mu((function(n,t,r){qe(n,t,r)})),$h=Mu((function(n,t,r,e){qe(n,t,r,e)})),Dh=_i((function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,(function(t){return t=ju(t,n),e||(e=t.length>1),t})),Bu(n,gi(n),r),e&&(r=Dr(r,7,li));for(var u=t.length;u--;)vu(r,t[u]);return r})),Mh=_i((function(n,t){return null==n?{}:function(n,t){return He(n,t,(function(t,r){return Mc(n,r)}))}(n,t)})),Fh=oi(Fc),Nh=oi(Nc),Ph=Zu((function(n,t,r){return t=t.toLowerCase(),n+(r?ia(t):t)})),qh=Zu((function(n,t,r){return n+(r?"-":"")+t.toLowerCase()})),Zh=Zu((function(n,t,r){return n+(r?" ":"")+t.toLowerCase()})),Kh=qu("toLowerCase"),Vh=Zu((function(n,t,r){return n+(r?"_":"")+t.toLowerCase()})),Gh=Zu((function(n,t,r){return n+(r?" ":"")+Jh(t)})),Hh=Zu((function(n,t,r){return n+(r?" ":"")+t.toUpperCase()})),Jh=qu("toUpperCase"),Yh=ru((function(t,r){try{return n(t,Y,r)}catch(n){return nc(n)?n:new il(n)}})),Qh=_i((function(n,t){return r(t,(function(t){t=Qi(t),Cr(n,t,oh(n[t],n))})),n})),Xh=Hu(),np=Hu(!0),tp=ru((function(n,t){return function(r){return ke(r,n,t)}})),rp=ru((function(n,t){return function(r){return ke(n,r,t)}})),ep=Xu(c),up=Xu(u),ip=Xu(h),op=ri(),fp=ri(!0),cp=Qu((function(n,t){return n+t}),0),ap=ii("ceil"),lp=Qu((function(n,t){return n/t}),1),sp=ii("floor"),hp=Qu((function(n,t){return n*t}),1),pp=ii("round"),_p=Qu((function(n,t){return n-t}),0);return q.after=function(n,t){if("function"!=typeof t)throw new sl(tn);return n=jc(n),function(){if(--n<1)return t.apply(this,arguments)}},q.ary=Of,q.assign=Ih,q.assignIn=Rh,q.assignInWith=zh,q.assignWith=Eh,q.at=Sh,q.before=If,q.bind=oh,q.bindAll=Qh,q.bindKey=fh,q.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return yh(n)?n:[n]},q.chain=Jo,q.chunk=function(n,t,r){t=(r?Li(n,t,r):t===Y)?1:Kl(jc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=el(Dl(e/t));u<e;)o[i++]=fu(n,u,u+=t);return o},q.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},q.concat=function(){var n=arguments.length;if(!n)return[];for(var t=el(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(yh(r)?Uu(r):[r],te(t,1))},q.cond=function(t){var r=null==t?0:t.length,e=bi();return t=r?c(t,(function(n){if("function"!=typeof n[1])throw new sl(tn);return[e(n[0]),n[1]]})):[],ru((function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}}))},q.conforms=function(n){return function(n){var t=Fc(n);return function(r){return Zr(r,n,t)}}(Dr(n,1))},q.constant=za,q.countBy=Ys,q.create=function(n,t){var r=_s(n);return null==t?r:Wr(r,t)},q.curry=function Rf(n,t,r){var e=fi(n,8,Y,Y,Y,Y,Y,t=r?Y:t);return e.placeholder=Rf.placeholder,e},q.curryRight=function zf(n,t,r){var e=fi(n,16,Y,Y,Y,Y,Y,t=r?Y:t);return e.placeholder=zf.placeholder,e},q.debounce=Ef,q.defaults=Wh,q.defaultsDeep=Lh,q.defer=ch,q.delay=ah,q.difference=Ls,q.differenceBy=Cs,q.differenceWith=Us,q.drop=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,(t=r||t===Y?1:jc(t))<0?0:t,e):[]},q.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,0,(t=e-(t=r||t===Y?1:jc(t)))<0?0:t):[]},q.dropRightWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!0,!0):[]},q.dropWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!0):[]},q.fill=function(n,t,r,e){var u=null==n?0:n.length;return u?(r&&"number"!=typeof r&&Li(n,t,r)&&(r=0,e=u),function(n,t,r,e){var u=n.length;for((r=jc(r))<0&&(r=-r>u?0:u+r),(e=e===Y||e>u?u:jc(e))<0&&(e+=u),e=r>e?0:Ac(e);r<e;)n[r++]=t;return n}(n,t,r,e)):[]},q.filter=function(n,t){return(yh(n)?i:ne)(n,bi(t,3))},q.flatMap=function(n,t){return te(vf(n,t),1)},q.flatMapDeep=function(n,t){return te(vf(n,t),Rn)},q.flatMapDepth=function(n,t,r){return r=r===Y?1:jc(r),te(vf(n,t),r)},q.flatten=ho,q.flattenDeep=function(n){return null!=n&&n.length?te(n,Rn):[]},q.flattenDepth=function(n,t){return null!=n&&n.length?te(n,t=t===Y?1:jc(t)):[]},q.flip=function(n){return fi(n,512)},q.flow=Xh,q.flowRight=np,q.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},q.functions=function(n){return null==n?[]:se(n,Fc(n))},q.functionsIn=function(n){return null==n?[]:se(n,Nc(n))},q.groupBy=nh,q.initial=function(n){return null!=n&&n.length?fu(n,0,-1):[]},q.intersection=Bs,q.intersectionBy=Ts,q.intersectionWith=$s,q.invert=Ch,q.invertBy=Uh,q.invokeMap=th,q.iteratee=Wa,q.keyBy=rh,q.keys=Fc,q.keysIn=Nc,q.map=vf,q.mapKeys=function(n,t){var r={};return t=bi(t,3),ee(n,(function(n,e,u){Cr(r,t(n,e,u),n)})),r},q.mapValues=function(n,t){var r={};return t=bi(t,3),ee(n,(function(n,e,u){Cr(r,e,t(n,e,u))})),r},q.matches=function(n){return Ne(Dr(n,1))},q.matchesProperty=function(n,t){return Pe(n,Dr(t,1))},q.memoize=Wf,q.merge=Th,q.mergeWith=$h,q.method=tp,q.methodOf=rp,q.mixin=Ua,q.negate=Lf,q.nthArg=function(n){return n=jc(n),ru((function(t){return Ke(t,n)}))},q.omit=Dh,q.omitBy=function(n,t){return Kc(n,Lf(bi(t)))},q.once=function(n){return If(2,n)},q.orderBy=function(n,t,r,e){return null==n?[]:(yh(t)||(t=null==t?[]:[t]),yh(r=e?Y:r)||(r=null==r?[]:[r]),Ve(n,t,r))},q.over=ep,q.overArgs=lh,q.overEvery=up,q.overSome=ip,q.partial=sh,q.partialRight=hh,q.partition=eh,q.pick=Mh,q.pickBy=Kc,q.property=Da,q.propertyOf=function(n){return function(t){return null==n?Y:ve(n,t)}},q.pull=Ds,q.pullAll=Ao,q.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?Ye(n,t,bi(r,2)):n},q.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?Ye(n,t,Y,r):n},q.pullAt=Ms,q.range=op,q.rangeRight=fp,q.rearg=ph,q.reject=function(n,t){return(yh(n)?i:ne)(n,Lf(bi(t,3)))},q.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=bi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return Qe(n,u),r},q.rest=function(n,t){if("function"!=typeof n)throw new sl(tn);return ru(n,t=t===Y?t:jc(t))},q.reverse=Ro,q.sampleSize=function(n,t,r){return t=(r?Li(n,t,r):t===Y)?1:jc(t),(yh(n)?Or:uu)(n,t)},q.set=function(n,t,r){return null==n?n:iu(n,t,r)},q.setWith=function(n,t,r,e){return e="function"==typeof e?e:Y,null==n?n:iu(n,t,r,e)},q.shuffle=function(n){return(yh(n)?Ir:ou)(n)},q.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&"number"!=typeof r&&Li(n,t,r)?(t=0,r=e):(t=null==t?0:jc(t),r=r===Y?e:jc(r)),fu(n,t,r)):[]},q.sortBy=uh,q.sortedUniq=function(n){return n&&n.length?su(n):[]},q.sortedUniqBy=function(n,t){return n&&n.length?su(n,bi(t,2)):[]},q.split=function(n,t,r){return r&&"number"!=typeof r&&Li(n,t,r)&&(t=r=Y),(r=r===Y?Wn:r>>>0)?(n=Rc(n))&&("string"==typeof t||null!=t&&!xh(t))&&(!(t=pu(t))&&B(n))?Au(V(n),0,r):n.split(t,r):[]},q.spread=function(t,r){if("function"!=typeof t)throw new sl(tn);return r=null==r?0:Kl(jc(r),0),ru((function(e){var u=e[r],i=Au(e,0,r);return u&&a(i,u),n(t,this,i)}))},q.tail=function(n){var t=null==n?0:n.length;return t?fu(n,1,t):[]},q.take=function(n,t,r){return n&&n.length?fu(n,0,(t=r||t===Y?1:jc(t))<0?0:t):[]},q.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?fu(n,(t=e-(t=r||t===Y?1:jc(t)))<0?0:t,e):[]},q.takeRightWhile=function(n,t){return n&&n.length?yu(n,bi(t,3),!1,!0):[]},q.takeWhile=function(n,t){return n&&n.length?yu(n,bi(t,3)):[]},q.tap=function(n,t){return t(n),n},q.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new sl(tn);return ic(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),Ef(n,t,{leading:e,maxWait:t,trailing:u})},q.thru=Qo,q.toArray=mc,q.toPairs=Fh,q.toPairsIn=Nh,q.toPath=function(n){return yh(n)?c(n,Qi):yc(n)?[n]:Uu(Ws(Rc(n)))},q.toPlainObject=Oc,q.transform=function(n,t,e){var u=yh(n),i=u||bh(n)||Ah(n);if(t=bi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:ic(n)&&rc(o)?_s(Rl(n)):{}}return(i?r:ee)(n,(function(n,r,u){return t(e,n,r,u)})),e},q.unary=function(n){return Of(n,1)},q.union=Fs,q.unionBy=Ns,q.unionWith=Ps,q.uniq=function(n){return n&&n.length?_u(n):[]},q.uniqBy=function(n,t){return n&&n.length?_u(n,bi(t,2)):[]},q.uniqWith=function(n,t){return t="function"==typeof t?t:Y,n&&n.length?_u(n,Y,t):[]},q.unset=function(n,t){return null==n||vu(n,t)},q.unzip=Ko,q.unzipWith=Vo,q.update=function(n,t,r){return null==n?n:gu(n,t,xu(r))},q.updateWith=function(n,t,r,e){return e="function"==typeof e?e:Y,null==n?n:gu(n,t,xu(r),e)},q.values=na,q.valuesIn=function(n){return null==n?[]:z(n,Nc(n))},q.without=qs,q.words=Oa,q.wrap=function(n,t){return sh(xu(t),n)},q.xor=Zs,q.xorBy=Ks,q.xorWith=Vs,q.zip=Gs,q.zipObject=function(n,t){return wu(n||[],t||[],zr)},q.zipObjectDeep=function(n,t){return wu(n||[],t||[],iu)},q.zipWith=Hs,q.entries=Fh,q.entriesIn=Nh,q.extend=Rh,q.extendWith=zh,Ua(q,q),q.add=cp,q.attempt=Yh,q.camelCase=Ph,q.capitalize=ia,q.ceil=ap,q.clamp=function(n,t,r){return r===Y&&(r=t,t=Y),r!==Y&&(r=(r=kc(r))==r?r:0),t!==Y&&(t=(t=kc(t))==t?t:0),$r(kc(n),t,r)},q.clone=function(n){return Dr(n,4)},q.cloneDeep=function(n){return Dr(n,5)},q.cloneDeepWith=function(n,t){return Dr(n,5,t="function"==typeof t?t:Y)},q.cloneWith=function(n,t){return Dr(n,4,t="function"==typeof t?t:Y)},q.conformsTo=function(n,t){return null==t||Zr(n,t,Fc(t))},q.deburr=oa,q.defaultTo=function(n,t){return null==n||n!=n?t:n},q.divide=lp,q.endsWith=function(n,t,r){n=Rc(n),t=pu(t);var e=n.length,u=r=r===Y?e:$r(jc(r),0,e);return(r-=t.length)>=0&&n.slice(r,u)==t},q.eq=Kf,q.escape=function(n){return(n=Rc(n))&&mt.test(n)?n.replace(bt,pe):n},q.escapeRegExp=function(n){return(n=Rc(n))&&zt.test(n)?n.replace(Rt,"\\$&"):n},q.every=function(n,t,r){var e=yh(n)?u:Gr;return r&&Li(n,t,r)&&(t=Y),e(n,bi(t,3))},q.find=Qs,q.findIndex=lo,q.findKey=function(n,t){return v(n,bi(t,3),ee)},q.findLast=Xs,q.findLastIndex=so,q.findLastKey=function(n,t){return v(n,bi(t,3),ue)},q.floor=sp,q.forEach=hf,q.forEachRight=pf,q.forIn=function(n,t){return null==n?n:ys(n,bi(t,3),Nc)},q.forInRight=function(n,t){return null==n?n:ds(n,bi(t,3),Nc)},q.forOwn=function(n,t){return n&&ee(n,bi(t,3))},q.forOwnRight=function(n,t){return n&&ue(n,bi(t,3))},q.get=$c,q.gt=_h,q.gte=vh,q.has=function(n,t){return null!=n&&Oi(n,t,we)},q.hasIn=Mc,q.head=go,q.identity=Sa,q.includes=function(n,t,r,e){n=Vf(n)?n:na(n),r=r&&!e?jc(r):0;var u=n.length;return r<0&&(r=Kl(u+r,0)),gc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1},q.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:jc(r);return u<0&&(u=Kl(e+u,0)),y(n,t,u)},q.inRange=function(n,t,r){return t=xc(t),r===Y?(r=t,t=0):r=xc(r),function(n,t,r){return n>=Vl(t,r)&&n<Kl(t,r)}(n=kc(n),t,r)},q.invoke=Bh,q.isArguments=gh,q.isArray=yh,q.isArrayBuffer=dh,q.isArrayLike=Vf,q.isArrayLikeObject=Gf,q.isBoolean=function(n){return!0===n||!1===n||oc(n)&&de(n)==Dn},q.isBuffer=bh,q.isDate=wh,q.isElement=function(n){return oc(n)&&1===n.nodeType&&!_c(n)},q.isEmpty=function(n){if(null==n)return!0;if(Vf(n)&&(yh(n)||"string"==typeof n||"function"==typeof n.splice||bh(n)||Ah(n)||gh(n)))return!n.length;var t=Is(n);if(t==Zn||t==Qn)return!n.size;if($i(n))return!$e(n).length;for(var r in n)if(yl.call(n,r))return!1;return!0},q.isEqual=function(n,t){return ze(n,t)},q.isEqualWith=function(n,t,r){var e=(r="function"==typeof r?r:Y)?r(n,t):Y;return e===Y?ze(n,t,Y,r):!!e},q.isError=nc,q.isFinite=function(n){return"number"==typeof n&&Pl(n)},q.isFunction=rc,q.isInteger=ec,q.isLength=uc,q.isMap=mh,q.isMatch=function(n,t){return n===t||We(n,t,mi(t))},q.isMatchWith=function(n,t,r){return r="function"==typeof r?r:Y,We(n,t,mi(t),r)},q.isNaN=function(n){return pc(n)&&n!=+n},q.isNative=function(n){if(Rs(n))throw new il("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Le(n)},q.isNil=function(n){return null==n},q.isNull=function(n){return null===n},q.isNumber=pc,q.isObject=ic,q.isObjectLike=oc,q.isPlainObject=_c,q.isRegExp=xh,q.isSafeInteger=function(n){return ec(n)&&n>=-zn&&n<=zn},q.isSet=jh,q.isString=gc,q.isSymbol=yc,q.isTypedArray=Ah,q.isUndefined=function(n){return n===Y},q.isWeakMap=function(n){return oc(n)&&Is(n)==rt},q.isWeakSet=function(n){return oc(n)&&"[object WeakSet]"==de(n)},q.join=function(n,t){return null==n?"":ql.call(n,t)},q.kebabCase=qh,q.last=mo,q.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==Y&&(u=(u=jc(r))<0?Kl(e+u,0):Vl(u,e-1)),t==t?function(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}(n,t,u):g(n,b,u,!0)},q.lowerCase=Zh,q.lowerFirst=Kh,q.lt=kh,q.lte=Oh,q.max=function(n){return n&&n.length?Yr(n,Sa,be):Y},q.maxBy=function(n,t){return n&&n.length?Yr(n,bi(t,2),be):Y},q.mean=function(n){return w(n,Sa)},q.meanBy=function(n,t){return w(n,bi(t,2))},q.min=function(n){return n&&n.length?Yr(n,Sa,Me):Y},q.minBy=function(n,t){return n&&n.length?Yr(n,bi(t,2),Me):Y},q.stubArray=Fa,q.stubFalse=Na,q.stubObject=function(){return{}},q.stubString=function(){return""},q.stubTrue=function(){return!0},q.multiply=hp,q.nth=function(n,t){return n&&n.length?Ke(n,jc(t)):Y},q.noConflict=function(){return Xr._===this&&(Xr._=xl),this},q.noop=Ta,q.now=ih,q.pad=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ni(Ml(u),r)+n+ni(Dl(u),r)},q.padEnd=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;return t&&e<t?n+ni(t-e,r):n},q.padStart=function(n,t,r){n=Rc(n);var e=(t=jc(t))?K(n):0;return t&&e<t?ni(t-e,r)+n:n},q.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),Hl(Rc(n).replace(St,""),t||0)},q.random=function(n,t,r){if(r&&"boolean"!=typeof r&&Li(n,t,r)&&(t=r=Y),r===Y&&("boolean"==typeof t?(r=t,t=Y):"boolean"==typeof n&&(r=n,n=Y)),n===Y&&t===Y?(n=0,t=1):(n=xc(n),t===Y?(t=n,n=0):t=xc(t)),n>t){var e=n;n=t,t=e}if(r||n%1||t%1){var u=Jl();return Vl(n+u*(t-n+Hr("1e-"+((u+"").length-1))),t)}return Xe(n,t)},q.reduce=function(n,t,r){var e=yh(n)?l:j,u=arguments.length<3;return e(n,bi(t,4),r,u,vs)},q.reduceRight=function(n,t,r){var e=yh(n)?s:j,u=arguments.length<3;return e(n,bi(t,4),r,u,gs)},q.repeat=function(n,t,r){return t=(r?Li(n,t,r):t===Y)?1:jc(t),tu(Rc(n),t)},q.replace=function(){var n=arguments,t=Rc(n[0]);return n.length<3?t:t.replace(n[1],n[2])},q.result=function(n,t,r){var e=-1,u=(t=ju(t,n)).length;for(u||(u=1,n=Y);++e<u;){var i=null==n?Y:n[Qi(t[e])];i===Y&&(e=u,i=r),n=rc(i)?i.call(n):i}return n},q.round=pp,q.runInContext=p,q.sample=function(n){return(yh(n)?kr:eu)(n)},q.size=function(n){if(null==n)return 0;if(Vf(n))return gc(n)?K(n):n.length;var t=Is(n);return t==Zn||t==Qn?n.size:$e(n).length},q.snakeCase=Vh,q.some=function(n,t,r){var e=yh(n)?h:cu;return r&&Li(n,t,r)&&(t=Y),e(n,bi(t,3))},q.sortedIndex=function(n,t){return au(n,t)},q.sortedIndexBy=function(n,t,r){return lu(n,t,bi(r,2))},q.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=au(n,t);if(e<r&&Kf(n[e],t))return e}return-1},q.sortedLastIndex=function(n,t){return au(n,t,!0)},q.sortedLastIndexBy=function(n,t,r){return lu(n,t,bi(r,2),!0)},q.sortedLastIndexOf=function(n,t){if(null!=n&&n.length){var r=au(n,t,!0)-1;if(Kf(n[r],t))return r}return-1},q.startCase=Gh,q.startsWith=function(n,t,r){return n=Rc(n),r=null==r?0:$r(jc(r),0,n.length),t=pu(t),n.slice(r,r+t.length)==t},q.subtract=_p,q.sum=function(n){return n&&n.length?k(n,Sa):0},q.sumBy=function(n,t){return n&&n.length?k(n,bi(t,2)):0},q.template=function(n,t,r){var e=q.templateSettings;r&&Li(n,t,r)&&(t=Y),n=Rc(n),t=zh({},t,e,ci);var u,i,o=zh({},t.imports,e.imports,ci),f=Fc(o),c=z(o,f),a=0,l=t.interpolate||Kt,s="__p += '",h=al((t.escape||Kt).source+"|"+l.source+"|"+(l===At?$t:Kt).source+"|"+(t.evaluate||Kt).source+"|$","g"),p="//# sourceURL="+(yl.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Nr+"]")+"\n";n.replace(h,(function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Vt,C),r&&(u=!0,s+="' +\n__e("+r+") +\n'"),f&&(i=!0,s+="';\n"+f+";\n__p += '"),e&&(s+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),a=c+t.length,t})),s+="';\n";var _=yl.call(t,"variable")&&t.variable;_||(s="with (obj) {\n"+s+"\n}\n"),s=(i?s.replace(vt,""):s).replace(gt,"$1").replace(yt,"$1;"),s="function("+(_||"obj")+") {\n"+(_?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(u?", __e = _.escape":"")+(i?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+s+"return __p\n}";var v=Yh((function(){return ol(f,p+"return "+s).apply(Y,c)}));if(v.source=s,nc(v))throw v;return v},q.times=function(n,t){if((n=jc(n))<1||n>zn)return[];var r=Wn,e=Vl(n,Wn);t=bi(t),n-=Wn;for(var u=O(e,t);++r<n;)t(r);return u},q.toFinite=xc,q.toInteger=jc,q.toLength=Ac,q.toLower=function(n){return Rc(n).toLowerCase()},q.toNumber=kc,q.toSafeInteger=function(n){return n?$r(jc(n),-zn,zn):0===n?n:0},q.toString=Rc,q.toUpper=function(n){return Rc(n).toUpperCase()},q.trim=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(Et,"");if(!n||!(t=pu(t)))return n;var e=V(n),u=V(t);return Au(e,S(e,u),W(e,u)+1).join("")},q.trimEnd=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(Wt,"");if(!n||!(t=pu(t)))return n;var e=V(n);return Au(e,0,W(e,V(t))+1).join("")},q.trimStart=function(n,t,r){if((n=Rc(n))&&(r||t===Y))return n.replace(St,"");if(!n||!(t=pu(t)))return n;var e=V(n);return Au(e,S(e,V(t))).join("")},q.truncate=function(n,t){var r=30,e="...";if(ic(t)){var u="separator"in t?t.separator:u;r="length"in t?jc(t.length):r,e="omission"in t?pu(t.omission):e}var i=(n=Rc(n)).length;if(B(n)){var o=V(n);i=o.length}if(r>=i)return n;var f=r-K(e);if(f<1)return e;var c=o?Au(o,0,f).join(""):n.slice(0,f);if(u===Y)return c+e;if(o&&(f+=c.length-f),xh(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=al(u.source,Rc(Dt.exec(u))+"g")),u.lastIndex=0;a=u.exec(l);)var s=a.index;c=c.slice(0,s===Y?f:s)}}else if(n.indexOf(pu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e},q.unescape=function(n){return(n=Rc(n))&&wt.test(n)?n.replace(dt,_e):n},q.uniqueId=function(n){var t=++dl;return Rc(n)+t},q.upperCase=Hh,q.upperFirst=Jh,q.each=hf,q.eachRight=pf,q.first=go,Ua(q,function(){var n={};return ee(q,(function(t,r){yl.call(q.prototype,r)||(n[r]=t)})),n}(),{chain:!1}),q.VERSION="4.17.20",r(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(n){q[n].placeholder=q})),r(["drop","take"],(function(n,t){Bt.prototype[n]=function(r){r=r===Y?1:Kl(jc(r),0);var e=this.__filtered__&&!t?new Bt(this):this.clone();return e.__filtered__?e.__takeCount__=Vl(r,e.__takeCount__):e.__views__.push({size:Vl(r,Wn),type:n+(e.__dir__<0?"Right":"")}),e},Bt.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}})),r(["filter","map","takeWhile"],(function(n,t){var r=t+1,e=1==r||3==r;Bt.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:bi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}})),r(["head","last"],(function(n,t){var r="take"+(t?"Right":"");Bt.prototype[n]=function(){return this[r](1).value()[0]}})),r(["initial","tail"],(function(n,t){var r="drop"+(t?"":"Right");Bt.prototype[n]=function(){return this.__filtered__?new Bt(this):this[r](1)}})),Bt.prototype.compact=function(){return this.filter(Sa)},Bt.prototype.find=function(n){return this.filter(n).head()},Bt.prototype.findLast=function(n){return this.reverse().find(n)},Bt.prototype.invokeMap=ru((function(n,t){return"function"==typeof n?new Bt(this):this.map((function(r){return ke(r,n,t)}))})),Bt.prototype.reject=function(n){return this.filter(Lf(bi(n)))},Bt.prototype.slice=function(n,t){n=jc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Bt(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==Y&&(r=(t=jc(t))<0?r.dropRight(-t):r.take(t-n)),r)},Bt.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Bt.prototype.toArray=function(){return this.take(Wn)},ee(Bt.prototype,(function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=q[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(q.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Bt,c=o[0],l=f||yh(t),s=function(n){var t=u.apply(q,a([n],o));return e&&h?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Bt(this);var g=n.apply(t,o);return g.__actions__.push({func:Qo,args:[s],thisArg:Y}),new H(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})})),r(["pop","push","shift","sort","splice","unshift"],(function(n){var t=hl[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);q.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(yh(u)?u:[],n)}return this[r]((function(r){return t.apply(yh(r)?r:[],n)}))}})),ee(Bt.prototype,(function(n,t){var r=q[t];if(r){var e=r.name+"";yl.call(is,e)||(is[e]=[]),is[e].push({name:t,func:r})}})),is[Ju(Y,2).name]=[{name:"wrapper",func:Y}],Bt.prototype.clone=function(){var n=new Bt(this.__wrapped__);return n.__actions__=Uu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Uu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Uu(this.__views__),n},Bt.prototype.reverse=function(){if(this.__filtered__){var n=new Bt(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},Bt.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=yh(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=Vl(t,n+o);break;case"takeRight":n=Kl(n,t-o)}}return{start:n,end:t}}(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Vl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return du(n,this.__actions__);var _=[];n:for(;c--&&h<p;){for(var v=-1,g=n[a+=t];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(2==b)g=w;else if(!w){if(1==b)continue n;break n}}_[h++]=g}return _},q.prototype.at=Js,q.prototype.chain=function(){return Jo(this)},q.prototype.commit=function(){return new H(this.value(),this.__chain__)},q.prototype.next=function(){this.__values__===Y&&(this.__values__=mc(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?Y:this.__values__[this.__index__++]}},q.prototype.plant=function(n){for(var t,r=this;r instanceof G;){var e=to(r);e.__index__=0,e.__values__=Y,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t},q.prototype.reverse=function(){var n=this.__wrapped__;if(n instanceof Bt){var t=n;return this.__actions__.length&&(t=new Bt(this)),(t=t.reverse()).__actions__.push({func:Qo,args:[Ro],thisArg:Y}),new H(t,this.__chain__)}return this.thru(Ro)},q.prototype.toJSON=q.prototype.valueOf=q.prototype.value=function(){return du(this.__wrapped__,this.__actions__)},q.prototype.first=q.prototype.head,Ll&&(q.prototype[Ll]=function(){return this}),q}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Xr._=ge,define((function(){return ge}))):te?((te.exports=ge)._=ge,ne._=ge):Xr._=ge}).call(this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],731:[function(require,module,exports){!function(global,factory){"object"==typeof exports&&void 0!==module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global.moment=factory()}(this,(function(){"use strict";var hookCallback,some;function hooks(){return hookCallback.apply(null,arguments)}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function isObjectEmpty(obj){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(obj).length;var k;for(k in obj)if(hasOwnProp(obj,k))return!1;return!0}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[];for(i=0;i<arr.length;++i)res.push(fn(arr[i],i));return res}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!0).utc()}function getParsingFlags(m){return null==m._pf&&(m._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),m._pf}function isValid(m){if(null==m._isValid){var flags=getParsingFlags(m),parsedParts=some.call(flags.parsedDateParts,(function(i){return null!=i})),isNowValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidEra&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict&&(isNowValid=isNowValid&&0===flags.charsLeftOver&&0===flags.unusedTokens.length&&void 0===flags.bigHour),null!=Object.isFrozen&&Object.isFrozen(m))return isNowValid;m._isValid=isNowValid}return m._isValid}function createInvalid(flags){var m=createUTC(NaN);return null!=flags?extend(getParsingFlags(m),flags):getParsingFlags(m).userInvalidated=!0,m}some=Array.prototype.some?Array.prototype.some:function(fun){var i,t=Object(this),len=t.length>>>0;for(i=0;i<len;i++)if(i in t&&fun.call(this,t[i],i,t))return!0;return!1};var momentProperties=hooks.momentProperties=[],updateInProgress=!1;function copyConfig(to,from){var i,prop,val;if(isUndefined(from._isAMomentObject)||(to._isAMomentObject=from._isAMomentObject),isUndefined(from._i)||(to._i=from._i),isUndefined(from._f)||(to._f=from._f),isUndefined(from._l)||(to._l=from._l),isUndefined(from._strict)||(to._strict=from._strict),isUndefined(from._tzm)||(to._tzm=from._tzm),isUndefined(from._isUTC)||(to._isUTC=from._isUTC),isUndefined(from._offset)||(to._offset=from._offset),isUndefined(from._pf)||(to._pf=getParsingFlags(from)),isUndefined(from._locale)||(to._locale=from._locale),momentProperties.length>0)for(i=0;i<momentProperties.length;i++)isUndefined(val=from[prop=momentProperties[i]])||(to[prop]=val);return to}function Moment(config){copyConfig(this,config),this._d=new Date(null!=config._d?config._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(obj){return obj instanceof Moment||null!=obj&&null!=obj._isAMomentObject}function warn(msg){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend((function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,msg),firstTime){var arg,i,key,args=[];for(i=0;i<arguments.length;i++){if(arg="","object"==typeof arguments[i]){for(key in arg+="\n["+i+"] ",arguments[0])hasOwnProp(arguments[0],key)&&(arg+=key+": "+arguments[0][key]+", ");arg=arg.slice(0,-2)}else arg=arguments[i];args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+(new Error).stack),firstTime=!1}return fn.apply(this,arguments)}),fn)}var keys,deprecations={};function deprecateSimple(name,msg){null!=hooks.deprecationHandler&&hooks.deprecationHandler(name,msg),deprecations[name]||(warn(msg),deprecations[name]=!0)}function isFunction(input){return"undefined"!=typeof Function&&input instanceof Function||"[object Function]"===Object.prototype.toString.call(input)}function mergeConfigs(parentConfig,childConfig){var prop,res=extend({},parentConfig);for(prop in childConfig)hasOwnProp(childConfig,prop)&&(isObject(parentConfig[prop])&&isObject(childConfig[prop])?(res[prop]={},extend(res[prop],parentConfig[prop]),extend(res[prop],childConfig[prop])):null!=childConfig[prop]?res[prop]=childConfig[prop]:delete res[prop]);for(prop in parentConfig)hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])&&(res[prop]=extend({},res[prop]));return res}function Locale(config){null!=config&&this.set(config)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null,keys=Object.keys?Object.keys:function(obj){var i,res=[];for(i in obj)hasOwnProp(obj,i)&&res.push(i);return res};function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(number>=0?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]=formatFunctions[format]||function(format){var i,length,input,array=format.match(formattingTokens);for(i=0,length=array.length;i<length;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=(input=array[i]).match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"");return function(mom){var i,output="";for(i=0;i<length;i++)output+=isFunction(array[i])?array[i].call(mom,format):array[i];return output}}(format),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}for(localFormattingTokens.lastIndex=0;i>=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority}function isLeapYear(year){return year%4==0&&year%100!=0||year%400==0}function absFloor(number){return number<0?Math.ceil(number)||0:Math.floor(number)}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=absFloor(coercedNumber)),value}function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){mom.isValid()&&!isNaN(value)&&("FullYear"===unit&&isLeapYear(mom.year())&&1===mom.month()&&29===mom.date()?(value=toInt(value),mom._d["set"+(mom._isUTC?"UTC":"")+unit](value,mom.month(),daysInMonth(value,mom.month()))):mom._d["set"+(mom._isUTC?"UTC":"")+unit](value))}var regexes,match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(regexEscape(token.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}regexes={};var tokens={};function addParseToken(token,callback){var i,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),i=0;i<token.length;i++)tokens[token[i]]=func}function addWeekParseToken(token,callback){addParseToken(token,(function(input,array,config,token){config._w=config._w||{},callback(input,config._w,config,token)}))}function addTimeToArrayFromToken(token,input,config){null!=input&&hasOwnProp(tokens,token)&&tokens[token](input,config._a,config,token)}var indexOf;function daysInMonth(year,month){if(isNaN(year)||isNaN(month))return NaN;var x,modMonth=(month%(x=12)+x)%x;return year+=(month-modMonth)/12,1===modMonth?isLeapYear(year)?29:28:31-modMonth%7%2}indexOf=Array.prototype.indexOf?Array.prototype.indexOf:function(o){var i;for(i=0;i<this.length;++i)if(this[i]===o)return i;return-1},addFormatToken("M",["MM",2],"Mo",(function(){return this.month()+1})),addFormatToken("MMM",0,0,(function(format){return this.localeData().monthsShort(this,format)})),addFormatToken("MMMM",0,0,(function(format){return this.localeData().months(this,format)})),addUnitAlias("month","M"),addUnitPriority("month",8),addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",(function(isStrict,locale){return locale.monthsShortRegex(isStrict)})),addRegexToken("MMMM",(function(isStrict,locale){return locale.monthsRegex(isStrict)})),addParseToken(["M","MM"],(function(input,array){array[1]=toInt(input)-1})),addParseToken(["MMM","MMMM"],(function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);null!=month?array[1]=month:getParsingFlags(config).invalidMonth=input}));var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function handleStrictParse(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)mom=createUTC([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase();return strict?"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:"MMM"===format?-1!==(ii=indexOf.call(this._shortMonthsParse,llc))||-1!==(ii=indexOf.call(this._longMonthsParse,llc))?ii:null:-1!==(ii=indexOf.call(this._longMonthsParse,llc))||-1!==(ii=indexOf.call(this._shortMonthsParse,llc))?ii:null}function setMonth(mom,value){var dayOfMonth;if(!mom.isValid())return mom;if("string"==typeof value)if(/^\d+$/.test(value))value=toInt(value);else if(!isNumber(value=mom.localeData().monthsParse(value)))return mom;return dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value)),mom._d["set"+(mom._isUTC?"UTC":"")+"Month"](value,dayOfMonth),mom}function getSetMonth(value){return null!=value?(setMonth(this,value),hooks.updateOffset(this,!0),this):get(this,"Month")}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<12;i++)mom=createUTC([2e3,i]),shortPieces.push(this.monthsShort(mom,"")),longPieces.push(this.months(mom,"")),mixedPieces.push(this.months(mom,"")),mixedPieces.push(this.monthsShort(mom,""));for(shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<12;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]);for(i=0;i<24;i++)mixedPieces[i]=regexEscape(mixedPieces[i]);this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}function daysInYear(year){return isLeapYear(year)?366:365}addFormatToken("Y",0,0,(function(){var y=this.year();return y<=9999?zeroFill(y,4):"+"+y})),addFormatToken(0,["YY",2],0,(function(){return this.year()%100})),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addUnitAlias("year","y"),addUnitPriority("year",1),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],0),addParseToken("YYYY",(function(input,array){array[0]=2===input.length?hooks.parseTwoDigitYear(input):toInt(input)})),addParseToken("YY",(function(input,array){array[0]=hooks.parseTwoDigitYear(input)})),addParseToken("Y",(function(input,array){array[0]=parseInt(input,10)})),hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0);function createDate(y,m,d,h,M,s,ms){var date;return y<100&&y>=0?(date=new Date(y+400,m,d,h,M,s,ms),isFinite(date.getFullYear())&&date.setFullYear(y)):date=new Date(y,m,d,h,M,s,ms),date}function createUTCDate(y){var date,args;return y<100&&y>=0?((args=Array.prototype.slice.call(arguments))[0]=y+400,date=new Date(Date.UTC.apply(null,args)),isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y)):date=new Date(Date.UTC.apply(null,arguments)),date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy;return-((7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7)+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,dayOfYear=1+7*(week-1)+(7+weekday-dow)%7+firstWeekOffset(year,dow,doy);return dayOfYear<=0?resDayOfYear=daysInYear(resYear=year-1)+dayOfYear:dayOfYear>daysInYear(year)?(resYear=year+1,resDayOfYear=dayOfYear-daysInYear(year)):(resYear=year,resDayOfYear=dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?resWeek=week+weeksInYear(resYear=mom.year()-1,dow,doy):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],(function(input,week,config,token){week[token.substr(0,1)]=toInt(input)}));function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,(function(format){return this.localeData().weekdaysMin(this,format)})),addFormatToken("ddd",0,0,(function(format){return this.localeData().weekdaysShort(this,format)})),addFormatToken("dddd",0,0,(function(format){return this.localeData().weekdays(this,format)})),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",(function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)})),addRegexToken("ddd",(function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)})),addRegexToken("dddd",(function(isStrict,locale){return locale.weekdaysRegex(isStrict)})),addWeekParseToken(["dd","ddd","dddd"],(function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input})),addWeekParseToken(["d","e","E"],(function(input,week,config,token){week[token]=toInt(input)}));var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)mom=createUTC([2e3,1]).day(i),minp=regexEscape(this.weekdaysMin(mom,"")),shortp=regexEscape(this.weekdaysShort(mom,"")),longp=regexEscape(this.weekdays(mom,"")),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function meridiem(token,lowercase){addFormatToken(token,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)}))}function matchMeridiem(isStrict,locale){return locale._meridiemParse}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,(function(){return this.hours()||24})),addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)})),addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)})),addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],3),addParseToken(["k","kk"],(function(input,array,config){var kInput=toInt(input);array[3]=24===kInput?0:kInput})),addParseToken(["a","A"],(function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input})),addParseToken(["h","hh"],(function(input,array,config){array[3]=toInt(input),getParsingFlags(config).bigHour=!0})),addParseToken("hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0})),addParseToken("hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0})),addParseToken("Hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos))})),addParseToken("Hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2))}));var getSetHour=makeGetSet("Hours",!0);var globalLocale,baseConfig={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:{dow:0,doy:6},weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:/[ap]\.?m?\.?/i},locales={},localeFamilies={};function commonPrefix(arr1,arr2){var i,minl=Math.min(arr1.length,arr2.length);for(i=0;i<minl;i+=1)if(arr1[i]!==arr2[i])return i;return minl}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function loadLocale(name){var oldLocale=null;if(void 0===locales[name]&&void 0!==module&&module&&module.exports)try{oldLocale=globalLocale._abbr,require("./locale/"+name),getSetGlobalLocale(oldLocale)}catch(e){locales[name]=null}return locales[name]}function getSetGlobalLocale(key,values){var data;return key&&((data=isUndefined(values)?getLocale(key):defineLocale(key,values))?globalLocale=data:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+key+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(name,config){if(null!==config){var locale,parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale)if(null!=locales[config.parentLocale])parentConfig=locales[config.parentLocale]._config;else{if(null==(locale=loadLocale(config.parentLocale)))return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locale._config}return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach((function(x){defineLocale(x.name,x.config)})),getSetGlobalLocale(name),locales[name]}return delete locales[name],null}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return function(names){for(var j,next,locale,split,i=0;i<names.length;){for(j=(split=normalizeLocale(names[i]).split("-")).length,next=(next=normalizeLocale(names[i+1]))?next.split("-"):null;j>0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&commonPrefix(split,next)>=j-1)break;j--}i++}return globalLocale}(key)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[1]<0||a[1]>11?1:a[2]<1||a[2]>daysInMonth(a[0],a[1])?2:a[3]<0||a[3]>24||24===a[3]&&(0!==a[4]||0!==a[5]||0!==a[6])?3:a[4]<0||a[4]>59?4:a[5]<0||a[5]>59?5:a[6]<0||a[6]>999?6:-1,getParsingFlags(m)._overflowDayOfYear&&(overflow<0||overflow>2)&&(overflow=2),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=7),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=8),getParsingFlags(m).overflow=overflow),m}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string);if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDates.length;i<l;i++)if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0],allowTime=!1!==isoDates[i][2];break}if(null==dateFormat)return void(config._isValid=!1);if(match[3]){for(i=0,l=isoTimes.length;i<l;i++)if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||" ")+isoTimes[i][0];break}if(null==timeFormat)return void(config._isValid=!1)}if(!allowTime&&null!=timeFormat)return void(config._isValid=!1);if(match[4]){if(!tzRegex.exec(match[4]))return void(config._isValid=!1);tzFormat="Z"}config._f=dateFormat+(timeFormat||"")+(tzFormat||""),configFromStringAndFormat(config)}else config._isValid=!1}function untruncateYear(yearStr){var year=parseInt(yearStr,10);return year<=49?2e3+year:year<=999?1900+year:year}function configFromRFC2822(config){var parsedArray,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr,result,match=rfc2822.exec(config._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(match){if(yearStr=match[4],monthStr=match[3],dayStr=match[2],hourStr=match[5],minuteStr=match[6],secondStr=match[7],result=[untruncateYear(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10)],secondStr&&result.push(parseInt(secondStr,10)),parsedArray=result,!function(weekdayStr,parsedInput,config){return!weekdayStr||defaultLocaleWeekdaysShort.indexOf(weekdayStr)===new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay()||(getParsingFlags(config).weekdayMismatch=!0,config._isValid=!1,!1)}(match[1],parsedArray,config))return;config._a=parsedArray,config._tzm=function(obsOffset,militaryOffset,numOffset){if(obsOffset)return obsOffsets[obsOffset];if(militaryOffset)return 0;var hm=parseInt(numOffset,10),m=hm%100;return(hm-m)/100*60+m}(match[8],match[9],match[10]),config._d=createUTCDate.apply(null,config._a),config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),getParsingFlags(config).rfc2822=!0}else config._isValid=!1}function defaults(a,b,c){return null!=a?a:null!=b?b:c}function configFromArray(config){var i,date,currentDate,expectedWeekday,yearToUse,input=[];if(!config._d){for(currentDate=function(config){var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}(config),config._w&&null==config._a[2]&&null==config._a[1]&&function(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;null!=(w=config._w).GG||null!=w.W||null!=w.E?(dow=1,doy=4,weekYear=defaults(w.GG,config._a[0],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||weekday>7)&&(weekdayOverflow=!0)):(dow=config._locale._week.dow,doy=config._locale._week.doy,curWeek=weekOfYear(createLocal(),dow,doy),weekYear=defaults(w.gg,config._a[0],curWeek.year),week=defaults(w.w,curWeek.week),null!=w.d?((weekday=w.d)<0||weekday>6)&&(weekdayOverflow=!0):null!=w.e?(weekday=w.e+dow,(w.e<0||w.e>6)&&(weekdayOverflow=!0)):weekday=dow);week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[0]=temp.year,config._dayOfYear=temp.dayOfYear)}(config),null!=config._dayOfYear&&(yearToUse=defaults(config._a[0],currentDate[0]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[1]=date.getUTCMonth(),config._a[2]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];24===config._a[3]&&0===config._a[4]&&0===config._a[5]&&0===config._a[6]&&(config._nextDay=!0,config._a[3]=0),config._d=(config._useUTC?createUTCDate:createDate).apply(null,input),expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay(),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[3]=24),config._w&&void 0!==config._w.d&&config._w.d!==expectedWeekday&&(getParsingFlags(config).weekdayMismatch=!0)}}function configFromStringAndFormat(config){if(config._f!==hooks.ISO_8601)if(config._f!==hooks.RFC_2822){config._a=[],getParsingFlags(config).empty=!0;var i,parsedInput,tokens,token,skipped,era,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i<tokens.length;i++)token=tokens[i],(parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0])&&((skipped=string.substr(0,string.indexOf(parsedInput))).length>0&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&getParsingFlags(config).unusedInput.push(string),config._a[3]<=12&&!0===getParsingFlags(config).bigHour&&config._a[3]>0&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,config._a[3]=function(locale,hour,meridiem){var isPm;if(null==meridiem)return hour;return null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):null!=locale.isPM?((isPm=locale.isPM(meridiem))&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0),hour):hour}(config._locale,config._a[3],config._meridiem),null!==(era=getParsingFlags(config).era)&&(config._a[0]=config._locale.erasConvertYear(era,config._a[0])),configFromArray(config),checkOverflow(config)}else configFromRFC2822(config);else configFromISO(config)}function prepareConfig(config){var input=config._i,format=config._f;return config._locale=config._locale||getLocale(config._l),null===input||void 0===format&&""===input?createInvalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),isMoment(input)?new Moment(checkOverflow(input)):(isDate(input)?config._d=input:isArray(format)?function(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore,validFormatFound,bestFormatIsValid=!1;if(0===config._f.length)return getParsingFlags(config).invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;i<config._f.length;i++)currentScore=0,validFormatFound=!1,tempConfig=copyConfig({},config),null!=config._useUTC&&(tempConfig._useUTC=config._useUTC),tempConfig._f=config._f[i],configFromStringAndFormat(tempConfig),isValid(tempConfig)&&(validFormatFound=!0),currentScore+=getParsingFlags(tempConfig).charsLeftOver,currentScore+=10*getParsingFlags(tempConfig).unusedTokens.length,getParsingFlags(tempConfig).score=currentScore,bestFormatIsValid?currentScore<scoreToBeat&&(scoreToBeat=currentScore,bestMoment=tempConfig):(null==scoreToBeat||currentScore<scoreToBeat||validFormatFound)&&(scoreToBeat=currentScore,bestMoment=tempConfig,validFormatFound&&(bestFormatIsValid=!0));extend(config,bestMoment||tempConfig)}(config):format?configFromStringAndFormat(config):function(config){var input=config._i;isUndefined(input)?config._d=new Date(hooks.now()):isDate(input)?config._d=new Date(input.valueOf()):"string"==typeof input?function(config){var matched=aspNetJsonRegex.exec(config._i);null===matched?(configFromISO(config),!1===config._isValid&&(delete config._isValid,configFromRFC2822(config),!1===config._isValid&&(delete config._isValid,config._strict?config._isValid=!1:hooks.createFromInputFallback(config)))):config._d=new Date(+matched[1])}(config):isArray(input)?(config._a=map(input.slice(0),(function(obj){return parseInt(obj,10)})),configFromArray(config)):isObject(input)?function(config){if(!config._d){var i=normalizeObjectUnits(config._i),dayOrDate=void 0===i.day?i.date:i.day;config._a=map([i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],(function(obj){return obj&&parseInt(obj,10)})),configFromArray(config)}}(config):isNumber(input)?config._d=new Date(input):hooks.createFromInputFallback(config)}(config),isValid(config)||(config._d=null),config))}function createLocalOrUTC(input,format,locale,strict,isUTC){var res,c={};return!0!==format&&!1!==format||(strict=format,format=void 0),!0!==locale&&!1!==locale||(strict=locale,locale=void 0),(isObject(input)&&isObjectEmpty(input)||isArray(input)&&0===input.length)&&(input=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=isUTC,c._l=locale,c._i=input,c._f=format,c._strict=strict,(res=new Moment(checkOverflow(prepareConfig(c))))._nextDay&&(res.add(1,"d"),res._nextDay=void 0),res}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!1)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))})),hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other<this?this:other:createInvalid()})),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other>this?this:other:createInvalid()}));function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;i<moments.length;++i)moments[i].isValid()&&!moments[i][fn](res)||(res=moments[i]);return res}var ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||normalizedInput.isoWeek||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=function(m){var key,i,unitHasDecimal=!1;for(key in m)if(hasOwnProp(m,key)&&(-1===indexOf.call(ordering,key)||null!=m[key]&&isNaN(m[key])))return!1;for(i=0;i<ordering.length;++i)if(m[ordering[i]]){if(unitHasDecimal)return!1;parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])&&(unitHasDecimal=!0)}return!0}(normalizedInput),this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+1e3*hours*60*60,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(obj){return obj instanceof Duration}function absRound(number){return number<0?-1*Math.round(-1*number):Math.round(number)}function offset(token,separator){addFormatToken(token,0,0,(function(){var offset=this.utcOffset(),sign="+";return offset<0&&(offset=-offset,sign="-"),sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)}))}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],(function(input,array,config){config._useUTC=!0,config._tzm=offsetFromString(matchShortOffset,input)}));var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var parts,minutes,matches=(string||"").match(matcher);return null===matches?null:0===(minutes=60*(parts=((matches[matches.length-1]||[])+"").match(chunkOffset)||["-",0,0])[1]+toInt(parts[2]))?0:"+"===parts[0]?minutes:-minutes}function cloneWithOffset(input,model){var res,diff;return model._isUTC?(res=model.clone(),diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf(),res._d.setTime(res._d.valueOf()+diff),hooks.updateOffset(res,!1),res):createLocal(input).local()}function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset())}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks.updateOffset=function(){};var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var sign,ret,diffRes,duration=input,match=null;return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)||!isNaN(+input)?(duration={},key?duration[key]=+input:duration.milliseconds=+input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[2])*sign,h:toInt(match[3])*sign,m:toInt(match[4])*sign,s:toInt(match[5])*sign,ms:toInt(absRound(1e3*match[6]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=function(base,other){var res;if(!base.isValid()||!other.isValid())return{milliseconds:0,months:0};other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):((res=positiveMomentsDifference(other,base)).milliseconds=-res.milliseconds,res.months=-res.months);return res}(createLocal(duration.from),createLocal(duration.to)),(duration={}).ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),isDuration(input)&&hasOwnProp(input,"_isValid")&&(ret._isValid=input._isValid),ret}function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function createAdder(direction,name){return function(val,period){var tmp;return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),addSubtract(this,createDuration(val,period),direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,months&&setMonth(mom,get(mom,"Month")+months*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}createDuration.fn=Duration.prototype,createDuration.invalid=function(){return createDuration(NaN)};var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(input){return"string"==typeof input||input instanceof String}function isMomentInput(input){return isMoment(input)||isDate(input)||isString(input)||isNumber(input)||function(input){var arrayTest=isArray(input),dataTypeTest=!1;arrayTest&&(dataTypeTest=0===input.filter((function(item){return!isNumber(item)&&isString(input)})).length);return arrayTest&&dataTypeTest}(input)||function(input){var i,property,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(i=0;i<properties.length;i+=1)property=properties[i],propertyTest=propertyTest||hasOwnProp(input,property);return objectTest&&propertyTest}(input)||null==input}function isCalendarSpec(input){var i,objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=!1,properties=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(i=0;i<properties.length;i+=1)propertyTest=propertyTest||hasOwnProp(input,properties[i]);return objectTest&&propertyTest}function monthDiff(a,b){if(a.date()<b.date())return-monthDiff(b,a);var wholeMonthDiff=12*(b.year()-a.year())+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months");return-(wholeMonthDiff+(b-anchor<0?(b-anchor)/(anchor-a.clone().add(wholeMonthDiff-1,"months")):(b-anchor)/(a.clone().add(wholeMonthDiff+1,"months")-anchor)))||0}function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(null!=(newLocaleData=getLocale(key))&&(this._locale=newLocaleData),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(key){return void 0===key?this.localeData():this.locale(key)}));function localeData(){return this._locale}function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}function localStartOfDate(y,m,d){return y<100&&y>=0?new Date(y+400,m,d)-126227808e5:new Date(y,m,d).valueOf()}function utcStartOfDate(y,m,d){return y<100&&y>=0?Date.UTC(y+400,m,d)-126227808e5:Date.UTC(y,m,d)}function matchEraAbbr(isStrict,locale){return locale.erasAbbrRegex(isStrict)}function computeErasParse(){var i,l,abbrPieces=[],namePieces=[],narrowPieces=[],mixedPieces=[],eras=this.eras();for(i=0,l=eras.length;i<l;++i)namePieces.push(regexEscape(eras[i].name)),abbrPieces.push(regexEscape(eras[i].abbr)),narrowPieces.push(regexEscape(eras[i].narrow)),mixedPieces.push(regexEscape(eras[i].name)),mixedPieces.push(regexEscape(eras[i].abbr)),mixedPieces.push(regexEscape(eras[i].narrow));this._erasRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+namePieces.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+abbrPieces.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+narrowPieces.join("|")+")","i")}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:(week>(weeksTarget=weeksInYear(input,dow,doy))&&(week=weeksTarget),setWeekAll.call(this,input,week,weekday,dow,doy))}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",(function(isStrict,locale){return locale.erasNameRegex(isStrict)})),addRegexToken("NNNNN",(function(isStrict,locale){return locale.erasNarrowRegex(isStrict)})),addParseToken(["N","NN","NNN","NNNN","NNNNN"],(function(input,array,config,token){var era=config._locale.erasParse(input,token,config._strict);era?getParsingFlags(config).era=era:getParsingFlags(config).invalidEra=input})),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",(function(isStrict,locale){return locale._eraYearOrdinalRegex||matchUnsigned})),addParseToken(["y","yy","yyy","yyyy"],0),addParseToken(["yo"],(function(input,array,config,token){var match;config._locale._eraYearOrdinalRegex&&(match=input.match(config._locale._eraYearOrdinalRegex)),config._locale.eraYearOrdinalParse?array[0]=config._locale.eraYearOrdinalParse(input,match):array[0]=parseInt(input,10)})),addFormatToken(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],(function(input,week,config,token){week[token.substr(0,2)]=toInt(input)})),addWeekParseToken(["gg","GG"],(function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)})),addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",(function(input,array){array[1]=3*(toInt(input)-1)})),addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",(function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient})),addParseToken(["D","DD"],2),addParseToken("Do",(function(input,array){array[2]=toInt(input.match(match1to2)[0])}));var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],(function(input,array,config){config._dayOfYear=toInt(input)})),addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],4);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],5);var token,getSetMillisecond,getSetSecond=makeGetSet("Seconds",!1);for(addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[6]=toInt(1e3*("0."+input))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function preParsePostFormat(string){return string}proto.add=add,proto.calendar=function(time,formats){1===arguments.length&&(arguments[0]?isMomentInput(arguments[0])?(time=arguments[0],formats=void 0):isCalendarSpec(arguments[0])&&(formats=arguments[0],time=void 0):(time=void 0,formats=void 0));var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))},proto.clone=function(){return new Moment(this)},proto.diff=function(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid())return NaN;if(!(that=cloneWithOffset(input,this)).isValid())return NaN;switch(zoneDelta=6e4*(that.utcOffset()-this.utcOffset()),units=normalizeUnits(units)){case"year":output=monthDiff(this,that)/12;break;case"month":output=monthDiff(this,that);break;case"quarter":output=monthDiff(this,that)/3;break;case"second":output=(this-that)/1e3;break;case"minute":output=(this-that)/6e4;break;case"hour":output=(this-that)/36e5;break;case"day":output=(this-that-zoneDelta)/864e5;break;case"week":output=(this-that-zoneDelta)/6048e5;break;default:output=this-that}return asFloat?output:absFloor(output)},proto.endOf=function(units){var time,startOfDate;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year()+1,0,1)-1;break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case"hour":time=this._d.valueOf(),time+=36e5-mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":time=this._d.valueOf(),time+=6e4-mod$1(time,6e4)-1;break;case"second":time=this._d.valueOf(),time+=1e3-mod$1(time,1e3)-1}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.format=function(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)},proto.from=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.fromNow=function(withoutSuffix){return this.from(createLocal(),withoutSuffix)},proto.to=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.toNow=function(withoutSuffix){return this.to(createLocal(),withoutSuffix)},proto.get=function(units){return isFunction(this[units=normalizeUnits(units)])?this[units]():this},proto.invalidAt=function(){return getParsingFlags(this).overflow},proto.isAfter=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()>localInput.valueOf():localInput.valueOf()<this.clone().startOf(units).valueOf())},proto.isBefore=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()<localInput.valueOf():this.clone().endOf(units).valueOf()<localInput.valueOf())},proto.isBetween=function(from,to,units,inclusivity){var localFrom=isMoment(from)?from:createLocal(from),localTo=isMoment(to)?to:createLocal(to);return!!(this.isValid()&&localFrom.isValid()&&localTo.isValid())&&(("("===(inclusivity=inclusivity||"()")[0]?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(")"===inclusivity[1]?this.isBefore(localTo,units):!this.isAfter(localTo,units)))},proto.isSame=function(input,units){var inputMs,localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()===localInput.valueOf():(inputMs=localInput.valueOf(),this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()))},proto.isSameOrAfter=function(input,units){return this.isSame(input,units)||this.isAfter(input,units)},proto.isSameOrBefore=function(input,units){return this.isSame(input,units)||this.isBefore(input,units)},proto.isValid=function(){return isValid(this)},proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=function(){return extend({},getParsingFlags(this))},proto.set=function(units,value){if("object"==typeof units){var i,prioritized=function(unitsObj){var u,units=[];for(u in unitsObj)hasOwnProp(unitsObj,u)&&units.push({unit:u,priority:priorities[u]});return units.sort((function(a,b){return a.priority-b.priority})),units}(units=normalizeObjectUnits(units));for(i=0;i<prioritized.length;i++)this[prioritized[i].unit](units[prioritized[i].unit])}else if(isFunction(this[units=normalizeUnits(units)]))return this[units](value);return this},proto.startOf=function(units){var time,startOfDate;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;switch(startOfDate=this._isUTC?utcStartOfDate:localStartOfDate,units){case"year":time=startOfDate(this.year(),0,1);break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case"month":time=startOfDate(this.year(),this.month(),1);break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date());break;case"hour":time=this._d.valueOf(),time-=mod$1(time+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":time=this._d.valueOf(),time-=mod$1(time,6e4);break;case"second":time=this._d.valueOf(),time-=mod$1(time,1e3)}return this._d.setTime(time),hooks.updateOffset(this,!0),this},proto.subtract=subtract,proto.toArray=function(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]},proto.toObject=function(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}},proto.toDate=function(){return new Date(this.valueOf())},proto.toISOString=function(keepOffset){if(!this.isValid())return null;var utc=!0!==keepOffset,m=utc?this.clone().utc():this;return m.year()<0||m.year()>9999?formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?utc?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment(m,"Z")):formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},proto.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var prefix,year,suffix,func="moment",zone="";return this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z"),prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY","-MM-DD[T]HH:mm:ss.SSS",suffix=zone+'[")]',this.format(prefix+year+"-MM-DD[T]HH:mm:ss.SSS"+suffix)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=function(){return this.isValid()?this.toISOString():null},proto.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},proto.unix=function(){return Math.floor(this.valueOf()/1e3)},proto.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},proto.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},proto.eraName=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].name;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].name}return""},proto.eraNarrow=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].narrow;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].narrow}return""},proto.eraAbbr=function(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){if(val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until)return eras[i].abbr;if(eras[i].until<=val&&val<=eras[i].since)return eras[i].abbr}return""},proto.eraYear=function(){var i,l,dir,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i)if(dir=eras[i].since<=eras[i].until?1:-1,val=this.clone().startOf("day").valueOf(),eras[i].since<=val&&val<=eras[i].until||eras[i].until<=val&&val<=eras[i].since)return(this.year()-hooks(eras[i].since).year())*dir+eras[i].offset;return this.year()},proto.year=getSetYear,proto.isLeapYear=function(){return isLeapYear(this.year())},proto.weekYear=function(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},proto.isoWeekYear=function(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)},proto.quarter=proto.quarters=function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},proto.month=getSetMonth,proto.daysInMonth=function(){return daysInMonth(this.year(),this.month())},proto.week=proto.weeks=function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},proto.isoWeek=proto.isoWeeks=function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},proto.weeksInYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},proto.weeksInWeekYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy)},proto.isoWeeksInYear=function(){return weeksInYear(this.year(),1,4)},proto.isoWeeksInISOWeekYear=function(){return weeksInYear(this.isoWeekYear(),1,4)},proto.date=getSetDayOfMonth,proto.day=proto.days=function(input){if(!this.isValid())return null!=input?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=input?(input=function(input,locale){return"string"!=typeof input?input:isNaN(input)?"number"==typeof(input=locale.weekdaysParse(input))?input:null:parseInt(input,10)}(input,this.localeData()),this.add(input-day,"d")):day},proto.weekday=function(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},proto.isoWeekday=function(input){if(!this.isValid())return null!=input?this:NaN;if(null!=input){var weekday=function(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}return this.day()||7},proto.dayOfYear=function(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=function(input,keepLocalTime,keepMinutes){var localAdjust,offset=this._offset||0;if(!this.isValid())return null!=input?this:NaN;if(null!=input){if("string"==typeof input){if(null===(input=offsetFromString(matchShortOffset,input)))return this}else Math.abs(input)<16&&!keepMinutes&&(input*=60);return!this._isUTC&&keepLocalTime&&(localAdjust=getDateOffset(this)),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.add(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addSubtract(this,createDuration(input-offset,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?offset:getDateOffset(this)},proto.utc=function(keepLocalTime){return this.utcOffset(0,keepLocalTime)},proto.local=function(keepLocalTime){return this._isUTC&&(this.utcOffset(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.subtract(getDateOffset(this),"m")),this},proto.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var tZone=offsetFromString(matchOffset,this._i);null!=tZone?this.utcOffset(tZone):this.utcOffset(0,!0)}return this},proto.hasAlignedHourOffset=function(input){return!!this.isValid()&&(input=input?createLocal(input).utcOffset():0,(this.utcOffset()-input)%60==0)},proto.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},proto.isLocal=function(){return!!this.isValid()&&!this._isUTC},proto.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=function(){return this._isUTC?"UTC":""},proto.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(input,keepLocalTime){return null!=input?("string"!=typeof input&&(input=-input),this.utcOffset(input,keepLocalTime),this):-this.utcOffset()})),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var other,c={};return copyConfig(c,this),(c=prepareConfig(c))._a?(other=c._isUTC?createUTC(c._a):createLocal(c._a),this._isDSTShifted=this.isValid()&&function(array1,array2,dontConvert){var i,len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0;for(i=0;i<len;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}(c._a,other.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}));var proto$1=Locale.prototype;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){"boolean"==typeof localeSorted?(isNumber(format)&&(index=format,format=void 0),format=format||""):(index=format=localeSorted,localeSorted=!1,isNumber(format)&&(index=format,format=void 0),format=format||"");var i,locale=getLocale(),shift=localeSorted?locale._week.dow:0,out=[];if(null!=index)return get$1(format,(index+shift)%7,field,"day");for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}proto$1.calendar=function(key,mom,now){var output=this._calendar[key]||this._calendar.sameElse;return isFunction(output)?output.call(mom,now):output},proto$1.longDateFormat=function(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];return format||!formatUpper?format:(this._longDateFormat[key]=formatUpper.match(formattingTokens).map((function(tok){return"MMMM"===tok||"MM"===tok||"DD"===tok||"dddd"===tok?tok.slice(1):tok})).join(""),this._longDateFormat[key])},proto$1.invalidDate=function(){return this._invalidDate},proto$1.ordinal=function(number){return this._ordinal.replace("%d",number)},proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},proto$1.pastFuture=function(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)},proto$1.set=function(config){var prop,i;for(i in config)hasOwnProp(config,i)&&(isFunction(prop=config[i])?this[i]=prop:this["_"+i]=prop);this._config=config,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},proto$1.eras=function(m,format){var i,l,date,eras=this._eras||getLocale("en")._eras;for(i=0,l=eras.length;i<l;++i){switch(typeof eras[i].since){case"string":date=hooks(eras[i].since).startOf("day"),eras[i].since=date.valueOf()}switch(typeof eras[i].until){case"undefined":eras[i].until=1/0;break;case"string":date=hooks(eras[i].until).startOf("day").valueOf(),eras[i].until=date.valueOf()}}return eras},proto$1.erasParse=function(eraName,format,strict){var i,l,name,abbr,narrow,eras=this.eras();for(eraName=eraName.toUpperCase(),i=0,l=eras.length;i<l;++i)if(name=eras[i].name.toUpperCase(),abbr=eras[i].abbr.toUpperCase(),narrow=eras[i].narrow.toUpperCase(),strict)switch(format){case"N":case"NN":case"NNN":if(abbr===eraName)return eras[i];break;case"NNNN":if(name===eraName)return eras[i];break;case"NNNNN":if(narrow===eraName)return eras[i]}else if([name,abbr,narrow].indexOf(eraName)>=0)return eras[i]},proto$1.erasConvertYear=function(era,year){var dir=era.since<=era.until?1:-1;return void 0===year?hooks(era.since).year():hooks(era.since).year()+(year-era.offset)*dir},proto$1.erasAbbrRegex=function(isStrict){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),isStrict?this._erasAbbrRegex:this._erasRegex},proto$1.erasNameRegex=function(isStrict){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),isStrict?this._erasNameRegex:this._erasRegex},proto$1.erasNarrowRegex=function(isStrict){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),isStrict?this._erasNarrowRegex:this._erasRegex},proto$1.months=function(m,format){return m?isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?"format":"standalone"][m.month()]:isArray(this._months)?this._months:this._months.standalone},proto$1.monthsShort=function(m,format){return m?isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?"format":"standalone"][m.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},proto$1.monthsParse=function(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact)return handleStrictParse.call(this,monthName,format,strict);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(mom=createUTC([2e3,i]),strict&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")),strict||this._monthsParse[i]||(regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"MMMM"===format&&this._longMonthsParse[i].test(monthName))return i;if(strict&&"MMM"===format&&this._shortMonthsParse[i].test(monthName))return i;if(!strict&&this._monthsParse[i].test(monthName))return i}},proto$1.monthsRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex)},proto$1.monthsShortRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex)},proto$1.week=function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},proto$1.firstDayOfYear=function(){return this._week.doy},proto$1.firstDayOfWeek=function(){return this._week.dow},proto$1.weekdays=function(m,format){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&!0!==m&&this._weekdays.isFormat.test(format)?"format":"standalone"];return!0===m?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays},proto$1.weekdaysMin=function(m){return!0===m?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin},proto$1.weekdaysShort=function(m){return!0===m?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort},proto$1.weekdaysParse=function(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}},proto$1.weekdaysRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)},proto$1.weekdaysShortRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},proto$1.weekdaysMinRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},proto$1.isPM=function(input){return"p"===(input+"").toLowerCase().charAt(0)},proto$1.meridiem=function(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"},getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function daysToMonths(days){return 4800*days/146097}function monthsToDays(months){return 146097*months/4800}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y");function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,years,s,totalSign,ymSign,daysSign,hmsSign,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months),total=this.asSeconds();return total?(minutes=absFloor(seconds/60),hours=absFloor(minutes/60),seconds%=60,minutes%=60,years=absFloor(months/12),months%=12,s=seconds?seconds.toFixed(3).replace(/\.?0+$/,""):"",totalSign=total<0?"-":"",ymSign=sign(this._months)!==sign(total)?"-":"",daysSign=sign(this._days)!==sign(total)?"-":"",hmsSign=sign(this._milliseconds)!==sign(total)?"-":"",totalSign+"P"+(years?ymSign+years+"Y":"")+(months?ymSign+months+"M":"")+(days?daysSign+days+"D":"")+(hours||minutes||seconds?"T":"")+(hours?hmsSign+hours+"H":"")+(minutes?hmsSign+minutes+"M":"")+(seconds?hmsSign+s+"S":"")):"P0D"}var proto$2=Duration.prototype;return proto$2.isValid=function(){return this._isValid},proto$2.abs=function(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this},proto$2.add=function(input,value){return addSubtract$1(this,input,value,1)},proto$2.subtract=function(input,value){return addSubtract$1(this,input,value,-1)},proto$2.as=function(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;if("month"===(units=normalizeUnits(units))||"quarter"===units||"year"===units)switch(days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),units){case"month":return months;case"quarter":return months/3;case"year":return months/12}else switch(days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}},proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12):NaN},proto$2._bubble=function(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;return milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),days=0,months=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,days+=absFloor(hours/24),months+=monthsFromDays=absFloor(daysToMonths(days)),days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this},proto$2.clone=function(){return createDuration(this)},proto$2.get=function(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN},proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=function(){return absFloor(this.days()/7)},proto$2.months=months,proto$2.years=years,proto$2.humanize=function(argWithSuffix,argThresholds){if(!this.isValid())return this.localeData().invalidDate();var locale,output,withSuffix=!1,th=thresholds;return"object"==typeof argWithSuffix&&(argThresholds=argWithSuffix,argWithSuffix=!1),"boolean"==typeof argWithSuffix&&(withSuffix=argWithSuffix),"object"==typeof argThresholds&&(th=Object.assign({},thresholds,argThresholds),null!=argThresholds.s&&null==argThresholds.ss&&(th.ss=argThresholds.s-1)),output=function(posNegDuration,withoutSuffix,thresholds,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),weeks=round(duration.as("w")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds<thresholds.s&&["ss",seconds]||minutes<=1&&["m"]||minutes<thresholds.m&&["mm",minutes]||hours<=1&&["h"]||hours<thresholds.h&&["hh",hours]||days<=1&&["d"]||days<thresholds.d&&["dd",days];return null!=thresholds.w&&(a=a||weeks<=1&&["w"]||weeks<thresholds.w&&["ww",weeks]),(a=a||months<=1&&["M"]||months<thresholds.M&&["MM",months]||years<=1&&["y"]||["yy",years])[2]=withoutSuffix,a[3]=+posNegDuration>0,a[4]=locale,substituteTimeAgo.apply(null,a)}(this,!withSuffix,th,locale=this.localeData()),withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)},proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",/[+-]?\d+(\.\d{1,3})?/),addParseToken("X",(function(input,array,config){config._d=new Date(1e3*parseFloat(input))})),addParseToken("x",(function(input,array,config){config._d=new Date(toInt(input))})),
|
|
269
269
|
//! moment.js
|
|
270
270
|
hooks.version="2.29.1",hookCallback=createLocal,hooks.fn=proto,hooks.min=function(){var args=[].slice.call(arguments,0);return pickBy("isBefore",args)},hooks.max=function(){var args=[].slice.call(arguments,0);return pickBy("isAfter",args)},hooks.now=function(){return Date.now?Date.now():+new Date},hooks.utc=createUTC,hooks.unix=function(input){return createLocal(1e3*input)},hooks.months=function(format,index){return listMonthsImpl(format,index,"months")},hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")},hooks.parseZone=function(){return createLocal.apply(null,arguments).parseZone()},hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=function(format,index){return listMonthsImpl(format,index,"monthsShort")},hooks.weekdaysMin=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")},hooks.defineLocale=defineLocale,hooks.updateLocale=function(name,config){if(null!=config){var locale,tmpLocale,parentConfig=baseConfig;null!=locales[name]&&null!=locales[name].parentLocale?locales[name].set(mergeConfigs(locales[name]._config,config)):(null!=(tmpLocale=loadLocale(name))&&(parentConfig=tmpLocale._config),config=mergeConfigs(parentConfig,config),null==tmpLocale&&(config.abbr=name),(locale=new Locale(config)).parentLocale=locales[name],locales[name]=locale),getSetGlobalLocale(name)}else null!=locales[name]&&(null!=locales[name].parentLocale?(locales[name]=locales[name].parentLocale,name===getSetGlobalLocale()&&getSetGlobalLocale(name)):null!=locales[name]&&delete locales[name]);return locales[name]},hooks.locales=function(){return keys(locales)},hooks.weekdaysShort=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysShort")},hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=function(roundingFunction){return void 0===roundingFunction?round:"function"==typeof roundingFunction&&(round=roundingFunction,!0)},hooks.relativeTimeThreshold=function(threshold,limit){return void 0!==thresholds[threshold]&&(void 0===limit?thresholds[threshold]:(thresholds[threshold]=limit,"s"===threshold&&(thresholds.ss=limit-1),!0))},hooks.calendarFormat=function(myMoment,now){var diff=myMoment.diff(now,"days",!0);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"},hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},hooks}))},{}],732:[function(require,module,exports){"use strict";function dedent(templ){for(var values=[],_i=1;_i<arguments.length;_i++)values[_i-1]=arguments[_i];var strings=Array.from("string"==typeof templ?[templ]:templ.raw);strings[strings.length-1]=strings[strings.length-1].replace(/\r?\n([\t ]*)$/,"");var indentLengths=strings.reduce((function(arr,str){var matches=str.match(/\n[\t ]+/g);return matches?arr.concat(matches.map((function(match){return match.length-1}))):arr}),[]);if(indentLengths.length){var pattern_1=new RegExp("\n[\t ]{"+Math.min.apply(Math,indentLengths)+"}","g");strings=strings.map((function(str){return str.replace(pattern_1,"\n")}))}strings[0]=strings[0].replace(/^\r?\n/,"");var string=strings[0];return values.forEach((function(value,i){string+=value+strings[i+1]})),string}Object.defineProperty(exports,"__esModule",{value:!0}),exports.dedent=void 0,exports.dedent=dedent,exports.default=dedent},{}],733:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"v1",{enumerable:!0,get:function(){return _v.default}}),Object.defineProperty(exports,"v3",{enumerable:!0,get:function(){return _v2.default}}),Object.defineProperty(exports,"v4",{enumerable:!0,get:function(){return _v3.default}}),Object.defineProperty(exports,"v5",{enumerable:!0,get:function(){return _v4.default}}),Object.defineProperty(exports,"NIL",{enumerable:!0,get:function(){return _nil.default}}),Object.defineProperty(exports,"version",{enumerable:!0,get:function(){return _version.default}}),Object.defineProperty(exports,"validate",{enumerable:!0,get:function(){return _validate.default}}),Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return _stringify.default}}),Object.defineProperty(exports,"parse",{enumerable:!0,get:function(){return _parse.default}});var _v=_interopRequireDefault(require("./v1.js")),_v2=_interopRequireDefault(require("./v3.js")),_v3=_interopRequireDefault(require("./v4.js")),_v4=_interopRequireDefault(require("./v5.js")),_nil=_interopRequireDefault(require("./nil.js")),_version=_interopRequireDefault(require("./version.js")),_validate=_interopRequireDefault(require("./validate.js")),_stringify=_interopRequireDefault(require("./stringify.js")),_parse=_interopRequireDefault(require("./parse.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},{"./nil.js":735,"./parse.js":736,"./stringify.js":740,"./v1.js":741,"./v3.js":742,"./v4.js":744,"./v5.js":745,"./validate.js":746,"./version.js":747}],734:[function(require,module,exports){"use strict";function getOutputLength(inputLength8){return 14+(inputLength8+64>>>9<<4)+1}function safeAdd(x,y){const lsw=(65535&x)+(65535&y);return(x>>16)+(y>>16)+(lsw>>16)<<16|65535&lsw}function md5cmn(q,a,b,x,s,t){return safeAdd((num=safeAdd(safeAdd(a,q),safeAdd(x,t)))<<(cnt=s)|num>>>32-cnt,b);var num,cnt}function md5ff(a,b,c,d,x,s,t){return md5cmn(b&c|~b&d,a,b,x,s,t)}function md5gg(a,b,c,d,x,s,t){return md5cmn(b&d|c&~d,a,b,x,s,t)}function md5hh(a,b,c,d,x,s,t){return md5cmn(b^c^d,a,b,x,s,t)}function md5ii(a,b,c,d,x,s,t){return md5cmn(c^(b|~d),a,b,x,s,t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default=function(bytes){if("string"==typeof bytes){const msg=unescape(encodeURIComponent(bytes));bytes=new Uint8Array(msg.length);for(let i=0;i<msg.length;++i)bytes[i]=msg.charCodeAt(i)}return function(input){const output=[],length32=32*input.length,hexTab="0123456789abcdef";for(let i=0;i<length32;i+=8){const x=input[i>>5]>>>i%32&255,hex=parseInt(hexTab.charAt(x>>>4&15)+hexTab.charAt(15&x),16);output.push(hex)}return output}(function(x,len){x[len>>5]|=128<<len%32,x[getOutputLength(len)-1]=len;let a=1732584193,b=-271733879,c=-1732584194,d=271733878;for(let i=0;i<x.length;i+=16){const olda=a,oldb=b,oldc=c,oldd=d;a=md5ff(a,b,c,d,x[i],7,-680876936),d=md5ff(d,a,b,c,x[i+1],12,-389564586),c=md5ff(c,d,a,b,x[i+2],17,606105819),b=md5ff(b,c,d,a,x[i+3],22,-1044525330),a=md5ff(a,b,c,d,x[i+4],7,-176418897),d=md5ff(d,a,b,c,x[i+5],12,1200080426),c=md5ff(c,d,a,b,x[i+6],17,-1473231341),b=md5ff(b,c,d,a,x[i+7],22,-45705983),a=md5ff(a,b,c,d,x[i+8],7,1770035416),d=md5ff(d,a,b,c,x[i+9],12,-1958414417),c=md5ff(c,d,a,b,x[i+10],17,-42063),b=md5ff(b,c,d,a,x[i+11],22,-1990404162),a=md5ff(a,b,c,d,x[i+12],7,1804603682),d=md5ff(d,a,b,c,x[i+13],12,-40341101),c=md5ff(c,d,a,b,x[i+14],17,-1502002290),b=md5ff(b,c,d,a,x[i+15],22,1236535329),a=md5gg(a,b,c,d,x[i+1],5,-165796510),d=md5gg(d,a,b,c,x[i+6],9,-1069501632),c=md5gg(c,d,a,b,x[i+11],14,643717713),b=md5gg(b,c,d,a,x[i],20,-373897302),a=md5gg(a,b,c,d,x[i+5],5,-701558691),d=md5gg(d,a,b,c,x[i+10],9,38016083),c=md5gg(c,d,a,b,x[i+15],14,-660478335),b=md5gg(b,c,d,a,x[i+4],20,-405537848),a=md5gg(a,b,c,d,x[i+9],5,568446438),d=md5gg(d,a,b,c,x[i+14],9,-1019803690),c=md5gg(c,d,a,b,x[i+3],14,-187363961),b=md5gg(b,c,d,a,x[i+8],20,1163531501),a=md5gg(a,b,c,d,x[i+13],5,-1444681467),d=md5gg(d,a,b,c,x[i+2],9,-51403784),c=md5gg(c,d,a,b,x[i+7],14,1735328473),b=md5gg(b,c,d,a,x[i+12],20,-1926607734),a=md5hh(a,b,c,d,x[i+5],4,-378558),d=md5hh(d,a,b,c,x[i+8],11,-2022574463),c=md5hh(c,d,a,b,x[i+11],16,1839030562),b=md5hh(b,c,d,a,x[i+14],23,-35309556),a=md5hh(a,b,c,d,x[i+1],4,-1530992060),d=md5hh(d,a,b,c,x[i+4],11,1272893353),c=md5hh(c,d,a,b,x[i+7],16,-155497632),b=md5hh(b,c,d,a,x[i+10],23,-1094730640),a=md5hh(a,b,c,d,x[i+13],4,681279174),d=md5hh(d,a,b,c,x[i],11,-358537222),c=md5hh(c,d,a,b,x[i+3],16,-722521979),b=md5hh(b,c,d,a,x[i+6],23,76029189),a=md5hh(a,b,c,d,x[i+9],4,-640364487),d=md5hh(d,a,b,c,x[i+12],11,-421815835),c=md5hh(c,d,a,b,x[i+15],16,530742520),b=md5hh(b,c,d,a,x[i+2],23,-995338651),a=md5ii(a,b,c,d,x[i],6,-198630844),d=md5ii(d,a,b,c,x[i+7],10,1126891415),c=md5ii(c,d,a,b,x[i+14],15,-1416354905),b=md5ii(b,c,d,a,x[i+5],21,-57434055),a=md5ii(a,b,c,d,x[i+12],6,1700485571),d=md5ii(d,a,b,c,x[i+3],10,-1894986606),c=md5ii(c,d,a,b,x[i+10],15,-1051523),b=md5ii(b,c,d,a,x[i+1],21,-2054922799),a=md5ii(a,b,c,d,x[i+8],6,1873313359),d=md5ii(d,a,b,c,x[i+15],10,-30611744),c=md5ii(c,d,a,b,x[i+6],15,-1560198380),b=md5ii(b,c,d,a,x[i+13],21,1309151649),a=md5ii(a,b,c,d,x[i+4],6,-145523070),d=md5ii(d,a,b,c,x[i+11],10,-1120210379),c=md5ii(c,d,a,b,x[i+2],15,718787259),b=md5ii(b,c,d,a,x[i+9],21,-343485551),a=safeAdd(a,olda),b=safeAdd(b,oldb),c=safeAdd(c,oldc),d=safeAdd(d,oldd)}return[a,b,c,d]}(function(input){if(0===input.length)return[];const length8=8*input.length,output=new Uint32Array(getOutputLength(length8));for(let i=0;i<length8;i+=8)output[i>>5]|=(255&input[i/8])<<i%32;return output}(bytes),8*bytes.length))};exports.default=_default},{}],735:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;exports.default="00000000-0000-0000-0000-000000000000"},{}],736:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_validate=(obj=require("./validate.js"))&&obj.__esModule?obj:{default:obj};var _default=function(uuid){if(!(0,_validate.default)(uuid))throw TypeError("Invalid UUID");let v;const arr=new Uint8Array(16);return arr[0]=(v=parseInt(uuid.slice(0,8),16))>>>24,arr[1]=v>>>16&255,arr[2]=v>>>8&255,arr[3]=255&v,arr[4]=(v=parseInt(uuid.slice(9,13),16))>>>8,arr[5]=255&v,arr[6]=(v=parseInt(uuid.slice(14,18),16))>>>8,arr[7]=255&v,arr[8]=(v=parseInt(uuid.slice(19,23),16))>>>8,arr[9]=255&v,arr[10]=(v=parseInt(uuid.slice(24,36),16))/1099511627776&255,arr[11]=v/4294967296&255,arr[12]=v>>>24&255,arr[13]=v>>>16&255,arr[14]=v>>>8&255,arr[15]=255&v,arr};exports.default=_default},{"./validate.js":746}],737:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;exports.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},{}],738:[function(require,module,exports){"use strict";let getRandomValues;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){if(!getRandomValues&&(getRandomValues="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),!getRandomValues))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues(rnds8)};const rnds8=new Uint8Array(16)},{}],739:[function(require,module,exports){"use strict";function f(s,x,y,z){switch(s){case 0:return x&y^~x&z;case 1:return x^y^z;case 2:return x&y^x&z^y&z;case 3:return x^y^z}}function ROTL(x,n){return x<<n|x>>>32-n}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default=function(bytes){const K=[1518500249,1859775393,2400959708,3395469782],H=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof bytes){const msg=unescape(encodeURIComponent(bytes));bytes=[];for(let i=0;i<msg.length;++i)bytes.push(msg.charCodeAt(i))}else Array.isArray(bytes)||(bytes=Array.prototype.slice.call(bytes));bytes.push(128);const l=bytes.length/4+2,N=Math.ceil(l/16),M=new Array(N);for(let i=0;i<N;++i){const arr=new Uint32Array(16);for(let j=0;j<16;++j)arr[j]=bytes[64*i+4*j]<<24|bytes[64*i+4*j+1]<<16|bytes[64*i+4*j+2]<<8|bytes[64*i+4*j+3];M[i]=arr}M[N-1][14]=8*(bytes.length-1)/Math.pow(2,32),M[N-1][14]=Math.floor(M[N-1][14]),M[N-1][15]=8*(bytes.length-1)&4294967295;for(let i=0;i<N;++i){const W=new Uint32Array(80);for(let t=0;t<16;++t)W[t]=M[i][t];for(let t=16;t<80;++t)W[t]=ROTL(W[t-3]^W[t-8]^W[t-14]^W[t-16],1);let a=H[0],b=H[1],c=H[2],d=H[3],e=H[4];for(let t=0;t<80;++t){const s=Math.floor(t/20),T=ROTL(a,5)+f(s,b,c,d)+e+K[s]+W[t]>>>0;e=d,d=c,c=ROTL(b,30)>>>0,b=a,a=T}H[0]=H[0]+a>>>0,H[1]=H[1]+b>>>0,H[2]=H[2]+c>>>0,H[3]=H[3]+d>>>0,H[4]=H[4]+e>>>0}return[H[0]>>24&255,H[0]>>16&255,H[0]>>8&255,255&H[0],H[1]>>24&255,H[1]>>16&255,H[1]>>8&255,255&H[1],H[2]>>24&255,H[2]>>16&255,H[2]>>8&255,255&H[2],H[3]>>24&255,H[3]>>16&255,H[3]>>8&255,255&H[3],H[4]>>24&255,H[4]>>16&255,H[4]>>8&255,255&H[4]]};exports.default=_default},{}],740:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_validate=(obj=require("./validate.js"))&&obj.__esModule?obj:{default:obj};const byteToHex=[];for(let i=0;i<256;++i)byteToHex.push((i+256).toString(16).substr(1));var _default=function(arr,offset=0){const uuid=(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase();if(!(0,_validate.default)(uuid))throw TypeError("Stringified UUID is invalid");return uuid};exports.default=_default},{"./validate.js":746}],741:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _rng=_interopRequireDefault(require("./rng.js")),_stringify=_interopRequireDefault(require("./stringify.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}let _nodeId,_clockseq,_lastMSecs=0,_lastNSecs=0;var _default=function(options,buf,offset){let i=buf&&offset||0;const b=buf||new Array(16);let node=(options=options||{}).node||_nodeId,clockseq=void 0!==options.clockseq?options.clockseq:_clockseq;if(null==node||null==clockseq){const seedBytes=options.random||(options.rng||_rng.default)();null==node&&(node=_nodeId=[1|seedBytes[0],seedBytes[1],seedBytes[2],seedBytes[3],seedBytes[4],seedBytes[5]]),null==clockseq&&(clockseq=_clockseq=16383&(seedBytes[6]<<8|seedBytes[7]))}let msecs=void 0!==options.msecs?options.msecs:Date.now(),nsecs=void 0!==options.nsecs?options.nsecs:_lastNSecs+1;const dt=msecs-_lastMSecs+(nsecs-_lastNSecs)/1e4;if(dt<0&&void 0===options.clockseq&&(clockseq=clockseq+1&16383),(dt<0||msecs>_lastMSecs)&&void 0===options.nsecs&&(nsecs=0),nsecs>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");_lastMSecs=msecs,_lastNSecs=nsecs,_clockseq=clockseq,msecs+=122192928e5;const tl=(1e4*(268435455&msecs)+nsecs)%4294967296;b[i++]=tl>>>24&255,b[i++]=tl>>>16&255,b[i++]=tl>>>8&255,b[i++]=255&tl;const tmh=msecs/4294967296*1e4&268435455;b[i++]=tmh>>>8&255,b[i++]=255&tmh,b[i++]=tmh>>>24&15|16,b[i++]=tmh>>>16&255,b[i++]=clockseq>>>8|128,b[i++]=255&clockseq;for(let n=0;n<6;++n)b[i+n]=node[n];return buf||(0,_stringify.default)(b)};exports.default=_default},{"./rng.js":738,"./stringify.js":740}],742:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _v=_interopRequireDefault(require("./v35.js")),_md=_interopRequireDefault(require("./md5.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _default=(0,_v.default)("v3",48,_md.default);exports.default=_default},{"./md5.js":734,"./v35.js":743}],743:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(name,version,hashfunc){function generateUUID(value,namespace,buf,offset){if("string"==typeof value&&(value=function(str){str=unescape(encodeURIComponent(str));const bytes=[];for(let i=0;i<str.length;++i)bytes.push(str.charCodeAt(i));return bytes}(value)),"string"==typeof namespace&&(namespace=(0,_parse.default)(namespace)),16!==namespace.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let bytes=new Uint8Array(16+value.length);if(bytes.set(namespace),bytes.set(value,namespace.length),bytes=hashfunc(bytes),bytes[6]=15&bytes[6]|version,bytes[8]=63&bytes[8]|128,buf){offset=offset||0;for(let i=0;i<16;++i)buf[offset+i]=bytes[i];return buf}return(0,_stringify.default)(bytes)}try{generateUUID.name=name}catch(err){}return generateUUID.DNS=DNS,generateUUID.URL=URL,generateUUID},exports.URL=exports.DNS=void 0;var _stringify=_interopRequireDefault(require("./stringify.js")),_parse=_interopRequireDefault(require("./parse.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8";exports.DNS=DNS;const URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";exports.URL=URL},{"./parse.js":736,"./stringify.js":740}],744:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _rng=_interopRequireDefault(require("./rng.js")),_stringify=_interopRequireDefault(require("./stringify.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _default=function(options,buf,offset){const rnds=(options=options||{}).random||(options.rng||_rng.default)();if(rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,buf){offset=offset||0;for(let i=0;i<16;++i)buf[offset+i]=rnds[i];return buf}return(0,_stringify.default)(rnds)};exports.default=_default},{"./rng.js":738,"./stringify.js":740}],745:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _v=_interopRequireDefault(require("./v35.js")),_sha=_interopRequireDefault(require("./sha1.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _default=(0,_v.default)("v5",80,_sha.default);exports.default=_default},{"./sha1.js":739,"./v35.js":743}],746:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_regex=(obj=require("./regex.js"))&&obj.__esModule?obj:{default:obj};var _default=function(uuid){return"string"==typeof uuid&&_regex.default.test(uuid)};exports.default=_default},{"./regex.js":737}],747:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_validate=(obj=require("./validate.js"))&&obj.__esModule?obj:{default:obj};var _default=function(uuid){if(!(0,_validate.default)(uuid))throw TypeError("Invalid UUID");return parseInt(uuid.substr(14,1),16)};exports.default=_default},{"./validate.js":746}]},{},[1]);
|