@loaders.gl/flatgeobuf 3.1.0-alpha.4 → 3.1.0-beta.3

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.
@@ -1,2 +1,4459 @@
1
- !function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=9)}([function(t,e,r){t.exports=r(7)},function(t,e){function r(t,e,r,n,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}t.exports=function(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function s(t){r(a,o,i,s,u,"next",t)}function u(t){r(a,o,i,s,u,"throw",t)}s(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){!function(t,e){"use strict";class r{constructor(t,e){this.name=t,this.type=e}}var n;!function(t){t[t.Byte=0]="Byte",t[t.UByte=1]="UByte",t[t.Bool=2]="Bool",t[t.Short=3]="Short",t[t.UShort=4]="UShort",t[t.Int=5]="Int",t[t.UInt=6]="UInt",t[t.Long=7]="Long",t[t.ULong=8]="ULong",t[t.Float=9]="Float",t[t.Double=10]="Double",t[t.String=11]="String",t[t.Json=12]="Json",t[t.DateTime=13]="DateTime",t[t.Binary=14]="Binary"}(n||(n={}));var o=n;class i{constructor(t,e,r){this.geometryType=t,this.columns=e,this.featuresCount=r}}var a,s,u,c,l={SIZEOF_SHORT:2,SIZEOF_INT:4,FILE_IDENTIFIER_LENGTH:4,SIZE_PREFIX_LENGTH:4,Encoding:{UTF8_BYTES:1,UTF16_STRING:2}};l.int32=new Int32Array(2),l.float32=new Float32Array(l.int32.buffer),l.float64=new Float64Array(l.int32.buffer),l.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],l.Long=function(t,e){this.low=0|t,this.high=0|e},l.Long.create=function(t,e){return 0==t&&0==e?l.Long.ZERO:new l.Long(t,e)},l.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},l.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},l.Long.ZERO=new l.Long(0,0),l.Builder=function(t){if(t)e=t;else var e=1024;this.bb=l.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},l.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},l.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},l.Builder.prototype.dataBuffer=function(){return this.bb},l.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},l.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);for(var r=1+~(this.bb.capacity()-this.space+e)&t-1;this.space<r+t+e;){var n=this.bb.capacity();this.bb=l.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-n}this.pad(r)},l.Builder.prototype.pad=function(t){for(var e=0;e<t;e++)this.bb.writeInt8(--this.space,0)},l.Builder.prototype.writeInt8=function(t){this.bb.writeInt8(this.space-=1,t)},l.Builder.prototype.writeInt16=function(t){this.bb.writeInt16(this.space-=2,t)},l.Builder.prototype.writeInt32=function(t){this.bb.writeInt32(this.space-=4,t)},l.Builder.prototype.writeInt64=function(t){this.bb.writeInt64(this.space-=8,t)},l.Builder.prototype.writeFloat32=function(t){this.bb.writeFloat32(this.space-=4,t)},l.Builder.prototype.writeFloat64=function(t){this.bb.writeFloat64(this.space-=8,t)},l.Builder.prototype.addInt8=function(t){this.prep(1,0),this.writeInt8(t)},l.Builder.prototype.addInt16=function(t){this.prep(2,0),this.writeInt16(t)},l.Builder.prototype.addInt32=function(t){this.prep(4,0),this.writeInt32(t)},l.Builder.prototype.addInt64=function(t){this.prep(8,0),this.writeInt64(t)},l.Builder.prototype.addFloat32=function(t){this.prep(4,0),this.writeFloat32(t)},l.Builder.prototype.addFloat64=function(t){this.prep(8,0),this.writeFloat64(t)},l.Builder.prototype.addFieldInt8=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt8(e),this.slot(t))},l.Builder.prototype.addFieldInt16=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt16(e),this.slot(t))},l.Builder.prototype.addFieldInt32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addInt32(e),this.slot(t))},l.Builder.prototype.addFieldInt64=function(t,e,r){!this.force_defaults&&e.equals(r)||(this.addInt64(e),this.slot(t))},l.Builder.prototype.addFieldFloat32=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat32(e),this.slot(t))},l.Builder.prototype.addFieldFloat64=function(t,e,r){(this.force_defaults||e!=r)&&(this.addFloat64(e),this.slot(t))},l.Builder.prototype.addFieldOffset=function(t,e,r){(this.force_defaults||e!=r)&&(this.addOffset(e),this.slot(t))},l.Builder.prototype.addFieldStruct=function(t,e,r){e!=r&&(this.nested(e),this.slot(t))},l.Builder.prototype.nested=function(t){if(t!=this.offset())throw new Error("FlatBuffers: struct must be serialized inline.")},l.Builder.prototype.notNested=function(){if(this.isNested)throw new Error("FlatBuffers: object serialization must not be nested.")},l.Builder.prototype.slot=function(t){this.vtable[t]=this.offset()},l.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},l.Builder.growByteBuffer=function(t){var e=t.capacity();if(3221225472&e)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");var r=e<<1,n=l.ByteBuffer.allocate(r);return n.setPosition(r-e),n.bytes().set(t.bytes(),r-e),n},l.Builder.prototype.addOffset=function(t){this.prep(l.SIZEOF_INT,0),this.writeInt32(this.offset()-t+l.SIZEOF_INT)},l.Builder.prototype.startObject=function(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(var e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()},l.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);for(var t=this.offset(),e=this.vtable_in_use-1;e>=0&&0==this.vtable[e];e--);for(var r=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);var n=(r+2)*l.SIZEOF_SHORT;this.addInt16(n);var o=0,i=this.space;t:for(e=0;e<this.vtables.length;e++){var a=this.bb.capacity()-this.vtables[e];if(n==this.bb.readInt16(a)){for(var s=l.SIZEOF_SHORT;s<n;s+=l.SIZEOF_SHORT)if(this.bb.readInt16(i+s)!=this.bb.readInt16(a+s))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t},l.Builder.prototype.finish=function(t,e,r){var n=r?l.SIZE_PREFIX_LENGTH:0;if(e){var o=e;if(this.prep(this.minalign,l.SIZEOF_INT+l.FILE_IDENTIFIER_LENGTH+n),o.length!=l.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+l.FILE_IDENTIFIER_LENGTH);for(var i=l.FILE_IDENTIFIER_LENGTH-1;i>=0;i--)this.writeInt8(o.charCodeAt(i))}this.prep(this.minalign,l.SIZEOF_INT+n),this.addOffset(t),n&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},l.Builder.prototype.finishSizePrefixed=function(t,e){this.finish(t,e,!0)},l.Builder.prototype.requiredField=function(t,e){var r=this.bb.capacity()-t,n=r-this.bb.readInt32(r);if(0==this.bb.readInt16(n+e))throw new Error("FlatBuffers: field "+e+" must be set")},l.Builder.prototype.startVector=function(t,e,r){this.notNested(),this.vector_num_elems=e,this.prep(l.SIZEOF_INT,t*e),this.prep(r,t*e)},l.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},l.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];for(var r=0;r<t.length;){var n,o=t.charCodeAt(r++);(n=o<55296||o>=56320?o:(o<<10)+t.charCodeAt(r++)+-56613888)<128?e.push(n):(n<2048?e.push(n>>6&31|192):(n<65536?e.push(n>>12&15|224):e.push(n>>18&7|240,n>>12&63|128),e.push(n>>6&63|128)),e.push(63&n|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),r=0;for(var i=this.space,a=this.bb.bytes();r<e.length;r++)a[i++]=e[r];return this.endVector()},l.Builder.prototype.createLong=function(t,e){return l.Long.create(t,e)},l.ByteBuffer=function(t){this.bytes_=t,this.position_=0},l.ByteBuffer.allocate=function(t){return new l.ByteBuffer(new Uint8Array(t))},l.ByteBuffer.prototype.clear=function(){this.position_=0},l.ByteBuffer.prototype.bytes=function(){return this.bytes_},l.ByteBuffer.prototype.position=function(){return this.position_},l.ByteBuffer.prototype.setPosition=function(t){this.position_=t},l.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},l.ByteBuffer.prototype.readInt8=function(t){return this.readUint8(t)<<24>>24},l.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},l.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},l.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},l.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},l.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},l.ByteBuffer.prototype.readInt64=function(t){return new l.Long(this.readInt32(t),this.readInt32(t+4))},l.ByteBuffer.prototype.readUint64=function(t){return new l.Long(this.readUint32(t),this.readUint32(t+4))},l.ByteBuffer.prototype.readFloat32=function(t){return l.int32[0]=this.readInt32(t),l.float32[0]},l.ByteBuffer.prototype.readFloat64=function(t){return l.int32[l.isLittleEndian?0:1]=this.readInt32(t),l.int32[l.isLittleEndian?1:0]=this.readInt32(t+4),l.float64[0]},l.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},l.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},l.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},l.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},l.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},l.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},l.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},l.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},l.ByteBuffer.prototype.writeFloat32=function(t,e){l.float32[0]=e,this.writeInt32(t,l.int32[0])},l.ByteBuffer.prototype.writeFloat64=function(t,e){l.float64[0]=e,this.writeInt32(t,l.int32[l.isLittleEndian?0:1]),this.writeInt32(t+4,l.int32[l.isLittleEndian?1:0])},l.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+l.SIZEOF_INT+l.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");for(var t="",e=0;e<l.FILE_IDENTIFIER_LENGTH;e++)t+=String.fromCharCode(this.readInt8(this.position_+l.SIZEOF_INT+e));return t},l.ByteBuffer.prototype.__offset=function(t,e){var r=t-this.readInt32(t);return e<this.readInt16(r)?this.readInt16(r+e):0},l.ByteBuffer.prototype.__union=function(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t},l.ByteBuffer.prototype.__string=function(t,e){t+=this.readInt32(t);var r=this.readInt32(t),n="",o=0;if(t+=l.SIZEOF_INT,e===l.Encoding.UTF8_BYTES)return this.bytes_.subarray(t,t+r);for(;o<r;){var i,a=this.readUint8(t+o++);if(a<192)i=a;else{var s=this.readUint8(t+o++);if(a<224)i=(31&a)<<6|63&s;else{var u=this.readUint8(t+o++);i=a<240?(15&a)<<12|(63&s)<<6|63&u:(7&a)<<18|(63&s)<<12|(63&u)<<6|63&this.readUint8(t+o++)}}i<65536?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296+(i>>10),56320+(1023&i)))}return n},l.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},l.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+l.SIZEOF_INT},l.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},l.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=l.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+l.FILE_IDENTIFIER_LENGTH);for(var e=0;e<l.FILE_IDENTIFIER_LENGTH;e++)if(t.charCodeAt(e)!=this.readInt8(this.position_+l.SIZEOF_INT+e))return!1;return!0},l.ByteBuffer.prototype.createLong=function(t,e){return l.Long.create(t,e)},function(t){t[t.Unknown=0]="Unknown",t[t.Point=1]="Point",t[t.LineString=2]="LineString",t[t.Polygon=3]="Polygon",t[t.MultiPoint=4]="MultiPoint",t[t.MultiLineString=5]="MultiLineString",t[t.MultiPolygon=6]="MultiPolygon",t[t.GeometryCollection=7]="GeometryCollection",t[t.CircularString=8]="CircularString",t[t.CompoundCurve=9]="CompoundCurve",t[t.CurvePolygon=10]="CurvePolygon",t[t.MultiCurve=11]="MultiCurve",t[t.MultiSurface=12]="MultiSurface",t[t.Curve=13]="Curve",t[t.Surface=14]="Surface",t[t.PolyhedralSurface=15]="PolyhedralSurface",t[t.TIN=16]="TIN",t[t.Triangle=17]="Triangle"}(a||(a={})),function(t){t[t.Byte=0]="Byte",t[t.UByte=1]="UByte",t[t.Bool=2]="Bool",t[t.Short=3]="Short",t[t.UShort=4]="UShort",t[t.Int=5]="Int",t[t.UInt=6]="UInt",t[t.Long=7]="Long",t[t.ULong=8]="ULong",t[t.Float=9]="Float",t[t.Double=10]="Double",t[t.String=11]="String",t[t.Json=12]="Json",t[t.DateTime=13]="DateTime",t[t.Binary=14]="Binary"}(s||(s={}));class f{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new f).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new f).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):s.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,s.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return f.start(t),f.addName(t,e),f.addType(t,r),f.end(t)}}class d{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new d).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new d).__init(t.readInt32(t.position())+t.position(),t)}ends(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}endsLength(){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}endsArray(){var t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}xy(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}xyLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}xyArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}z(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}zLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}zArray(){var t=this.bb.__offset(this.bb_pos,8);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}m(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}mLength(){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}mArray(){var t=this.bb.__offset(this.bb_pos,10);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}t(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}tLength(){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}tArray(){var t=this.bb.__offset(this.bb_pos,12);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}tm(t){var e=this.bb.__offset(this.bb_pos,14);return e?this.bb.readUint64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}tmLength(){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}type(){var t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readUint8(this.bb_pos+t):a.Unknown}parts(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new d).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}partsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(8)}static addEnds(t,e){t.addFieldOffset(0,e,0)}static createEndsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addInt32(e[r]);return t.endVector()}static startEndsVector(t,e){t.startVector(4,e,4)}static addXy(t,e){t.addFieldOffset(1,e,0)}static createXyVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startXyVector(t,e){t.startVector(8,e,8)}static addZ(t,e){t.addFieldOffset(2,e,0)}static createZVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startZVector(t,e){t.startVector(8,e,8)}static addM(t,e){t.addFieldOffset(3,e,0)}static createMVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startMVector(t,e){t.startVector(8,e,8)}static addT(t,e){t.addFieldOffset(4,e,0)}static createTVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startTVector(t,e){t.startVector(8,e,8)}static addTm(t,e){t.addFieldOffset(5,e,0)}static createTmVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addInt64(e[r]);return t.endVector()}static startTmVector(t,e){t.startVector(8,e,8)}static addType(t,e){t.addFieldInt8(6,e,a.Unknown)}static addParts(t,e){t.addFieldOffset(7,e,0)}static createPartsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startPartsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static create(t,e,r,n,o,i,a,s,u){return d.start(t),d.addEnds(t,e),d.addXy(t,r),d.addZ(t,n),d.addM(t,o),d.addT(t,i),d.addTm(t,a),d.addType(t,s),d.addParts(t,u),d.end(t)}}class h{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new h).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new h).__init(t.readInt32(t.position())+t.position(),t)}geometry(t){var e=this.bb.__offset(this.bb_pos,4);return e?(t||new d).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}properties(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}propertiesLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}propertiesArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}columns(t,e){var r=this.bb.__offset(this.bb_pos,8);return r?(e||new f).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static start(t){t.startObject(3)}static addGeometry(t,e){t.addFieldOffset(0,e,0)}static addProperties(t,e){t.addFieldOffset(1,e,0)}static createPropertiesVector(t,e){t.startVector(1,e.length,1);for(var r=e.length-1;r>=0;r--)t.addInt8(e[r]);return t.endVector()}static startPropertiesVector(t,e){t.startVector(1,e,1)}static addColumns(t,e){t.addFieldOffset(2,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,n){return h.start(t),h.addGeometry(t,e),h.addProperties(t,r),h.addColumns(t,n),h.end(t)}}!function(t){t[t.Unknown=0]="Unknown",t[t.Point=1]="Point",t[t.LineString=2]="LineString",t[t.Polygon=3]="Polygon",t[t.MultiPoint=4]="MultiPoint",t[t.MultiLineString=5]="MultiLineString",t[t.MultiPolygon=6]="MultiPolygon",t[t.GeometryCollection=7]="GeometryCollection",t[t.CircularString=8]="CircularString",t[t.CompoundCurve=9]="CompoundCurve",t[t.CurvePolygon=10]="CurvePolygon",t[t.MultiCurve=11]="MultiCurve",t[t.MultiSurface=12]="MultiSurface",t[t.Curve=13]="Curve",t[t.Surface=14]="Surface",t[t.PolyhedralSurface=15]="PolyhedralSurface",t[t.TIN=16]="TIN",t[t.Triangle=17]="Triangle"}(u||(u={})),function(t){t[t.Byte=0]="Byte",t[t.UByte=1]="UByte",t[t.Bool=2]="Bool",t[t.Short=3]="Short",t[t.UShort=4]="UShort",t[t.Int=5]="Int",t[t.UInt=6]="UInt",t[t.Long=7]="Long",t[t.ULong=8]="ULong",t[t.Float=9]="Float",t[t.Double=10]="Double",t[t.String=11]="String",t[t.Json=12]="Json",t[t.DateTime=13]="DateTime",t[t.Binary=14]="Binary"}(c||(c={}));class b{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new b).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new b).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}type(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):c.Byte}static start(t){t.startObject(2)}static addName(t,e){t.addFieldOffset(0,e,0)}static addType(t,e){t.addFieldInt8(1,e,c.Byte)}static end(t){var e=t.endObject();return t.requiredField(e,4),e}static create(t,e,r){return b.start(t),b.addName(t,e),b.addType(t,r),b.end(t)}}class p{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new p).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new p).__init(t.readInt32(t.position())+t.position(),t)}org(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}code(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}name(t){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}description(t){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}wkt(t){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}static start(t){t.startObject(5)}static addOrg(t,e){t.addFieldOffset(0,e,0)}static addCode(t,e){t.addFieldInt32(1,e,0)}static addName(t,e){t.addFieldOffset(2,e,0)}static addDescription(t,e){t.addFieldOffset(3,e,0)}static addWkt(t,e){t.addFieldOffset(4,e,0)}static end(t){return t.endObject()}static create(t,e,r,n,o,i){return p.start(t),p.addOrg(t,e),p.addCode(t,r),p.addName(t,n),p.addDescription(t,o),p.addWkt(t,i),p.end(t)}}class _{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRoot(t,e){return(e||new _).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRoot(t,e){return t.setPosition(t.position()+l.SIZE_PREFIX_LENGTH),(e||new _).__init(t.readInt32(t.position())+t.position(),t)}name(t){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}envelope(t){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readFloat64(this.bb.__vector(this.bb_pos+e)+8*t):0}envelopeLength(){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}envelopeArray(){var t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}geometryType(){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):u.Unknown}hasZ(){var t=this.bb.__offset(this.bb_pos,10);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasM(){var t=this.bb.__offset(this.bb_pos,12);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasT(){var t=this.bb.__offset(this.bb_pos,14);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasTM(){var t=this.bb.__offset(this.bb_pos,16);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}columns(t,e){var r=this.bb.__offset(this.bb_pos,18);return r?(e||new b).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*t),this.bb):null}columnsLength(){var t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}featuresCount(){var t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint64(this.bb_pos+t):this.bb.createLong(0,0)}indexNodeSize(){var t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readUint16(this.bb_pos+t):16}crs(t){var e=this.bb.__offset(this.bb_pos,24);return e?(t||new p).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}static start(t){t.startObject(11)}static addName(t,e){t.addFieldOffset(0,e,0)}static addEnvelope(t,e){t.addFieldOffset(1,e,0)}static createEnvelopeVector(t,e){t.startVector(8,e.length,8);for(var r=e.length-1;r>=0;r--)t.addFloat64(e[r]);return t.endVector()}static startEnvelopeVector(t,e){t.startVector(8,e,8)}static addGeometryType(t,e){t.addFieldInt8(2,e,u.Unknown)}static addHasZ(t,e){t.addFieldInt8(3,+e,0)}static addHasM(t,e){t.addFieldInt8(4,+e,0)}static addHasT(t,e){t.addFieldInt8(5,+e,0)}static addHasTM(t,e){t.addFieldInt8(6,+e,0)}static addColumns(t,e){t.addFieldOffset(7,e,0)}static createColumnsVector(t,e){t.startVector(4,e.length,4);for(var r=e.length-1;r>=0;r--)t.addOffset(e[r]);return t.endVector()}static startColumnsVector(t,e){t.startVector(4,e,4)}static addFeaturesCount(t,e){t.addFieldInt64(8,e,t.createLong(0,0))}static addIndexNodeSize(t,e){t.addFieldInt16(9,e,16)}static addCrs(t,e){t.addFieldOffset(10,e,0)}static end(t){return t.endObject()}static finishBuffer(t,e){t.finish(e)}static finishSizePrefixedBuffer(t,e){t.finish(e,void 0,!0)}static create(t,e,r,n,o,i,a,s,u,c,l,f){return _.start(t),_.addName(t,e),_.addEnvelope(t,r),_.addGeometryType(t,n),_.addHasZ(t,o),_.addHasM(t,i),_.addHasT(t,a),_.addHasTM(t,s),_.addColumns(t,u),_.addFeaturesCount(t,c),_.addIndexNodeSize(t,l),_.addCrs(t,f),_.end(t)}}function y(t){return t.reduce((t,e)=>Array.isArray(e)?t.concat(y(e)):t.concat(e),[])}function v(t){const e=[];for(let r=0;r<t.length;r+=2)e.push([t[r],t[r+1]]);return e}function m(t){return u[t]}function g(t){const e=t.coordinates;let r=null,n=null,o=null,i=m(t.type),a=0;switch(t.type){case"Point":r=e;break;case"MultiPoint":case"LineString":r=y(e);break;case"MultiLineString":case"Polygon":const i=e;r=y(i),i.length>1&&(n=i.map(t=>a+=t.length));break;case"MultiPolygon":o=e.map(t=>({type:"Polygon",coordinates:t})).map(g);break;case"GeometryCollection":o=t.geometries.map(g)}return{xy:r,ends:n,type:i,parts:o}}function w(t,e){if(e==u.GeometryCollection){const r=[];for(let e=0;e<t.partsLength();e++){const n=t.parts(e),o=n.type();r.push(w(n,o))}return{type:u[e],geometries:r}}if(e==u.MultiPolygon){const r=[];for(let e=0;e<t.partsLength();e++){const n=t.parts(e);r.push(w(n,u.Polygon))}return{type:u[e],coordinates:r.map(t=>t.coordinates)}}const r=function(t,e){const r=t.xyArray();switch(e){case u.Point:return Array.from(r);case u.MultiPoint:case u.LineString:return v(r);case u.MultiLineString:case u.Polygon:return function(t,e){if(!e||0===e.length)return[v(t)];let r=0;return Array.from(e).map(e=>t.slice(r,r=e<<1)).map(t=>v(t))}(r,t.endsArray())}}(t,e);return{type:u[e],coordinates:r}}function S(t,e){const r=e.columns;let n;n=w(t.geometry(),e.geometryType);const i=function(t,e){if(!e||0===e.length)return;const r=t.propertiesArray(),n=new DataView(r.buffer,r.byteOffset),i=t.propertiesLength();let a=0;const s={};for(;a<i;){const t=n.getUint16(a,!0);a+=2;const i=e[t];switch(i.type){case o.Bool:s[i.name]=!!n.getUint8(a),a+=1;break;case o.Byte:s[i.name]=n.getInt8(a),a+=1;break;case o.UByte:s[i.name]=n.getUint8(a),a+=1;break;case o.Short:s[i.name]=n.getInt16(a,!0),a+=2;break;case o.UShort:s[i.name]=n.getUint16(a,!0),a+=2;break;case o.Int:s[i.name]=n.getInt32(a,!0),a+=4;break;case o.UInt:s[i.name]=n.getUint32(a,!0),a+=4;break;case o.Long:s[i.name]=Number(n.getBigInt64(a,!0)),a+=8;break;case o.ULong:s[i.name]=Number(n.getBigUint64(a,!0)),a+=8;break;case o.Double:s[i.name]=n.getFloat64(a,!0),a+=8;break;case o.DateTime:case o.String:{const t=n.getUint32(a,!0);a+=4;const e=new TextDecoder;s[i.name]=e.decode(r.subarray(a,a+t)),a+=t;break}default:throw new Error("Unknown type "+i.type)}}return s}(t,r),a={type:"Feature",geometry:n};return i&&(a.properties=i),a}function E(t){var e;if("undefined"!=typeof Symbol){if(Symbol.asyncIterator&&null!=(e=t[Symbol.asyncIterator]))return e.call(t);if(Symbol.iterator&&null!=(e=t[Symbol.iterator]))return e.call(t)}throw new TypeError("Object is not async iterable")}function I(t){this.wrapped=t}function B(t){var e,r;function n(e,r){try{var i=t[e](r),a=i.value,s=a instanceof I;Promise.resolve(s?a.wrapped:a).then((function(t){s?n("return"===e?"return":"next",t):o(i.done?"return":"normal",t)}),(function(t){n("throw",t)}))}catch(t){o("throw",t)}}function o(t,o){switch(t){case"return":e.resolve({value:o,done:!0});break;case"throw":e.reject(o);break;default:e.resolve({value:o,done:!1})}(e=e.next)?n(e.key,e.arg):r=null}this._invoke=function(t,o){return new Promise((function(i,a){var s={key:t,arg:o,resolve:i,reject:a,next:null};r?r=r.next=s:(e=r=s,n(t,o))}))},"function"!=typeof t.return&&(this.return=void 0)}function T(t){return function(){return new B(t.apply(this,arguments))}}function R(t){return new I(t)}"function"==typeof Symbol&&Symbol.asyncIterator&&(B.prototype[Symbol.asyncIterator]=function(){return this}),B.prototype.next=function(t){return this._invoke("next",t)},B.prototype.throw=function(t){return this._invoke("throw",t)},B.prototype.return=function(t){return this._invoke("return",t)};var P=new Uint8Array(0);function O(t,e){if(!t.length)return e;if(!e.length)return t;var r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function F(t){this._source=t,this._array=P,this._index=0}function C(t,e){e=Math.min(Math.max(+e,2),65535);let r=t,n=r;do{r=Math.ceil(r/e),n+=r}while(1!==r);return 40*n}function L(t,e){if(e<2)throw new Error("Node size must be at least 2");if(0===t)throw new Error("Number of items must be greater than 0");let r=t,n=r;const o=[r];do{r=Math.ceil(r/e),n+=r,o.push(r)}while(1!==r);const i=[];r=n;for(let t of o)i.push(r-t),r-=t;i.reverse(),o.reverse();const a=[];for(let t=0;t<o.length;t++)a.push([i[t],i[t]+o[t]]);return a.reverse(),a}function j(t,e,r,n){return A.apply(this,arguments)}function A(){return(A=T((function*(t,e,r,n){const{minX:o,minY:i,maxX:a,maxY:s}=r,u=L(t,e),[[c,l]]=u,f=[];for(f.push([0,u.length-1]);0!==f.length;){const[r,d]=f.pop(),h=r>=l-t,[,b]=u[d],p=Math.min(r+e,b),_=p-r,y=yield R(n(40*r,40*_)),v=new Float64Array(y),m=new Uint32Array(y);for(let t=r;t<p;t++){const e=5*(t-r);if(a<v[e+0])continue;if(s<v[e+1])continue;if(o>v[e+2])continue;if(i>v[e+3])continue;const n=m[8+(e<<1)];h?yield[n,t-c]:f.push([n,d-1])}f.sort((t,e)=>e[0]-t[0])}}))).apply(this,arguments)}F.prototype.read=function(){var t=this,e=t._array.subarray(t._index);return t._source.read().then((function(r){return t._array=P,t._index=0,r.done?e.length>0?{done:!1,value:e}:{done:!0,value:void 0}:{done:!1,value:O(e,r.value)}}))},F.prototype.slice=function(t){if((t|=0)<0)throw new Error("invalid length");var e=this,r=this._array.length-this._index;if(this._index+t<=this._array.length)return Promise.resolve(this._array.subarray(this._index,this._index+=t));var n=new Uint8Array(t);return n.set(this._array.subarray(this._index)),function o(){return e._source.read().then((function(i){return i.done?(e._array=P,e._index=0,r>0?n.subarray(0,r):null):r+i.value.length>=t?(e._array=i.value,e._index=t-r,n.set(i.value.subarray(0,t-r),r),n):(n.set(i.value,r),r+=i.value.length,o())}))}()},F.prototype.cancel=function(){return this._source.cancel()};const k=new Uint8Array([102,103,98,3,102,103,98,0]);function q(t,e,r,n){return x.apply(this,arguments)}function x(){return(x=T((function*(t,e,n,o){let a=0,s=new Uint8Array(yield R(t(8)));if(a+=8,!s.every((t,e)=>k[e]===t))throw new Error("Not a FlatGeobuf file");s=new Uint8Array(yield R(t(4))),a+=4;let u=new l.ByteBuffer(s);const c=u.readUint32(0);s=new Uint8Array(yield R(t(c))),a+=c,u=new l.ByteBuffer(s);const f=_.getRoot(u),d=f.featuresCount().toFloat64(),h=[];for(let t=0;t<f.columnsLength();t++){const e=f.columns(t);h.push(new r(e.name(),e.type()))}const b=new i(f.geometryType(),h,d),p=f.indexNodeSize();if(p>0){const r=C(d,p);if(n){const i=async(r,n)=>(await e(a+r),await t(n)),s=[];var y,v=!0,m=!1;try{for(var g,w,S=E(j(d,p,n,i));v=(g=yield R(S.next())).done,w=yield R(g.value),!v;v=!0){let[t]=w;s.push(t)}}catch(t){m=!0,y=t}finally{try{v||null==S.return||(yield R(S.return()))}finally{if(m)throw y}}a+=r;var I,B=!0,T=!1;try{for(var P,O,F=E(s);B=(P=yield R(F.next())).done,O=yield R(P.value),!B;B=!0){let r=O;yield R(e(a+r)),yield U(t,b,o)}}catch(t){T=!0,I=t}finally{try{B||null==F.return||(yield R(F.return()))}finally{if(T)throw I}}return}e?yield R(e(a+r)):yield R(t(r)),a+=r}let L;for(;L=yield R(U(t,b,o));)yield L}))).apply(this,arguments)}async function U(t,e,r){let n=new Uint8Array(await t(4));if(0===n.byteLength)return null;let o=new l.ByteBuffer(n);const i=o.readUint32(0);n=new Uint8Array(await t(i));const a=new Uint8Array(i+4);return a.set(n,4),o=new l.ByteBuffer(a),o.setPosition(4),r(h.getRoot(o),e)}function N(t){const e=function(t){const e=t.features[0],n=e.properties;let a=null;n&&(a=Object.keys(n).map(t=>new r(t,function(t){if("boolean"==typeof t)return o.Bool;if("number"==typeof t)return t%1==0?o.Int:o.Double;if("string"==typeof t)return o.String;if(null===t)return o.String;throw new Error(`Unknown type (value '${t}')`)}(n[t]))));const s=new Set;for(const r of t.features)s.add(e.geometry.type);return new i(m(e.geometry.type),a,t.features.length)}(t),n=function(t){const e=new l.Builder(0);let r=null;t.columns&&(r=_.createColumnsVector(e,t.columns.map(t=>function(t,e){const r=t.createString(e.name);return b.start(t),b.addName(t,r),b.addType(t,e.type),b.end(t)}(e,t))));const n=e.createString("L1");_.start(e),_.addFeaturesCount(e,new l.Long(t.featuresCount,0)),_.addGeometryType(e,t.geometryType),_.addIndexNodeSize(e,0),r&&_.addColumns(e,r),_.addName(e,n);const o=_.end(e);return e.finishSizePrefixed(o),e.asUint8Array()}(e),a=t.features.map(t=>function(t,e){const r=e.columns,n=new l.Builder(0),i=new Uint8Array(1e5);let a=0;if(r){const e=new DataView(i.buffer);for(let n=0;n<r.length;n++){const s=r[n],u=t.properties[s.name];if(null!==u)switch(e.setUint16(a,n,!0),a+=2,s.type){case o.Bool:e.setUint8(a,u),a+=1;break;case o.Short:e.setInt16(a,u,!0),a+=2;break;case o.UShort:e.setUint16(a,u,!0),a+=2;break;case o.Int:e.setInt32(a,u,!0),a+=4;break;case o.UInt:e.setUint32(a,u,!0),a+=4;break;case o.Long:e.setBigInt64(a,BigInt(u),!0),a+=8;break;case o.Long:e.setBigUint64(a,BigInt(u),!0),a+=8;break;case o.Double:e.setFloat64(a,u,!0),a+=8;break;case o.String:const t=u,r=(new TextEncoder).encode(t);e.setUint32(a,r.length,!0),a+=4,i.set(r,a),a+=r.length;break;default:throw new Error("Unknown type")}}}let s=null;a>0&&(s=h.createPropertiesVector(n,i.slice(0,a)));const u=function t(e,r){const{xy:n,ends:o,parts:i,type:a}=r;if(i){const r=i.map(r=>t(e,r)),n=d.createPartsVector(e,r);return d.start(e),d.addParts(e,n),d.end(e)}const s=d.createXyVector(e,n);let u=null;return o&&(u=d.createEndsVector(e,o)),d.start(e),u&&d.addEnds(e,u),d.addXy(e,s),d.addType(e,a),d.end(e)}(n,g(t.geometry));h.start(n),h.addGeometry(n,u),s&&h.addProperties(n,s);const c=h.end(n);return n.finishSizePrefixed(c),n.asUint8Array()}(t,e)),s=a.map(t=>t.length).reduce((t,e)=>t+e),u=new Uint8Array(k.length+n.length+s);u.set(n,k.length);let c=k.length+n.length;for(const t of a)u.set(t,c),c+=t.length;return u.set(k),u}function z(t){return{type:"FeatureCollection",features:function(t,e){if(!t.subarray(0,7).every((t,e)=>k[e]===t))throw new Error("Not a FlatGeobuf file");const n=new l.ByteBuffer(t),o=n.readUint32(k.length);n.setPosition(k.length+4);const a=_.getRoot(n),s=a.featuresCount().toFloat64(),u=[];for(let t=0;t<a.columnsLength();t++){const e=a.columns(t);u.push(new r(e.name(),e.type()))}const c=new i(a.geometryType(),u,0);let f=k.length+4+o;const d=a.indexNodeSize();d>0&&(f+=C(s,d));const b=[];for(;f<n.capacity();){const t=n.readUint32(f);n.setPosition(f+4);const r=h.getRoot(n);b.push(e(r,c)),f+=4+t}return b}(t,(t,e)=>S(t,e))}}function M(t,e){return function(t,e,r){let n=0;return q(async e=>{const r=await fetch(t,{headers:{Range:`bytes=${n}-${n+e-1}`}});return n+=e,await r.arrayBuffer()},async t=>{n=t},e,(t,e)=>S(t,e))}(t,e)}t.deserialize=function(t,r){return t instanceof Uint8Array?z(t):t instanceof e.ReadableStream?function(t,e){const r="function"==typeof(n=t).slice?n:new F("function"==typeof n.read?n:n.getReader());var n;return q(async t=>await r.slice(t),void 0,void 0,e)}(t,(t,e)=>S(t,e)):M(t,r)},t.serialize=function(t){return N(t)},Object.defineProperty(t,"__esModule",{value:!0})}(e,r(8))},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function r(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=r=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=r=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),r(e)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof f?e:f,i=Object.create(o.prototype),a=new E(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return B()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=g(a,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l={};function f(){}function d(){}function h(){}var b={};b[o]=function(){return this};var p=Object.getPrototypeOf,_=p&&p(p(I([])));_&&_!==e&&r.call(_,o)&&(b=_);var y=h.prototype=f.prototype=Object.create(b);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function m(t,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,s){var u=c(t[o],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==typeof f&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,a,s)}),(function(t){n("throw",t,a,s)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,s)}))}s(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function g(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,g(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(w,this),this.reset(!0)}function I(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:B}}function B(){return{value:void 0,done:!0}}return d.prototype=y.constructor=h,h.constructor=d,d.displayName=s(h,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},v(m.prototype),m.prototype[i]=function(){return this},t.AsyncIterator=m,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new m(u(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},v(y),s(y,a,"Generator"),y[o]=function(){return this},y.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=I,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,l):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:I(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},function(t,e,r){"use strict";r.r(e),r.d(e,"ByteLengthQueuingStrategy",(function(){return He})),r.d(e,"CountQueuingStrategy",(function(){return Ze})),r.d(e,"ReadableStream",(function(){return xe})),r.d(e,"TransformStream",(function(){return Ye})),r.d(e,"WritableStream",(function(){return at}));var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:function(t){return"Symbol("+t+")"};function o(){}var i=Number.isNaN||function(t){return t!=t},a=o;function s(t){return"object"==typeof t&&null!==t||"function"==typeof t}function u(t){return t.slice()}function c(t){return!1!==function(t){if("number"!=typeof t)return!1;if(i(t))return!1;if(t<0)return!1;return!0}(t)&&t!==1/0}function l(t,e,r){if("function"!=typeof t)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(t,e,r)}function f(t,e,r,n){var o=t[e];if(void 0!==o){if("function"!=typeof o)throw new TypeError(o+" is not a method");switch(r){case 0:return function(){return h(o,t,n)};case 1:return function(e){var r=[e].concat(n);return h(o,t,r)}}}return function(){return w(void 0)}}function d(t,e,r){var n=t[e];if(void 0!==n)return l(n,t,r)}function h(t,e,r){try{return w(l(t,e,r))}catch(t){return S(t)}}function b(t){if(t=Number(t),i(t)||t<0)throw new RangeError("highWaterMark property of a queuing strategy must be non-negative and non-NaN");return t}function p(t){if(void 0===t)return function(){return 1};if("function"!=typeof t)throw new TypeError("size property of a queuing strategy must be a function");return function(e){return t(e)}}var _=Promise,y=Promise.prototype.then,v=Promise.resolve.bind(_),m=Promise.reject.bind(_);function g(t){return new _(t)}function w(t){return v(t)}function S(t){return m(t)}function E(t,e,r){return y.call(t,e,r)}function I(t,e,r){E(E(t,e,r),void 0,a)}function B(t,e){I(t,e)}function T(t,e){I(t,void 0,e)}function R(t,e,r){return E(t,e,r)}function P(t){E(t,void 0,a)}var O=function(){function t(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}return Object.defineProperty(t.prototype,"length",{get:function(){return this._size},enumerable:!0,configurable:!0}),t.prototype.push=function(t){var e=this._back,r=e;16383===e._elements.length&&(r={_elements:[],_next:void 0}),e._elements.push(t),r!==e&&(this._back=r,e._next=r),++this._size},t.prototype.shift=function(){var t=this._front,e=t,r=this._cursor,n=r+1,o=t._elements,i=o[r];return 16384===n&&(e=t._next,n=0),--this._size,this._cursor=n,t!==e&&(this._front=e),o[r]=void 0,i},t.prototype.forEach=function(t){for(var e=this._cursor,r=this._front,n=r._elements;!(e===n.length&&void 0===r._next||e===n.length&&(e=0,0===(n=(r=r._next)._elements).length));)t(n[e]),++e},t.prototype.peek=function(){var t=this._front,e=this._cursor;return t._elements[e]},t}();function F(t,e,r){var n=null;!0===r&&(n=Object.prototype);var o=Object.create(n);return o.value=t,o.done=e,o}function C(t,e){t._forAuthorCode=!0,t._ownerReadableStream=e,e._reader=t,"readable"===e._state?k(t):"closed"===e._state?function(t){k(t),U(t)}(t):q(t,e._storedError)}function L(t,e){return We(t._ownerReadableStream,e)}function j(t){"readable"===t._ownerReadableStream._state?x(t,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(t,e){q(t,e)}(t,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._ownerReadableStream._reader=void 0,t._ownerReadableStream=void 0}function A(t){return new TypeError("Cannot "+t+" a stream using a released reader")}function k(t){t._closedPromise=g((function(e,r){t._closedPromise_resolve=e,t._closedPromise_reject=r}))}function q(t,e){k(t),x(t,e)}function x(t,e){P(t._closedPromise),t._closedPromise_reject(e),t._closedPromise_resolve=void 0,t._closedPromise_reject=void 0}function U(t){t._closedPromise_resolve(void 0),t._closedPromise_resolve=void 0,t._closedPromise_reject=void 0}var N=n("[[CancelSteps]]"),z=n("[[PullSteps]]");function M(t,e){void 0===e&&(e=!1);var r=new Y(t);return r._forAuthorCode=e,r}function W(t){return g((function(e,r){var n={_resolve:e,_reject:r};t._reader._readRequests.push(n)}))}function V(t,e,r){var n=t._reader;n._readRequests.shift()._resolve(F(e,r,n._forAuthorCode))}function D(t){return t._reader._readRequests.length}function G(t){var e=t._reader;return void 0!==e&&!!X(e)}var H,Z,Y=function(){function t(t){if(!1===ze(t))throw new TypeError("ReadableStreamDefaultReader can only be constructed with a ReadableStream instance");if(!0===Me(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");C(this,t),this._readRequests=new O}return Object.defineProperty(t.prototype,"closed",{get:function(){return X(this)?this._closedPromise:S($("closed"))},enumerable:!0,configurable:!0}),t.prototype.cancel=function(t){return X(this)?void 0===this._ownerReadableStream?S(A("cancel")):L(this,t):S($("cancel"))},t.prototype.read=function(){return X(this)?void 0===this._ownerReadableStream?S(A("read from")):J(this):S($("read"))},t.prototype.releaseLock=function(){if(!X(this))throw $("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");j(this)}},t}();function X(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_readRequests")}function J(t){var e=t._ownerReadableStream;return e._disturbed=!0,"closed"===e._state?w(F(void 0,!0,t._forAuthorCode)):"errored"===e._state?S(e._storedError):e._readableStreamController[z]()}function $(t){return new TypeError("ReadableStreamDefaultReader.prototype."+t+" can only be used on a ReadableStreamDefaultReader")}"symbol"==typeof n.asyncIterator&&((H={})[n.asyncIterator]=function(){return this},Z=H,Object.defineProperty(Z,n.asyncIterator,{enumerable:!1}));var Q={next:function(){if(!1===K(this))return S(tt("next"));var t=this._asyncIteratorReader;return void 0===t._ownerReadableStream?S(A("iterate")):R(J(t),(function(e){var r=e.done;return r&&j(t),F(e.value,r,!0)}))},return:function(t){if(!1===K(this))return S(tt("next"));var e=this._asyncIteratorReader;if(void 0===e._ownerReadableStream)return S(A("finish iterating"));if(e._readRequests.length>0)return S(new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled"));if(!1===this._preventCancel){var r=L(e,t);return j(e),R(r,(function(){return F(t,!0,!0)}))}return j(e),w(F(t,!0,!0))}};function K(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_asyncIteratorReader")}function tt(t){return new TypeError("ReadableStreamAsyncIterator."+t+" can only be used on a ReadableSteamAsyncIterator")}function et(t){var e=t._queue.shift();return t._queueTotalSize-=e.size,t._queueTotalSize<0&&(t._queueTotalSize=0),e.value}function rt(t,e,r){if(!c(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");t._queue.push({value:e,size:r}),t._queueTotalSize+=r}function nt(t){t._queue=new O,t._queueTotalSize=0}void 0!==Z&&Object.setPrototypeOf(Q,Z),Object.defineProperty(Q,"next",{enumerable:!1}),Object.defineProperty(Q,"return",{enumerable:!1});var ot=n("[[AbortSteps]]"),it=n("[[ErrorSteps]]"),at=function(){function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),ut(this);var r=e.size,n=e.highWaterMark;if(void 0!==t.type)throw new RangeError("Invalid type is specified");var o=p(r);void 0===n&&(n=1),function(t,e,r,n){var o=Object.create(Tt.prototype);var i=f(e,"write",1,[o]),a=f(e,"close",0,[]),s=f(e,"abort",1,[]);Rt(t,o,(function(){return d(e,"start",[o])}),i,a,s,r,n)}(this,t,n=b(n),o)}return Object.defineProperty(t.prototype,"locked",{get:function(){if(!1===ct(this))throw At("locked");return lt(this)},enumerable:!0,configurable:!0}),t.prototype.abort=function(t){return!1===ct(this)?S(At("abort")):!0===lt(this)?S(new TypeError("Cannot abort a stream that already has a writer")):ft(this,t)},t.prototype.close=function(){return!1===ct(this)?S(At("close")):!0===lt(this)?S(new TypeError("Cannot close a stream that already has a writer")):!0===_t(this)?S(new TypeError("Cannot close an already-closing stream")):dt(this)},t.prototype.getWriter=function(){if(!1===ct(this))throw At("getWriter");return st(this)},t}();function st(t){return new mt(t)}function ut(t){t._state="writable",t._storedError=void 0,t._writer=void 0,t._writableStreamController=void 0,t._writeRequests=new O,t._inFlightWriteRequest=void 0,t._closeRequest=void 0,t._inFlightCloseRequest=void 0,t._pendingAbortRequest=void 0,t._backpressure=!1}function ct(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_writableStreamController")}function lt(t){return void 0!==t._writer}function ft(t,e){var r=t._state;if("closed"===r||"errored"===r)return w(void 0);if(void 0!==t._pendingAbortRequest)return t._pendingAbortRequest._promise;var n=!1;"erroring"===r&&(n=!0,e=void 0);var o=g((function(r,o){t._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:o,_reason:e,_wasAlreadyErroring:n}}));return t._pendingAbortRequest._promise=o,!1===n&&bt(t,e),o}function dt(t){var e=t._state;if("closed"===e||"errored"===e)return S(new TypeError("The stream (in "+e+" state) is not in the writable state and cannot be closed"));var r,n=g((function(e,r){var n={_resolve:e,_reject:r};t._closeRequest=n})),o=t._writer;return void 0!==o&&!0===t._backpressure&&"writable"===e&&Gt(o),rt(r=t._writableStreamController,"close",0),Ft(r),n}function ht(t,e){"writable"!==t._state?pt(t):bt(t,e)}function bt(t,e){var r=t._writableStreamController;t._state="erroring",t._storedError=e;var n=t._writer;void 0!==n&&Et(n,e),!1===function(t){if(void 0===t._inFlightWriteRequest&&void 0===t._inFlightCloseRequest)return!1;return!0}(t)&&!0===r._started&&pt(t)}function pt(t){t._state="errored",t._writableStreamController[it]();var e=t._storedError;if(t._writeRequests.forEach((function(t){t._reject(e)})),t._writeRequests=new O,void 0!==t._pendingAbortRequest){var r=t._pendingAbortRequest;if(t._pendingAbortRequest=void 0,!0===r._wasAlreadyErroring)return r._reject(e),void yt(t);I(t._writableStreamController[ot](r._reason),(function(){r._resolve(),yt(t)}),(function(e){r._reject(e),yt(t)}))}else yt(t)}function _t(t){return void 0!==t._closeRequest||void 0!==t._inFlightCloseRequest}function yt(t){void 0!==t._closeRequest&&(t._closeRequest._reject(t._storedError),t._closeRequest=void 0);var e=t._writer;void 0!==e&&Nt(e,t._storedError)}function vt(t,e){var r=t._writer;void 0!==r&&e!==t._backpressure&&(!0===e?function(t){Mt(t)}(r):Gt(r)),t._backpressure=e}var mt=function(){function t(t){if(!1===ct(t))throw new TypeError("WritableStreamDefaultWriter can only be constructed with a WritableStream instance");if(!0===lt(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;var e,r=t._state;if("writable"===r)!1===_t(t)&&!0===t._backpressure?Mt(this):Vt(this),xt(this);else if("erroring"===r)Wt(this,t._storedError),xt(this);else if("closed"===r)Vt(this),xt(e=this),zt(e);else{var n=t._storedError;Wt(this,n),Ut(this,n)}}return Object.defineProperty(t.prototype,"closed",{get:function(){return!1===gt(this)?S(kt("closed")):this._closedPromise},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"desiredSize",{get:function(){if(!1===gt(this))throw kt("desiredSize");if(void 0===this._ownerWritableStream)throw qt("desiredSize");return function(t){var e=t._ownerWritableStream,r=e._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return Ot(e._writableStreamController)}(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ready",{get:function(){return!1===gt(this)?S(kt("ready")):this._readyPromise},enumerable:!0,configurable:!0}),t.prototype.abort=function(t){return!1===gt(this)?S(kt("abort")):void 0===this._ownerWritableStream?S(qt("abort")):function(t,e){return ft(t._ownerWritableStream,e)}(this,t)},t.prototype.close=function(){if(!1===gt(this))return S(kt("close"));var t=this._ownerWritableStream;return void 0===t?S(qt("close")):!0===_t(t)?S(new TypeError("Cannot close an already-closing stream")):wt(this)},t.prototype.releaseLock=function(){if(!1===gt(this))throw kt("releaseLock");void 0!==this._ownerWritableStream&&It(this)},t.prototype.write=function(t){return!1===gt(this)?S(kt("write")):void 0===this._ownerWritableStream?S(qt("write to")):Bt(this,t)},t}();function gt(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_ownerWritableStream")}function wt(t){return dt(t._ownerWritableStream)}function St(t,e){"pending"===t._closedPromiseState?Nt(t,e):function(t,e){Ut(t,e)}(t,e)}function Et(t,e){"pending"===t._readyPromiseState?Dt(t,e):function(t,e){Wt(t,e)}(t,e)}function It(t){var e=t._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Et(t,r),St(t,r),e._writer=void 0,t._ownerWritableStream=void 0}function Bt(t,e){var r=t._ownerWritableStream,n=r._writableStreamController,o=function(t,e){try{return t._strategySizeAlgorithm(e)}catch(e){return Ct(t,e),1}}(n,e);if(r!==t._ownerWritableStream)return S(qt("write to"));var i=r._state;if("errored"===i)return S(r._storedError);if(!0===_t(r)||"closed"===i)return S(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===i)return S(r._storedError);var a=function(t){return g((function(e,r){var n={_resolve:e,_reject:r};t._writeRequests.push(n)}))}(r);return function(t,e,r){var n={chunk:e};try{rt(t,n,r)}catch(e){return void Ct(t,e)}var o=t._controlledWritableStream;if(!1===_t(o)&&"writable"===o._state){var i=Lt(t);vt(o,i)}Ft(t)}(n,e,o),a}var Tt=function(){function t(){throw new TypeError("WritableStreamDefaultController cannot be constructed explicitly")}return t.prototype.error=function(t){if(!1===function(t){if(!s(t))return!1;if(!Object.prototype.hasOwnProperty.call(t,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&jt(this,t)},t.prototype[ot]=function(t){var e=this._abortAlgorithm(t);return Pt(this),e},t.prototype[it]=function(){nt(this)},t}();function Rt(t,e,r,n,o,i,a,s){e._controlledWritableStream=t,t._writableStreamController=e,e._queue=void 0,e._queueTotalSize=void 0,nt(e),e._started=!1,e._strategySizeAlgorithm=s,e._strategyHWM=a,e._writeAlgorithm=n,e._closeAlgorithm=o,e._abortAlgorithm=i;var u=Lt(e);vt(t,u),I(w(r()),(function(){e._started=!0,Ft(e)}),(function(r){e._started=!0,ht(t,r)}))}function Pt(t){t._writeAlgorithm=void 0,t._closeAlgorithm=void 0,t._abortAlgorithm=void 0,t._strategySizeAlgorithm=void 0}function Ot(t){return t._strategyHWM-t._queueTotalSize}function Ft(t){var e=t._controlledWritableStream;if(!1!==t._started&&void 0===e._inFlightWriteRequest)if("erroring"!==e._state){if(0!==t._queue.length){var r=t._queue.peek().value;"close"===r?function(t){var e=t._controlledWritableStream;(function(t){t._inFlightCloseRequest=t._closeRequest,t._closeRequest=void 0})(e),et(t);var r=t._closeAlgorithm();Pt(t),I(r,(function(){!function(t){t._inFlightCloseRequest._resolve(void 0),t._inFlightCloseRequest=void 0,"erroring"===t._state&&(t._storedError=void 0,void 0!==t._pendingAbortRequest&&(t._pendingAbortRequest._resolve(),t._pendingAbortRequest=void 0)),t._state="closed";var e=t._writer;void 0!==e&&zt(e)}(e)}),(function(t){!function(t,e){t._inFlightCloseRequest._reject(e),t._inFlightCloseRequest=void 0,void 0!==t._pendingAbortRequest&&(t._pendingAbortRequest._reject(e),t._pendingAbortRequest=void 0),ht(t,e)}(e,t)}))}(t):function(t,e){var r=t._controlledWritableStream;(function(t){t._inFlightWriteRequest=t._writeRequests.shift()})(r),I(t._writeAlgorithm(e),(function(){!function(t){t._inFlightWriteRequest._resolve(void 0),t._inFlightWriteRequest=void 0}(r);var e=r._state;if(et(t),!1===_t(r)&&"writable"===e){var n=Lt(t);vt(r,n)}Ft(t)}),(function(e){"writable"===r._state&&Pt(t),function(t,e){t._inFlightWriteRequest._reject(e),t._inFlightWriteRequest=void 0,ht(t,e)}(r,e)}))}(t,r.chunk)}}else pt(e)}function Ct(t,e){"writable"===t._controlledWritableStream._state&&jt(t,e)}function Lt(t){return Ot(t)<=0}function jt(t,e){var r=t._controlledWritableStream;Pt(t),bt(r,e)}function At(t){return new TypeError("WritableStream.prototype."+t+" can only be used on a WritableStream")}function kt(t){return new TypeError("WritableStreamDefaultWriter.prototype."+t+" can only be used on a WritableStreamDefaultWriter")}function qt(t){return new TypeError("Cannot "+t+" a stream using a released writer")}function xt(t){t._closedPromise=g((function(e,r){t._closedPromise_resolve=e,t._closedPromise_reject=r,t._closedPromiseState="pending"}))}function Ut(t,e){xt(t),Nt(t,e)}function Nt(t,e){P(t._closedPromise),t._closedPromise_reject(e),t._closedPromise_resolve=void 0,t._closedPromise_reject=void 0,t._closedPromiseState="rejected"}function zt(t){t._closedPromise_resolve(void 0),t._closedPromise_resolve=void 0,t._closedPromise_reject=void 0,t._closedPromiseState="resolved"}function Mt(t){t._readyPromise=g((function(e,r){t._readyPromise_resolve=e,t._readyPromise_reject=r})),t._readyPromiseState="pending"}function Wt(t,e){Mt(t),Dt(t,e)}function Vt(t){Mt(t),Gt(t)}function Dt(t,e){P(t._readyPromise),t._readyPromise_reject(e),t._readyPromise_resolve=void 0,t._readyPromise_reject=void 0,t._readyPromiseState="rejected"}function Gt(t){t._readyPromise_resolve(void 0),t._readyPromise_resolve=void 0,t._readyPromise_reject=void 0,t._readyPromiseState="fulfilled"}function Ht(t){if("object"!=typeof t||null===t)return!1;try{return"boolean"==typeof t.aborted}catch(t){return!1}}var Zt="undefined"!=typeof DOMException?DOMException:void 0;var Yt,Xt=function(t){if("function"!=typeof t&&"object"!=typeof t)return!1;try{return new t,!0}catch(t){return!1}}(Zt)?Zt:((Yt=function(t,e){this.message=t||"",this.name=e||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}).prototype=Object.create(Error.prototype),Object.defineProperty(Yt.prototype,"constructor",{value:Yt,writable:!0,configurable:!0}),Yt);function Jt(t,e,r,n,i,a){var s=M(t),u=st(e);t._disturbed=!0;var c=!1,l=w(void 0);return g((function(f,d){var h,b,p,_;if(void 0!==a){if(h=function(){var r=new Xt("Aborted","AbortError"),o=[];!1===n&&o.push((function(){return"writable"===e._state?ft(e,r):w(void 0)})),!1===i&&o.push((function(){return"readable"===t._state?We(t,r):w(void 0)})),R((function(){return Promise.all(o.map((function(t){return t()})))}),!0,r)},!0===a.aborted)return void h();a.addEventListener("abort",h)}if(m(t,s._closedPromise,(function(t){!1===n?R((function(){return ft(e,t)}),!0,t):O(!0,t)})),m(e,u._closedPromise,(function(e){!1===i?R((function(){return We(t,e)}),!0,e):O(!0,e)})),b=t,p=s._closedPromise,_=function(){!1===r?R((function(){return function(t){var e=t._ownerWritableStream,r=e._state;return!0===_t(e)||"closed"===r?w(void 0):"errored"===r?S(e._storedError):wt(t)}(u)})):O()},"closed"===b._state?_():B(p,_),!0===_t(e)||"closed"===e._state){var y=new TypeError("the destination writable stream closed before all data could be piped to it");!1===i?R((function(){return We(t,y)}),!0,y):O(!0,y)}function v(){var t=l;return E(l,(function(){return t!==l?v():void 0}))}function m(t,e,r){"errored"===t._state?r(t._storedError):T(e,r)}function R(t,r,n){function o(){I(t(),(function(){return F(r,n)}),(function(t){return F(!0,t)}))}!0!==c&&(c=!0,"writable"===e._state&&!1===_t(e)?B(v(),o):o())}function O(t,r){!0!==c&&(c=!0,"writable"===e._state&&!1===_t(e)?B(v(),(function(){return F(t,r)})):F(t,r))}function F(t,e){It(u),j(s),void 0!==a&&a.removeEventListener("abort",h),t?d(e):f(void 0)}P(g((function(t,e){!function r(n){n?t():E(!0===c?w(!0):E(u._readyPromise,(function(){return E(J(s),(function(t){return!0===t.done||(l=E(Bt(u,t.value),void 0,o),!1)}))})),r,e)}(!1)})))}))}var $t=function(){function t(){throw new TypeError}return Object.defineProperty(t.prototype,"desiredSize",{get:function(){if(!1===Qt(this))throw ue("desiredSize");return ie(this)},enumerable:!0,configurable:!0}),t.prototype.close=function(){if(!1===Qt(this))throw ue("close");if(!1===ae(this))throw new TypeError("The stream is not in a state that permits close");re(this)},t.prototype.enqueue=function(t){if(!1===Qt(this))throw ue("enqueue");if(!1===ae(this))throw new TypeError("The stream is not in a state that permits enqueue");return ne(this,t)},t.prototype.error=function(t){if(!1===Qt(this))throw ue("error");oe(this,t)},t.prototype[N]=function(t){nt(this);var e=this._cancelAlgorithm(t);return ee(this),e},t.prototype[z]=function(){var t=this._controlledReadableStream;if(this._queue.length>0){var e=et(this);return!0===this._closeRequested&&0===this._queue.length?(ee(this),Ve(t)):Kt(this),w(F(e,!1,t._reader._forAuthorCode))}var r=W(t);return Kt(this),r},t}();function Qt(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_controlledReadableStream")}function Kt(t){!1!==te(t)&&(!0!==t._pulling?(t._pulling=!0,I(t._pullAlgorithm(),(function(){t._pulling=!1,!0===t._pullAgain&&(t._pullAgain=!1,Kt(t))}),(function(e){oe(t,e)}))):t._pullAgain=!0)}function te(t){var e=t._controlledReadableStream;return!1!==ae(t)&&(!1!==t._started&&(!0===Me(e)&&D(e)>0||ie(t)>0))}function ee(t){t._pullAlgorithm=void 0,t._cancelAlgorithm=void 0,t._strategySizeAlgorithm=void 0}function re(t){var e=t._controlledReadableStream;t._closeRequested=!0,0===t._queue.length&&(ee(t),Ve(e))}function ne(t,e){var r=t._controlledReadableStream;if(!0===Me(r)&&D(r)>0)V(r,e,!1);else{var n=void 0;try{n=t._strategySizeAlgorithm(e)}catch(e){throw oe(t,e),e}try{rt(t,e,n)}catch(e){throw oe(t,e),e}}Kt(t)}function oe(t,e){var r=t._controlledReadableStream;"readable"===r._state&&(nt(t),ee(t),De(r,e))}function ie(t){var e=t._controlledReadableStream._state;return"errored"===e?null:"closed"===e?0:t._strategyHWM-t._queueTotalSize}function ae(t){var e=t._controlledReadableStream._state;return!1===t._closeRequested&&"readable"===e}function se(t,e,r,n,o,i,a){e._controlledReadableStream=t,e._queue=void 0,e._queueTotalSize=void 0,nt(e),e._started=!1,e._closeRequested=!1,e._pullAgain=!1,e._pulling=!1,e._strategySizeAlgorithm=a,e._strategyHWM=i,e._pullAlgorithm=n,e._cancelAlgorithm=o,t._readableStreamController=e,I(w(r()),(function(){e._started=!0,Kt(e)}),(function(t){oe(e,t)}))}function ue(t){return new TypeError("ReadableStreamDefaultController.prototype."+t+" can only be used on a ReadableStreamDefaultController")}var ce=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},le=function(){function t(){throw new TypeError("ReadableStreamBYOBRequest cannot be used directly")}return Object.defineProperty(t.prototype,"view",{get:function(){if(!1===he(this))throw Oe("view");return this._view},enumerable:!0,configurable:!0}),t.prototype.respond=function(t){if(!1===he(this))throw Oe("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(t,e){if(!1===c(e=Number(e)))throw new RangeError("bytesWritten must be a finite");Ee(t,e)}(this._associatedReadableByteStreamController,t)},t.prototype.respondWithNewView=function(t){if(!1===he(this))throw Oe("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");t.buffer,function(t,e){var r=t._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==e.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==e.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=e.buffer,Ee(t,e.byteLength)}(this._associatedReadableByteStreamController,t)},t}(),fe=function(){function t(){throw new TypeError("ReadableByteStreamController constructor cannot be used directly")}return Object.defineProperty(t.prototype,"byobRequest",{get:function(){if(!1===de(this))throw Fe("byobRequest");if(void 0===this._byobRequest&&this._pendingPullIntos.length>0){var t=this._pendingPullIntos.peek(),e=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),r=Object.create(le.prototype);!function(t,e,r){t._associatedReadableByteStreamController=e,t._view=r}(r,this,e),this._byobRequest=r}return this._byobRequest},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"desiredSize",{get:function(){if(!1===de(this))throw Fe("desiredSize");return Re(this)},enumerable:!0,configurable:!0}),t.prototype.close=function(){if(!1===de(this))throw Fe("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be closed");!function(t){var e=t._controlledReadableByteStream;if(t._queueTotalSize>0)return void(t._closeRequested=!0);if(t._pendingPullIntos.length>0){if(t._pendingPullIntos.peek().bytesFilled>0){var r=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Te(t,r),r}}Be(t),Ve(e)}(this)},t.prototype.enqueue=function(t){if(!1===de(this))throw Fe("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be enqueued to");if(!ArrayBuffer.isView(t))throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");t.buffer,function(t,e){var r=t._controlledReadableByteStream,n=e.buffer,o=e.byteOffset,i=e.byteLength,a=n;if(!0===G(r))if(0===D(r))ye(t,a,o,i);else{var s=new Uint8Array(a,o,i);V(r,s,!1)}else!0===je(r)?(ye(t,a,o,i),Se(t)):ye(t,a,o,i);be(t)}(this,t)},t.prototype.error=function(t){if(!1===de(this))throw Fe("error");Te(this,t)},t.prototype[N]=function(t){this._pendingPullIntos.length>0&&(this._pendingPullIntos.peek().bytesFilled=0);nt(this);var e=this._cancelAlgorithm(t);return Be(this),e},t.prototype[z]=function(){var t=this._controlledReadableByteStream;if(this._queueTotalSize>0){var e=this._queue.shift();this._queueTotalSize-=e.byteLength,ge(this);var r=void 0;try{r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}catch(t){return S(t)}return w(F(r,!1,t._reader._forAuthorCode))}var n=this._autoAllocateChunkSize;if(void 0!==n){var o=void 0;try{o=new ArrayBuffer(n)}catch(t){return S(t)}var i={buffer:o,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}var a=W(t);return be(this),a},t}();function de(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_controlledReadableByteStream")}function he(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_associatedReadableByteStreamController")}function be(t){!1!==function(t){var e=t._controlledReadableByteStream;if("readable"!==e._state)return!1;if(!0===t._closeRequested)return!1;if(!1===t._started)return!1;if(!0===G(e)&&D(e)>0)return!0;if(!0===je(e)&&Le(e)>0)return!0;if(Re(t)>0)return!0;return!1}(t)&&(!0!==t._pulling?(t._pulling=!0,I(t._pullAlgorithm(),(function(){t._pulling=!1,!0===t._pullAgain&&(t._pullAgain=!1,be(t))}),(function(e){Te(t,e)}))):t._pullAgain=!0)}function pe(t,e){var r=!1;"closed"===t._state&&(r=!0);var n=_e(e);"default"===e.readerType?V(t,n,r):function(t,e,r){var n=t._reader;n._readIntoRequests.shift()._resolve(F(e,r,n._forAuthorCode))}(t,n,r)}function _e(t){var e=t.bytesFilled,r=t.elementSize;return new t.ctor(t.buffer,t.byteOffset,e/r)}function ye(t,e,r,n){t._queue.push({buffer:e,byteOffset:r,byteLength:n}),t._queueTotalSize+=n}function ve(t,e){var r=e.elementSize,n=e.bytesFilled-e.bytesFilled%r,o=Math.min(t._queueTotalSize,e.byteLength-e.bytesFilled),i=e.bytesFilled+o,a=i-i%r,s=o,u=!1;a>n&&(s=a-e.bytesFilled,u=!0);for(var c,l,f,d,h,b=t._queue;s>0;){var p=b.peek(),_=Math.min(s,p.byteLength),y=e.byteOffset+e.bytesFilled;c=e.buffer,l=y,f=p.buffer,d=p.byteOffset,h=_,new Uint8Array(c).set(new Uint8Array(f,d,h),l),p.byteLength===_?b.shift():(p.byteOffset+=_,p.byteLength-=_),t._queueTotalSize-=_,me(t,_,e),s-=_}return u}function me(t,e,r){we(t),r.bytesFilled+=e}function ge(t){0===t._queueTotalSize&&!0===t._closeRequested?(Be(t),Ve(t._controlledReadableByteStream)):be(t)}function we(t){void 0!==t._byobRequest&&(t._byobRequest._associatedReadableByteStreamController=void 0,t._byobRequest._view=void 0,t._byobRequest=void 0)}function Se(t){for(;t._pendingPullIntos.length>0;){if(0===t._queueTotalSize)return;var e=t._pendingPullIntos.peek();!0===ve(t,e)&&(Ie(t),pe(t._controlledReadableByteStream,e))}}function Ee(t,e){var r=t._pendingPullIntos.peek();if("closed"===t._controlledReadableByteStream._state){if(0!==e)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(t,e){e.buffer=e.buffer;var r=t._controlledReadableByteStream;if(!0===je(r))for(;Le(r)>0;){pe(r,Ie(t))}}(t,r)}else!function(t,e,r){if(r.bytesFilled+e>r.byteLength)throw new RangeError("bytesWritten out of range");if(me(t,e,r),!(r.bytesFilled<r.elementSize)){Ie(t);var n=r.bytesFilled%r.elementSize;if(n>0){var o=r.byteOffset+r.bytesFilled,i=r.buffer.slice(o-n,o);ye(t,i,0,i.byteLength)}r.buffer=r.buffer,r.bytesFilled-=n,pe(t._controlledReadableByteStream,r),Se(t)}}(t,e,r);be(t)}function Ie(t){var e=t._pendingPullIntos.shift();return we(t),e}function Be(t){t._pullAlgorithm=void 0,t._cancelAlgorithm=void 0}function Te(t,e){var r=t._controlledReadableByteStream;"readable"===r._state&&(!function(t){we(t),t._pendingPullIntos=new O}(t),nt(t),Be(t),De(r,e))}function Re(t){var e=t._controlledReadableByteStream._state;return"errored"===e?null:"closed"===e?0:t._strategyHWM-t._queueTotalSize}function Pe(t,e,r){var n=Object.create(fe.prototype);var o=f(e,"pull",0,[n]),i=f(e,"cancel",1,[]),a=e.autoAllocateChunkSize;if(void 0!==a&&(a=Number(a),!1===ce(a)||a<=0))throw new RangeError("autoAllocateChunkSize must be a positive integer");!function(t,e,r,n,o,i,a){e._controlledReadableByteStream=t,e._pullAgain=!1,e._pulling=!1,e._byobRequest=void 0,e._queue=e._queueTotalSize=void 0,nt(e),e._closeRequested=!1,e._started=!1,e._strategyHWM=b(i),e._pullAlgorithm=n,e._cancelAlgorithm=o,e._autoAllocateChunkSize=a,e._pendingPullIntos=new O,t._readableStreamController=e,I(w(r()),(function(){e._started=!0,be(e)}),(function(t){Te(e,t)}))}(t,n,(function(){return d(e,"start",[n])}),o,i,r,a)}function Oe(t){return new TypeError("ReadableStreamBYOBRequest.prototype."+t+" can only be used on a ReadableStreamBYOBRequest")}function Fe(t){return new TypeError("ReadableByteStreamController.prototype."+t+" can only be used on a ReadableByteStreamController")}function Ce(t){return g((function(e,r){var n={_resolve:e,_reject:r};t._reader._readIntoRequests.push(n)}))}function Le(t){return t._reader._readIntoRequests.length}function je(t){var e=t._reader;return void 0!==e&&!!ke(e)}var Ae=function(){function t(t){if(!ze(t))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===de(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(Me(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");C(this,t),this._readIntoRequests=new O}return Object.defineProperty(t.prototype,"closed",{get:function(){return ke(this)?this._closedPromise:S(qe("closed"))},enumerable:!0,configurable:!0}),t.prototype.cancel=function(t){return ke(this)?void 0===this._ownerReadableStream?S(A("cancel")):L(this,t):S(qe("cancel"))},t.prototype.read=function(t){return ke(this)?void 0===this._ownerReadableStream?S(A("read from")):ArrayBuffer.isView(t)?(t.buffer,0===t.byteLength?S(new TypeError("view must have non-zero byteLength")):function(t,e){var r=t._ownerReadableStream;if(r._disturbed=!0,"errored"===r._state)return S(r._storedError);return function(t,e){var r=t._controlledReadableByteStream,n=1;e.constructor!==DataView&&(n=e.constructor.BYTES_PER_ELEMENT);var o=e.constructor,i={buffer:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength,bytesFilled:0,elementSize:n,ctor:o,readerType:"byob"};if(t._pendingPullIntos.length>0)return t._pendingPullIntos.push(i),Ce(r);if("closed"===r._state)return w(F(new o(i.buffer,i.byteOffset,0),!0,r._reader._forAuthorCode));if(t._queueTotalSize>0){if(!0===ve(t,i)){var a=_e(i);return ge(t),w(F(a,!1,r._reader._forAuthorCode))}if(!0===t._closeRequested){var s=new TypeError("Insufficient bytes to fill elements in the given buffer");return Te(t,s),S(s)}}t._pendingPullIntos.push(i);var u=Ce(r);return be(t),u}(r._readableStreamController,e)}(this,t)):S(new TypeError("view must be an array buffer view")):S(qe("read"))},t.prototype.releaseLock=function(){if(!ke(this))throw qe("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");j(this)}},t}();function ke(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_readIntoRequests")}function qe(t){return new TypeError("ReadableStreamBYOBReader.prototype."+t+" can only be used on a ReadableStreamBYOBReader")}var xe=function(){function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),Ne(this);var r=e.size,n=e.highWaterMark,o=t.type;if("bytes"===String(o)){if(void 0!==r)throw new RangeError("The strategy for a byte stream cannot have a size function");void 0===n&&(n=0),Pe(this,t,n=b(n))}else{if(void 0!==o)throw new RangeError("Invalid type is specified");var i=p(r);void 0===n&&(n=1),function(t,e,r,n){var o=Object.create($t.prototype),i=f(e,"pull",0,[o]),a=f(e,"cancel",1,[]);se(t,o,(function(){return d(e,"start",[o])}),i,a,r,n)}(this,t,n=b(n),i)}}return Object.defineProperty(t.prototype,"locked",{get:function(){if(!1===ze(this))throw Ge("locked");return Me(this)},enumerable:!0,configurable:!0}),t.prototype.cancel=function(t){return!1===ze(this)?S(Ge("cancel")):!0===Me(this)?S(new TypeError("Cannot cancel a stream that already has a reader")):We(this,t)},t.prototype.getReader=function(t){var e=(void 0===t?{}:t).mode;if(!1===ze(this))throw Ge("getReader");if(void 0===e)return M(this,!0);if("byob"===(e=String(e)))return function(t,e){void 0===e&&(e=!1);var r=new Ae(t);return r._forAuthorCode=e,r}(this,!0);throw new RangeError("Invalid mode is specified")},t.prototype.pipeThrough=function(t,e){var r=t.writable,n=t.readable,o=void 0===e?{}:e,i=o.preventClose,a=o.preventAbort,s=o.preventCancel,u=o.signal;if(!1===ze(this))throw Ge("pipeThrough");if(!1===ct(r))throw new TypeError("writable argument to pipeThrough must be a WritableStream");if(!1===ze(n))throw new TypeError("readable argument to pipeThrough must be a ReadableStream");if(i=Boolean(i),a=Boolean(a),s=Boolean(s),void 0!==u&&!Ht(u))throw new TypeError("ReadableStream.prototype.pipeThrough's signal option must be an AbortSignal");if(!0===Me(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(!0===lt(r))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return P(Jt(this,r,i,a,s,u)),n},t.prototype.pipeTo=function(t,e){var r=void 0===e?{}:e,n=r.preventClose,o=r.preventAbort,i=r.preventCancel,a=r.signal;return!1===ze(this)?S(Ge("pipeTo")):!1===ct(t)?S(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")):(n=Boolean(n),o=Boolean(o),i=Boolean(i),void 0===a||Ht(a)?!0===Me(this)?S(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):!0===lt(t)?S(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Jt(this,t,n,o,i,a):S(new TypeError("ReadableStream.prototype.pipeTo's signal option must be an AbortSignal")))},t.prototype.tee=function(){if(!1===ze(this))throw Ge("tee");var t=function(t,e){var r,n,o,i,a,s=M(t),c=!1,l=!1,f=!1,d=g((function(t){a=t}));function h(){return!0===c||(c=!0,P(R(J(s),(function(t){if(c=!1,!0===t.done)return!1===l&&re(o._readableStreamController),void(!1===f&&re(i._readableStreamController));var e=t.value,r=e,n=e;!1===l&&ne(o._readableStreamController,r),!1===f&&ne(i._readableStreamController,n)})))),w(void 0)}function b(){}return o=Ue(b,h,(function(e){if(l=!0,r=e,!0===f){var o=u([r,n]),i=We(t,o);a(i)}return d})),i=Ue(b,h,(function(e){if(f=!0,n=e,!0===l){var o=u([r,n]),i=We(t,o);a(i)}return d})),T(s._closedPromise,(function(t){oe(o._readableStreamController,t),oe(i._readableStreamController,t)})),[o,i]}(this);return u(t)},t.prototype.getIterator=function(t){var e=(void 0===t?{}:t).preventCancel,r=void 0!==e&&e;if(!1===ze(this))throw Ge("getIterator");return function(t,e){void 0===e&&(e=!1);var r=M(t),n=Object.create(Q);return n._asyncIteratorReader=r,n._preventCancel=Boolean(e),n}(this,r)},t}();function Ue(t,e,r,n,o){void 0===n&&(n=1),void 0===o&&(o=function(){return 1});var i=Object.create(xe.prototype);return Ne(i),se(i,Object.create($t.prototype),t,e,r,n,o),i}function Ne(t){t._state="readable",t._reader=void 0,t._storedError=void 0,t._disturbed=!1}function ze(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_readableStreamController")}function Me(t){return void 0!==t._reader}function We(t,e){return t._disturbed=!0,"closed"===t._state?w(void 0):"errored"===t._state?S(t._storedError):(Ve(t),R(t._readableStreamController[N](e),o))}function Ve(t){t._state="closed";var e=t._reader;void 0!==e&&(X(e)&&(e._readRequests.forEach((function(t){t._resolve(F(void 0,!0,e._forAuthorCode))})),e._readRequests=new O),U(e))}function De(t,e){t._state="errored",t._storedError=e;var r=t._reader;void 0!==r&&(X(r)?(r._readRequests.forEach((function(t){t._reject(e)})),r._readRequests=new O):(r._readIntoRequests.forEach((function(t){t._reject(e)})),r._readIntoRequests=new O),x(r,e))}function Ge(t){return new TypeError("ReadableStream.prototype."+t+" can only be used on a ReadableStream")}"symbol"==typeof n.asyncIterator&&Object.defineProperty(xe.prototype,n.asyncIterator,{value:xe.prototype.getIterator,enumerable:!1,writable:!0,configurable:!0});var He=function(){function t(t){var e=t.highWaterMark;this.highWaterMark=e}return t.prototype.size=function(t){return t.byteLength},t}(),Ze=function(){function t(t){var e=t.highWaterMark;this.highWaterMark=e}return t.prototype.size=function(){return 1},t}(),Ye=function(){function t(t,e,r){void 0===t&&(t={}),void 0===e&&(e={}),void 0===r&&(r={});var n=e.size,o=e.highWaterMark,i=r.size,a=r.highWaterMark;if(void 0!==t.writableType)throw new RangeError("Invalid writable type specified");var s=p(n);if(void 0===o&&(o=1),o=b(o),void 0!==t.readableType)throw new RangeError("Invalid readable type specified");var u,c=p(i);void 0===a&&(a=0),a=b(a),function(t,e,r,n,o,i){function a(){return e}t._writable=function(t,e,r,n,o,i){void 0===o&&(o=1),void 0===i&&(i=function(){return 1});var a=Object.create(at.prototype);return ut(a),Rt(a,Object.create(Tt.prototype),t,e,r,n,o,i),a}(a,(function(e){return function(t,e){var r=t._transformStreamController;if(!0===t._backpressure){return R(t._backpressureChangePromise,(function(){var n=t._writable;if("erroring"===n._state)throw n._storedError;return nr(r,e)}))}return nr(r,e)}(t,e)}),(function(){return function(t){var e=t._readable,r=t._transformStreamController,n=r._flushAlgorithm();return er(r),R(n,(function(){if("errored"===e._state)throw e._storedError;var t=e._readableStreamController;!0===ae(t)&&re(t)}),(function(r){throw Je(t,r),e._storedError}))}(t)}),(function(e){return function(t,e){return Je(t,e),w(void 0)}(t,e)}),r,n),t._readable=Ue(a,(function(){return function(t){return Qe(t,!1),t._backpressureChangePromise}(t)}),(function(e){return $e(t,e),w(void 0)}),o,i),t._backpressure=void 0,t._backpressureChangePromise=void 0,t._backpressureChangePromise_resolve=void 0,Qe(t,!0),t._transformStreamController=void 0}(this,g((function(t){u=t})),o,s,a,c),function(t,e){var r=Object.create(Ke.prototype),n=function(t){try{return rr(r,t),w(void 0)}catch(t){return S(t)}},o=e.transform;if(void 0!==o){if("function"!=typeof o)throw new TypeError("transform is not a method");n=function(t){return h(o,e,[t,r])}}var i=f(e,"flush",0,[r]);!function(t,e,r,n){e._controlledTransformStream=t,t._transformStreamController=e,e._transformAlgorithm=r,e._flushAlgorithm=n}(t,r,n,i)}(this,t);var l=d(t,"start",[this._transformStreamController]);u(l)}return Object.defineProperty(t.prototype,"readable",{get:function(){if(!1===Xe(this))throw ir("readable");return this._readable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"writable",{get:function(){if(!1===Xe(this))throw ir("writable");return this._writable},enumerable:!0,configurable:!0}),t}();function Xe(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_transformStreamController")}function Je(t,e){oe(t._readable._readableStreamController,e),$e(t,e)}function $e(t,e){er(t._transformStreamController),Ct(t._writable._writableStreamController,e),!0===t._backpressure&&Qe(t,!1)}function Qe(t,e){void 0!==t._backpressureChangePromise&&t._backpressureChangePromise_resolve(),t._backpressureChangePromise=g((function(e){t._backpressureChangePromise_resolve=e})),t._backpressure=e}var Ke=function(){function t(){throw new TypeError("TransformStreamDefaultController instances cannot be created directly")}return Object.defineProperty(t.prototype,"desiredSize",{get:function(){if(!1===tr(this))throw or("desiredSize");return ie(this._controlledTransformStream._readable._readableStreamController)},enumerable:!0,configurable:!0}),t.prototype.enqueue=function(t){if(!1===tr(this))throw or("enqueue");rr(this,t)},t.prototype.error=function(t){if(!1===tr(this))throw or("error");var e;e=t,Je(this._controlledTransformStream,e)},t.prototype.terminate=function(){if(!1===tr(this))throw or("terminate");!function(t){var e=t._controlledTransformStream,r=e._readable._readableStreamController;!0===ae(r)&&re(r);var n=new TypeError("TransformStream terminated");$e(e,n)}(this)},t}();function tr(t){return!!s(t)&&!!Object.prototype.hasOwnProperty.call(t,"_controlledTransformStream")}function er(t){t._transformAlgorithm=void 0,t._flushAlgorithm=void 0}function rr(t,e){var r=t._controlledTransformStream,n=r._readable._readableStreamController;if(!1===ae(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{ne(n,e)}catch(t){throw $e(r,t),r._readable._storedError}(function(t){return!0!==te(t)})(n)!==r._backpressure&&Qe(r,!0)}function nr(t,e){return R(t._transformAlgorithm(e),void 0,(function(e){throw Je(t._controlledTransformStream,e),e}))}function or(t){return new TypeError("TransformStreamDefaultController.prototype."+t+" can only be used on a TransformStreamDefaultController")}function ir(t){return new TypeError("TransformStream.prototype."+t+" can only be used on a TransformStream")}},function(t,e,r){"use strict";r.r(e);var n=r(2),o=r.n(n),i=r(1),a=r.n(i),s=r(0),u=r.n(s),c=r(4),l=r.n(c),f=r(5),d=r.n(f),h=r(6),b=r.n(h);function p(t){return!!t&&(t instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&t instanceof MessagePort||("undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)))}var _=new Map,y=function(){function t(){l()(this,t)}return d()(t,null,[{key:"onmessage",set:function(t){self.onmessage=function(e){if(v(e)){var r=e.data,n=r.type,o=r.payload;t(n,o)}}}},{key:"addEventListener",value:function(t){var e=_.get(t);e||(e=function(e){if(v(e)){var r=e.data,n=r.type,o=r.payload;t(n,o)}}),self.addEventListener("message",e)}},{key:"removeEventListener",value:function(t){var e=_.get(t);_.delete(t),self.removeEventListener("message",e)}},{key:"postMessage",value:function(t,e){if(self){var r={source:"loaders.gl",type:t,payload:e},n=function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,o=n||new Set;if(e){if(p(e))o.add(e);else if(p(e.buffer))o.add(e.buffer);else if(ArrayBuffer.isView(e));else if(r&&"object"===b()(e))for(var i in e)t(e[i],r,o)}else;return void 0===n?Array.from(o):[]}(e);self.postMessage(r,n)}}}]),t}();function v(t){var e=t.type,r=t.data;return"message"===e&&r&&"string"==typeof r.source&&r.source.startsWith("loaders.gl")}function m(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?m(Object(r),!0).forEach((function(e){o()(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var w=0;function S(t,e){return new Promise((function(r,n){var o=w++;y.addEventListener((function t(e,i){if(i.id===o)switch(e){case"done":y.removeEventListener(t),r(i.result);break;case"error":y.removeEventListener(t),n(i.error)}}));var i={id:o,input:t,options:e};y.postMessage("process",i)}))}function E(t){return I.apply(this,arguments)}function I(){return(I=a()(u.a.mark((function t(e){var r,n,o,i,a,s,c;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.loader,n=e.arrayBuffer,o=e.options,i=e.context,!r.parseSync&&!r.parse){t.next=6;break}a=n,s=r.parseSync||r.parse,t.next=13;break;case 6:if(!r.parseTextSync){t.next=12;break}c=new TextDecoder,a=c.decode(n),s=r.parseTextSync,t.next=13;break;case 12:throw new Error("Could not load data with ".concat(r.name," loader"));case 13:return o=g(g({},o),{},{modules:r&&r.options&&r.options.modules||{},worker:!1}),t.next=16,s(a,g({},o),i,r);case 16:return t.abrupt("return",t.sent);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var B={id:"flatgeobuf",name:"FlatGeobuf",module:"flatgeobuf",version:"3.1.0-alpha.4",worker:!0,extensions:["fgb"],mimeTypes:["application/octet-stream"],category:"geometry",options:{flatgeobuf:{}}},T=r(3);function R(t,e){if(0===t.byteLength)return[];var r=new Uint8Array(t);return Object(T.deserialize)(r).features}function P(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function O(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?P(Object(r),!0).forEach((function(e){o()(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var F,C,L=O(O({},B),{},{parse:(F=a()(u.a.mark((function t(e,r){return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",R(e));case 1:case"end":return t.stop()}}),t)}))),function(t,e){return F.apply(this,arguments)}),parseSync:R,parseInBatchesFromStream:function(t,e){return Object(T.deserializeStream)(t)},binary:!0});C=L,"undefined"!=typeof self&&(y.onmessage=function(){var t=a()(u.a.mark((function t(e,r){var n,o,i,a,s;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:t.t0=e,t.next="process"===t.t0?3:16;break;case 3:return t.prev=3,n=r.input,o=r.options,i=void 0===o?{}:o,t.next=7,E({loader:C,arrayBuffer:n,options:i,context:{parse:S}});case 7:a=t.sent,y.postMessage("done",{result:a}),t.next=15;break;case 11:t.prev=11,t.t1=t.catch(3),s=t.t1 instanceof Error?t.t1.message:"",y.postMessage("error",{error:s});case 15:return t.abrupt("break",16);case 16:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e,r){return t.apply(this,arguments)}}())}]);
2
- //# sourceMappingURL=flatgeobuf-worker.js.map
1
+ (() => {
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
+ var __commonJS = (cb, mod) => function __require() {
10
+ return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
+ };
12
+ var __reExport = (target, module, desc) => {
13
+ if (module && typeof module === "object" || typeof module === "function") {
14
+ for (let key of __getOwnPropNames(module))
15
+ if (!__hasOwnProp.call(target, key) && key !== "default")
16
+ __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toModule = (module) => {
21
+ return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
22
+ };
23
+
24
+ // ../../node_modules/flatgeobuf/node_modules/web-streams-polyfill/dist/ponyfill.js
25
+ var require_ponyfill = __commonJS({
26
+ "../../node_modules/flatgeobuf/node_modules/web-streams-polyfill/dist/ponyfill.js"(exports, module) {
27
+ (function(global, factory) {
28
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global = global || self, factory(global.WebStreamsPolyfill = {}));
29
+ })(exports, function(exports2) {
30
+ "use strict";
31
+ var SymbolPolyfill = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol : function(description) {
32
+ return "Symbol(" + description + ")";
33
+ };
34
+ function noop() {
35
+ }
36
+ var NumberIsNaN = Number.isNaN || function(x) {
37
+ return x !== x;
38
+ };
39
+ var rethrowAssertionErrorRejection = noop;
40
+ function typeIsObject(x) {
41
+ return typeof x === "object" && x !== null || typeof x === "function";
42
+ }
43
+ function createArrayFromList(elements) {
44
+ return elements.slice();
45
+ }
46
+ function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
47
+ new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
48
+ }
49
+ function IsFiniteNonNegativeNumber(v) {
50
+ if (IsNonNegativeNumber(v) === false) {
51
+ return false;
52
+ }
53
+ if (v === Infinity) {
54
+ return false;
55
+ }
56
+ return true;
57
+ }
58
+ function IsNonNegativeNumber(v) {
59
+ if (typeof v !== "number") {
60
+ return false;
61
+ }
62
+ if (NumberIsNaN(v)) {
63
+ return false;
64
+ }
65
+ if (v < 0) {
66
+ return false;
67
+ }
68
+ return true;
69
+ }
70
+ function Call(F, V, args) {
71
+ if (typeof F !== "function") {
72
+ throw new TypeError("Argument is not a function");
73
+ }
74
+ return Function.prototype.apply.call(F, V, args);
75
+ }
76
+ function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
77
+ var method = underlyingObject[methodName];
78
+ if (method !== void 0) {
79
+ if (typeof method !== "function") {
80
+ throw new TypeError(method + " is not a method");
81
+ }
82
+ switch (algoArgCount) {
83
+ case 0: {
84
+ return function() {
85
+ return PromiseCall(method, underlyingObject, extraArgs);
86
+ };
87
+ }
88
+ case 1: {
89
+ return function(arg) {
90
+ var fullArgs = [arg].concat(extraArgs);
91
+ return PromiseCall(method, underlyingObject, fullArgs);
92
+ };
93
+ }
94
+ }
95
+ }
96
+ return function() {
97
+ return promiseResolvedWith(void 0);
98
+ };
99
+ }
100
+ function InvokeOrNoop(O, P, args) {
101
+ var method = O[P];
102
+ if (method === void 0) {
103
+ return void 0;
104
+ }
105
+ return Call(method, O, args);
106
+ }
107
+ function PromiseCall(F, V, args) {
108
+ try {
109
+ return promiseResolvedWith(Call(F, V, args));
110
+ } catch (value) {
111
+ return promiseRejectedWith(value);
112
+ }
113
+ }
114
+ function TransferArrayBuffer(O) {
115
+ return O;
116
+ }
117
+ function IsDetachedBuffer(O) {
118
+ return false;
119
+ }
120
+ function ValidateAndNormalizeHighWaterMark(highWaterMark) {
121
+ highWaterMark = Number(highWaterMark);
122
+ if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
123
+ throw new RangeError("highWaterMark property of a queuing strategy must be non-negative and non-NaN");
124
+ }
125
+ return highWaterMark;
126
+ }
127
+ function MakeSizeAlgorithmFromSizeFunction(size) {
128
+ if (size === void 0) {
129
+ return function() {
130
+ return 1;
131
+ };
132
+ }
133
+ if (typeof size !== "function") {
134
+ throw new TypeError("size property of a queuing strategy must be a function");
135
+ }
136
+ return function(chunk) {
137
+ return size(chunk);
138
+ };
139
+ }
140
+ var originalPromise = Promise;
141
+ var originalPromiseThen = Promise.prototype.then;
142
+ var originalPromiseResolve = Promise.resolve.bind(originalPromise);
143
+ var originalPromiseReject = Promise.reject.bind(originalPromise);
144
+ function newPromise(executor) {
145
+ return new originalPromise(executor);
146
+ }
147
+ function promiseResolvedWith(value) {
148
+ return originalPromiseResolve(value);
149
+ }
150
+ function promiseRejectedWith(reason) {
151
+ return originalPromiseReject(reason);
152
+ }
153
+ function PerformPromiseThen(promise, onFulfilled, onRejected) {
154
+ return originalPromiseThen.call(promise, onFulfilled, onRejected);
155
+ }
156
+ function uponPromise(promise, onFulfilled, onRejected) {
157
+ PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), void 0, rethrowAssertionErrorRejection);
158
+ }
159
+ function uponFulfillment(promise, onFulfilled) {
160
+ uponPromise(promise, onFulfilled);
161
+ }
162
+ function uponRejection(promise, onRejected) {
163
+ uponPromise(promise, void 0, onRejected);
164
+ }
165
+ function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
166
+ return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
167
+ }
168
+ function setPromiseIsHandledToTrue(promise) {
169
+ PerformPromiseThen(promise, void 0, rethrowAssertionErrorRejection);
170
+ }
171
+ var QUEUE_MAX_ARRAY_SIZE = 16384;
172
+ var SimpleQueue = function() {
173
+ function SimpleQueue2() {
174
+ this._cursor = 0;
175
+ this._size = 0;
176
+ this._front = {
177
+ _elements: [],
178
+ _next: void 0
179
+ };
180
+ this._back = this._front;
181
+ this._cursor = 0;
182
+ this._size = 0;
183
+ }
184
+ Object.defineProperty(SimpleQueue2.prototype, "length", {
185
+ get: function() {
186
+ return this._size;
187
+ },
188
+ enumerable: true,
189
+ configurable: true
190
+ });
191
+ SimpleQueue2.prototype.push = function(element) {
192
+ var oldBack = this._back;
193
+ var newBack = oldBack;
194
+ if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
195
+ newBack = {
196
+ _elements: [],
197
+ _next: void 0
198
+ };
199
+ }
200
+ oldBack._elements.push(element);
201
+ if (newBack !== oldBack) {
202
+ this._back = newBack;
203
+ oldBack._next = newBack;
204
+ }
205
+ ++this._size;
206
+ };
207
+ SimpleQueue2.prototype.shift = function() {
208
+ var oldFront = this._front;
209
+ var newFront = oldFront;
210
+ var oldCursor = this._cursor;
211
+ var newCursor = oldCursor + 1;
212
+ var elements = oldFront._elements;
213
+ var element = elements[oldCursor];
214
+ if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
215
+ newFront = oldFront._next;
216
+ newCursor = 0;
217
+ }
218
+ --this._size;
219
+ this._cursor = newCursor;
220
+ if (oldFront !== newFront) {
221
+ this._front = newFront;
222
+ }
223
+ elements[oldCursor] = void 0;
224
+ return element;
225
+ };
226
+ SimpleQueue2.prototype.forEach = function(callback) {
227
+ var i = this._cursor;
228
+ var node = this._front;
229
+ var elements = node._elements;
230
+ while (i !== elements.length || node._next !== void 0) {
231
+ if (i === elements.length) {
232
+ node = node._next;
233
+ elements = node._elements;
234
+ i = 0;
235
+ if (elements.length === 0) {
236
+ break;
237
+ }
238
+ }
239
+ callback(elements[i]);
240
+ ++i;
241
+ }
242
+ };
243
+ SimpleQueue2.prototype.peek = function() {
244
+ var front = this._front;
245
+ var cursor = this._cursor;
246
+ return front._elements[cursor];
247
+ };
248
+ return SimpleQueue2;
249
+ }();
250
+ function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
251
+ var prototype = null;
252
+ if (forAuthorCode === true) {
253
+ prototype = Object.prototype;
254
+ }
255
+ var obj = Object.create(prototype);
256
+ obj.value = value;
257
+ obj.done = done;
258
+ return obj;
259
+ }
260
+ function ReadableStreamReaderGenericInitialize(reader, stream) {
261
+ reader._forAuthorCode = true;
262
+ reader._ownerReadableStream = stream;
263
+ stream._reader = reader;
264
+ if (stream._state === "readable") {
265
+ defaultReaderClosedPromiseInitialize(reader);
266
+ } else if (stream._state === "closed") {
267
+ defaultReaderClosedPromiseInitializeAsResolved(reader);
268
+ } else {
269
+ defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
270
+ }
271
+ }
272
+ function ReadableStreamReaderGenericCancel(reader, reason) {
273
+ var stream = reader._ownerReadableStream;
274
+ return ReadableStreamCancel(stream, reason);
275
+ }
276
+ function ReadableStreamReaderGenericRelease(reader) {
277
+ if (reader._ownerReadableStream._state === "readable") {
278
+ defaultReaderClosedPromiseReject(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
279
+ } else {
280
+ defaultReaderClosedPromiseResetToRejected(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
281
+ }
282
+ reader._ownerReadableStream._reader = void 0;
283
+ reader._ownerReadableStream = void 0;
284
+ }
285
+ function readerLockException(name) {
286
+ return new TypeError("Cannot " + name + " a stream using a released reader");
287
+ }
288
+ function defaultReaderClosedPromiseInitialize(reader) {
289
+ reader._closedPromise = newPromise(function(resolve, reject) {
290
+ reader._closedPromise_resolve = resolve;
291
+ reader._closedPromise_reject = reject;
292
+ });
293
+ }
294
+ function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
295
+ defaultReaderClosedPromiseInitialize(reader);
296
+ defaultReaderClosedPromiseReject(reader, reason);
297
+ }
298
+ function defaultReaderClosedPromiseInitializeAsResolved(reader) {
299
+ defaultReaderClosedPromiseInitialize(reader);
300
+ defaultReaderClosedPromiseResolve(reader);
301
+ }
302
+ function defaultReaderClosedPromiseReject(reader, reason) {
303
+ setPromiseIsHandledToTrue(reader._closedPromise);
304
+ reader._closedPromise_reject(reason);
305
+ reader._closedPromise_resolve = void 0;
306
+ reader._closedPromise_reject = void 0;
307
+ }
308
+ function defaultReaderClosedPromiseResetToRejected(reader, reason) {
309
+ defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
310
+ }
311
+ function defaultReaderClosedPromiseResolve(reader) {
312
+ reader._closedPromise_resolve(void 0);
313
+ reader._closedPromise_resolve = void 0;
314
+ reader._closedPromise_reject = void 0;
315
+ }
316
+ var CancelSteps = SymbolPolyfill("[[CancelSteps]]");
317
+ var PullSteps = SymbolPolyfill("[[PullSteps]]");
318
+ function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
319
+ if (forAuthorCode === void 0) {
320
+ forAuthorCode = false;
321
+ }
322
+ var reader = new ReadableStreamDefaultReader(stream);
323
+ reader._forAuthorCode = forAuthorCode;
324
+ return reader;
325
+ }
326
+ function ReadableStreamAddReadRequest(stream) {
327
+ var promise = newPromise(function(resolve, reject) {
328
+ var readRequest = {
329
+ _resolve: resolve,
330
+ _reject: reject
331
+ };
332
+ stream._reader._readRequests.push(readRequest);
333
+ });
334
+ return promise;
335
+ }
336
+ function ReadableStreamFulfillReadRequest(stream, chunk, done) {
337
+ var reader = stream._reader;
338
+ var readRequest = reader._readRequests.shift();
339
+ readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
340
+ }
341
+ function ReadableStreamGetNumReadRequests(stream) {
342
+ return stream._reader._readRequests.length;
343
+ }
344
+ function ReadableStreamHasDefaultReader(stream) {
345
+ var reader = stream._reader;
346
+ if (reader === void 0) {
347
+ return false;
348
+ }
349
+ if (!IsReadableStreamDefaultReader(reader)) {
350
+ return false;
351
+ }
352
+ return true;
353
+ }
354
+ var ReadableStreamDefaultReader = function() {
355
+ function ReadableStreamDefaultReader2(stream) {
356
+ if (IsReadableStream(stream) === false) {
357
+ throw new TypeError("ReadableStreamDefaultReader can only be constructed with a ReadableStream instance");
358
+ }
359
+ if (IsReadableStreamLocked(stream) === true) {
360
+ throw new TypeError("This stream has already been locked for exclusive reading by another reader");
361
+ }
362
+ ReadableStreamReaderGenericInitialize(this, stream);
363
+ this._readRequests = new SimpleQueue();
364
+ }
365
+ Object.defineProperty(ReadableStreamDefaultReader2.prototype, "closed", {
366
+ get: function() {
367
+ if (!IsReadableStreamDefaultReader(this)) {
368
+ return promiseRejectedWith(defaultReaderBrandCheckException("closed"));
369
+ }
370
+ return this._closedPromise;
371
+ },
372
+ enumerable: true,
373
+ configurable: true
374
+ });
375
+ ReadableStreamDefaultReader2.prototype.cancel = function(reason) {
376
+ if (!IsReadableStreamDefaultReader(this)) {
377
+ return promiseRejectedWith(defaultReaderBrandCheckException("cancel"));
378
+ }
379
+ if (this._ownerReadableStream === void 0) {
380
+ return promiseRejectedWith(readerLockException("cancel"));
381
+ }
382
+ return ReadableStreamReaderGenericCancel(this, reason);
383
+ };
384
+ ReadableStreamDefaultReader2.prototype.read = function() {
385
+ if (!IsReadableStreamDefaultReader(this)) {
386
+ return promiseRejectedWith(defaultReaderBrandCheckException("read"));
387
+ }
388
+ if (this._ownerReadableStream === void 0) {
389
+ return promiseRejectedWith(readerLockException("read from"));
390
+ }
391
+ return ReadableStreamDefaultReaderRead(this);
392
+ };
393
+ ReadableStreamDefaultReader2.prototype.releaseLock = function() {
394
+ if (!IsReadableStreamDefaultReader(this)) {
395
+ throw defaultReaderBrandCheckException("releaseLock");
396
+ }
397
+ if (this._ownerReadableStream === void 0) {
398
+ return;
399
+ }
400
+ if (this._readRequests.length > 0) {
401
+ throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");
402
+ }
403
+ ReadableStreamReaderGenericRelease(this);
404
+ };
405
+ return ReadableStreamDefaultReader2;
406
+ }();
407
+ function IsReadableStreamDefaultReader(x) {
408
+ if (!typeIsObject(x)) {
409
+ return false;
410
+ }
411
+ if (!Object.prototype.hasOwnProperty.call(x, "_readRequests")) {
412
+ return false;
413
+ }
414
+ return true;
415
+ }
416
+ function ReadableStreamDefaultReaderRead(reader) {
417
+ var stream = reader._ownerReadableStream;
418
+ stream._disturbed = true;
419
+ if (stream._state === "closed") {
420
+ return promiseResolvedWith(ReadableStreamCreateReadResult(void 0, true, reader._forAuthorCode));
421
+ }
422
+ if (stream._state === "errored") {
423
+ return promiseRejectedWith(stream._storedError);
424
+ }
425
+ return stream._readableStreamController[PullSteps]();
426
+ }
427
+ function defaultReaderBrandCheckException(name) {
428
+ return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
429
+ }
430
+ var _a;
431
+ var AsyncIteratorPrototype;
432
+ if (typeof SymbolPolyfill.asyncIterator === "symbol") {
433
+ AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function() {
434
+ return this;
435
+ }, _a);
436
+ Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
437
+ }
438
+ var ReadableStreamAsyncIteratorPrototype = {
439
+ next: function() {
440
+ if (IsReadableStreamAsyncIterator(this) === false) {
441
+ return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next"));
442
+ }
443
+ var reader = this._asyncIteratorReader;
444
+ if (reader._ownerReadableStream === void 0) {
445
+ return promiseRejectedWith(readerLockException("iterate"));
446
+ }
447
+ return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function(result) {
448
+ var done = result.done;
449
+ if (done) {
450
+ ReadableStreamReaderGenericRelease(reader);
451
+ }
452
+ var value = result.value;
453
+ return ReadableStreamCreateReadResult(value, done, true);
454
+ });
455
+ },
456
+ return: function(value) {
457
+ if (IsReadableStreamAsyncIterator(this) === false) {
458
+ return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next"));
459
+ }
460
+ var reader = this._asyncIteratorReader;
461
+ if (reader._ownerReadableStream === void 0) {
462
+ return promiseRejectedWith(readerLockException("finish iterating"));
463
+ }
464
+ if (reader._readRequests.length > 0) {
465
+ return promiseRejectedWith(new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled"));
466
+ }
467
+ if (this._preventCancel === false) {
468
+ var result = ReadableStreamReaderGenericCancel(reader, value);
469
+ ReadableStreamReaderGenericRelease(reader);
470
+ return transformPromiseWith(result, function() {
471
+ return ReadableStreamCreateReadResult(value, true, true);
472
+ });
473
+ }
474
+ ReadableStreamReaderGenericRelease(reader);
475
+ return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));
476
+ }
477
+ };
478
+ if (AsyncIteratorPrototype !== void 0) {
479
+ Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
480
+ }
481
+ Object.defineProperty(ReadableStreamAsyncIteratorPrototype, "next", { enumerable: false });
482
+ Object.defineProperty(ReadableStreamAsyncIteratorPrototype, "return", { enumerable: false });
483
+ function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
484
+ if (preventCancel === void 0) {
485
+ preventCancel = false;
486
+ }
487
+ var reader = AcquireReadableStreamDefaultReader(stream);
488
+ var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
489
+ iterator._asyncIteratorReader = reader;
490
+ iterator._preventCancel = Boolean(preventCancel);
491
+ return iterator;
492
+ }
493
+ function IsReadableStreamAsyncIterator(x) {
494
+ if (!typeIsObject(x)) {
495
+ return false;
496
+ }
497
+ if (!Object.prototype.hasOwnProperty.call(x, "_asyncIteratorReader")) {
498
+ return false;
499
+ }
500
+ return true;
501
+ }
502
+ function streamAsyncIteratorBrandCheckException(name) {
503
+ return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
504
+ }
505
+ function DequeueValue(container) {
506
+ var pair = container._queue.shift();
507
+ container._queueTotalSize -= pair.size;
508
+ if (container._queueTotalSize < 0) {
509
+ container._queueTotalSize = 0;
510
+ }
511
+ return pair.value;
512
+ }
513
+ function EnqueueValueWithSize(container, value, size) {
514
+ size = Number(size);
515
+ if (!IsFiniteNonNegativeNumber(size)) {
516
+ throw new RangeError("Size must be a finite, non-NaN, non-negative number.");
517
+ }
518
+ container._queue.push({ value, size });
519
+ container._queueTotalSize += size;
520
+ }
521
+ function PeekQueueValue(container) {
522
+ var pair = container._queue.peek();
523
+ return pair.value;
524
+ }
525
+ function ResetQueue(container) {
526
+ container._queue = new SimpleQueue();
527
+ container._queueTotalSize = 0;
528
+ }
529
+ var AbortSteps = SymbolPolyfill("[[AbortSteps]]");
530
+ var ErrorSteps = SymbolPolyfill("[[ErrorSteps]]");
531
+ var WritableStream = function() {
532
+ function WritableStream2(underlyingSink, strategy) {
533
+ if (underlyingSink === void 0) {
534
+ underlyingSink = {};
535
+ }
536
+ if (strategy === void 0) {
537
+ strategy = {};
538
+ }
539
+ InitializeWritableStream(this);
540
+ var size = strategy.size;
541
+ var highWaterMark = strategy.highWaterMark;
542
+ var type = underlyingSink.type;
543
+ if (type !== void 0) {
544
+ throw new RangeError("Invalid type is specified");
545
+ }
546
+ var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
547
+ if (highWaterMark === void 0) {
548
+ highWaterMark = 1;
549
+ }
550
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
551
+ SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
552
+ }
553
+ Object.defineProperty(WritableStream2.prototype, "locked", {
554
+ get: function() {
555
+ if (IsWritableStream(this) === false) {
556
+ throw streamBrandCheckException("locked");
557
+ }
558
+ return IsWritableStreamLocked(this);
559
+ },
560
+ enumerable: true,
561
+ configurable: true
562
+ });
563
+ WritableStream2.prototype.abort = function(reason) {
564
+ if (IsWritableStream(this) === false) {
565
+ return promiseRejectedWith(streamBrandCheckException("abort"));
566
+ }
567
+ if (IsWritableStreamLocked(this) === true) {
568
+ return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer"));
569
+ }
570
+ return WritableStreamAbort(this, reason);
571
+ };
572
+ WritableStream2.prototype.close = function() {
573
+ if (IsWritableStream(this) === false) {
574
+ return promiseRejectedWith(streamBrandCheckException("close"));
575
+ }
576
+ if (IsWritableStreamLocked(this) === true) {
577
+ return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer"));
578
+ }
579
+ if (WritableStreamCloseQueuedOrInFlight(this) === true) {
580
+ return promiseRejectedWith(new TypeError("Cannot close an already-closing stream"));
581
+ }
582
+ return WritableStreamClose(this);
583
+ };
584
+ WritableStream2.prototype.getWriter = function() {
585
+ if (IsWritableStream(this) === false) {
586
+ throw streamBrandCheckException("getWriter");
587
+ }
588
+ return AcquireWritableStreamDefaultWriter(this);
589
+ };
590
+ return WritableStream2;
591
+ }();
592
+ function AcquireWritableStreamDefaultWriter(stream) {
593
+ return new WritableStreamDefaultWriter(stream);
594
+ }
595
+ function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
596
+ if (highWaterMark === void 0) {
597
+ highWaterMark = 1;
598
+ }
599
+ if (sizeAlgorithm === void 0) {
600
+ sizeAlgorithm = function() {
601
+ return 1;
602
+ };
603
+ }
604
+ var stream = Object.create(WritableStream.prototype);
605
+ InitializeWritableStream(stream);
606
+ var controller = Object.create(WritableStreamDefaultController.prototype);
607
+ SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
608
+ return stream;
609
+ }
610
+ function InitializeWritableStream(stream) {
611
+ stream._state = "writable";
612
+ stream._storedError = void 0;
613
+ stream._writer = void 0;
614
+ stream._writableStreamController = void 0;
615
+ stream._writeRequests = new SimpleQueue();
616
+ stream._inFlightWriteRequest = void 0;
617
+ stream._closeRequest = void 0;
618
+ stream._inFlightCloseRequest = void 0;
619
+ stream._pendingAbortRequest = void 0;
620
+ stream._backpressure = false;
621
+ }
622
+ function IsWritableStream(x) {
623
+ if (!typeIsObject(x)) {
624
+ return false;
625
+ }
626
+ if (!Object.prototype.hasOwnProperty.call(x, "_writableStreamController")) {
627
+ return false;
628
+ }
629
+ return true;
630
+ }
631
+ function IsWritableStreamLocked(stream) {
632
+ if (stream._writer === void 0) {
633
+ return false;
634
+ }
635
+ return true;
636
+ }
637
+ function WritableStreamAbort(stream, reason) {
638
+ var state = stream._state;
639
+ if (state === "closed" || state === "errored") {
640
+ return promiseResolvedWith(void 0);
641
+ }
642
+ if (stream._pendingAbortRequest !== void 0) {
643
+ return stream._pendingAbortRequest._promise;
644
+ }
645
+ var wasAlreadyErroring = false;
646
+ if (state === "erroring") {
647
+ wasAlreadyErroring = true;
648
+ reason = void 0;
649
+ }
650
+ var promise = newPromise(function(resolve, reject) {
651
+ stream._pendingAbortRequest = {
652
+ _promise: void 0,
653
+ _resolve: resolve,
654
+ _reject: reject,
655
+ _reason: reason,
656
+ _wasAlreadyErroring: wasAlreadyErroring
657
+ };
658
+ });
659
+ stream._pendingAbortRequest._promise = promise;
660
+ if (wasAlreadyErroring === false) {
661
+ WritableStreamStartErroring(stream, reason);
662
+ }
663
+ return promise;
664
+ }
665
+ function WritableStreamClose(stream) {
666
+ var state = stream._state;
667
+ if (state === "closed" || state === "errored") {
668
+ return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
669
+ }
670
+ var promise = newPromise(function(resolve, reject) {
671
+ var closeRequest = {
672
+ _resolve: resolve,
673
+ _reject: reject
674
+ };
675
+ stream._closeRequest = closeRequest;
676
+ });
677
+ var writer = stream._writer;
678
+ if (writer !== void 0 && stream._backpressure === true && state === "writable") {
679
+ defaultWriterReadyPromiseResolve(writer);
680
+ }
681
+ WritableStreamDefaultControllerClose(stream._writableStreamController);
682
+ return promise;
683
+ }
684
+ function WritableStreamAddWriteRequest(stream) {
685
+ var promise = newPromise(function(resolve, reject) {
686
+ var writeRequest = {
687
+ _resolve: resolve,
688
+ _reject: reject
689
+ };
690
+ stream._writeRequests.push(writeRequest);
691
+ });
692
+ return promise;
693
+ }
694
+ function WritableStreamDealWithRejection(stream, error) {
695
+ var state = stream._state;
696
+ if (state === "writable") {
697
+ WritableStreamStartErroring(stream, error);
698
+ return;
699
+ }
700
+ WritableStreamFinishErroring(stream);
701
+ }
702
+ function WritableStreamStartErroring(stream, reason) {
703
+ var controller = stream._writableStreamController;
704
+ stream._state = "erroring";
705
+ stream._storedError = reason;
706
+ var writer = stream._writer;
707
+ if (writer !== void 0) {
708
+ WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
709
+ }
710
+ if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
711
+ WritableStreamFinishErroring(stream);
712
+ }
713
+ }
714
+ function WritableStreamFinishErroring(stream) {
715
+ stream._state = "errored";
716
+ stream._writableStreamController[ErrorSteps]();
717
+ var storedError = stream._storedError;
718
+ stream._writeRequests.forEach(function(writeRequest) {
719
+ writeRequest._reject(storedError);
720
+ });
721
+ stream._writeRequests = new SimpleQueue();
722
+ if (stream._pendingAbortRequest === void 0) {
723
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
724
+ return;
725
+ }
726
+ var abortRequest = stream._pendingAbortRequest;
727
+ stream._pendingAbortRequest = void 0;
728
+ if (abortRequest._wasAlreadyErroring === true) {
729
+ abortRequest._reject(storedError);
730
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
731
+ return;
732
+ }
733
+ var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
734
+ uponPromise(promise, function() {
735
+ abortRequest._resolve();
736
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
737
+ }, function(reason) {
738
+ abortRequest._reject(reason);
739
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
740
+ });
741
+ }
742
+ function WritableStreamFinishInFlightWrite(stream) {
743
+ stream._inFlightWriteRequest._resolve(void 0);
744
+ stream._inFlightWriteRequest = void 0;
745
+ }
746
+ function WritableStreamFinishInFlightWriteWithError(stream, error) {
747
+ stream._inFlightWriteRequest._reject(error);
748
+ stream._inFlightWriteRequest = void 0;
749
+ WritableStreamDealWithRejection(stream, error);
750
+ }
751
+ function WritableStreamFinishInFlightClose(stream) {
752
+ stream._inFlightCloseRequest._resolve(void 0);
753
+ stream._inFlightCloseRequest = void 0;
754
+ var state = stream._state;
755
+ if (state === "erroring") {
756
+ stream._storedError = void 0;
757
+ if (stream._pendingAbortRequest !== void 0) {
758
+ stream._pendingAbortRequest._resolve();
759
+ stream._pendingAbortRequest = void 0;
760
+ }
761
+ }
762
+ stream._state = "closed";
763
+ var writer = stream._writer;
764
+ if (writer !== void 0) {
765
+ defaultWriterClosedPromiseResolve(writer);
766
+ }
767
+ }
768
+ function WritableStreamFinishInFlightCloseWithError(stream, error) {
769
+ stream._inFlightCloseRequest._reject(error);
770
+ stream._inFlightCloseRequest = void 0;
771
+ if (stream._pendingAbortRequest !== void 0) {
772
+ stream._pendingAbortRequest._reject(error);
773
+ stream._pendingAbortRequest = void 0;
774
+ }
775
+ WritableStreamDealWithRejection(stream, error);
776
+ }
777
+ function WritableStreamCloseQueuedOrInFlight(stream) {
778
+ if (stream._closeRequest === void 0 && stream._inFlightCloseRequest === void 0) {
779
+ return false;
780
+ }
781
+ return true;
782
+ }
783
+ function WritableStreamHasOperationMarkedInFlight(stream) {
784
+ if (stream._inFlightWriteRequest === void 0 && stream._inFlightCloseRequest === void 0) {
785
+ return false;
786
+ }
787
+ return true;
788
+ }
789
+ function WritableStreamMarkCloseRequestInFlight(stream) {
790
+ stream._inFlightCloseRequest = stream._closeRequest;
791
+ stream._closeRequest = void 0;
792
+ }
793
+ function WritableStreamMarkFirstWriteRequestInFlight(stream) {
794
+ stream._inFlightWriteRequest = stream._writeRequests.shift();
795
+ }
796
+ function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
797
+ if (stream._closeRequest !== void 0) {
798
+ stream._closeRequest._reject(stream._storedError);
799
+ stream._closeRequest = void 0;
800
+ }
801
+ var writer = stream._writer;
802
+ if (writer !== void 0) {
803
+ defaultWriterClosedPromiseReject(writer, stream._storedError);
804
+ }
805
+ }
806
+ function WritableStreamUpdateBackpressure(stream, backpressure) {
807
+ var writer = stream._writer;
808
+ if (writer !== void 0 && backpressure !== stream._backpressure) {
809
+ if (backpressure === true) {
810
+ defaultWriterReadyPromiseReset(writer);
811
+ } else {
812
+ defaultWriterReadyPromiseResolve(writer);
813
+ }
814
+ }
815
+ stream._backpressure = backpressure;
816
+ }
817
+ var WritableStreamDefaultWriter = function() {
818
+ function WritableStreamDefaultWriter2(stream) {
819
+ if (IsWritableStream(stream) === false) {
820
+ throw new TypeError("WritableStreamDefaultWriter can only be constructed with a WritableStream instance");
821
+ }
822
+ if (IsWritableStreamLocked(stream) === true) {
823
+ throw new TypeError("This stream has already been locked for exclusive writing by another writer");
824
+ }
825
+ this._ownerWritableStream = stream;
826
+ stream._writer = this;
827
+ var state = stream._state;
828
+ if (state === "writable") {
829
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
830
+ defaultWriterReadyPromiseInitialize(this);
831
+ } else {
832
+ defaultWriterReadyPromiseInitializeAsResolved(this);
833
+ }
834
+ defaultWriterClosedPromiseInitialize(this);
835
+ } else if (state === "erroring") {
836
+ defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
837
+ defaultWriterClosedPromiseInitialize(this);
838
+ } else if (state === "closed") {
839
+ defaultWriterReadyPromiseInitializeAsResolved(this);
840
+ defaultWriterClosedPromiseInitializeAsResolved(this);
841
+ } else {
842
+ var storedError = stream._storedError;
843
+ defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
844
+ defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
845
+ }
846
+ }
847
+ Object.defineProperty(WritableStreamDefaultWriter2.prototype, "closed", {
848
+ get: function() {
849
+ if (IsWritableStreamDefaultWriter(this) === false) {
850
+ return promiseRejectedWith(defaultWriterBrandCheckException("closed"));
851
+ }
852
+ return this._closedPromise;
853
+ },
854
+ enumerable: true,
855
+ configurable: true
856
+ });
857
+ Object.defineProperty(WritableStreamDefaultWriter2.prototype, "desiredSize", {
858
+ get: function() {
859
+ if (IsWritableStreamDefaultWriter(this) === false) {
860
+ throw defaultWriterBrandCheckException("desiredSize");
861
+ }
862
+ if (this._ownerWritableStream === void 0) {
863
+ throw defaultWriterLockException("desiredSize");
864
+ }
865
+ return WritableStreamDefaultWriterGetDesiredSize(this);
866
+ },
867
+ enumerable: true,
868
+ configurable: true
869
+ });
870
+ Object.defineProperty(WritableStreamDefaultWriter2.prototype, "ready", {
871
+ get: function() {
872
+ if (IsWritableStreamDefaultWriter(this) === false) {
873
+ return promiseRejectedWith(defaultWriterBrandCheckException("ready"));
874
+ }
875
+ return this._readyPromise;
876
+ },
877
+ enumerable: true,
878
+ configurable: true
879
+ });
880
+ WritableStreamDefaultWriter2.prototype.abort = function(reason) {
881
+ if (IsWritableStreamDefaultWriter(this) === false) {
882
+ return promiseRejectedWith(defaultWriterBrandCheckException("abort"));
883
+ }
884
+ if (this._ownerWritableStream === void 0) {
885
+ return promiseRejectedWith(defaultWriterLockException("abort"));
886
+ }
887
+ return WritableStreamDefaultWriterAbort(this, reason);
888
+ };
889
+ WritableStreamDefaultWriter2.prototype.close = function() {
890
+ if (IsWritableStreamDefaultWriter(this) === false) {
891
+ return promiseRejectedWith(defaultWriterBrandCheckException("close"));
892
+ }
893
+ var stream = this._ownerWritableStream;
894
+ if (stream === void 0) {
895
+ return promiseRejectedWith(defaultWriterLockException("close"));
896
+ }
897
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
898
+ return promiseRejectedWith(new TypeError("Cannot close an already-closing stream"));
899
+ }
900
+ return WritableStreamDefaultWriterClose(this);
901
+ };
902
+ WritableStreamDefaultWriter2.prototype.releaseLock = function() {
903
+ if (IsWritableStreamDefaultWriter(this) === false) {
904
+ throw defaultWriterBrandCheckException("releaseLock");
905
+ }
906
+ var stream = this._ownerWritableStream;
907
+ if (stream === void 0) {
908
+ return;
909
+ }
910
+ WritableStreamDefaultWriterRelease(this);
911
+ };
912
+ WritableStreamDefaultWriter2.prototype.write = function(chunk) {
913
+ if (IsWritableStreamDefaultWriter(this) === false) {
914
+ return promiseRejectedWith(defaultWriterBrandCheckException("write"));
915
+ }
916
+ if (this._ownerWritableStream === void 0) {
917
+ return promiseRejectedWith(defaultWriterLockException("write to"));
918
+ }
919
+ return WritableStreamDefaultWriterWrite(this, chunk);
920
+ };
921
+ return WritableStreamDefaultWriter2;
922
+ }();
923
+ function IsWritableStreamDefaultWriter(x) {
924
+ if (!typeIsObject(x)) {
925
+ return false;
926
+ }
927
+ if (!Object.prototype.hasOwnProperty.call(x, "_ownerWritableStream")) {
928
+ return false;
929
+ }
930
+ return true;
931
+ }
932
+ function WritableStreamDefaultWriterAbort(writer, reason) {
933
+ var stream = writer._ownerWritableStream;
934
+ return WritableStreamAbort(stream, reason);
935
+ }
936
+ function WritableStreamDefaultWriterClose(writer) {
937
+ var stream = writer._ownerWritableStream;
938
+ return WritableStreamClose(stream);
939
+ }
940
+ function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
941
+ var stream = writer._ownerWritableStream;
942
+ var state = stream._state;
943
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === "closed") {
944
+ return promiseResolvedWith(void 0);
945
+ }
946
+ if (state === "errored") {
947
+ return promiseRejectedWith(stream._storedError);
948
+ }
949
+ return WritableStreamDefaultWriterClose(writer);
950
+ }
951
+ function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
952
+ if (writer._closedPromiseState === "pending") {
953
+ defaultWriterClosedPromiseReject(writer, error);
954
+ } else {
955
+ defaultWriterClosedPromiseResetToRejected(writer, error);
956
+ }
957
+ }
958
+ function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
959
+ if (writer._readyPromiseState === "pending") {
960
+ defaultWriterReadyPromiseReject(writer, error);
961
+ } else {
962
+ defaultWriterReadyPromiseResetToRejected(writer, error);
963
+ }
964
+ }
965
+ function WritableStreamDefaultWriterGetDesiredSize(writer) {
966
+ var stream = writer._ownerWritableStream;
967
+ var state = stream._state;
968
+ if (state === "errored" || state === "erroring") {
969
+ return null;
970
+ }
971
+ if (state === "closed") {
972
+ return 0;
973
+ }
974
+ return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
975
+ }
976
+ function WritableStreamDefaultWriterRelease(writer) {
977
+ var stream = writer._ownerWritableStream;
978
+ var releasedError = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");
979
+ WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
980
+ WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
981
+ stream._writer = void 0;
982
+ writer._ownerWritableStream = void 0;
983
+ }
984
+ function WritableStreamDefaultWriterWrite(writer, chunk) {
985
+ var stream = writer._ownerWritableStream;
986
+ var controller = stream._writableStreamController;
987
+ var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
988
+ if (stream !== writer._ownerWritableStream) {
989
+ return promiseRejectedWith(defaultWriterLockException("write to"));
990
+ }
991
+ var state = stream._state;
992
+ if (state === "errored") {
993
+ return promiseRejectedWith(stream._storedError);
994
+ }
995
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === "closed") {
996
+ return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to"));
997
+ }
998
+ if (state === "erroring") {
999
+ return promiseRejectedWith(stream._storedError);
1000
+ }
1001
+ var promise = WritableStreamAddWriteRequest(stream);
1002
+ WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
1003
+ return promise;
1004
+ }
1005
+ var WritableStreamDefaultController = function() {
1006
+ function WritableStreamDefaultController2() {
1007
+ throw new TypeError("WritableStreamDefaultController cannot be constructed explicitly");
1008
+ }
1009
+ WritableStreamDefaultController2.prototype.error = function(e) {
1010
+ if (IsWritableStreamDefaultController(this) === false) {
1011
+ throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");
1012
+ }
1013
+ var state = this._controlledWritableStream._state;
1014
+ if (state !== "writable") {
1015
+ return;
1016
+ }
1017
+ WritableStreamDefaultControllerError(this, e);
1018
+ };
1019
+ WritableStreamDefaultController2.prototype[AbortSteps] = function(reason) {
1020
+ var result = this._abortAlgorithm(reason);
1021
+ WritableStreamDefaultControllerClearAlgorithms(this);
1022
+ return result;
1023
+ };
1024
+ WritableStreamDefaultController2.prototype[ErrorSteps] = function() {
1025
+ ResetQueue(this);
1026
+ };
1027
+ return WritableStreamDefaultController2;
1028
+ }();
1029
+ function IsWritableStreamDefaultController(x) {
1030
+ if (!typeIsObject(x)) {
1031
+ return false;
1032
+ }
1033
+ if (!Object.prototype.hasOwnProperty.call(x, "_controlledWritableStream")) {
1034
+ return false;
1035
+ }
1036
+ return true;
1037
+ }
1038
+ function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
1039
+ controller._controlledWritableStream = stream;
1040
+ stream._writableStreamController = controller;
1041
+ controller._queue = void 0;
1042
+ controller._queueTotalSize = void 0;
1043
+ ResetQueue(controller);
1044
+ controller._started = false;
1045
+ controller._strategySizeAlgorithm = sizeAlgorithm;
1046
+ controller._strategyHWM = highWaterMark;
1047
+ controller._writeAlgorithm = writeAlgorithm;
1048
+ controller._closeAlgorithm = closeAlgorithm;
1049
+ controller._abortAlgorithm = abortAlgorithm;
1050
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
1051
+ WritableStreamUpdateBackpressure(stream, backpressure);
1052
+ var startResult = startAlgorithm();
1053
+ var startPromise = promiseResolvedWith(startResult);
1054
+ uponPromise(startPromise, function() {
1055
+ controller._started = true;
1056
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
1057
+ }, function(r) {
1058
+ controller._started = true;
1059
+ WritableStreamDealWithRejection(stream, r);
1060
+ });
1061
+ }
1062
+ function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
1063
+ var controller = Object.create(WritableStreamDefaultController.prototype);
1064
+ function startAlgorithm() {
1065
+ return InvokeOrNoop(underlyingSink, "start", [controller]);
1066
+ }
1067
+ var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, "write", 1, [controller]);
1068
+ var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, "close", 0, []);
1069
+ var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, "abort", 1, []);
1070
+ SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
1071
+ }
1072
+ function WritableStreamDefaultControllerClearAlgorithms(controller) {
1073
+ controller._writeAlgorithm = void 0;
1074
+ controller._closeAlgorithm = void 0;
1075
+ controller._abortAlgorithm = void 0;
1076
+ controller._strategySizeAlgorithm = void 0;
1077
+ }
1078
+ function WritableStreamDefaultControllerClose(controller) {
1079
+ EnqueueValueWithSize(controller, "close", 0);
1080
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
1081
+ }
1082
+ function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
1083
+ try {
1084
+ return controller._strategySizeAlgorithm(chunk);
1085
+ } catch (chunkSizeE) {
1086
+ WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
1087
+ return 1;
1088
+ }
1089
+ }
1090
+ function WritableStreamDefaultControllerGetDesiredSize(controller) {
1091
+ return controller._strategyHWM - controller._queueTotalSize;
1092
+ }
1093
+ function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
1094
+ var writeRecord = { chunk };
1095
+ try {
1096
+ EnqueueValueWithSize(controller, writeRecord, chunkSize);
1097
+ } catch (enqueueE) {
1098
+ WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
1099
+ return;
1100
+ }
1101
+ var stream = controller._controlledWritableStream;
1102
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === "writable") {
1103
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
1104
+ WritableStreamUpdateBackpressure(stream, backpressure);
1105
+ }
1106
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
1107
+ }
1108
+ function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
1109
+ var stream = controller._controlledWritableStream;
1110
+ if (controller._started === false) {
1111
+ return;
1112
+ }
1113
+ if (stream._inFlightWriteRequest !== void 0) {
1114
+ return;
1115
+ }
1116
+ var state = stream._state;
1117
+ if (state === "erroring") {
1118
+ WritableStreamFinishErroring(stream);
1119
+ return;
1120
+ }
1121
+ if (controller._queue.length === 0) {
1122
+ return;
1123
+ }
1124
+ var writeRecord = PeekQueueValue(controller);
1125
+ if (writeRecord === "close") {
1126
+ WritableStreamDefaultControllerProcessClose(controller);
1127
+ } else {
1128
+ WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
1129
+ }
1130
+ }
1131
+ function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
1132
+ if (controller._controlledWritableStream._state === "writable") {
1133
+ WritableStreamDefaultControllerError(controller, error);
1134
+ }
1135
+ }
1136
+ function WritableStreamDefaultControllerProcessClose(controller) {
1137
+ var stream = controller._controlledWritableStream;
1138
+ WritableStreamMarkCloseRequestInFlight(stream);
1139
+ DequeueValue(controller);
1140
+ var sinkClosePromise = controller._closeAlgorithm();
1141
+ WritableStreamDefaultControllerClearAlgorithms(controller);
1142
+ uponPromise(sinkClosePromise, function() {
1143
+ WritableStreamFinishInFlightClose(stream);
1144
+ }, function(reason) {
1145
+ WritableStreamFinishInFlightCloseWithError(stream, reason);
1146
+ });
1147
+ }
1148
+ function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
1149
+ var stream = controller._controlledWritableStream;
1150
+ WritableStreamMarkFirstWriteRequestInFlight(stream);
1151
+ var sinkWritePromise = controller._writeAlgorithm(chunk);
1152
+ uponPromise(sinkWritePromise, function() {
1153
+ WritableStreamFinishInFlightWrite(stream);
1154
+ var state = stream._state;
1155
+ DequeueValue(controller);
1156
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === "writable") {
1157
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
1158
+ WritableStreamUpdateBackpressure(stream, backpressure);
1159
+ }
1160
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
1161
+ }, function(reason) {
1162
+ if (stream._state === "writable") {
1163
+ WritableStreamDefaultControllerClearAlgorithms(controller);
1164
+ }
1165
+ WritableStreamFinishInFlightWriteWithError(stream, reason);
1166
+ });
1167
+ }
1168
+ function WritableStreamDefaultControllerGetBackpressure(controller) {
1169
+ var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
1170
+ return desiredSize <= 0;
1171
+ }
1172
+ function WritableStreamDefaultControllerError(controller, error) {
1173
+ var stream = controller._controlledWritableStream;
1174
+ WritableStreamDefaultControllerClearAlgorithms(controller);
1175
+ WritableStreamStartErroring(stream, error);
1176
+ }
1177
+ function streamBrandCheckException(name) {
1178
+ return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
1179
+ }
1180
+ function defaultWriterBrandCheckException(name) {
1181
+ return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
1182
+ }
1183
+ function defaultWriterLockException(name) {
1184
+ return new TypeError("Cannot " + name + " a stream using a released writer");
1185
+ }
1186
+ function defaultWriterClosedPromiseInitialize(writer) {
1187
+ writer._closedPromise = newPromise(function(resolve, reject) {
1188
+ writer._closedPromise_resolve = resolve;
1189
+ writer._closedPromise_reject = reject;
1190
+ writer._closedPromiseState = "pending";
1191
+ });
1192
+ }
1193
+ function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
1194
+ defaultWriterClosedPromiseInitialize(writer);
1195
+ defaultWriterClosedPromiseReject(writer, reason);
1196
+ }
1197
+ function defaultWriterClosedPromiseInitializeAsResolved(writer) {
1198
+ defaultWriterClosedPromiseInitialize(writer);
1199
+ defaultWriterClosedPromiseResolve(writer);
1200
+ }
1201
+ function defaultWriterClosedPromiseReject(writer, reason) {
1202
+ setPromiseIsHandledToTrue(writer._closedPromise);
1203
+ writer._closedPromise_reject(reason);
1204
+ writer._closedPromise_resolve = void 0;
1205
+ writer._closedPromise_reject = void 0;
1206
+ writer._closedPromiseState = "rejected";
1207
+ }
1208
+ function defaultWriterClosedPromiseResetToRejected(writer, reason) {
1209
+ defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
1210
+ }
1211
+ function defaultWriterClosedPromiseResolve(writer) {
1212
+ writer._closedPromise_resolve(void 0);
1213
+ writer._closedPromise_resolve = void 0;
1214
+ writer._closedPromise_reject = void 0;
1215
+ writer._closedPromiseState = "resolved";
1216
+ }
1217
+ function defaultWriterReadyPromiseInitialize(writer) {
1218
+ writer._readyPromise = newPromise(function(resolve, reject) {
1219
+ writer._readyPromise_resolve = resolve;
1220
+ writer._readyPromise_reject = reject;
1221
+ });
1222
+ writer._readyPromiseState = "pending";
1223
+ }
1224
+ function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
1225
+ defaultWriterReadyPromiseInitialize(writer);
1226
+ defaultWriterReadyPromiseReject(writer, reason);
1227
+ }
1228
+ function defaultWriterReadyPromiseInitializeAsResolved(writer) {
1229
+ defaultWriterReadyPromiseInitialize(writer);
1230
+ defaultWriterReadyPromiseResolve(writer);
1231
+ }
1232
+ function defaultWriterReadyPromiseReject(writer, reason) {
1233
+ setPromiseIsHandledToTrue(writer._readyPromise);
1234
+ writer._readyPromise_reject(reason);
1235
+ writer._readyPromise_resolve = void 0;
1236
+ writer._readyPromise_reject = void 0;
1237
+ writer._readyPromiseState = "rejected";
1238
+ }
1239
+ function defaultWriterReadyPromiseReset(writer) {
1240
+ defaultWriterReadyPromiseInitialize(writer);
1241
+ }
1242
+ function defaultWriterReadyPromiseResetToRejected(writer, reason) {
1243
+ defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
1244
+ }
1245
+ function defaultWriterReadyPromiseResolve(writer) {
1246
+ writer._readyPromise_resolve(void 0);
1247
+ writer._readyPromise_resolve = void 0;
1248
+ writer._readyPromise_reject = void 0;
1249
+ writer._readyPromiseState = "fulfilled";
1250
+ }
1251
+ function isAbortSignal(value) {
1252
+ if (typeof value !== "object" || value === null) {
1253
+ return false;
1254
+ }
1255
+ try {
1256
+ return typeof value.aborted === "boolean";
1257
+ } catch (_a2) {
1258
+ return false;
1259
+ }
1260
+ }
1261
+ var NativeDOMException = typeof DOMException !== "undefined" ? DOMException : void 0;
1262
+ function isDOMExceptionConstructor(ctor) {
1263
+ if (!(typeof ctor === "function" || typeof ctor === "object")) {
1264
+ return false;
1265
+ }
1266
+ try {
1267
+ new ctor();
1268
+ return true;
1269
+ } catch (_a2) {
1270
+ return false;
1271
+ }
1272
+ }
1273
+ function createDOMExceptionPolyfill() {
1274
+ var ctor = function DOMException2(message, name) {
1275
+ this.message = message || "";
1276
+ this.name = name || "Error";
1277
+ if (Error.captureStackTrace) {
1278
+ Error.captureStackTrace(this, this.constructor);
1279
+ }
1280
+ };
1281
+ ctor.prototype = Object.create(Error.prototype);
1282
+ Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true });
1283
+ return ctor;
1284
+ }
1285
+ var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
1286
+ function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
1287
+ var reader = AcquireReadableStreamDefaultReader(source);
1288
+ var writer = AcquireWritableStreamDefaultWriter(dest);
1289
+ source._disturbed = true;
1290
+ var shuttingDown = false;
1291
+ var currentWrite = promiseResolvedWith(void 0);
1292
+ return newPromise(function(resolve, reject) {
1293
+ var abortAlgorithm;
1294
+ if (signal !== void 0) {
1295
+ abortAlgorithm = function() {
1296
+ var error = new DOMException$1("Aborted", "AbortError");
1297
+ var actions = [];
1298
+ if (preventAbort === false) {
1299
+ actions.push(function() {
1300
+ if (dest._state === "writable") {
1301
+ return WritableStreamAbort(dest, error);
1302
+ }
1303
+ return promiseResolvedWith(void 0);
1304
+ });
1305
+ }
1306
+ if (preventCancel === false) {
1307
+ actions.push(function() {
1308
+ if (source._state === "readable") {
1309
+ return ReadableStreamCancel(source, error);
1310
+ }
1311
+ return promiseResolvedWith(void 0);
1312
+ });
1313
+ }
1314
+ shutdownWithAction(function() {
1315
+ return Promise.all(actions.map(function(action) {
1316
+ return action();
1317
+ }));
1318
+ }, true, error);
1319
+ };
1320
+ if (signal.aborted === true) {
1321
+ abortAlgorithm();
1322
+ return;
1323
+ }
1324
+ signal.addEventListener("abort", abortAlgorithm);
1325
+ }
1326
+ function pipeLoop() {
1327
+ return newPromise(function(resolveLoop, rejectLoop) {
1328
+ function next(done) {
1329
+ if (done) {
1330
+ resolveLoop();
1331
+ } else {
1332
+ PerformPromiseThen(pipeStep(), next, rejectLoop);
1333
+ }
1334
+ }
1335
+ next(false);
1336
+ });
1337
+ }
1338
+ function pipeStep() {
1339
+ if (shuttingDown === true) {
1340
+ return promiseResolvedWith(true);
1341
+ }
1342
+ return PerformPromiseThen(writer._readyPromise, function() {
1343
+ return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function(result) {
1344
+ if (result.done === true) {
1345
+ return true;
1346
+ }
1347
+ currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), void 0, noop);
1348
+ return false;
1349
+ });
1350
+ });
1351
+ }
1352
+ isOrBecomesErrored(source, reader._closedPromise, function(storedError) {
1353
+ if (preventAbort === false) {
1354
+ shutdownWithAction(function() {
1355
+ return WritableStreamAbort(dest, storedError);
1356
+ }, true, storedError);
1357
+ } else {
1358
+ shutdown(true, storedError);
1359
+ }
1360
+ });
1361
+ isOrBecomesErrored(dest, writer._closedPromise, function(storedError) {
1362
+ if (preventCancel === false) {
1363
+ shutdownWithAction(function() {
1364
+ return ReadableStreamCancel(source, storedError);
1365
+ }, true, storedError);
1366
+ } else {
1367
+ shutdown(true, storedError);
1368
+ }
1369
+ });
1370
+ isOrBecomesClosed(source, reader._closedPromise, function() {
1371
+ if (preventClose === false) {
1372
+ shutdownWithAction(function() {
1373
+ return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
1374
+ });
1375
+ } else {
1376
+ shutdown();
1377
+ }
1378
+ });
1379
+ if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === "closed") {
1380
+ var destClosed_1 = new TypeError("the destination writable stream closed before all data could be piped to it");
1381
+ if (preventCancel === false) {
1382
+ shutdownWithAction(function() {
1383
+ return ReadableStreamCancel(source, destClosed_1);
1384
+ }, true, destClosed_1);
1385
+ } else {
1386
+ shutdown(true, destClosed_1);
1387
+ }
1388
+ }
1389
+ setPromiseIsHandledToTrue(pipeLoop());
1390
+ function waitForWritesToFinish() {
1391
+ var oldCurrentWrite = currentWrite;
1392
+ return PerformPromiseThen(currentWrite, function() {
1393
+ return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : void 0;
1394
+ });
1395
+ }
1396
+ function isOrBecomesErrored(stream, promise, action) {
1397
+ if (stream._state === "errored") {
1398
+ action(stream._storedError);
1399
+ } else {
1400
+ uponRejection(promise, action);
1401
+ }
1402
+ }
1403
+ function isOrBecomesClosed(stream, promise, action) {
1404
+ if (stream._state === "closed") {
1405
+ action();
1406
+ } else {
1407
+ uponFulfillment(promise, action);
1408
+ }
1409
+ }
1410
+ function shutdownWithAction(action, originalIsError, originalError) {
1411
+ if (shuttingDown === true) {
1412
+ return;
1413
+ }
1414
+ shuttingDown = true;
1415
+ if (dest._state === "writable" && WritableStreamCloseQueuedOrInFlight(dest) === false) {
1416
+ uponFulfillment(waitForWritesToFinish(), doTheRest);
1417
+ } else {
1418
+ doTheRest();
1419
+ }
1420
+ function doTheRest() {
1421
+ uponPromise(action(), function() {
1422
+ return finalize(originalIsError, originalError);
1423
+ }, function(newError) {
1424
+ return finalize(true, newError);
1425
+ });
1426
+ }
1427
+ }
1428
+ function shutdown(isError, error) {
1429
+ if (shuttingDown === true) {
1430
+ return;
1431
+ }
1432
+ shuttingDown = true;
1433
+ if (dest._state === "writable" && WritableStreamCloseQueuedOrInFlight(dest) === false) {
1434
+ uponFulfillment(waitForWritesToFinish(), function() {
1435
+ return finalize(isError, error);
1436
+ });
1437
+ } else {
1438
+ finalize(isError, error);
1439
+ }
1440
+ }
1441
+ function finalize(isError, error) {
1442
+ WritableStreamDefaultWriterRelease(writer);
1443
+ ReadableStreamReaderGenericRelease(reader);
1444
+ if (signal !== void 0) {
1445
+ signal.removeEventListener("abort", abortAlgorithm);
1446
+ }
1447
+ if (isError) {
1448
+ reject(error);
1449
+ } else {
1450
+ resolve(void 0);
1451
+ }
1452
+ }
1453
+ });
1454
+ }
1455
+ var ReadableStreamDefaultController = function() {
1456
+ function ReadableStreamDefaultController2() {
1457
+ throw new TypeError();
1458
+ }
1459
+ Object.defineProperty(ReadableStreamDefaultController2.prototype, "desiredSize", {
1460
+ get: function() {
1461
+ if (IsReadableStreamDefaultController(this) === false) {
1462
+ throw defaultControllerBrandCheckException("desiredSize");
1463
+ }
1464
+ return ReadableStreamDefaultControllerGetDesiredSize(this);
1465
+ },
1466
+ enumerable: true,
1467
+ configurable: true
1468
+ });
1469
+ ReadableStreamDefaultController2.prototype.close = function() {
1470
+ if (IsReadableStreamDefaultController(this) === false) {
1471
+ throw defaultControllerBrandCheckException("close");
1472
+ }
1473
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
1474
+ throw new TypeError("The stream is not in a state that permits close");
1475
+ }
1476
+ ReadableStreamDefaultControllerClose(this);
1477
+ };
1478
+ ReadableStreamDefaultController2.prototype.enqueue = function(chunk) {
1479
+ if (IsReadableStreamDefaultController(this) === false) {
1480
+ throw defaultControllerBrandCheckException("enqueue");
1481
+ }
1482
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
1483
+ throw new TypeError("The stream is not in a state that permits enqueue");
1484
+ }
1485
+ return ReadableStreamDefaultControllerEnqueue(this, chunk);
1486
+ };
1487
+ ReadableStreamDefaultController2.prototype.error = function(e) {
1488
+ if (IsReadableStreamDefaultController(this) === false) {
1489
+ throw defaultControllerBrandCheckException("error");
1490
+ }
1491
+ ReadableStreamDefaultControllerError(this, e);
1492
+ };
1493
+ ReadableStreamDefaultController2.prototype[CancelSteps] = function(reason) {
1494
+ ResetQueue(this);
1495
+ var result = this._cancelAlgorithm(reason);
1496
+ ReadableStreamDefaultControllerClearAlgorithms(this);
1497
+ return result;
1498
+ };
1499
+ ReadableStreamDefaultController2.prototype[PullSteps] = function() {
1500
+ var stream = this._controlledReadableStream;
1501
+ if (this._queue.length > 0) {
1502
+ var chunk = DequeueValue(this);
1503
+ if (this._closeRequested === true && this._queue.length === 0) {
1504
+ ReadableStreamDefaultControllerClearAlgorithms(this);
1505
+ ReadableStreamClose(stream);
1506
+ } else {
1507
+ ReadableStreamDefaultControllerCallPullIfNeeded(this);
1508
+ }
1509
+ return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
1510
+ }
1511
+ var pendingPromise = ReadableStreamAddReadRequest(stream);
1512
+ ReadableStreamDefaultControllerCallPullIfNeeded(this);
1513
+ return pendingPromise;
1514
+ };
1515
+ return ReadableStreamDefaultController2;
1516
+ }();
1517
+ function IsReadableStreamDefaultController(x) {
1518
+ if (!typeIsObject(x)) {
1519
+ return false;
1520
+ }
1521
+ if (!Object.prototype.hasOwnProperty.call(x, "_controlledReadableStream")) {
1522
+ return false;
1523
+ }
1524
+ return true;
1525
+ }
1526
+ function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
1527
+ var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
1528
+ if (shouldPull === false) {
1529
+ return;
1530
+ }
1531
+ if (controller._pulling === true) {
1532
+ controller._pullAgain = true;
1533
+ return;
1534
+ }
1535
+ controller._pulling = true;
1536
+ var pullPromise = controller._pullAlgorithm();
1537
+ uponPromise(pullPromise, function() {
1538
+ controller._pulling = false;
1539
+ if (controller._pullAgain === true) {
1540
+ controller._pullAgain = false;
1541
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
1542
+ }
1543
+ }, function(e) {
1544
+ ReadableStreamDefaultControllerError(controller, e);
1545
+ });
1546
+ }
1547
+ function ReadableStreamDefaultControllerShouldCallPull(controller) {
1548
+ var stream = controller._controlledReadableStream;
1549
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
1550
+ return false;
1551
+ }
1552
+ if (controller._started === false) {
1553
+ return false;
1554
+ }
1555
+ if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
1556
+ return true;
1557
+ }
1558
+ var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
1559
+ if (desiredSize > 0) {
1560
+ return true;
1561
+ }
1562
+ return false;
1563
+ }
1564
+ function ReadableStreamDefaultControllerClearAlgorithms(controller) {
1565
+ controller._pullAlgorithm = void 0;
1566
+ controller._cancelAlgorithm = void 0;
1567
+ controller._strategySizeAlgorithm = void 0;
1568
+ }
1569
+ function ReadableStreamDefaultControllerClose(controller) {
1570
+ var stream = controller._controlledReadableStream;
1571
+ controller._closeRequested = true;
1572
+ if (controller._queue.length === 0) {
1573
+ ReadableStreamDefaultControllerClearAlgorithms(controller);
1574
+ ReadableStreamClose(stream);
1575
+ }
1576
+ }
1577
+ function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
1578
+ var stream = controller._controlledReadableStream;
1579
+ if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
1580
+ ReadableStreamFulfillReadRequest(stream, chunk, false);
1581
+ } else {
1582
+ var chunkSize = void 0;
1583
+ try {
1584
+ chunkSize = controller._strategySizeAlgorithm(chunk);
1585
+ } catch (chunkSizeE) {
1586
+ ReadableStreamDefaultControllerError(controller, chunkSizeE);
1587
+ throw chunkSizeE;
1588
+ }
1589
+ try {
1590
+ EnqueueValueWithSize(controller, chunk, chunkSize);
1591
+ } catch (enqueueE) {
1592
+ ReadableStreamDefaultControllerError(controller, enqueueE);
1593
+ throw enqueueE;
1594
+ }
1595
+ }
1596
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
1597
+ }
1598
+ function ReadableStreamDefaultControllerError(controller, e) {
1599
+ var stream = controller._controlledReadableStream;
1600
+ if (stream._state !== "readable") {
1601
+ return;
1602
+ }
1603
+ ResetQueue(controller);
1604
+ ReadableStreamDefaultControllerClearAlgorithms(controller);
1605
+ ReadableStreamError(stream, e);
1606
+ }
1607
+ function ReadableStreamDefaultControllerGetDesiredSize(controller) {
1608
+ var stream = controller._controlledReadableStream;
1609
+ var state = stream._state;
1610
+ if (state === "errored") {
1611
+ return null;
1612
+ }
1613
+ if (state === "closed") {
1614
+ return 0;
1615
+ }
1616
+ return controller._strategyHWM - controller._queueTotalSize;
1617
+ }
1618
+ function ReadableStreamDefaultControllerHasBackpressure(controller) {
1619
+ if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
1620
+ return false;
1621
+ }
1622
+ return true;
1623
+ }
1624
+ function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
1625
+ var state = controller._controlledReadableStream._state;
1626
+ if (controller._closeRequested === false && state === "readable") {
1627
+ return true;
1628
+ }
1629
+ return false;
1630
+ }
1631
+ function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
1632
+ controller._controlledReadableStream = stream;
1633
+ controller._queue = void 0;
1634
+ controller._queueTotalSize = void 0;
1635
+ ResetQueue(controller);
1636
+ controller._started = false;
1637
+ controller._closeRequested = false;
1638
+ controller._pullAgain = false;
1639
+ controller._pulling = false;
1640
+ controller._strategySizeAlgorithm = sizeAlgorithm;
1641
+ controller._strategyHWM = highWaterMark;
1642
+ controller._pullAlgorithm = pullAlgorithm;
1643
+ controller._cancelAlgorithm = cancelAlgorithm;
1644
+ stream._readableStreamController = controller;
1645
+ var startResult = startAlgorithm();
1646
+ uponPromise(promiseResolvedWith(startResult), function() {
1647
+ controller._started = true;
1648
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
1649
+ }, function(r) {
1650
+ ReadableStreamDefaultControllerError(controller, r);
1651
+ });
1652
+ }
1653
+ function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
1654
+ var controller = Object.create(ReadableStreamDefaultController.prototype);
1655
+ function startAlgorithm() {
1656
+ return InvokeOrNoop(underlyingSource, "start", [controller]);
1657
+ }
1658
+ var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, "pull", 0, [controller]);
1659
+ var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, "cancel", 1, []);
1660
+ SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
1661
+ }
1662
+ function defaultControllerBrandCheckException(name) {
1663
+ return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
1664
+ }
1665
+ function ReadableStreamTee(stream, cloneForBranch2) {
1666
+ var reader = AcquireReadableStreamDefaultReader(stream);
1667
+ var reading = false;
1668
+ var canceled1 = false;
1669
+ var canceled2 = false;
1670
+ var reason1;
1671
+ var reason2;
1672
+ var branch1;
1673
+ var branch2;
1674
+ var resolveCancelPromise;
1675
+ var cancelPromise = newPromise(function(resolve) {
1676
+ resolveCancelPromise = resolve;
1677
+ });
1678
+ function pullAlgorithm() {
1679
+ if (reading === true) {
1680
+ return promiseResolvedWith(void 0);
1681
+ }
1682
+ reading = true;
1683
+ var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function(result) {
1684
+ reading = false;
1685
+ var done = result.done;
1686
+ if (done === true) {
1687
+ if (canceled1 === false) {
1688
+ ReadableStreamDefaultControllerClose(branch1._readableStreamController);
1689
+ }
1690
+ if (canceled2 === false) {
1691
+ ReadableStreamDefaultControllerClose(branch2._readableStreamController);
1692
+ }
1693
+ return;
1694
+ }
1695
+ var value = result.value;
1696
+ var value1 = value;
1697
+ var value2 = value;
1698
+ if (canceled1 === false) {
1699
+ ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
1700
+ }
1701
+ if (canceled2 === false) {
1702
+ ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
1703
+ }
1704
+ });
1705
+ setPromiseIsHandledToTrue(readPromise);
1706
+ return promiseResolvedWith(void 0);
1707
+ }
1708
+ function cancel1Algorithm(reason) {
1709
+ canceled1 = true;
1710
+ reason1 = reason;
1711
+ if (canceled2 === true) {
1712
+ var compositeReason = createArrayFromList([reason1, reason2]);
1713
+ var cancelResult = ReadableStreamCancel(stream, compositeReason);
1714
+ resolveCancelPromise(cancelResult);
1715
+ }
1716
+ return cancelPromise;
1717
+ }
1718
+ function cancel2Algorithm(reason) {
1719
+ canceled2 = true;
1720
+ reason2 = reason;
1721
+ if (canceled1 === true) {
1722
+ var compositeReason = createArrayFromList([reason1, reason2]);
1723
+ var cancelResult = ReadableStreamCancel(stream, compositeReason);
1724
+ resolveCancelPromise(cancelResult);
1725
+ }
1726
+ return cancelPromise;
1727
+ }
1728
+ function startAlgorithm() {
1729
+ }
1730
+ branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
1731
+ branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
1732
+ uponRejection(reader._closedPromise, function(r) {
1733
+ ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
1734
+ ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
1735
+ });
1736
+ return [branch1, branch2];
1737
+ }
1738
+ var NumberIsInteger = Number.isInteger || function(value) {
1739
+ return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
1740
+ };
1741
+ var ReadableStreamBYOBRequest = function() {
1742
+ function ReadableStreamBYOBRequest2() {
1743
+ throw new TypeError("ReadableStreamBYOBRequest cannot be used directly");
1744
+ }
1745
+ Object.defineProperty(ReadableStreamBYOBRequest2.prototype, "view", {
1746
+ get: function() {
1747
+ if (IsReadableStreamBYOBRequest(this) === false) {
1748
+ throw byobRequestBrandCheckException("view");
1749
+ }
1750
+ return this._view;
1751
+ },
1752
+ enumerable: true,
1753
+ configurable: true
1754
+ });
1755
+ ReadableStreamBYOBRequest2.prototype.respond = function(bytesWritten) {
1756
+ if (IsReadableStreamBYOBRequest(this) === false) {
1757
+ throw byobRequestBrandCheckException("respond");
1758
+ }
1759
+ if (this._associatedReadableByteStreamController === void 0) {
1760
+ throw new TypeError("This BYOB request has been invalidated");
1761
+ }
1762
+ if (IsDetachedBuffer(this._view.buffer) === true)
1763
+ ;
1764
+ ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
1765
+ };
1766
+ ReadableStreamBYOBRequest2.prototype.respondWithNewView = function(view) {
1767
+ if (IsReadableStreamBYOBRequest(this) === false) {
1768
+ throw byobRequestBrandCheckException("respond");
1769
+ }
1770
+ if (this._associatedReadableByteStreamController === void 0) {
1771
+ throw new TypeError("This BYOB request has been invalidated");
1772
+ }
1773
+ if (!ArrayBuffer.isView(view)) {
1774
+ throw new TypeError("You can only respond with array buffer views");
1775
+ }
1776
+ if (IsDetachedBuffer(view.buffer) === true)
1777
+ ;
1778
+ ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
1779
+ };
1780
+ return ReadableStreamBYOBRequest2;
1781
+ }();
1782
+ var ReadableByteStreamController = function() {
1783
+ function ReadableByteStreamController2() {
1784
+ throw new TypeError("ReadableByteStreamController constructor cannot be used directly");
1785
+ }
1786
+ Object.defineProperty(ReadableByteStreamController2.prototype, "byobRequest", {
1787
+ get: function() {
1788
+ if (IsReadableByteStreamController(this) === false) {
1789
+ throw byteStreamControllerBrandCheckException("byobRequest");
1790
+ }
1791
+ if (this._byobRequest === void 0 && this._pendingPullIntos.length > 0) {
1792
+ var firstDescriptor = this._pendingPullIntos.peek();
1793
+ var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
1794
+ var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
1795
+ SetUpReadableStreamBYOBRequest(byobRequest, this, view);
1796
+ this._byobRequest = byobRequest;
1797
+ }
1798
+ return this._byobRequest;
1799
+ },
1800
+ enumerable: true,
1801
+ configurable: true
1802
+ });
1803
+ Object.defineProperty(ReadableByteStreamController2.prototype, "desiredSize", {
1804
+ get: function() {
1805
+ if (IsReadableByteStreamController(this) === false) {
1806
+ throw byteStreamControllerBrandCheckException("desiredSize");
1807
+ }
1808
+ return ReadableByteStreamControllerGetDesiredSize(this);
1809
+ },
1810
+ enumerable: true,
1811
+ configurable: true
1812
+ });
1813
+ ReadableByteStreamController2.prototype.close = function() {
1814
+ if (IsReadableByteStreamController(this) === false) {
1815
+ throw byteStreamControllerBrandCheckException("close");
1816
+ }
1817
+ if (this._closeRequested === true) {
1818
+ throw new TypeError("The stream has already been closed; do not close it again!");
1819
+ }
1820
+ var state = this._controlledReadableByteStream._state;
1821
+ if (state !== "readable") {
1822
+ throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
1823
+ }
1824
+ ReadableByteStreamControllerClose(this);
1825
+ };
1826
+ ReadableByteStreamController2.prototype.enqueue = function(chunk) {
1827
+ if (IsReadableByteStreamController(this) === false) {
1828
+ throw byteStreamControllerBrandCheckException("enqueue");
1829
+ }
1830
+ if (this._closeRequested === true) {
1831
+ throw new TypeError("stream is closed or draining");
1832
+ }
1833
+ var state = this._controlledReadableByteStream._state;
1834
+ if (state !== "readable") {
1835
+ throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
1836
+ }
1837
+ if (!ArrayBuffer.isView(chunk)) {
1838
+ throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");
1839
+ }
1840
+ if (IsDetachedBuffer(chunk.buffer) === true)
1841
+ ;
1842
+ ReadableByteStreamControllerEnqueue(this, chunk);
1843
+ };
1844
+ ReadableByteStreamController2.prototype.error = function(e) {
1845
+ if (IsReadableByteStreamController(this) === false) {
1846
+ throw byteStreamControllerBrandCheckException("error");
1847
+ }
1848
+ ReadableByteStreamControllerError(this, e);
1849
+ };
1850
+ ReadableByteStreamController2.prototype[CancelSteps] = function(reason) {
1851
+ if (this._pendingPullIntos.length > 0) {
1852
+ var firstDescriptor = this._pendingPullIntos.peek();
1853
+ firstDescriptor.bytesFilled = 0;
1854
+ }
1855
+ ResetQueue(this);
1856
+ var result = this._cancelAlgorithm(reason);
1857
+ ReadableByteStreamControllerClearAlgorithms(this);
1858
+ return result;
1859
+ };
1860
+ ReadableByteStreamController2.prototype[PullSteps] = function() {
1861
+ var stream = this._controlledReadableByteStream;
1862
+ if (this._queueTotalSize > 0) {
1863
+ var entry = this._queue.shift();
1864
+ this._queueTotalSize -= entry.byteLength;
1865
+ ReadableByteStreamControllerHandleQueueDrain(this);
1866
+ var view = void 0;
1867
+ try {
1868
+ view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
1869
+ } catch (viewE) {
1870
+ return promiseRejectedWith(viewE);
1871
+ }
1872
+ return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
1873
+ }
1874
+ var autoAllocateChunkSize = this._autoAllocateChunkSize;
1875
+ if (autoAllocateChunkSize !== void 0) {
1876
+ var buffer = void 0;
1877
+ try {
1878
+ buffer = new ArrayBuffer(autoAllocateChunkSize);
1879
+ } catch (bufferE) {
1880
+ return promiseRejectedWith(bufferE);
1881
+ }
1882
+ var pullIntoDescriptor = {
1883
+ buffer,
1884
+ byteOffset: 0,
1885
+ byteLength: autoAllocateChunkSize,
1886
+ bytesFilled: 0,
1887
+ elementSize: 1,
1888
+ ctor: Uint8Array,
1889
+ readerType: "default"
1890
+ };
1891
+ this._pendingPullIntos.push(pullIntoDescriptor);
1892
+ }
1893
+ var promise = ReadableStreamAddReadRequest(stream);
1894
+ ReadableByteStreamControllerCallPullIfNeeded(this);
1895
+ return promise;
1896
+ };
1897
+ return ReadableByteStreamController2;
1898
+ }();
1899
+ function IsReadableByteStreamController(x) {
1900
+ if (!typeIsObject(x)) {
1901
+ return false;
1902
+ }
1903
+ if (!Object.prototype.hasOwnProperty.call(x, "_controlledReadableByteStream")) {
1904
+ return false;
1905
+ }
1906
+ return true;
1907
+ }
1908
+ function IsReadableStreamBYOBRequest(x) {
1909
+ if (!typeIsObject(x)) {
1910
+ return false;
1911
+ }
1912
+ if (!Object.prototype.hasOwnProperty.call(x, "_associatedReadableByteStreamController")) {
1913
+ return false;
1914
+ }
1915
+ return true;
1916
+ }
1917
+ function ReadableByteStreamControllerCallPullIfNeeded(controller) {
1918
+ var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
1919
+ if (shouldPull === false) {
1920
+ return;
1921
+ }
1922
+ if (controller._pulling === true) {
1923
+ controller._pullAgain = true;
1924
+ return;
1925
+ }
1926
+ controller._pulling = true;
1927
+ var pullPromise = controller._pullAlgorithm();
1928
+ uponPromise(pullPromise, function() {
1929
+ controller._pulling = false;
1930
+ if (controller._pullAgain === true) {
1931
+ controller._pullAgain = false;
1932
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
1933
+ }
1934
+ }, function(e) {
1935
+ ReadableByteStreamControllerError(controller, e);
1936
+ });
1937
+ }
1938
+ function ReadableByteStreamControllerClearPendingPullIntos(controller) {
1939
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
1940
+ controller._pendingPullIntos = new SimpleQueue();
1941
+ }
1942
+ function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
1943
+ var done = false;
1944
+ if (stream._state === "closed") {
1945
+ done = true;
1946
+ }
1947
+ var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
1948
+ if (pullIntoDescriptor.readerType === "default") {
1949
+ ReadableStreamFulfillReadRequest(stream, filledView, done);
1950
+ } else {
1951
+ ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
1952
+ }
1953
+ }
1954
+ function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
1955
+ var bytesFilled = pullIntoDescriptor.bytesFilled;
1956
+ var elementSize = pullIntoDescriptor.elementSize;
1957
+ return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
1958
+ }
1959
+ function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
1960
+ controller._queue.push({ buffer, byteOffset, byteLength });
1961
+ controller._queueTotalSize += byteLength;
1962
+ }
1963
+ function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
1964
+ var elementSize = pullIntoDescriptor.elementSize;
1965
+ var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
1966
+ var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
1967
+ var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
1968
+ var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
1969
+ var totalBytesToCopyRemaining = maxBytesToCopy;
1970
+ var ready = false;
1971
+ if (maxAlignedBytes > currentAlignedBytes) {
1972
+ totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
1973
+ ready = true;
1974
+ }
1975
+ var queue = controller._queue;
1976
+ while (totalBytesToCopyRemaining > 0) {
1977
+ var headOfQueue = queue.peek();
1978
+ var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
1979
+ var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
1980
+ ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
1981
+ if (headOfQueue.byteLength === bytesToCopy) {
1982
+ queue.shift();
1983
+ } else {
1984
+ headOfQueue.byteOffset += bytesToCopy;
1985
+ headOfQueue.byteLength -= bytesToCopy;
1986
+ }
1987
+ controller._queueTotalSize -= bytesToCopy;
1988
+ ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
1989
+ totalBytesToCopyRemaining -= bytesToCopy;
1990
+ }
1991
+ return ready;
1992
+ }
1993
+ function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
1994
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
1995
+ pullIntoDescriptor.bytesFilled += size;
1996
+ }
1997
+ function ReadableByteStreamControllerHandleQueueDrain(controller) {
1998
+ if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
1999
+ ReadableByteStreamControllerClearAlgorithms(controller);
2000
+ ReadableStreamClose(controller._controlledReadableByteStream);
2001
+ } else {
2002
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
2003
+ }
2004
+ }
2005
+ function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
2006
+ if (controller._byobRequest === void 0) {
2007
+ return;
2008
+ }
2009
+ controller._byobRequest._associatedReadableByteStreamController = void 0;
2010
+ controller._byobRequest._view = void 0;
2011
+ controller._byobRequest = void 0;
2012
+ }
2013
+ function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
2014
+ while (controller._pendingPullIntos.length > 0) {
2015
+ if (controller._queueTotalSize === 0) {
2016
+ return;
2017
+ }
2018
+ var pullIntoDescriptor = controller._pendingPullIntos.peek();
2019
+ if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
2020
+ ReadableByteStreamControllerShiftPendingPullInto(controller);
2021
+ ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
2022
+ }
2023
+ }
2024
+ }
2025
+ function ReadableByteStreamControllerPullInto(controller, view) {
2026
+ var stream = controller._controlledReadableByteStream;
2027
+ var elementSize = 1;
2028
+ if (view.constructor !== DataView) {
2029
+ elementSize = view.constructor.BYTES_PER_ELEMENT;
2030
+ }
2031
+ var ctor = view.constructor;
2032
+ var buffer = TransferArrayBuffer(view.buffer);
2033
+ var pullIntoDescriptor = {
2034
+ buffer,
2035
+ byteOffset: view.byteOffset,
2036
+ byteLength: view.byteLength,
2037
+ bytesFilled: 0,
2038
+ elementSize,
2039
+ ctor,
2040
+ readerType: "byob"
2041
+ };
2042
+ if (controller._pendingPullIntos.length > 0) {
2043
+ controller._pendingPullIntos.push(pullIntoDescriptor);
2044
+ return ReadableStreamAddReadIntoRequest(stream);
2045
+ }
2046
+ if (stream._state === "closed") {
2047
+ var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
2048
+ return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
2049
+ }
2050
+ if (controller._queueTotalSize > 0) {
2051
+ if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
2052
+ var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
2053
+ ReadableByteStreamControllerHandleQueueDrain(controller);
2054
+ return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
2055
+ }
2056
+ if (controller._closeRequested === true) {
2057
+ var e = new TypeError("Insufficient bytes to fill elements in the given buffer");
2058
+ ReadableByteStreamControllerError(controller, e);
2059
+ return promiseRejectedWith(e);
2060
+ }
2061
+ }
2062
+ controller._pendingPullIntos.push(pullIntoDescriptor);
2063
+ var promise = ReadableStreamAddReadIntoRequest(stream);
2064
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
2065
+ return promise;
2066
+ }
2067
+ function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
2068
+ firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
2069
+ var stream = controller._controlledReadableByteStream;
2070
+ if (ReadableStreamHasBYOBReader(stream) === true) {
2071
+ while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
2072
+ var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
2073
+ ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
2074
+ }
2075
+ }
2076
+ }
2077
+ function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
2078
+ if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
2079
+ throw new RangeError("bytesWritten out of range");
2080
+ }
2081
+ ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
2082
+ if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
2083
+ return;
2084
+ }
2085
+ ReadableByteStreamControllerShiftPendingPullInto(controller);
2086
+ var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
2087
+ if (remainderSize > 0) {
2088
+ var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
2089
+ var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
2090
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
2091
+ }
2092
+ pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
2093
+ pullIntoDescriptor.bytesFilled -= remainderSize;
2094
+ ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
2095
+ ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
2096
+ }
2097
+ function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
2098
+ var firstDescriptor = controller._pendingPullIntos.peek();
2099
+ var stream = controller._controlledReadableByteStream;
2100
+ if (stream._state === "closed") {
2101
+ if (bytesWritten !== 0) {
2102
+ throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");
2103
+ }
2104
+ ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
2105
+ } else {
2106
+ ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
2107
+ }
2108
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
2109
+ }
2110
+ function ReadableByteStreamControllerShiftPendingPullInto(controller) {
2111
+ var descriptor = controller._pendingPullIntos.shift();
2112
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
2113
+ return descriptor;
2114
+ }
2115
+ function ReadableByteStreamControllerShouldCallPull(controller) {
2116
+ var stream = controller._controlledReadableByteStream;
2117
+ if (stream._state !== "readable") {
2118
+ return false;
2119
+ }
2120
+ if (controller._closeRequested === true) {
2121
+ return false;
2122
+ }
2123
+ if (controller._started === false) {
2124
+ return false;
2125
+ }
2126
+ if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
2127
+ return true;
2128
+ }
2129
+ if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
2130
+ return true;
2131
+ }
2132
+ var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
2133
+ if (desiredSize > 0) {
2134
+ return true;
2135
+ }
2136
+ return false;
2137
+ }
2138
+ function ReadableByteStreamControllerClearAlgorithms(controller) {
2139
+ controller._pullAlgorithm = void 0;
2140
+ controller._cancelAlgorithm = void 0;
2141
+ }
2142
+ function ReadableByteStreamControllerClose(controller) {
2143
+ var stream = controller._controlledReadableByteStream;
2144
+ if (controller._queueTotalSize > 0) {
2145
+ controller._closeRequested = true;
2146
+ return;
2147
+ }
2148
+ if (controller._pendingPullIntos.length > 0) {
2149
+ var firstPendingPullInto = controller._pendingPullIntos.peek();
2150
+ if (firstPendingPullInto.bytesFilled > 0) {
2151
+ var e = new TypeError("Insufficient bytes to fill elements in the given buffer");
2152
+ ReadableByteStreamControllerError(controller, e);
2153
+ throw e;
2154
+ }
2155
+ }
2156
+ ReadableByteStreamControllerClearAlgorithms(controller);
2157
+ ReadableStreamClose(stream);
2158
+ }
2159
+ function ReadableByteStreamControllerEnqueue(controller, chunk) {
2160
+ var stream = controller._controlledReadableByteStream;
2161
+ var buffer = chunk.buffer;
2162
+ var byteOffset = chunk.byteOffset;
2163
+ var byteLength = chunk.byteLength;
2164
+ var transferredBuffer = TransferArrayBuffer(buffer);
2165
+ if (ReadableStreamHasDefaultReader(stream) === true) {
2166
+ if (ReadableStreamGetNumReadRequests(stream) === 0) {
2167
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
2168
+ } else {
2169
+ var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
2170
+ ReadableStreamFulfillReadRequest(stream, transferredView, false);
2171
+ }
2172
+ } else if (ReadableStreamHasBYOBReader(stream) === true) {
2173
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
2174
+ ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
2175
+ } else {
2176
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
2177
+ }
2178
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
2179
+ }
2180
+ function ReadableByteStreamControllerError(controller, e) {
2181
+ var stream = controller._controlledReadableByteStream;
2182
+ if (stream._state !== "readable") {
2183
+ return;
2184
+ }
2185
+ ReadableByteStreamControllerClearPendingPullIntos(controller);
2186
+ ResetQueue(controller);
2187
+ ReadableByteStreamControllerClearAlgorithms(controller);
2188
+ ReadableStreamError(stream, e);
2189
+ }
2190
+ function ReadableByteStreamControllerGetDesiredSize(controller) {
2191
+ var stream = controller._controlledReadableByteStream;
2192
+ var state = stream._state;
2193
+ if (state === "errored") {
2194
+ return null;
2195
+ }
2196
+ if (state === "closed") {
2197
+ return 0;
2198
+ }
2199
+ return controller._strategyHWM - controller._queueTotalSize;
2200
+ }
2201
+ function ReadableByteStreamControllerRespond(controller, bytesWritten) {
2202
+ bytesWritten = Number(bytesWritten);
2203
+ if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
2204
+ throw new RangeError("bytesWritten must be a finite");
2205
+ }
2206
+ ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
2207
+ }
2208
+ function ReadableByteStreamControllerRespondWithNewView(controller, view) {
2209
+ var firstDescriptor = controller._pendingPullIntos.peek();
2210
+ if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
2211
+ throw new RangeError("The region specified by view does not match byobRequest");
2212
+ }
2213
+ if (firstDescriptor.byteLength !== view.byteLength) {
2214
+ throw new RangeError("The buffer of view has different capacity than byobRequest");
2215
+ }
2216
+ firstDescriptor.buffer = view.buffer;
2217
+ ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
2218
+ }
2219
+ function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
2220
+ controller._controlledReadableByteStream = stream;
2221
+ controller._pullAgain = false;
2222
+ controller._pulling = false;
2223
+ controller._byobRequest = void 0;
2224
+ controller._queue = controller._queueTotalSize = void 0;
2225
+ ResetQueue(controller);
2226
+ controller._closeRequested = false;
2227
+ controller._started = false;
2228
+ controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
2229
+ controller._pullAlgorithm = pullAlgorithm;
2230
+ controller._cancelAlgorithm = cancelAlgorithm;
2231
+ controller._autoAllocateChunkSize = autoAllocateChunkSize;
2232
+ controller._pendingPullIntos = new SimpleQueue();
2233
+ stream._readableStreamController = controller;
2234
+ var startResult = startAlgorithm();
2235
+ uponPromise(promiseResolvedWith(startResult), function() {
2236
+ controller._started = true;
2237
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
2238
+ }, function(r) {
2239
+ ReadableByteStreamControllerError(controller, r);
2240
+ });
2241
+ }
2242
+ function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
2243
+ var controller = Object.create(ReadableByteStreamController.prototype);
2244
+ function startAlgorithm() {
2245
+ return InvokeOrNoop(underlyingByteSource, "start", [controller]);
2246
+ }
2247
+ var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, "pull", 0, [controller]);
2248
+ var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, "cancel", 1, []);
2249
+ var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
2250
+ if (autoAllocateChunkSize !== void 0) {
2251
+ autoAllocateChunkSize = Number(autoAllocateChunkSize);
2252
+ if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
2253
+ throw new RangeError("autoAllocateChunkSize must be a positive integer");
2254
+ }
2255
+ }
2256
+ SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
2257
+ }
2258
+ function SetUpReadableStreamBYOBRequest(request, controller, view) {
2259
+ request._associatedReadableByteStreamController = controller;
2260
+ request._view = view;
2261
+ }
2262
+ function byobRequestBrandCheckException(name) {
2263
+ return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
2264
+ }
2265
+ function byteStreamControllerBrandCheckException(name) {
2266
+ return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
2267
+ }
2268
+ function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
2269
+ if (forAuthorCode === void 0) {
2270
+ forAuthorCode = false;
2271
+ }
2272
+ var reader = new ReadableStreamBYOBReader(stream);
2273
+ reader._forAuthorCode = forAuthorCode;
2274
+ return reader;
2275
+ }
2276
+ function ReadableStreamAddReadIntoRequest(stream) {
2277
+ var promise = newPromise(function(resolve, reject) {
2278
+ var readIntoRequest = {
2279
+ _resolve: resolve,
2280
+ _reject: reject
2281
+ };
2282
+ stream._reader._readIntoRequests.push(readIntoRequest);
2283
+ });
2284
+ return promise;
2285
+ }
2286
+ function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
2287
+ var reader = stream._reader;
2288
+ var readIntoRequest = reader._readIntoRequests.shift();
2289
+ readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
2290
+ }
2291
+ function ReadableStreamGetNumReadIntoRequests(stream) {
2292
+ return stream._reader._readIntoRequests.length;
2293
+ }
2294
+ function ReadableStreamHasBYOBReader(stream) {
2295
+ var reader = stream._reader;
2296
+ if (reader === void 0) {
2297
+ return false;
2298
+ }
2299
+ if (!IsReadableStreamBYOBReader(reader)) {
2300
+ return false;
2301
+ }
2302
+ return true;
2303
+ }
2304
+ var ReadableStreamBYOBReader = function() {
2305
+ function ReadableStreamBYOBReader2(stream) {
2306
+ if (!IsReadableStream(stream)) {
2307
+ throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");
2308
+ }
2309
+ if (IsReadableByteStreamController(stream._readableStreamController) === false) {
2310
+ throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");
2311
+ }
2312
+ if (IsReadableStreamLocked(stream)) {
2313
+ throw new TypeError("This stream has already been locked for exclusive reading by another reader");
2314
+ }
2315
+ ReadableStreamReaderGenericInitialize(this, stream);
2316
+ this._readIntoRequests = new SimpleQueue();
2317
+ }
2318
+ Object.defineProperty(ReadableStreamBYOBReader2.prototype, "closed", {
2319
+ get: function() {
2320
+ if (!IsReadableStreamBYOBReader(this)) {
2321
+ return promiseRejectedWith(byobReaderBrandCheckException("closed"));
2322
+ }
2323
+ return this._closedPromise;
2324
+ },
2325
+ enumerable: true,
2326
+ configurable: true
2327
+ });
2328
+ ReadableStreamBYOBReader2.prototype.cancel = function(reason) {
2329
+ if (!IsReadableStreamBYOBReader(this)) {
2330
+ return promiseRejectedWith(byobReaderBrandCheckException("cancel"));
2331
+ }
2332
+ if (this._ownerReadableStream === void 0) {
2333
+ return promiseRejectedWith(readerLockException("cancel"));
2334
+ }
2335
+ return ReadableStreamReaderGenericCancel(this, reason);
2336
+ };
2337
+ ReadableStreamBYOBReader2.prototype.read = function(view) {
2338
+ if (!IsReadableStreamBYOBReader(this)) {
2339
+ return promiseRejectedWith(byobReaderBrandCheckException("read"));
2340
+ }
2341
+ if (this._ownerReadableStream === void 0) {
2342
+ return promiseRejectedWith(readerLockException("read from"));
2343
+ }
2344
+ if (!ArrayBuffer.isView(view)) {
2345
+ return promiseRejectedWith(new TypeError("view must be an array buffer view"));
2346
+ }
2347
+ if (IsDetachedBuffer(view.buffer) === true)
2348
+ ;
2349
+ if (view.byteLength === 0) {
2350
+ return promiseRejectedWith(new TypeError("view must have non-zero byteLength"));
2351
+ }
2352
+ return ReadableStreamBYOBReaderRead(this, view);
2353
+ };
2354
+ ReadableStreamBYOBReader2.prototype.releaseLock = function() {
2355
+ if (!IsReadableStreamBYOBReader(this)) {
2356
+ throw byobReaderBrandCheckException("releaseLock");
2357
+ }
2358
+ if (this._ownerReadableStream === void 0) {
2359
+ return;
2360
+ }
2361
+ if (this._readIntoRequests.length > 0) {
2362
+ throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");
2363
+ }
2364
+ ReadableStreamReaderGenericRelease(this);
2365
+ };
2366
+ return ReadableStreamBYOBReader2;
2367
+ }();
2368
+ function IsReadableStreamBYOBReader(x) {
2369
+ if (!typeIsObject(x)) {
2370
+ return false;
2371
+ }
2372
+ if (!Object.prototype.hasOwnProperty.call(x, "_readIntoRequests")) {
2373
+ return false;
2374
+ }
2375
+ return true;
2376
+ }
2377
+ function ReadableStreamBYOBReaderRead(reader, view) {
2378
+ var stream = reader._ownerReadableStream;
2379
+ stream._disturbed = true;
2380
+ if (stream._state === "errored") {
2381
+ return promiseRejectedWith(stream._storedError);
2382
+ }
2383
+ return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
2384
+ }
2385
+ function byobReaderBrandCheckException(name) {
2386
+ return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
2387
+ }
2388
+ var ReadableStream = function() {
2389
+ function ReadableStream2(underlyingSource, strategy) {
2390
+ if (underlyingSource === void 0) {
2391
+ underlyingSource = {};
2392
+ }
2393
+ if (strategy === void 0) {
2394
+ strategy = {};
2395
+ }
2396
+ InitializeReadableStream(this);
2397
+ var size = strategy.size;
2398
+ var highWaterMark = strategy.highWaterMark;
2399
+ var type = underlyingSource.type;
2400
+ var typeString = String(type);
2401
+ if (typeString === "bytes") {
2402
+ if (size !== void 0) {
2403
+ throw new RangeError("The strategy for a byte stream cannot have a size function");
2404
+ }
2405
+ if (highWaterMark === void 0) {
2406
+ highWaterMark = 0;
2407
+ }
2408
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
2409
+ SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
2410
+ } else if (type === void 0) {
2411
+ var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
2412
+ if (highWaterMark === void 0) {
2413
+ highWaterMark = 1;
2414
+ }
2415
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
2416
+ SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
2417
+ } else {
2418
+ throw new RangeError("Invalid type is specified");
2419
+ }
2420
+ }
2421
+ Object.defineProperty(ReadableStream2.prototype, "locked", {
2422
+ get: function() {
2423
+ if (IsReadableStream(this) === false) {
2424
+ throw streamBrandCheckException$1("locked");
2425
+ }
2426
+ return IsReadableStreamLocked(this);
2427
+ },
2428
+ enumerable: true,
2429
+ configurable: true
2430
+ });
2431
+ ReadableStream2.prototype.cancel = function(reason) {
2432
+ if (IsReadableStream(this) === false) {
2433
+ return promiseRejectedWith(streamBrandCheckException$1("cancel"));
2434
+ }
2435
+ if (IsReadableStreamLocked(this) === true) {
2436
+ return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader"));
2437
+ }
2438
+ return ReadableStreamCancel(this, reason);
2439
+ };
2440
+ ReadableStream2.prototype.getReader = function(_a2) {
2441
+ var mode = (_a2 === void 0 ? {} : _a2).mode;
2442
+ if (IsReadableStream(this) === false) {
2443
+ throw streamBrandCheckException$1("getReader");
2444
+ }
2445
+ if (mode === void 0) {
2446
+ return AcquireReadableStreamDefaultReader(this, true);
2447
+ }
2448
+ mode = String(mode);
2449
+ if (mode === "byob") {
2450
+ return AcquireReadableStreamBYOBReader(this, true);
2451
+ }
2452
+ throw new RangeError("Invalid mode is specified");
2453
+ };
2454
+ ReadableStream2.prototype.pipeThrough = function(_a2, _b) {
2455
+ var writable = _a2.writable, readable = _a2.readable;
2456
+ var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
2457
+ if (IsReadableStream(this) === false) {
2458
+ throw streamBrandCheckException$1("pipeThrough");
2459
+ }
2460
+ if (IsWritableStream(writable) === false) {
2461
+ throw new TypeError("writable argument to pipeThrough must be a WritableStream");
2462
+ }
2463
+ if (IsReadableStream(readable) === false) {
2464
+ throw new TypeError("readable argument to pipeThrough must be a ReadableStream");
2465
+ }
2466
+ preventClose = Boolean(preventClose);
2467
+ preventAbort = Boolean(preventAbort);
2468
+ preventCancel = Boolean(preventCancel);
2469
+ if (signal !== void 0 && !isAbortSignal(signal)) {
2470
+ throw new TypeError("ReadableStream.prototype.pipeThrough's signal option must be an AbortSignal");
2471
+ }
2472
+ if (IsReadableStreamLocked(this) === true) {
2473
+ throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");
2474
+ }
2475
+ if (IsWritableStreamLocked(writable) === true) {
2476
+ throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");
2477
+ }
2478
+ var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
2479
+ setPromiseIsHandledToTrue(promise);
2480
+ return readable;
2481
+ };
2482
+ ReadableStream2.prototype.pipeTo = function(dest, _a2) {
2483
+ var _b = _a2 === void 0 ? {} : _a2, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
2484
+ if (IsReadableStream(this) === false) {
2485
+ return promiseRejectedWith(streamBrandCheckException$1("pipeTo"));
2486
+ }
2487
+ if (IsWritableStream(dest) === false) {
2488
+ return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));
2489
+ }
2490
+ preventClose = Boolean(preventClose);
2491
+ preventAbort = Boolean(preventAbort);
2492
+ preventCancel = Boolean(preventCancel);
2493
+ if (signal !== void 0 && !isAbortSignal(signal)) {
2494
+ return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's signal option must be an AbortSignal"));
2495
+ }
2496
+ if (IsReadableStreamLocked(this) === true) {
2497
+ return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream"));
2498
+ }
2499
+ if (IsWritableStreamLocked(dest) === true) {
2500
+ return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream"));
2501
+ }
2502
+ return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
2503
+ };
2504
+ ReadableStream2.prototype.tee = function() {
2505
+ if (IsReadableStream(this) === false) {
2506
+ throw streamBrandCheckException$1("tee");
2507
+ }
2508
+ var branches = ReadableStreamTee(this);
2509
+ return createArrayFromList(branches);
2510
+ };
2511
+ ReadableStream2.prototype.getIterator = function(_a2) {
2512
+ var _b = (_a2 === void 0 ? {} : _a2).preventCancel, preventCancel = _b === void 0 ? false : _b;
2513
+ if (IsReadableStream(this) === false) {
2514
+ throw streamBrandCheckException$1("getIterator");
2515
+ }
2516
+ return AcquireReadableStreamAsyncIterator(this, preventCancel);
2517
+ };
2518
+ return ReadableStream2;
2519
+ }();
2520
+ if (typeof SymbolPolyfill.asyncIterator === "symbol") {
2521
+ Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
2522
+ value: ReadableStream.prototype.getIterator,
2523
+ enumerable: false,
2524
+ writable: true,
2525
+ configurable: true
2526
+ });
2527
+ }
2528
+ function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
2529
+ if (highWaterMark === void 0) {
2530
+ highWaterMark = 1;
2531
+ }
2532
+ if (sizeAlgorithm === void 0) {
2533
+ sizeAlgorithm = function() {
2534
+ return 1;
2535
+ };
2536
+ }
2537
+ var stream = Object.create(ReadableStream.prototype);
2538
+ InitializeReadableStream(stream);
2539
+ var controller = Object.create(ReadableStreamDefaultController.prototype);
2540
+ SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
2541
+ return stream;
2542
+ }
2543
+ function InitializeReadableStream(stream) {
2544
+ stream._state = "readable";
2545
+ stream._reader = void 0;
2546
+ stream._storedError = void 0;
2547
+ stream._disturbed = false;
2548
+ }
2549
+ function IsReadableStream(x) {
2550
+ if (!typeIsObject(x)) {
2551
+ return false;
2552
+ }
2553
+ if (!Object.prototype.hasOwnProperty.call(x, "_readableStreamController")) {
2554
+ return false;
2555
+ }
2556
+ return true;
2557
+ }
2558
+ function IsReadableStreamLocked(stream) {
2559
+ if (stream._reader === void 0) {
2560
+ return false;
2561
+ }
2562
+ return true;
2563
+ }
2564
+ function ReadableStreamCancel(stream, reason) {
2565
+ stream._disturbed = true;
2566
+ if (stream._state === "closed") {
2567
+ return promiseResolvedWith(void 0);
2568
+ }
2569
+ if (stream._state === "errored") {
2570
+ return promiseRejectedWith(stream._storedError);
2571
+ }
2572
+ ReadableStreamClose(stream);
2573
+ var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
2574
+ return transformPromiseWith(sourceCancelPromise, noop);
2575
+ }
2576
+ function ReadableStreamClose(stream) {
2577
+ stream._state = "closed";
2578
+ var reader = stream._reader;
2579
+ if (reader === void 0) {
2580
+ return;
2581
+ }
2582
+ if (IsReadableStreamDefaultReader(reader)) {
2583
+ reader._readRequests.forEach(function(readRequest) {
2584
+ readRequest._resolve(ReadableStreamCreateReadResult(void 0, true, reader._forAuthorCode));
2585
+ });
2586
+ reader._readRequests = new SimpleQueue();
2587
+ }
2588
+ defaultReaderClosedPromiseResolve(reader);
2589
+ }
2590
+ function ReadableStreamError(stream, e) {
2591
+ stream._state = "errored";
2592
+ stream._storedError = e;
2593
+ var reader = stream._reader;
2594
+ if (reader === void 0) {
2595
+ return;
2596
+ }
2597
+ if (IsReadableStreamDefaultReader(reader)) {
2598
+ reader._readRequests.forEach(function(readRequest) {
2599
+ readRequest._reject(e);
2600
+ });
2601
+ reader._readRequests = new SimpleQueue();
2602
+ } else {
2603
+ reader._readIntoRequests.forEach(function(readIntoRequest) {
2604
+ readIntoRequest._reject(e);
2605
+ });
2606
+ reader._readIntoRequests = new SimpleQueue();
2607
+ }
2608
+ defaultReaderClosedPromiseReject(reader, e);
2609
+ }
2610
+ function streamBrandCheckException$1(name) {
2611
+ return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
2612
+ }
2613
+ var ByteLengthQueuingStrategy = function() {
2614
+ function ByteLengthQueuingStrategy2(_a2) {
2615
+ var highWaterMark = _a2.highWaterMark;
2616
+ this.highWaterMark = highWaterMark;
2617
+ }
2618
+ ByteLengthQueuingStrategy2.prototype.size = function(chunk) {
2619
+ return chunk.byteLength;
2620
+ };
2621
+ return ByteLengthQueuingStrategy2;
2622
+ }();
2623
+ var CountQueuingStrategy = function() {
2624
+ function CountQueuingStrategy2(_a2) {
2625
+ var highWaterMark = _a2.highWaterMark;
2626
+ this.highWaterMark = highWaterMark;
2627
+ }
2628
+ CountQueuingStrategy2.prototype.size = function() {
2629
+ return 1;
2630
+ };
2631
+ return CountQueuingStrategy2;
2632
+ }();
2633
+ var TransformStream = function() {
2634
+ function TransformStream2(transformer, writableStrategy, readableStrategy) {
2635
+ if (transformer === void 0) {
2636
+ transformer = {};
2637
+ }
2638
+ if (writableStrategy === void 0) {
2639
+ writableStrategy = {};
2640
+ }
2641
+ if (readableStrategy === void 0) {
2642
+ readableStrategy = {};
2643
+ }
2644
+ var writableSizeFunction = writableStrategy.size;
2645
+ var writableHighWaterMark = writableStrategy.highWaterMark;
2646
+ var readableSizeFunction = readableStrategy.size;
2647
+ var readableHighWaterMark = readableStrategy.highWaterMark;
2648
+ var writableType = transformer.writableType;
2649
+ if (writableType !== void 0) {
2650
+ throw new RangeError("Invalid writable type specified");
2651
+ }
2652
+ var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
2653
+ if (writableHighWaterMark === void 0) {
2654
+ writableHighWaterMark = 1;
2655
+ }
2656
+ writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
2657
+ var readableType = transformer.readableType;
2658
+ if (readableType !== void 0) {
2659
+ throw new RangeError("Invalid readable type specified");
2660
+ }
2661
+ var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
2662
+ if (readableHighWaterMark === void 0) {
2663
+ readableHighWaterMark = 0;
2664
+ }
2665
+ readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
2666
+ var startPromise_resolve;
2667
+ var startPromise = newPromise(function(resolve) {
2668
+ startPromise_resolve = resolve;
2669
+ });
2670
+ InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
2671
+ SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
2672
+ var startResult = InvokeOrNoop(transformer, "start", [this._transformStreamController]);
2673
+ startPromise_resolve(startResult);
2674
+ }
2675
+ Object.defineProperty(TransformStream2.prototype, "readable", {
2676
+ get: function() {
2677
+ if (IsTransformStream(this) === false) {
2678
+ throw streamBrandCheckException$2("readable");
2679
+ }
2680
+ return this._readable;
2681
+ },
2682
+ enumerable: true,
2683
+ configurable: true
2684
+ });
2685
+ Object.defineProperty(TransformStream2.prototype, "writable", {
2686
+ get: function() {
2687
+ if (IsTransformStream(this) === false) {
2688
+ throw streamBrandCheckException$2("writable");
2689
+ }
2690
+ return this._writable;
2691
+ },
2692
+ enumerable: true,
2693
+ configurable: true
2694
+ });
2695
+ return TransformStream2;
2696
+ }();
2697
+ function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
2698
+ function startAlgorithm() {
2699
+ return startPromise;
2700
+ }
2701
+ function writeAlgorithm(chunk) {
2702
+ return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
2703
+ }
2704
+ function abortAlgorithm(reason) {
2705
+ return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
2706
+ }
2707
+ function closeAlgorithm() {
2708
+ return TransformStreamDefaultSinkCloseAlgorithm(stream);
2709
+ }
2710
+ stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
2711
+ function pullAlgorithm() {
2712
+ return TransformStreamDefaultSourcePullAlgorithm(stream);
2713
+ }
2714
+ function cancelAlgorithm(reason) {
2715
+ TransformStreamErrorWritableAndUnblockWrite(stream, reason);
2716
+ return promiseResolvedWith(void 0);
2717
+ }
2718
+ stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
2719
+ stream._backpressure = void 0;
2720
+ stream._backpressureChangePromise = void 0;
2721
+ stream._backpressureChangePromise_resolve = void 0;
2722
+ TransformStreamSetBackpressure(stream, true);
2723
+ stream._transformStreamController = void 0;
2724
+ }
2725
+ function IsTransformStream(x) {
2726
+ if (!typeIsObject(x)) {
2727
+ return false;
2728
+ }
2729
+ if (!Object.prototype.hasOwnProperty.call(x, "_transformStreamController")) {
2730
+ return false;
2731
+ }
2732
+ return true;
2733
+ }
2734
+ function TransformStreamError(stream, e) {
2735
+ ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
2736
+ TransformStreamErrorWritableAndUnblockWrite(stream, e);
2737
+ }
2738
+ function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
2739
+ TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
2740
+ WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
2741
+ if (stream._backpressure === true) {
2742
+ TransformStreamSetBackpressure(stream, false);
2743
+ }
2744
+ }
2745
+ function TransformStreamSetBackpressure(stream, backpressure) {
2746
+ if (stream._backpressureChangePromise !== void 0) {
2747
+ stream._backpressureChangePromise_resolve();
2748
+ }
2749
+ stream._backpressureChangePromise = newPromise(function(resolve) {
2750
+ stream._backpressureChangePromise_resolve = resolve;
2751
+ });
2752
+ stream._backpressure = backpressure;
2753
+ }
2754
+ var TransformStreamDefaultController = function() {
2755
+ function TransformStreamDefaultController2() {
2756
+ throw new TypeError("TransformStreamDefaultController instances cannot be created directly");
2757
+ }
2758
+ Object.defineProperty(TransformStreamDefaultController2.prototype, "desiredSize", {
2759
+ get: function() {
2760
+ if (IsTransformStreamDefaultController(this) === false) {
2761
+ throw defaultControllerBrandCheckException$1("desiredSize");
2762
+ }
2763
+ var readableController = this._controlledTransformStream._readable._readableStreamController;
2764
+ return ReadableStreamDefaultControllerGetDesiredSize(readableController);
2765
+ },
2766
+ enumerable: true,
2767
+ configurable: true
2768
+ });
2769
+ TransformStreamDefaultController2.prototype.enqueue = function(chunk) {
2770
+ if (IsTransformStreamDefaultController(this) === false) {
2771
+ throw defaultControllerBrandCheckException$1("enqueue");
2772
+ }
2773
+ TransformStreamDefaultControllerEnqueue(this, chunk);
2774
+ };
2775
+ TransformStreamDefaultController2.prototype.error = function(reason) {
2776
+ if (IsTransformStreamDefaultController(this) === false) {
2777
+ throw defaultControllerBrandCheckException$1("error");
2778
+ }
2779
+ TransformStreamDefaultControllerError(this, reason);
2780
+ };
2781
+ TransformStreamDefaultController2.prototype.terminate = function() {
2782
+ if (IsTransformStreamDefaultController(this) === false) {
2783
+ throw defaultControllerBrandCheckException$1("terminate");
2784
+ }
2785
+ TransformStreamDefaultControllerTerminate(this);
2786
+ };
2787
+ return TransformStreamDefaultController2;
2788
+ }();
2789
+ function IsTransformStreamDefaultController(x) {
2790
+ if (!typeIsObject(x)) {
2791
+ return false;
2792
+ }
2793
+ if (!Object.prototype.hasOwnProperty.call(x, "_controlledTransformStream")) {
2794
+ return false;
2795
+ }
2796
+ return true;
2797
+ }
2798
+ function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
2799
+ controller._controlledTransformStream = stream;
2800
+ stream._transformStreamController = controller;
2801
+ controller._transformAlgorithm = transformAlgorithm;
2802
+ controller._flushAlgorithm = flushAlgorithm;
2803
+ }
2804
+ function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
2805
+ var controller = Object.create(TransformStreamDefaultController.prototype);
2806
+ var transformAlgorithm = function(chunk) {
2807
+ try {
2808
+ TransformStreamDefaultControllerEnqueue(controller, chunk);
2809
+ return promiseResolvedWith(void 0);
2810
+ } catch (transformResultE) {
2811
+ return promiseRejectedWith(transformResultE);
2812
+ }
2813
+ };
2814
+ var transformMethod = transformer.transform;
2815
+ if (transformMethod !== void 0) {
2816
+ if (typeof transformMethod !== "function") {
2817
+ throw new TypeError("transform is not a method");
2818
+ }
2819
+ transformAlgorithm = function(chunk) {
2820
+ return PromiseCall(transformMethod, transformer, [chunk, controller]);
2821
+ };
2822
+ }
2823
+ var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, "flush", 0, [controller]);
2824
+ SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
2825
+ }
2826
+ function TransformStreamDefaultControllerClearAlgorithms(controller) {
2827
+ controller._transformAlgorithm = void 0;
2828
+ controller._flushAlgorithm = void 0;
2829
+ }
2830
+ function TransformStreamDefaultControllerEnqueue(controller, chunk) {
2831
+ var stream = controller._controlledTransformStream;
2832
+ var readableController = stream._readable._readableStreamController;
2833
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
2834
+ throw new TypeError("Readable side is not in a state that permits enqueue");
2835
+ }
2836
+ try {
2837
+ ReadableStreamDefaultControllerEnqueue(readableController, chunk);
2838
+ } catch (e) {
2839
+ TransformStreamErrorWritableAndUnblockWrite(stream, e);
2840
+ throw stream._readable._storedError;
2841
+ }
2842
+ var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
2843
+ if (backpressure !== stream._backpressure) {
2844
+ TransformStreamSetBackpressure(stream, true);
2845
+ }
2846
+ }
2847
+ function TransformStreamDefaultControllerError(controller, e) {
2848
+ TransformStreamError(controller._controlledTransformStream, e);
2849
+ }
2850
+ function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
2851
+ var transformPromise = controller._transformAlgorithm(chunk);
2852
+ return transformPromiseWith(transformPromise, void 0, function(r) {
2853
+ TransformStreamError(controller._controlledTransformStream, r);
2854
+ throw r;
2855
+ });
2856
+ }
2857
+ function TransformStreamDefaultControllerTerminate(controller) {
2858
+ var stream = controller._controlledTransformStream;
2859
+ var readableController = stream._readable._readableStreamController;
2860
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
2861
+ ReadableStreamDefaultControllerClose(readableController);
2862
+ }
2863
+ var error = new TypeError("TransformStream terminated");
2864
+ TransformStreamErrorWritableAndUnblockWrite(stream, error);
2865
+ }
2866
+ function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
2867
+ var controller = stream._transformStreamController;
2868
+ if (stream._backpressure === true) {
2869
+ var backpressureChangePromise = stream._backpressureChangePromise;
2870
+ return transformPromiseWith(backpressureChangePromise, function() {
2871
+ var writable = stream._writable;
2872
+ var state = writable._state;
2873
+ if (state === "erroring") {
2874
+ throw writable._storedError;
2875
+ }
2876
+ return TransformStreamDefaultControllerPerformTransform(controller, chunk);
2877
+ });
2878
+ }
2879
+ return TransformStreamDefaultControllerPerformTransform(controller, chunk);
2880
+ }
2881
+ function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
2882
+ TransformStreamError(stream, reason);
2883
+ return promiseResolvedWith(void 0);
2884
+ }
2885
+ function TransformStreamDefaultSinkCloseAlgorithm(stream) {
2886
+ var readable = stream._readable;
2887
+ var controller = stream._transformStreamController;
2888
+ var flushPromise = controller._flushAlgorithm();
2889
+ TransformStreamDefaultControllerClearAlgorithms(controller);
2890
+ return transformPromiseWith(flushPromise, function() {
2891
+ if (readable._state === "errored") {
2892
+ throw readable._storedError;
2893
+ }
2894
+ var readableController = readable._readableStreamController;
2895
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
2896
+ ReadableStreamDefaultControllerClose(readableController);
2897
+ }
2898
+ }, function(r) {
2899
+ TransformStreamError(stream, r);
2900
+ throw readable._storedError;
2901
+ });
2902
+ }
2903
+ function TransformStreamDefaultSourcePullAlgorithm(stream) {
2904
+ TransformStreamSetBackpressure(stream, false);
2905
+ return stream._backpressureChangePromise;
2906
+ }
2907
+ function defaultControllerBrandCheckException$1(name) {
2908
+ return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
2909
+ }
2910
+ function streamBrandCheckException$2(name) {
2911
+ return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
2912
+ }
2913
+ exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
2914
+ exports2.CountQueuingStrategy = CountQueuingStrategy;
2915
+ exports2.ReadableStream = ReadableStream;
2916
+ exports2.TransformStream = TransformStream;
2917
+ exports2.WritableStream = WritableStream;
2918
+ Object.defineProperty(exports2, "__esModule", { value: true });
2919
+ });
2920
+ }
2921
+ });
2922
+
2923
+ // ../../node_modules/flatgeobuf/dist/flatgeobuf-geojson.min.js
2924
+ var require_flatgeobuf_geojson_min = __commonJS({
2925
+ "../../node_modules/flatgeobuf/dist/flatgeobuf-geojson.min.js"(exports, module) {
2926
+ !function(t, e) {
2927
+ typeof exports == "object" && typeof module != "undefined" ? e(exports, require_ponyfill()) : typeof define == "function" && define.amd ? define(["exports", "web-streams-polyfill/ponyfill"], e) : e((t = t || self).flatgeobuf = {}, t.ponyfill);
2928
+ }(exports, function(t, e) {
2929
+ "use strict";
2930
+ class r {
2931
+ constructor(t2, e2) {
2932
+ this.name = t2, this.type = e2;
2933
+ }
2934
+ }
2935
+ var i;
2936
+ !function(t2) {
2937
+ t2[t2.Byte = 0] = "Byte", t2[t2.UByte = 1] = "UByte", t2[t2.Bool = 2] = "Bool", t2[t2.Short = 3] = "Short", t2[t2.UShort = 4] = "UShort", t2[t2.Int = 5] = "Int", t2[t2.UInt = 6] = "UInt", t2[t2.Long = 7] = "Long", t2[t2.ULong = 8] = "ULong", t2[t2.Float = 9] = "Float", t2[t2.Double = 10] = "Double", t2[t2.String = 11] = "String", t2[t2.Json = 12] = "Json", t2[t2.DateTime = 13] = "DateTime", t2[t2.Binary = 14] = "Binary";
2938
+ }(i || (i = {}));
2939
+ var n = i;
2940
+ class s {
2941
+ constructor(t2, e2, r2) {
2942
+ this.geometryType = t2, this.columns = e2, this.featuresCount = r2;
2943
+ }
2944
+ }
2945
+ var o, a, b, u, h = {};
2946
+ h.SIZEOF_SHORT = 2, h.SIZEOF_INT = 4, h.FILE_IDENTIFIER_LENGTH = 4, h.SIZE_PREFIX_LENGTH = 4, h.Encoding = { UTF8_BYTES: 1, UTF16_STRING: 2 }, h.int32 = new Int32Array(2), h.float32 = new Float32Array(h.int32.buffer), h.float64 = new Float64Array(h.int32.buffer), h.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1, h.Long = function(t2, e2) {
2947
+ this.low = 0 | t2, this.high = 0 | e2;
2948
+ }, h.Long.create = function(t2, e2) {
2949
+ return t2 == 0 && e2 == 0 ? h.Long.ZERO : new h.Long(t2, e2);
2950
+ }, h.Long.prototype.toFloat64 = function() {
2951
+ return (this.low >>> 0) + 4294967296 * this.high;
2952
+ }, h.Long.prototype.equals = function(t2) {
2953
+ return this.low == t2.low && this.high == t2.high;
2954
+ }, h.Long.ZERO = new h.Long(0, 0), h.Builder = function(t2) {
2955
+ if (t2)
2956
+ e2 = t2;
2957
+ else
2958
+ var e2 = 1024;
2959
+ this.bb = h.ByteBuffer.allocate(e2), this.space = e2, this.minalign = 1, this.vtable = null, this.vtable_in_use = 0, this.isNested = false, this.object_start = 0, this.vtables = [], this.vector_num_elems = 0, this.force_defaults = false;
2960
+ }, h.Builder.prototype.clear = function() {
2961
+ this.bb.clear(), this.space = this.bb.capacity(), this.minalign = 1, this.vtable = null, this.vtable_in_use = 0, this.isNested = false, this.object_start = 0, this.vtables = [], this.vector_num_elems = 0, this.force_defaults = false;
2962
+ }, h.Builder.prototype.forceDefaults = function(t2) {
2963
+ this.force_defaults = t2;
2964
+ }, h.Builder.prototype.dataBuffer = function() {
2965
+ return this.bb;
2966
+ }, h.Builder.prototype.asUint8Array = function() {
2967
+ return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());
2968
+ }, h.Builder.prototype.prep = function(t2, e2) {
2969
+ t2 > this.minalign && (this.minalign = t2);
2970
+ for (var r2 = 1 + ~(this.bb.capacity() - this.space + e2) & t2 - 1; this.space < r2 + t2 + e2; ) {
2971
+ var i2 = this.bb.capacity();
2972
+ this.bb = h.Builder.growByteBuffer(this.bb), this.space += this.bb.capacity() - i2;
2973
+ }
2974
+ this.pad(r2);
2975
+ }, h.Builder.prototype.pad = function(t2) {
2976
+ for (var e2 = 0; e2 < t2; e2++)
2977
+ this.bb.writeInt8(--this.space, 0);
2978
+ }, h.Builder.prototype.writeInt8 = function(t2) {
2979
+ this.bb.writeInt8(this.space -= 1, t2);
2980
+ }, h.Builder.prototype.writeInt16 = function(t2) {
2981
+ this.bb.writeInt16(this.space -= 2, t2);
2982
+ }, h.Builder.prototype.writeInt32 = function(t2) {
2983
+ this.bb.writeInt32(this.space -= 4, t2);
2984
+ }, h.Builder.prototype.writeInt64 = function(t2) {
2985
+ this.bb.writeInt64(this.space -= 8, t2);
2986
+ }, h.Builder.prototype.writeFloat32 = function(t2) {
2987
+ this.bb.writeFloat32(this.space -= 4, t2);
2988
+ }, h.Builder.prototype.writeFloat64 = function(t2) {
2989
+ this.bb.writeFloat64(this.space -= 8, t2);
2990
+ }, h.Builder.prototype.addInt8 = function(t2) {
2991
+ this.prep(1, 0), this.writeInt8(t2);
2992
+ }, h.Builder.prototype.addInt16 = function(t2) {
2993
+ this.prep(2, 0), this.writeInt16(t2);
2994
+ }, h.Builder.prototype.addInt32 = function(t2) {
2995
+ this.prep(4, 0), this.writeInt32(t2);
2996
+ }, h.Builder.prototype.addInt64 = function(t2) {
2997
+ this.prep(8, 0), this.writeInt64(t2);
2998
+ }, h.Builder.prototype.addFloat32 = function(t2) {
2999
+ this.prep(4, 0), this.writeFloat32(t2);
3000
+ }, h.Builder.prototype.addFloat64 = function(t2) {
3001
+ this.prep(8, 0), this.writeFloat64(t2);
3002
+ }, h.Builder.prototype.addFieldInt8 = function(t2, e2, r2) {
3003
+ (this.force_defaults || e2 != r2) && (this.addInt8(e2), this.slot(t2));
3004
+ }, h.Builder.prototype.addFieldInt16 = function(t2, e2, r2) {
3005
+ (this.force_defaults || e2 != r2) && (this.addInt16(e2), this.slot(t2));
3006
+ }, h.Builder.prototype.addFieldInt32 = function(t2, e2, r2) {
3007
+ (this.force_defaults || e2 != r2) && (this.addInt32(e2), this.slot(t2));
3008
+ }, h.Builder.prototype.addFieldInt64 = function(t2, e2, r2) {
3009
+ !this.force_defaults && e2.equals(r2) || (this.addInt64(e2), this.slot(t2));
3010
+ }, h.Builder.prototype.addFieldFloat32 = function(t2, e2, r2) {
3011
+ (this.force_defaults || e2 != r2) && (this.addFloat32(e2), this.slot(t2));
3012
+ }, h.Builder.prototype.addFieldFloat64 = function(t2, e2, r2) {
3013
+ (this.force_defaults || e2 != r2) && (this.addFloat64(e2), this.slot(t2));
3014
+ }, h.Builder.prototype.addFieldOffset = function(t2, e2, r2) {
3015
+ (this.force_defaults || e2 != r2) && (this.addOffset(e2), this.slot(t2));
3016
+ }, h.Builder.prototype.addFieldStruct = function(t2, e2, r2) {
3017
+ e2 != r2 && (this.nested(e2), this.slot(t2));
3018
+ }, h.Builder.prototype.nested = function(t2) {
3019
+ if (t2 != this.offset())
3020
+ throw new Error("FlatBuffers: struct must be serialized inline.");
3021
+ }, h.Builder.prototype.notNested = function() {
3022
+ if (this.isNested)
3023
+ throw new Error("FlatBuffers: object serialization must not be nested.");
3024
+ }, h.Builder.prototype.slot = function(t2) {
3025
+ this.vtable[t2] = this.offset();
3026
+ }, h.Builder.prototype.offset = function() {
3027
+ return this.bb.capacity() - this.space;
3028
+ }, h.Builder.growByteBuffer = function(t2) {
3029
+ var e2 = t2.capacity();
3030
+ if (3221225472 & e2)
3031
+ throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");
3032
+ var r2 = e2 << 1, i2 = h.ByteBuffer.allocate(r2);
3033
+ return i2.setPosition(r2 - e2), i2.bytes().set(t2.bytes(), r2 - e2), i2;
3034
+ }, h.Builder.prototype.addOffset = function(t2) {
3035
+ this.prep(h.SIZEOF_INT, 0), this.writeInt32(this.offset() - t2 + h.SIZEOF_INT);
3036
+ }, h.Builder.prototype.startObject = function(t2) {
3037
+ this.notNested(), this.vtable == null && (this.vtable = []), this.vtable_in_use = t2;
3038
+ for (var e2 = 0; e2 < t2; e2++)
3039
+ this.vtable[e2] = 0;
3040
+ this.isNested = true, this.object_start = this.offset();
3041
+ }, h.Builder.prototype.endObject = function() {
3042
+ if (this.vtable == null || !this.isNested)
3043
+ throw new Error("FlatBuffers: endObject called without startObject");
3044
+ this.addInt32(0);
3045
+ for (var t2 = this.offset(), e2 = this.vtable_in_use - 1; e2 >= 0 && this.vtable[e2] == 0; e2--)
3046
+ ;
3047
+ for (var r2 = e2 + 1; e2 >= 0; e2--)
3048
+ this.addInt16(this.vtable[e2] != 0 ? t2 - this.vtable[e2] : 0);
3049
+ this.addInt16(t2 - this.object_start);
3050
+ var i2 = (r2 + 2) * h.SIZEOF_SHORT;
3051
+ this.addInt16(i2);
3052
+ var n2 = 0, s2 = this.space;
3053
+ t:
3054
+ for (e2 = 0; e2 < this.vtables.length; e2++) {
3055
+ var o2 = this.bb.capacity() - this.vtables[e2];
3056
+ if (i2 == this.bb.readInt16(o2)) {
3057
+ for (var a2 = h.SIZEOF_SHORT; a2 < i2; a2 += h.SIZEOF_SHORT)
3058
+ if (this.bb.readInt16(s2 + a2) != this.bb.readInt16(o2 + a2))
3059
+ continue t;
3060
+ n2 = this.vtables[e2];
3061
+ break;
3062
+ }
3063
+ }
3064
+ return n2 ? (this.space = this.bb.capacity() - t2, this.bb.writeInt32(this.space, n2 - t2)) : (this.vtables.push(this.offset()), this.bb.writeInt32(this.bb.capacity() - t2, this.offset() - t2)), this.isNested = false, t2;
3065
+ }, h.Builder.prototype.finish = function(t2, e2, r2) {
3066
+ var i2 = r2 ? h.SIZE_PREFIX_LENGTH : 0;
3067
+ if (e2) {
3068
+ var n2 = e2;
3069
+ if (this.prep(this.minalign, h.SIZEOF_INT + h.FILE_IDENTIFIER_LENGTH + i2), n2.length != h.FILE_IDENTIFIER_LENGTH)
3070
+ throw new Error("FlatBuffers: file identifier must be length " + h.FILE_IDENTIFIER_LENGTH);
3071
+ for (var s2 = h.FILE_IDENTIFIER_LENGTH - 1; s2 >= 0; s2--)
3072
+ this.writeInt8(n2.charCodeAt(s2));
3073
+ }
3074
+ this.prep(this.minalign, h.SIZEOF_INT + i2), this.addOffset(t2), i2 && this.addInt32(this.bb.capacity() - this.space), this.bb.setPosition(this.space);
3075
+ }, h.Builder.prototype.finishSizePrefixed = function(t2, e2) {
3076
+ this.finish(t2, e2, true);
3077
+ }, h.Builder.prototype.requiredField = function(t2, e2) {
3078
+ var r2 = this.bb.capacity() - t2, i2 = r2 - this.bb.readInt32(r2);
3079
+ if (!(this.bb.readInt16(i2 + e2) != 0))
3080
+ throw new Error("FlatBuffers: field " + e2 + " must be set");
3081
+ }, h.Builder.prototype.startVector = function(t2, e2, r2) {
3082
+ this.notNested(), this.vector_num_elems = e2, this.prep(h.SIZEOF_INT, t2 * e2), this.prep(r2, t2 * e2);
3083
+ }, h.Builder.prototype.endVector = function() {
3084
+ return this.writeInt32(this.vector_num_elems), this.offset();
3085
+ }, h.Builder.prototype.createString = function(t2) {
3086
+ if (t2 instanceof Uint8Array)
3087
+ var e2 = t2;
3088
+ else {
3089
+ e2 = [];
3090
+ for (var r2 = 0; r2 < t2.length; ) {
3091
+ var i2, n2 = t2.charCodeAt(r2++);
3092
+ if (n2 < 55296 || n2 >= 56320)
3093
+ i2 = n2;
3094
+ else
3095
+ i2 = (n2 << 10) + t2.charCodeAt(r2++) + -56613888;
3096
+ i2 < 128 ? e2.push(i2) : (i2 < 2048 ? e2.push(i2 >> 6 & 31 | 192) : (i2 < 65536 ? e2.push(i2 >> 12 & 15 | 224) : e2.push(i2 >> 18 & 7 | 240, i2 >> 12 & 63 | 128), e2.push(i2 >> 6 & 63 | 128)), e2.push(63 & i2 | 128));
3097
+ }
3098
+ }
3099
+ this.addInt8(0), this.startVector(1, e2.length, 1), this.bb.setPosition(this.space -= e2.length);
3100
+ r2 = 0;
3101
+ for (var s2 = this.space, o2 = this.bb.bytes(); r2 < e2.length; r2++)
3102
+ o2[s2++] = e2[r2];
3103
+ return this.endVector();
3104
+ }, h.Builder.prototype.createLong = function(t2, e2) {
3105
+ return h.Long.create(t2, e2);
3106
+ }, h.ByteBuffer = function(t2) {
3107
+ this.bytes_ = t2, this.position_ = 0;
3108
+ }, h.ByteBuffer.allocate = function(t2) {
3109
+ return new h.ByteBuffer(new Uint8Array(t2));
3110
+ }, h.ByteBuffer.prototype.clear = function() {
3111
+ this.position_ = 0;
3112
+ }, h.ByteBuffer.prototype.bytes = function() {
3113
+ return this.bytes_;
3114
+ }, h.ByteBuffer.prototype.position = function() {
3115
+ return this.position_;
3116
+ }, h.ByteBuffer.prototype.setPosition = function(t2) {
3117
+ this.position_ = t2;
3118
+ }, h.ByteBuffer.prototype.capacity = function() {
3119
+ return this.bytes_.length;
3120
+ }, h.ByteBuffer.prototype.readInt8 = function(t2) {
3121
+ return this.readUint8(t2) << 24 >> 24;
3122
+ }, h.ByteBuffer.prototype.readUint8 = function(t2) {
3123
+ return this.bytes_[t2];
3124
+ }, h.ByteBuffer.prototype.readInt16 = function(t2) {
3125
+ return this.readUint16(t2) << 16 >> 16;
3126
+ }, h.ByteBuffer.prototype.readUint16 = function(t2) {
3127
+ return this.bytes_[t2] | this.bytes_[t2 + 1] << 8;
3128
+ }, h.ByteBuffer.prototype.readInt32 = function(t2) {
3129
+ return this.bytes_[t2] | this.bytes_[t2 + 1] << 8 | this.bytes_[t2 + 2] << 16 | this.bytes_[t2 + 3] << 24;
3130
+ }, h.ByteBuffer.prototype.readUint32 = function(t2) {
3131
+ return this.readInt32(t2) >>> 0;
3132
+ }, h.ByteBuffer.prototype.readInt64 = function(t2) {
3133
+ return new h.Long(this.readInt32(t2), this.readInt32(t2 + 4));
3134
+ }, h.ByteBuffer.prototype.readUint64 = function(t2) {
3135
+ return new h.Long(this.readUint32(t2), this.readUint32(t2 + 4));
3136
+ }, h.ByteBuffer.prototype.readFloat32 = function(t2) {
3137
+ return h.int32[0] = this.readInt32(t2), h.float32[0];
3138
+ }, h.ByteBuffer.prototype.readFloat64 = function(t2) {
3139
+ return h.int32[h.isLittleEndian ? 0 : 1] = this.readInt32(t2), h.int32[h.isLittleEndian ? 1 : 0] = this.readInt32(t2 + 4), h.float64[0];
3140
+ }, h.ByteBuffer.prototype.writeInt8 = function(t2, e2) {
3141
+ this.bytes_[t2] = e2;
3142
+ }, h.ByteBuffer.prototype.writeUint8 = function(t2, e2) {
3143
+ this.bytes_[t2] = e2;
3144
+ }, h.ByteBuffer.prototype.writeInt16 = function(t2, e2) {
3145
+ this.bytes_[t2] = e2, this.bytes_[t2 + 1] = e2 >> 8;
3146
+ }, h.ByteBuffer.prototype.writeUint16 = function(t2, e2) {
3147
+ this.bytes_[t2] = e2, this.bytes_[t2 + 1] = e2 >> 8;
3148
+ }, h.ByteBuffer.prototype.writeInt32 = function(t2, e2) {
3149
+ this.bytes_[t2] = e2, this.bytes_[t2 + 1] = e2 >> 8, this.bytes_[t2 + 2] = e2 >> 16, this.bytes_[t2 + 3] = e2 >> 24;
3150
+ }, h.ByteBuffer.prototype.writeUint32 = function(t2, e2) {
3151
+ this.bytes_[t2] = e2, this.bytes_[t2 + 1] = e2 >> 8, this.bytes_[t2 + 2] = e2 >> 16, this.bytes_[t2 + 3] = e2 >> 24;
3152
+ }, h.ByteBuffer.prototype.writeInt64 = function(t2, e2) {
3153
+ this.writeInt32(t2, e2.low), this.writeInt32(t2 + 4, e2.high);
3154
+ }, h.ByteBuffer.prototype.writeUint64 = function(t2, e2) {
3155
+ this.writeUint32(t2, e2.low), this.writeUint32(t2 + 4, e2.high);
3156
+ }, h.ByteBuffer.prototype.writeFloat32 = function(t2, e2) {
3157
+ h.float32[0] = e2, this.writeInt32(t2, h.int32[0]);
3158
+ }, h.ByteBuffer.prototype.writeFloat64 = function(t2, e2) {
3159
+ h.float64[0] = e2, this.writeInt32(t2, h.int32[h.isLittleEndian ? 0 : 1]), this.writeInt32(t2 + 4, h.int32[h.isLittleEndian ? 1 : 0]);
3160
+ }, h.ByteBuffer.prototype.getBufferIdentifier = function() {
3161
+ if (this.bytes_.length < this.position_ + h.SIZEOF_INT + h.FILE_IDENTIFIER_LENGTH)
3162
+ throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");
3163
+ for (var t2 = "", e2 = 0; e2 < h.FILE_IDENTIFIER_LENGTH; e2++)
3164
+ t2 += String.fromCharCode(this.readInt8(this.position_ + h.SIZEOF_INT + e2));
3165
+ return t2;
3166
+ }, h.ByteBuffer.prototype.__offset = function(t2, e2) {
3167
+ var r2 = t2 - this.readInt32(t2);
3168
+ return e2 < this.readInt16(r2) ? this.readInt16(r2 + e2) : 0;
3169
+ }, h.ByteBuffer.prototype.__union = function(t2, e2) {
3170
+ return t2.bb_pos = e2 + this.readInt32(e2), t2.bb = this, t2;
3171
+ }, h.ByteBuffer.prototype.__string = function(t2, e2) {
3172
+ t2 += this.readInt32(t2);
3173
+ var r2 = this.readInt32(t2), i2 = "", n2 = 0;
3174
+ if (t2 += h.SIZEOF_INT, e2 === h.Encoding.UTF8_BYTES)
3175
+ return this.bytes_.subarray(t2, t2 + r2);
3176
+ for (; n2 < r2; ) {
3177
+ var s2, o2 = this.readUint8(t2 + n2++);
3178
+ if (o2 < 192)
3179
+ s2 = o2;
3180
+ else {
3181
+ var a2 = this.readUint8(t2 + n2++);
3182
+ if (o2 < 224)
3183
+ s2 = (31 & o2) << 6 | 63 & a2;
3184
+ else {
3185
+ var b2 = this.readUint8(t2 + n2++);
3186
+ if (o2 < 240)
3187
+ s2 = (15 & o2) << 12 | (63 & a2) << 6 | 63 & b2;
3188
+ else
3189
+ s2 = (7 & o2) << 18 | (63 & a2) << 12 | (63 & b2) << 6 | 63 & this.readUint8(t2 + n2++);
3190
+ }
3191
+ }
3192
+ s2 < 65536 ? i2 += String.fromCharCode(s2) : (s2 -= 65536, i2 += String.fromCharCode(55296 + (s2 >> 10), 56320 + (1023 & s2)));
3193
+ }
3194
+ return i2;
3195
+ }, h.ByteBuffer.prototype.__indirect = function(t2) {
3196
+ return t2 + this.readInt32(t2);
3197
+ }, h.ByteBuffer.prototype.__vector = function(t2) {
3198
+ return t2 + this.readInt32(t2) + h.SIZEOF_INT;
3199
+ }, h.ByteBuffer.prototype.__vector_len = function(t2) {
3200
+ return this.readInt32(t2 + this.readInt32(t2));
3201
+ }, h.ByteBuffer.prototype.__has_identifier = function(t2) {
3202
+ if (t2.length != h.FILE_IDENTIFIER_LENGTH)
3203
+ throw new Error("FlatBuffers: file identifier must be length " + h.FILE_IDENTIFIER_LENGTH);
3204
+ for (var e2 = 0; e2 < h.FILE_IDENTIFIER_LENGTH; e2++)
3205
+ if (t2.charCodeAt(e2) != this.readInt8(this.position_ + h.SIZEOF_INT + e2))
3206
+ return false;
3207
+ return true;
3208
+ }, h.ByteBuffer.prototype.createLong = function(t2, e2) {
3209
+ return h.Long.create(t2, e2);
3210
+ }, function(t2) {
3211
+ t2[t2.Unknown = 0] = "Unknown", t2[t2.Point = 1] = "Point", t2[t2.LineString = 2] = "LineString", t2[t2.Polygon = 3] = "Polygon", t2[t2.MultiPoint = 4] = "MultiPoint", t2[t2.MultiLineString = 5] = "MultiLineString", t2[t2.MultiPolygon = 6] = "MultiPolygon", t2[t2.GeometryCollection = 7] = "GeometryCollection", t2[t2.CircularString = 8] = "CircularString", t2[t2.CompoundCurve = 9] = "CompoundCurve", t2[t2.CurvePolygon = 10] = "CurvePolygon", t2[t2.MultiCurve = 11] = "MultiCurve", t2[t2.MultiSurface = 12] = "MultiSurface", t2[t2.Curve = 13] = "Curve", t2[t2.Surface = 14] = "Surface", t2[t2.PolyhedralSurface = 15] = "PolyhedralSurface", t2[t2.TIN = 16] = "TIN", t2[t2.Triangle = 17] = "Triangle";
3212
+ }(o || (o = {})), function(t2) {
3213
+ t2[t2.Byte = 0] = "Byte", t2[t2.UByte = 1] = "UByte", t2[t2.Bool = 2] = "Bool", t2[t2.Short = 3] = "Short", t2[t2.UShort = 4] = "UShort", t2[t2.Int = 5] = "Int", t2[t2.UInt = 6] = "UInt", t2[t2.Long = 7] = "Long", t2[t2.ULong = 8] = "ULong", t2[t2.Float = 9] = "Float", t2[t2.Double = 10] = "Double", t2[t2.String = 11] = "String", t2[t2.Json = 12] = "Json", t2[t2.DateTime = 13] = "DateTime", t2[t2.Binary = 14] = "Binary";
3214
+ }(a || (a = {}));
3215
+ class f {
3216
+ constructor() {
3217
+ this.bb = null, this.bb_pos = 0;
3218
+ }
3219
+ __init(t2, e2) {
3220
+ return this.bb_pos = t2, this.bb = e2, this;
3221
+ }
3222
+ static getRoot(t2, e2) {
3223
+ return (e2 || new f()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3224
+ }
3225
+ static getSizePrefixedRoot(t2, e2) {
3226
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new f()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3227
+ }
3228
+ name(t2) {
3229
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3230
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3231
+ }
3232
+ type() {
3233
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3234
+ return t2 ? this.bb.readUint8(this.bb_pos + t2) : a.Byte;
3235
+ }
3236
+ static start(t2) {
3237
+ t2.startObject(2);
3238
+ }
3239
+ static addName(t2, e2) {
3240
+ t2.addFieldOffset(0, e2, 0);
3241
+ }
3242
+ static addType(t2, e2) {
3243
+ t2.addFieldInt8(1, e2, a.Byte);
3244
+ }
3245
+ static end(t2) {
3246
+ var e2 = t2.endObject();
3247
+ return t2.requiredField(e2, 4), e2;
3248
+ }
3249
+ static create(t2, e2, r2) {
3250
+ return f.start(t2), f.addName(t2, e2), f.addType(t2, r2), f.end(t2);
3251
+ }
3252
+ }
3253
+ class c {
3254
+ constructor() {
3255
+ this.bb = null, this.bb_pos = 0;
3256
+ }
3257
+ __init(t2, e2) {
3258
+ return this.bb_pos = t2, this.bb = e2, this;
3259
+ }
3260
+ static getRoot(t2, e2) {
3261
+ return (e2 || new c()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3262
+ }
3263
+ static getSizePrefixedRoot(t2, e2) {
3264
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new c()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3265
+ }
3266
+ ends(t2) {
3267
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3268
+ return e2 ? this.bb.readUint32(this.bb.__vector(this.bb_pos + e2) + 4 * t2) : 0;
3269
+ }
3270
+ endsLength() {
3271
+ var t2 = this.bb.__offset(this.bb_pos, 4);
3272
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3273
+ }
3274
+ endsArray() {
3275
+ var t2 = this.bb.__offset(this.bb_pos, 4);
3276
+ return t2 ? new Uint32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3277
+ }
3278
+ xy(t2) {
3279
+ var e2 = this.bb.__offset(this.bb_pos, 6);
3280
+ return e2 ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : 0;
3281
+ }
3282
+ xyLength() {
3283
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3284
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3285
+ }
3286
+ xyArray() {
3287
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3288
+ return t2 ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3289
+ }
3290
+ z(t2) {
3291
+ var e2 = this.bb.__offset(this.bb_pos, 8);
3292
+ return e2 ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : 0;
3293
+ }
3294
+ zLength() {
3295
+ var t2 = this.bb.__offset(this.bb_pos, 8);
3296
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3297
+ }
3298
+ zArray() {
3299
+ var t2 = this.bb.__offset(this.bb_pos, 8);
3300
+ return t2 ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3301
+ }
3302
+ m(t2) {
3303
+ var e2 = this.bb.__offset(this.bb_pos, 10);
3304
+ return e2 ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : 0;
3305
+ }
3306
+ mLength() {
3307
+ var t2 = this.bb.__offset(this.bb_pos, 10);
3308
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3309
+ }
3310
+ mArray() {
3311
+ var t2 = this.bb.__offset(this.bb_pos, 10);
3312
+ return t2 ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3313
+ }
3314
+ t(t2) {
3315
+ var e2 = this.bb.__offset(this.bb_pos, 12);
3316
+ return e2 ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : 0;
3317
+ }
3318
+ tLength() {
3319
+ var t2 = this.bb.__offset(this.bb_pos, 12);
3320
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3321
+ }
3322
+ tArray() {
3323
+ var t2 = this.bb.__offset(this.bb_pos, 12);
3324
+ return t2 ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3325
+ }
3326
+ tm(t2) {
3327
+ var e2 = this.bb.__offset(this.bb_pos, 14);
3328
+ return e2 ? this.bb.readUint64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : this.bb.createLong(0, 0);
3329
+ }
3330
+ tmLength() {
3331
+ var t2 = this.bb.__offset(this.bb_pos, 14);
3332
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3333
+ }
3334
+ type() {
3335
+ var t2 = this.bb.__offset(this.bb_pos, 16);
3336
+ return t2 ? this.bb.readUint8(this.bb_pos + t2) : o.Unknown;
3337
+ }
3338
+ parts(t2, e2) {
3339
+ var r2 = this.bb.__offset(this.bb_pos, 18);
3340
+ return r2 ? (e2 || new c()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + r2) + 4 * t2), this.bb) : null;
3341
+ }
3342
+ partsLength() {
3343
+ var t2 = this.bb.__offset(this.bb_pos, 18);
3344
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3345
+ }
3346
+ static start(t2) {
3347
+ t2.startObject(8);
3348
+ }
3349
+ static addEnds(t2, e2) {
3350
+ t2.addFieldOffset(0, e2, 0);
3351
+ }
3352
+ static createEndsVector(t2, e2) {
3353
+ t2.startVector(4, e2.length, 4);
3354
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3355
+ t2.addInt32(e2[r2]);
3356
+ return t2.endVector();
3357
+ }
3358
+ static startEndsVector(t2, e2) {
3359
+ t2.startVector(4, e2, 4);
3360
+ }
3361
+ static addXy(t2, e2) {
3362
+ t2.addFieldOffset(1, e2, 0);
3363
+ }
3364
+ static createXyVector(t2, e2) {
3365
+ t2.startVector(8, e2.length, 8);
3366
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3367
+ t2.addFloat64(e2[r2]);
3368
+ return t2.endVector();
3369
+ }
3370
+ static startXyVector(t2, e2) {
3371
+ t2.startVector(8, e2, 8);
3372
+ }
3373
+ static addZ(t2, e2) {
3374
+ t2.addFieldOffset(2, e2, 0);
3375
+ }
3376
+ static createZVector(t2, e2) {
3377
+ t2.startVector(8, e2.length, 8);
3378
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3379
+ t2.addFloat64(e2[r2]);
3380
+ return t2.endVector();
3381
+ }
3382
+ static startZVector(t2, e2) {
3383
+ t2.startVector(8, e2, 8);
3384
+ }
3385
+ static addM(t2, e2) {
3386
+ t2.addFieldOffset(3, e2, 0);
3387
+ }
3388
+ static createMVector(t2, e2) {
3389
+ t2.startVector(8, e2.length, 8);
3390
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3391
+ t2.addFloat64(e2[r2]);
3392
+ return t2.endVector();
3393
+ }
3394
+ static startMVector(t2, e2) {
3395
+ t2.startVector(8, e2, 8);
3396
+ }
3397
+ static addT(t2, e2) {
3398
+ t2.addFieldOffset(4, e2, 0);
3399
+ }
3400
+ static createTVector(t2, e2) {
3401
+ t2.startVector(8, e2.length, 8);
3402
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3403
+ t2.addFloat64(e2[r2]);
3404
+ return t2.endVector();
3405
+ }
3406
+ static startTVector(t2, e2) {
3407
+ t2.startVector(8, e2, 8);
3408
+ }
3409
+ static addTm(t2, e2) {
3410
+ t2.addFieldOffset(5, e2, 0);
3411
+ }
3412
+ static createTmVector(t2, e2) {
3413
+ t2.startVector(8, e2.length, 8);
3414
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3415
+ t2.addInt64(e2[r2]);
3416
+ return t2.endVector();
3417
+ }
3418
+ static startTmVector(t2, e2) {
3419
+ t2.startVector(8, e2, 8);
3420
+ }
3421
+ static addType(t2, e2) {
3422
+ t2.addFieldInt8(6, e2, o.Unknown);
3423
+ }
3424
+ static addParts(t2, e2) {
3425
+ t2.addFieldOffset(7, e2, 0);
3426
+ }
3427
+ static createPartsVector(t2, e2) {
3428
+ t2.startVector(4, e2.length, 4);
3429
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3430
+ t2.addOffset(e2[r2]);
3431
+ return t2.endVector();
3432
+ }
3433
+ static startPartsVector(t2, e2) {
3434
+ t2.startVector(4, e2, 4);
3435
+ }
3436
+ static end(t2) {
3437
+ return t2.endObject();
3438
+ }
3439
+ static create(t2, e2, r2, i2, n2, s2, o2, a2, b2) {
3440
+ return c.start(t2), c.addEnds(t2, e2), c.addXy(t2, r2), c.addZ(t2, i2), c.addM(t2, n2), c.addT(t2, s2), c.addTm(t2, o2), c.addType(t2, a2), c.addParts(t2, b2), c.end(t2);
3441
+ }
3442
+ }
3443
+ class d {
3444
+ constructor() {
3445
+ this.bb = null, this.bb_pos = 0;
3446
+ }
3447
+ __init(t2, e2) {
3448
+ return this.bb_pos = t2, this.bb = e2, this;
3449
+ }
3450
+ static getRoot(t2, e2) {
3451
+ return (e2 || new d()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3452
+ }
3453
+ static getSizePrefixedRoot(t2, e2) {
3454
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new d()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3455
+ }
3456
+ geometry(t2) {
3457
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3458
+ return e2 ? (t2 || new c()).__init(this.bb.__indirect(this.bb_pos + e2), this.bb) : null;
3459
+ }
3460
+ properties(t2) {
3461
+ var e2 = this.bb.__offset(this.bb_pos, 6);
3462
+ return e2 ? this.bb.readUint8(this.bb.__vector(this.bb_pos + e2) + t2) : 0;
3463
+ }
3464
+ propertiesLength() {
3465
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3466
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3467
+ }
3468
+ propertiesArray() {
3469
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3470
+ return t2 ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3471
+ }
3472
+ columns(t2, e2) {
3473
+ var r2 = this.bb.__offset(this.bb_pos, 8);
3474
+ return r2 ? (e2 || new f()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + r2) + 4 * t2), this.bb) : null;
3475
+ }
3476
+ columnsLength() {
3477
+ var t2 = this.bb.__offset(this.bb_pos, 8);
3478
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3479
+ }
3480
+ static start(t2) {
3481
+ t2.startObject(3);
3482
+ }
3483
+ static addGeometry(t2, e2) {
3484
+ t2.addFieldOffset(0, e2, 0);
3485
+ }
3486
+ static addProperties(t2, e2) {
3487
+ t2.addFieldOffset(1, e2, 0);
3488
+ }
3489
+ static createPropertiesVector(t2, e2) {
3490
+ t2.startVector(1, e2.length, 1);
3491
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3492
+ t2.addInt8(e2[r2]);
3493
+ return t2.endVector();
3494
+ }
3495
+ static startPropertiesVector(t2, e2) {
3496
+ t2.startVector(1, e2, 1);
3497
+ }
3498
+ static addColumns(t2, e2) {
3499
+ t2.addFieldOffset(2, e2, 0);
3500
+ }
3501
+ static createColumnsVector(t2, e2) {
3502
+ t2.startVector(4, e2.length, 4);
3503
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3504
+ t2.addOffset(e2[r2]);
3505
+ return t2.endVector();
3506
+ }
3507
+ static startColumnsVector(t2, e2) {
3508
+ t2.startVector(4, e2, 4);
3509
+ }
3510
+ static end(t2) {
3511
+ return t2.endObject();
3512
+ }
3513
+ static finishBuffer(t2, e2) {
3514
+ t2.finish(e2);
3515
+ }
3516
+ static finishSizePrefixedBuffer(t2, e2) {
3517
+ t2.finish(e2, void 0, true);
3518
+ }
3519
+ static create(t2, e2, r2, i2) {
3520
+ return d.start(t2), d.addGeometry(t2, e2), d.addProperties(t2, r2), d.addColumns(t2, i2), d.end(t2);
3521
+ }
3522
+ }
3523
+ !function(t2) {
3524
+ t2[t2.Unknown = 0] = "Unknown", t2[t2.Point = 1] = "Point", t2[t2.LineString = 2] = "LineString", t2[t2.Polygon = 3] = "Polygon", t2[t2.MultiPoint = 4] = "MultiPoint", t2[t2.MultiLineString = 5] = "MultiLineString", t2[t2.MultiPolygon = 6] = "MultiPolygon", t2[t2.GeometryCollection = 7] = "GeometryCollection", t2[t2.CircularString = 8] = "CircularString", t2[t2.CompoundCurve = 9] = "CompoundCurve", t2[t2.CurvePolygon = 10] = "CurvePolygon", t2[t2.MultiCurve = 11] = "MultiCurve", t2[t2.MultiSurface = 12] = "MultiSurface", t2[t2.Curve = 13] = "Curve", t2[t2.Surface = 14] = "Surface", t2[t2.PolyhedralSurface = 15] = "PolyhedralSurface", t2[t2.TIN = 16] = "TIN", t2[t2.Triangle = 17] = "Triangle";
3525
+ }(b || (b = {})), function(t2) {
3526
+ t2[t2.Byte = 0] = "Byte", t2[t2.UByte = 1] = "UByte", t2[t2.Bool = 2] = "Bool", t2[t2.Short = 3] = "Short", t2[t2.UShort = 4] = "UShort", t2[t2.Int = 5] = "Int", t2[t2.UInt = 6] = "UInt", t2[t2.Long = 7] = "Long", t2[t2.ULong = 8] = "ULong", t2[t2.Float = 9] = "Float", t2[t2.Double = 10] = "Double", t2[t2.String = 11] = "String", t2[t2.Json = 12] = "Json", t2[t2.DateTime = 13] = "DateTime", t2[t2.Binary = 14] = "Binary";
3527
+ }(u || (u = {}));
3528
+ class l {
3529
+ constructor() {
3530
+ this.bb = null, this.bb_pos = 0;
3531
+ }
3532
+ __init(t2, e2) {
3533
+ return this.bb_pos = t2, this.bb = e2, this;
3534
+ }
3535
+ static getRoot(t2, e2) {
3536
+ return (e2 || new l()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3537
+ }
3538
+ static getSizePrefixedRoot(t2, e2) {
3539
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new l()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3540
+ }
3541
+ name(t2) {
3542
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3543
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3544
+ }
3545
+ type() {
3546
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3547
+ return t2 ? this.bb.readUint8(this.bb_pos + t2) : u.Byte;
3548
+ }
3549
+ static start(t2) {
3550
+ t2.startObject(2);
3551
+ }
3552
+ static addName(t2, e2) {
3553
+ t2.addFieldOffset(0, e2, 0);
3554
+ }
3555
+ static addType(t2, e2) {
3556
+ t2.addFieldInt8(1, e2, u.Byte);
3557
+ }
3558
+ static end(t2) {
3559
+ var e2 = t2.endObject();
3560
+ return t2.requiredField(e2, 4), e2;
3561
+ }
3562
+ static create(t2, e2, r2) {
3563
+ return l.start(t2), l.addName(t2, e2), l.addType(t2, r2), l.end(t2);
3564
+ }
3565
+ }
3566
+ class p {
3567
+ constructor() {
3568
+ this.bb = null, this.bb_pos = 0;
3569
+ }
3570
+ __init(t2, e2) {
3571
+ return this.bb_pos = t2, this.bb = e2, this;
3572
+ }
3573
+ static getRoot(t2, e2) {
3574
+ return (e2 || new p()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3575
+ }
3576
+ static getSizePrefixedRoot(t2, e2) {
3577
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new p()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3578
+ }
3579
+ org(t2) {
3580
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3581
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3582
+ }
3583
+ code() {
3584
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3585
+ return t2 ? this.bb.readInt32(this.bb_pos + t2) : 0;
3586
+ }
3587
+ name(t2) {
3588
+ var e2 = this.bb.__offset(this.bb_pos, 8);
3589
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3590
+ }
3591
+ description(t2) {
3592
+ var e2 = this.bb.__offset(this.bb_pos, 10);
3593
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3594
+ }
3595
+ wkt(t2) {
3596
+ var e2 = this.bb.__offset(this.bb_pos, 12);
3597
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3598
+ }
3599
+ static start(t2) {
3600
+ t2.startObject(5);
3601
+ }
3602
+ static addOrg(t2, e2) {
3603
+ t2.addFieldOffset(0, e2, 0);
3604
+ }
3605
+ static addCode(t2, e2) {
3606
+ t2.addFieldInt32(1, e2, 0);
3607
+ }
3608
+ static addName(t2, e2) {
3609
+ t2.addFieldOffset(2, e2, 0);
3610
+ }
3611
+ static addDescription(t2, e2) {
3612
+ t2.addFieldOffset(3, e2, 0);
3613
+ }
3614
+ static addWkt(t2, e2) {
3615
+ t2.addFieldOffset(4, e2, 0);
3616
+ }
3617
+ static end(t2) {
3618
+ return t2.endObject();
3619
+ }
3620
+ static create(t2, e2, r2, i2, n2, s2) {
3621
+ return p.start(t2), p.addOrg(t2, e2), p.addCode(t2, r2), p.addName(t2, i2), p.addDescription(t2, n2), p.addWkt(t2, s2), p.end(t2);
3622
+ }
3623
+ }
3624
+ class _ {
3625
+ constructor() {
3626
+ this.bb = null, this.bb_pos = 0;
3627
+ }
3628
+ __init(t2, e2) {
3629
+ return this.bb_pos = t2, this.bb = e2, this;
3630
+ }
3631
+ static getRoot(t2, e2) {
3632
+ return (e2 || new _()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3633
+ }
3634
+ static getSizePrefixedRoot(t2, e2) {
3635
+ return t2.setPosition(t2.position() + h.SIZE_PREFIX_LENGTH), (e2 || new _()).__init(t2.readInt32(t2.position()) + t2.position(), t2);
3636
+ }
3637
+ name(t2) {
3638
+ var e2 = this.bb.__offset(this.bb_pos, 4);
3639
+ return e2 ? this.bb.__string(this.bb_pos + e2, t2) : null;
3640
+ }
3641
+ envelope(t2) {
3642
+ var e2 = this.bb.__offset(this.bb_pos, 6);
3643
+ return e2 ? this.bb.readFloat64(this.bb.__vector(this.bb_pos + e2) + 8 * t2) : 0;
3644
+ }
3645
+ envelopeLength() {
3646
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3647
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3648
+ }
3649
+ envelopeArray() {
3650
+ var t2 = this.bb.__offset(this.bb_pos, 6);
3651
+ return t2 ? new Float64Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + t2), this.bb.__vector_len(this.bb_pos + t2)) : null;
3652
+ }
3653
+ geometryType() {
3654
+ var t2 = this.bb.__offset(this.bb_pos, 8);
3655
+ return t2 ? this.bb.readUint8(this.bb_pos + t2) : b.Unknown;
3656
+ }
3657
+ hasZ() {
3658
+ var t2 = this.bb.__offset(this.bb_pos, 10);
3659
+ return !!t2 && !!this.bb.readInt8(this.bb_pos + t2);
3660
+ }
3661
+ hasM() {
3662
+ var t2 = this.bb.__offset(this.bb_pos, 12);
3663
+ return !!t2 && !!this.bb.readInt8(this.bb_pos + t2);
3664
+ }
3665
+ hasT() {
3666
+ var t2 = this.bb.__offset(this.bb_pos, 14);
3667
+ return !!t2 && !!this.bb.readInt8(this.bb_pos + t2);
3668
+ }
3669
+ hasTM() {
3670
+ var t2 = this.bb.__offset(this.bb_pos, 16);
3671
+ return !!t2 && !!this.bb.readInt8(this.bb_pos + t2);
3672
+ }
3673
+ columns(t2, e2) {
3674
+ var r2 = this.bb.__offset(this.bb_pos, 18);
3675
+ return r2 ? (e2 || new l()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + r2) + 4 * t2), this.bb) : null;
3676
+ }
3677
+ columnsLength() {
3678
+ var t2 = this.bb.__offset(this.bb_pos, 18);
3679
+ return t2 ? this.bb.__vector_len(this.bb_pos + t2) : 0;
3680
+ }
3681
+ featuresCount() {
3682
+ var t2 = this.bb.__offset(this.bb_pos, 20);
3683
+ return t2 ? this.bb.readUint64(this.bb_pos + t2) : this.bb.createLong(0, 0);
3684
+ }
3685
+ indexNodeSize() {
3686
+ var t2 = this.bb.__offset(this.bb_pos, 22);
3687
+ return t2 ? this.bb.readUint16(this.bb_pos + t2) : 16;
3688
+ }
3689
+ crs(t2) {
3690
+ var e2 = this.bb.__offset(this.bb_pos, 24);
3691
+ return e2 ? (t2 || new p()).__init(this.bb.__indirect(this.bb_pos + e2), this.bb) : null;
3692
+ }
3693
+ static start(t2) {
3694
+ t2.startObject(11);
3695
+ }
3696
+ static addName(t2, e2) {
3697
+ t2.addFieldOffset(0, e2, 0);
3698
+ }
3699
+ static addEnvelope(t2, e2) {
3700
+ t2.addFieldOffset(1, e2, 0);
3701
+ }
3702
+ static createEnvelopeVector(t2, e2) {
3703
+ t2.startVector(8, e2.length, 8);
3704
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3705
+ t2.addFloat64(e2[r2]);
3706
+ return t2.endVector();
3707
+ }
3708
+ static startEnvelopeVector(t2, e2) {
3709
+ t2.startVector(8, e2, 8);
3710
+ }
3711
+ static addGeometryType(t2, e2) {
3712
+ t2.addFieldInt8(2, e2, b.Unknown);
3713
+ }
3714
+ static addHasZ(t2, e2) {
3715
+ t2.addFieldInt8(3, +e2, 0);
3716
+ }
3717
+ static addHasM(t2, e2) {
3718
+ t2.addFieldInt8(4, +e2, 0);
3719
+ }
3720
+ static addHasT(t2, e2) {
3721
+ t2.addFieldInt8(5, +e2, 0);
3722
+ }
3723
+ static addHasTM(t2, e2) {
3724
+ t2.addFieldInt8(6, +e2, 0);
3725
+ }
3726
+ static addColumns(t2, e2) {
3727
+ t2.addFieldOffset(7, e2, 0);
3728
+ }
3729
+ static createColumnsVector(t2, e2) {
3730
+ t2.startVector(4, e2.length, 4);
3731
+ for (var r2 = e2.length - 1; r2 >= 0; r2--)
3732
+ t2.addOffset(e2[r2]);
3733
+ return t2.endVector();
3734
+ }
3735
+ static startColumnsVector(t2, e2) {
3736
+ t2.startVector(4, e2, 4);
3737
+ }
3738
+ static addFeaturesCount(t2, e2) {
3739
+ t2.addFieldInt64(8, e2, t2.createLong(0, 0));
3740
+ }
3741
+ static addIndexNodeSize(t2, e2) {
3742
+ t2.addFieldInt16(9, e2, 16);
3743
+ }
3744
+ static addCrs(t2, e2) {
3745
+ t2.addFieldOffset(10, e2, 0);
3746
+ }
3747
+ static end(t2) {
3748
+ return t2.endObject();
3749
+ }
3750
+ static finishBuffer(t2, e2) {
3751
+ t2.finish(e2);
3752
+ }
3753
+ static finishSizePrefixedBuffer(t2, e2) {
3754
+ t2.finish(e2, void 0, true);
3755
+ }
3756
+ static create(t2, e2, r2, i2, n2, s2, o2, a2, b2, u2, h2, f2) {
3757
+ return _.start(t2), _.addName(t2, e2), _.addEnvelope(t2, r2), _.addGeometryType(t2, i2), _.addHasZ(t2, n2), _.addHasM(t2, s2), _.addHasT(t2, o2), _.addHasTM(t2, a2), _.addColumns(t2, b2), _.addFeaturesCount(t2, u2), _.addIndexNodeSize(t2, h2), _.addCrs(t2, f2), _.end(t2);
3758
+ }
3759
+ }
3760
+ function y(t2) {
3761
+ return t2.reduce((t3, e2) => Array.isArray(e2) ? t3.concat(y(e2)) : t3.concat(e2), []);
3762
+ }
3763
+ function g(t2) {
3764
+ const e2 = [];
3765
+ for (let r2 = 0; r2 < t2.length; r2 += 2)
3766
+ e2.push([t2[r2], t2[r2 + 1]]);
3767
+ return e2;
3768
+ }
3769
+ function v(t2) {
3770
+ return b[t2];
3771
+ }
3772
+ function I(t2) {
3773
+ const e2 = t2.coordinates;
3774
+ let r2 = null, i2 = null, n2 = null, s2 = v(t2.type), o2 = 0;
3775
+ switch (t2.type) {
3776
+ case "Point":
3777
+ r2 = e2;
3778
+ break;
3779
+ case "MultiPoint":
3780
+ case "LineString":
3781
+ r2 = y(e2);
3782
+ break;
3783
+ case "MultiLineString":
3784
+ case "Polygon":
3785
+ const s3 = e2;
3786
+ r2 = y(s3), s3.length > 1 && (i2 = s3.map((t3) => o2 += t3.length));
3787
+ break;
3788
+ case "MultiPolygon":
3789
+ n2 = e2.map((t3) => ({ type: "Polygon", coordinates: t3 })).map(I);
3790
+ break;
3791
+ case "GeometryCollection":
3792
+ n2 = t2.geometries.map(I);
3793
+ }
3794
+ return { xy: r2, ends: i2, type: s2, parts: n2 };
3795
+ }
3796
+ function w(t2, e2) {
3797
+ if (!e2 || e2.length === 0)
3798
+ return [g(t2)];
3799
+ let r2 = 0;
3800
+ return Array.from(e2).map((e3) => t2.slice(r2, r2 = e3 << 1)).map((t3) => g(t3));
3801
+ }
3802
+ function B(t2, e2) {
3803
+ if (e2 == b.GeometryCollection) {
3804
+ const r3 = [];
3805
+ for (let e3 = 0; e3 < t2.partsLength(); e3++) {
3806
+ const i2 = t2.parts(e3), n2 = i2.type();
3807
+ r3.push(B(i2, n2));
3808
+ }
3809
+ return { type: b[e2], geometries: r3 };
3810
+ }
3811
+ if (e2 == b.MultiPolygon) {
3812
+ const r3 = [];
3813
+ for (let e3 = 0; e3 < t2.partsLength(); e3++) {
3814
+ const i2 = t2.parts(e3);
3815
+ r3.push(B(i2, b.Polygon));
3816
+ }
3817
+ return { type: b[e2], coordinates: r3.map((t3) => t3.coordinates) };
3818
+ }
3819
+ const r2 = function(t3, e3) {
3820
+ const r3 = t3.xyArray();
3821
+ switch (e3) {
3822
+ case b.Point:
3823
+ return Array.from(r3);
3824
+ case b.MultiPoint:
3825
+ case b.LineString:
3826
+ return g(r3);
3827
+ case b.MultiLineString:
3828
+ case b.Polygon:
3829
+ return w(r3, t3.endsArray());
3830
+ }
3831
+ }(t2, e2);
3832
+ return { type: b[e2], coordinates: r2 };
3833
+ }
3834
+ function m(t2, e2) {
3835
+ const r2 = e2.columns, i2 = new h.Builder(0), s2 = new Uint8Array(1e5);
3836
+ let o2 = 0;
3837
+ if (r2) {
3838
+ const e3 = new DataView(s2.buffer);
3839
+ for (let i3 = 0; i3 < r2.length; i3++) {
3840
+ const a3 = r2[i3], b3 = t2.properties[a3.name];
3841
+ if (b3 !== null)
3842
+ switch (e3.setUint16(o2, i3, true), o2 += 2, a3.type) {
3843
+ case n.Bool:
3844
+ e3.setUint8(o2, b3), o2 += 1;
3845
+ break;
3846
+ case n.Short:
3847
+ e3.setInt16(o2, b3, true), o2 += 2;
3848
+ break;
3849
+ case n.UShort:
3850
+ e3.setUint16(o2, b3, true), o2 += 2;
3851
+ break;
3852
+ case n.Int:
3853
+ e3.setInt32(o2, b3, true), o2 += 4;
3854
+ break;
3855
+ case n.UInt:
3856
+ e3.setUint32(o2, b3, true), o2 += 4;
3857
+ break;
3858
+ case n.Long:
3859
+ e3.setBigInt64(o2, BigInt(b3), true), o2 += 8;
3860
+ break;
3861
+ case n.Long:
3862
+ e3.setBigUint64(o2, BigInt(b3), true), o2 += 8;
3863
+ break;
3864
+ case n.Double:
3865
+ e3.setFloat64(o2, b3, true), o2 += 8;
3866
+ break;
3867
+ case n.String:
3868
+ const t3 = b3, r3 = new TextEncoder().encode(t3);
3869
+ e3.setUint32(o2, r3.length, true), o2 += 4, s2.set(r3, o2), o2 += r3.length;
3870
+ break;
3871
+ default:
3872
+ throw new Error("Unknown type");
3873
+ }
3874
+ }
3875
+ }
3876
+ let a2 = null;
3877
+ o2 > 0 && (a2 = d.createPropertiesVector(i2, s2.slice(0, o2)));
3878
+ const b2 = function t3(e3, r3) {
3879
+ const { xy: i3, ends: n2, parts: s3, type: o3 } = r3;
3880
+ if (s3) {
3881
+ const r4 = s3.map((r5) => t3(e3, r5)), i4 = c.createPartsVector(e3, r4);
3882
+ return c.start(e3), c.addParts(e3, i4), c.end(e3);
3883
+ }
3884
+ const a3 = c.createXyVector(e3, i3);
3885
+ let b3 = null;
3886
+ return n2 && (b3 = c.createEndsVector(e3, n2)), c.start(e3), b3 && c.addEnds(e3, b3), c.addXy(e3, a3), c.addType(e3, o3), c.end(e3);
3887
+ }(i2, I(t2.geometry));
3888
+ d.start(i2), d.addGeometry(i2, b2), a2 && d.addProperties(i2, a2);
3889
+ const u2 = d.end(i2);
3890
+ return i2.finishSizePrefixed(u2), i2.asUint8Array();
3891
+ }
3892
+ function F(t2, e2) {
3893
+ const r2 = e2.columns;
3894
+ let i2;
3895
+ i2 = B(t2.geometry(), e2.geometryType);
3896
+ const s2 = function(t3, e3) {
3897
+ if (!e3 || e3.length === 0)
3898
+ return;
3899
+ const r3 = t3.propertiesArray(), i3 = new DataView(r3.buffer, r3.byteOffset), s3 = t3.propertiesLength();
3900
+ let o3 = 0;
3901
+ const a2 = {};
3902
+ for (; o3 < s3; ) {
3903
+ const t4 = i3.getUint16(o3, true);
3904
+ o3 += 2;
3905
+ const s4 = e3[t4];
3906
+ switch (s4.type) {
3907
+ case n.Bool:
3908
+ a2[s4.name] = !!i3.getUint8(o3), o3 += 1;
3909
+ break;
3910
+ case n.Byte:
3911
+ a2[s4.name] = i3.getInt8(o3), o3 += 1;
3912
+ break;
3913
+ case n.UByte:
3914
+ a2[s4.name] = i3.getUint8(o3), o3 += 1;
3915
+ break;
3916
+ case n.Short:
3917
+ a2[s4.name] = i3.getInt16(o3, true), o3 += 2;
3918
+ break;
3919
+ case n.UShort:
3920
+ a2[s4.name] = i3.getUint16(o3, true), o3 += 2;
3921
+ break;
3922
+ case n.Int:
3923
+ a2[s4.name] = i3.getInt32(o3, true), o3 += 4;
3924
+ break;
3925
+ case n.UInt:
3926
+ a2[s4.name] = i3.getUint32(o3, true), o3 += 4;
3927
+ break;
3928
+ case n.Long:
3929
+ a2[s4.name] = Number(i3.getBigInt64(o3, true)), o3 += 8;
3930
+ break;
3931
+ case n.ULong:
3932
+ a2[s4.name] = Number(i3.getBigUint64(o3, true)), o3 += 8;
3933
+ break;
3934
+ case n.Double:
3935
+ a2[s4.name] = i3.getFloat64(o3, true), o3 += 8;
3936
+ break;
3937
+ case n.DateTime:
3938
+ case n.String: {
3939
+ const t5 = i3.getUint32(o3, true);
3940
+ o3 += 4;
3941
+ const e4 = new TextDecoder();
3942
+ a2[s4.name] = e4.decode(r3.subarray(o3, o3 + t5)), o3 += t5;
3943
+ break;
3944
+ }
3945
+ default:
3946
+ throw new Error("Unknown type " + s4.type);
3947
+ }
3948
+ }
3949
+ return a2;
3950
+ }(t2, r2), o2 = { type: "Feature", geometry: i2 };
3951
+ return s2 && (o2.properties = s2), o2;
3952
+ }
3953
+ function E(t2) {
3954
+ var e2;
3955
+ if (typeof Symbol != "undefined") {
3956
+ if (Symbol.asyncIterator && (e2 = t2[Symbol.asyncIterator]) != null)
3957
+ return e2.call(t2);
3958
+ if (Symbol.iterator && (e2 = t2[Symbol.iterator]) != null)
3959
+ return e2.call(t2);
3960
+ }
3961
+ throw new TypeError("Object is not async iterable");
3962
+ }
3963
+ function S(t2) {
3964
+ this.wrapped = t2;
3965
+ }
3966
+ function U(t2) {
3967
+ var e2, r2;
3968
+ function i2(e3, r3) {
3969
+ try {
3970
+ var s2 = t2[e3](r3), o2 = s2.value, a2 = o2 instanceof S;
3971
+ Promise.resolve(a2 ? o2.wrapped : o2).then(function(t3) {
3972
+ a2 ? i2(e3 === "return" ? "return" : "next", t3) : n2(s2.done ? "return" : "normal", t3);
3973
+ }, function(t3) {
3974
+ i2("throw", t3);
3975
+ });
3976
+ } catch (t3) {
3977
+ n2("throw", t3);
3978
+ }
3979
+ }
3980
+ function n2(t3, n3) {
3981
+ switch (t3) {
3982
+ case "return":
3983
+ e2.resolve({ value: n3, done: true });
3984
+ break;
3985
+ case "throw":
3986
+ e2.reject(n3);
3987
+ break;
3988
+ default:
3989
+ e2.resolve({ value: n3, done: false });
3990
+ }
3991
+ (e2 = e2.next) ? i2(e2.key, e2.arg) : r2 = null;
3992
+ }
3993
+ this._invoke = function(t3, n3) {
3994
+ return new Promise(function(s2, o2) {
3995
+ var a2 = { key: t3, arg: n3, resolve: s2, reject: o2, next: null };
3996
+ r2 ? r2 = r2.next = a2 : (e2 = r2 = a2, i2(t3, n3));
3997
+ });
3998
+ }, typeof t2.return != "function" && (this.return = void 0);
3999
+ }
4000
+ function T(t2) {
4001
+ return function() {
4002
+ return new U(t2.apply(this, arguments));
4003
+ };
4004
+ }
4005
+ function L(t2) {
4006
+ return new S(t2);
4007
+ }
4008
+ typeof Symbol == "function" && Symbol.asyncIterator && (U.prototype[Symbol.asyncIterator] = function() {
4009
+ return this;
4010
+ }), U.prototype.next = function(t2) {
4011
+ return this._invoke("next", t2);
4012
+ }, U.prototype.throw = function(t2) {
4013
+ return this._invoke("throw", t2);
4014
+ }, U.prototype.return = function(t2) {
4015
+ return this._invoke("return", t2);
4016
+ };
4017
+ var P = new Uint8Array(0);
4018
+ function O(t2, e2) {
4019
+ if (!t2.length)
4020
+ return e2;
4021
+ if (!e2.length)
4022
+ return t2;
4023
+ var r2 = new Uint8Array(t2.length + e2.length);
4024
+ return r2.set(t2), r2.set(e2, t2.length), r2;
4025
+ }
4026
+ function N(t2) {
4027
+ this._source = t2, this._array = P, this._index = 0;
4028
+ }
4029
+ N.prototype.read = function() {
4030
+ var t2 = this, e2 = t2._array.subarray(t2._index);
4031
+ return t2._source.read().then(function(r2) {
4032
+ return t2._array = P, t2._index = 0, r2.done ? e2.length > 0 ? { done: false, value: e2 } : { done: true, value: void 0 } : { done: false, value: O(e2, r2.value) };
4033
+ });
4034
+ }, N.prototype.slice = function(t2) {
4035
+ if ((t2 |= 0) < 0)
4036
+ throw new Error("invalid length");
4037
+ var e2 = this, r2 = this._array.length - this._index;
4038
+ if (this._index + t2 <= this._array.length)
4039
+ return Promise.resolve(this._array.subarray(this._index, this._index += t2));
4040
+ var i2 = new Uint8Array(t2);
4041
+ return i2.set(this._array.subarray(this._index)), function n2() {
4042
+ return e2._source.read().then(function(s2) {
4043
+ return s2.done ? (e2._array = P, e2._index = 0, r2 > 0 ? i2.subarray(0, r2) : null) : r2 + s2.value.length >= t2 ? (e2._array = s2.value, e2._index = t2 - r2, i2.set(s2.value.subarray(0, t2 - r2), r2), i2) : (i2.set(s2.value, r2), r2 += s2.value.length, n2());
4044
+ });
4045
+ }();
4046
+ }, N.prototype.cancel = function() {
4047
+ return this._source.cancel();
4048
+ };
4049
+ function V(t2, e2) {
4050
+ e2 = Math.min(Math.max(+e2, 2), 65535);
4051
+ let r2 = t2, i2 = r2;
4052
+ do {
4053
+ r2 = Math.ceil(r2 / e2), i2 += r2;
4054
+ } while (r2 !== 1);
4055
+ return 40 * i2;
4056
+ }
4057
+ function C(t2, e2) {
4058
+ if (e2 < 2)
4059
+ throw new Error("Node size must be at least 2");
4060
+ if (t2 === 0)
4061
+ throw new Error("Number of items must be greater than 0");
4062
+ let r2 = t2, i2 = r2;
4063
+ const n2 = [r2];
4064
+ do {
4065
+ r2 = Math.ceil(r2 / e2), i2 += r2, n2.push(r2);
4066
+ } while (r2 !== 1);
4067
+ const s2 = [];
4068
+ r2 = i2;
4069
+ for (let t3 of n2)
4070
+ s2.push(r2 - t3), r2 -= t3;
4071
+ s2.reverse(), n2.reverse();
4072
+ const o2 = [];
4073
+ for (let t3 = 0; t3 < n2.length; t3++)
4074
+ o2.push([s2[t3], s2[t3] + n2[t3]]);
4075
+ return o2.reverse(), o2;
4076
+ }
4077
+ function A(t2, e2, r2, i2) {
4078
+ return x.apply(this, arguments);
4079
+ }
4080
+ function x() {
4081
+ return (x = T(function* (t2, e2, r2, i2) {
4082
+ const { minX: n2, minY: s2, maxX: o2, maxY: a2 } = r2, b2 = C(t2, e2), [[u2, h2]] = b2, f2 = [];
4083
+ for (f2.push([0, b2.length - 1]); f2.length !== 0; ) {
4084
+ const [r3, c2] = f2.pop(), d2 = r3 >= h2 - t2, [, l2] = b2[c2], p2 = Math.min(r3 + e2, l2), _2 = p2 - r3, y2 = yield L(i2(40 * r3, 40 * _2)), g2 = new Float64Array(y2), v2 = new Uint32Array(y2);
4085
+ for (let t3 = r3; t3 < p2; t3++) {
4086
+ const e3 = 5 * (t3 - r3);
4087
+ if (o2 < g2[e3 + 0])
4088
+ continue;
4089
+ if (a2 < g2[e3 + 1])
4090
+ continue;
4091
+ if (n2 > g2[e3 + 2])
4092
+ continue;
4093
+ if (s2 > g2[e3 + 3])
4094
+ continue;
4095
+ const i3 = v2[8 + (e3 << 1)];
4096
+ d2 ? yield [i3, t3 - u2] : f2.push([i3, c2 - 1]);
4097
+ }
4098
+ f2.sort((t3, e3) => e3[0] - t3[0]);
4099
+ }
4100
+ })).apply(this, arguments);
4101
+ }
4102
+ const k = new Uint8Array([102, 103, 98, 3, 102, 103, 98, 0]);
4103
+ function R(t2, e2) {
4104
+ const r2 = typeof (i2 = t2).slice == "function" ? i2 : new N(typeof i2.read == "function" ? i2 : i2.getReader());
4105
+ var i2;
4106
+ return M(async (t3) => await r2.slice(t3), void 0, void 0, e2);
4107
+ }
4108
+ function M(t2, e2, r2, i2) {
4109
+ return G.apply(this, arguments);
4110
+ }
4111
+ function G() {
4112
+ return (G = T(function* (t2, e2, i2, n2) {
4113
+ let o2 = 0, a2 = new Uint8Array(yield L(t2(8)));
4114
+ if (o2 += 8, !a2.every((t3, e3) => k[e3] === t3))
4115
+ throw new Error("Not a FlatGeobuf file");
4116
+ a2 = new Uint8Array(yield L(t2(4))), o2 += 4;
4117
+ let b2 = new h.ByteBuffer(a2);
4118
+ const u2 = b2.readUint32(0);
4119
+ a2 = new Uint8Array(yield L(t2(u2))), o2 += u2, b2 = new h.ByteBuffer(a2);
4120
+ const f2 = _.getRoot(b2), c2 = f2.featuresCount().toFloat64(), d2 = [];
4121
+ for (let t3 = 0; t3 < f2.columnsLength(); t3++) {
4122
+ const e3 = f2.columns(t3);
4123
+ d2.push(new r(e3.name(), e3.type()));
4124
+ }
4125
+ const l2 = new s(f2.geometryType(), d2, c2), p2 = f2.indexNodeSize();
4126
+ if (p2 > 0) {
4127
+ const r2 = V(c2, p2);
4128
+ if (i2) {
4129
+ const s2 = async (r3, i3) => (await e2(o2 + r3), await t2(i3)), a3 = [];
4130
+ var y2, g2 = true, v2 = false;
4131
+ try {
4132
+ for (var I2, w2, B2 = E(A(c2, p2, i2, s2)); g2 = (I2 = yield L(B2.next())).done, w2 = yield L(I2.value), !g2; g2 = true) {
4133
+ let [t3] = w2;
4134
+ a3.push(t3);
4135
+ }
4136
+ } catch (t3) {
4137
+ v2 = true, y2 = t3;
4138
+ } finally {
4139
+ try {
4140
+ g2 || B2.return == null || (yield L(B2.return()));
4141
+ } finally {
4142
+ if (v2)
4143
+ throw y2;
4144
+ }
4145
+ }
4146
+ o2 += r2;
4147
+ var m2, F2 = true, S2 = false;
4148
+ try {
4149
+ for (var U2, T2, P2 = E(a3); F2 = (U2 = yield L(P2.next())).done, T2 = yield L(U2.value), !F2; F2 = true) {
4150
+ let r3 = T2;
4151
+ yield L(e2(o2 + r3)), yield D(t2, l2, n2);
4152
+ }
4153
+ } catch (t3) {
4154
+ S2 = true, m2 = t3;
4155
+ } finally {
4156
+ try {
4157
+ F2 || P2.return == null || (yield L(P2.return()));
4158
+ } finally {
4159
+ if (S2)
4160
+ throw m2;
4161
+ }
4162
+ }
4163
+ return;
4164
+ }
4165
+ e2 ? yield L(e2(o2 + r2)) : yield L(t2(r2)), o2 += r2;
4166
+ }
4167
+ let O2;
4168
+ for (; O2 = yield L(D(t2, l2, n2)); )
4169
+ yield O2;
4170
+ })).apply(this, arguments);
4171
+ }
4172
+ async function D(t2, e2, r2) {
4173
+ let i2 = new Uint8Array(await t2(4));
4174
+ if (i2.byteLength === 0)
4175
+ return null;
4176
+ let n2 = new h.ByteBuffer(i2);
4177
+ const s2 = n2.readUint32(0);
4178
+ i2 = new Uint8Array(await t2(s2));
4179
+ const o2 = new Uint8Array(s2 + 4);
4180
+ return o2.set(i2, 4), n2 = new h.ByteBuffer(o2), n2.setPosition(4), r2(d.getRoot(n2), e2);
4181
+ }
4182
+ function Z(t2) {
4183
+ const e2 = new h.Builder(0);
4184
+ let r2 = null;
4185
+ t2.columns && (r2 = _.createColumnsVector(e2, t2.columns.map((t3) => function(t4, e3) {
4186
+ const r3 = t4.createString(e3.name);
4187
+ return l.start(t4), l.addName(t4, r3), l.addType(t4, e3.type), l.end(t4);
4188
+ }(e2, t3))));
4189
+ const i2 = e2.createString("L1");
4190
+ _.start(e2), _.addFeaturesCount(e2, new h.Long(t2.featuresCount, 0)), _.addGeometryType(e2, t2.geometryType), _.addIndexNodeSize(e2, 0), r2 && _.addColumns(e2, r2), _.addName(e2, i2);
4191
+ const n2 = _.end(e2);
4192
+ return e2.finishSizePrefixed(n2), e2.asUint8Array();
4193
+ }
4194
+ function H(t2) {
4195
+ const e2 = function(t3) {
4196
+ const e3 = t3.features[0], i3 = e3.properties;
4197
+ let o3 = null;
4198
+ i3 && (o3 = Object.keys(i3).map((t4) => new r(t4, function(t5) {
4199
+ if (typeof t5 == "boolean")
4200
+ return n.Bool;
4201
+ if (typeof t5 == "number")
4202
+ return t5 % 1 == 0 ? n.Int : n.Double;
4203
+ if (typeof t5 == "string")
4204
+ return n.String;
4205
+ if (t5 === null)
4206
+ return n.String;
4207
+ throw new Error(`Unknown type (value '${t5}')`);
4208
+ }(i3[t4]))));
4209
+ const a3 = new Set();
4210
+ for (const r2 of t3.features)
4211
+ a3.add(e3.geometry.type);
4212
+ return new s(v(e3.geometry.type), o3, t3.features.length);
4213
+ }(t2), i2 = Z(e2), o2 = t2.features.map((t3) => m(t3, e2)), a2 = o2.map((t3) => t3.length).reduce((t3, e3) => t3 + e3), b2 = new Uint8Array(k.length + i2.length + a2);
4214
+ b2.set(i2, k.length);
4215
+ let u2 = k.length + i2.length;
4216
+ for (const t3 of o2)
4217
+ b2.set(t3, u2), u2 += t3.length;
4218
+ return b2.set(k), b2;
4219
+ }
4220
+ function j(t2) {
4221
+ return { type: "FeatureCollection", features: function(t3, e2) {
4222
+ if (!t3.subarray(0, 7).every((t4, e3) => k[e3] === t4))
4223
+ throw new Error("Not a FlatGeobuf file");
4224
+ const i2 = new h.ByteBuffer(t3), n2 = i2.readUint32(k.length);
4225
+ i2.setPosition(k.length + 4);
4226
+ const o2 = _.getRoot(i2), a2 = o2.featuresCount().toFloat64(), b2 = [];
4227
+ for (let t4 = 0; t4 < o2.columnsLength(); t4++) {
4228
+ const e3 = o2.columns(t4);
4229
+ b2.push(new r(e3.name(), e3.type()));
4230
+ }
4231
+ const u2 = new s(o2.geometryType(), b2, 0);
4232
+ let f2 = k.length + 4 + n2;
4233
+ const c2 = o2.indexNodeSize();
4234
+ c2 > 0 && (f2 += V(a2, c2));
4235
+ const l2 = [];
4236
+ for (; f2 < i2.capacity(); ) {
4237
+ const t4 = i2.readUint32(f2);
4238
+ i2.setPosition(f2 + 4);
4239
+ const r2 = d.getRoot(i2);
4240
+ l2.push(e2(r2, u2)), f2 += 4 + t4;
4241
+ }
4242
+ return l2;
4243
+ }(t2, (t3, e2) => F(t3, e2)) };
4244
+ }
4245
+ function z(t2, e2) {
4246
+ return function(t3, e3, r2) {
4247
+ let i2 = 0;
4248
+ return M(async (e4) => {
4249
+ const r3 = await fetch(t3, { headers: { Range: `bytes=${i2}-${i2 + e4 - 1}` } });
4250
+ return i2 += e4, await r3.arrayBuffer();
4251
+ }, async (t4) => {
4252
+ i2 = t4;
4253
+ }, e3, r2);
4254
+ }(t2, e2, (t3, e3) => F(t3, e3));
4255
+ }
4256
+ t.deserialize = function(t2, r2) {
4257
+ return t2 instanceof Uint8Array ? j(t2) : t2 instanceof e.ReadableStream ? R(t2, (t3, e2) => F(t3, e2)) : z(t2, r2);
4258
+ }, t.serialize = function(t2) {
4259
+ return H(t2);
4260
+ }, Object.defineProperty(t, "__esModule", { value: true });
4261
+ });
4262
+ }
4263
+ });
4264
+
4265
+ // ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
4266
+ function getTransferList(object, recursive = true, transfers) {
4267
+ const transfersSet = transfers || new Set();
4268
+ if (!object) {
4269
+ } else if (isTransferable(object)) {
4270
+ transfersSet.add(object);
4271
+ } else if (isTransferable(object.buffer)) {
4272
+ transfersSet.add(object.buffer);
4273
+ } else if (ArrayBuffer.isView(object)) {
4274
+ } else if (recursive && typeof object === "object") {
4275
+ for (const key in object) {
4276
+ getTransferList(object[key], recursive, transfersSet);
4277
+ }
4278
+ }
4279
+ return transfers === void 0 ? Array.from(transfersSet) : [];
4280
+ }
4281
+ function isTransferable(object) {
4282
+ if (!object) {
4283
+ return false;
4284
+ }
4285
+ if (object instanceof ArrayBuffer) {
4286
+ return true;
4287
+ }
4288
+ if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
4289
+ return true;
4290
+ }
4291
+ if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
4292
+ return true;
4293
+ }
4294
+ if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
4295
+ return true;
4296
+ }
4297
+ return false;
4298
+ }
4299
+
4300
+ // ../worker-utils/src/lib/worker-farm/worker-body.ts
4301
+ var onMessageWrapperMap = new Map();
4302
+ var WorkerBody = class {
4303
+ static set onmessage(onMessage) {
4304
+ self.onmessage = (message) => {
4305
+ if (!isKnownMessage(message)) {
4306
+ return;
4307
+ }
4308
+ const { type, payload } = message.data;
4309
+ onMessage(type, payload);
4310
+ };
4311
+ }
4312
+ static addEventListener(onMessage) {
4313
+ let onMessageWrapper = onMessageWrapperMap.get(onMessage);
4314
+ if (!onMessageWrapper) {
4315
+ onMessageWrapper = (message) => {
4316
+ if (!isKnownMessage(message)) {
4317
+ return;
4318
+ }
4319
+ const { type, payload } = message.data;
4320
+ onMessage(type, payload);
4321
+ };
4322
+ }
4323
+ self.addEventListener("message", onMessageWrapper);
4324
+ }
4325
+ static removeEventListener(onMessage) {
4326
+ const onMessageWrapper = onMessageWrapperMap.get(onMessage);
4327
+ onMessageWrapperMap.delete(onMessage);
4328
+ self.removeEventListener("message", onMessageWrapper);
4329
+ }
4330
+ static postMessage(type, payload) {
4331
+ if (self) {
4332
+ const data = { source: "loaders.gl", type, payload };
4333
+ const transferList = getTransferList(payload);
4334
+ self.postMessage(data, transferList);
4335
+ }
4336
+ }
4337
+ };
4338
+ function isKnownMessage(message) {
4339
+ const { type, data } = message;
4340
+ return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
4341
+ }
4342
+
4343
+ // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
4344
+ var requestId = 0;
4345
+ function createLoaderWorker(loader) {
4346
+ if (typeof self === "undefined") {
4347
+ return;
4348
+ }
4349
+ WorkerBody.onmessage = async (type, payload) => {
4350
+ switch (type) {
4351
+ case "process":
4352
+ try {
4353
+ const { input, options = {} } = payload;
4354
+ const result = await parseData({
4355
+ loader,
4356
+ arrayBuffer: input,
4357
+ options,
4358
+ context: {
4359
+ parse: parseOnMainThread
4360
+ }
4361
+ });
4362
+ WorkerBody.postMessage("done", { result });
4363
+ } catch (error) {
4364
+ const message = error instanceof Error ? error.message : "";
4365
+ WorkerBody.postMessage("error", { error: message });
4366
+ }
4367
+ break;
4368
+ default:
4369
+ }
4370
+ };
4371
+ }
4372
+ function parseOnMainThread(arrayBuffer, options) {
4373
+ return new Promise((resolve, reject) => {
4374
+ const id = requestId++;
4375
+ const onMessage = (type, payload2) => {
4376
+ if (payload2.id !== id) {
4377
+ return;
4378
+ }
4379
+ switch (type) {
4380
+ case "done":
4381
+ WorkerBody.removeEventListener(onMessage);
4382
+ resolve(payload2.result);
4383
+ break;
4384
+ case "error":
4385
+ WorkerBody.removeEventListener(onMessage);
4386
+ reject(payload2.error);
4387
+ break;
4388
+ default:
4389
+ }
4390
+ };
4391
+ WorkerBody.addEventListener(onMessage);
4392
+ const payload = { id, input: arrayBuffer, options };
4393
+ WorkerBody.postMessage("process", payload);
4394
+ });
4395
+ }
4396
+ async function parseData({ loader, arrayBuffer, options, context }) {
4397
+ let data;
4398
+ let parser;
4399
+ if (loader.parseSync || loader.parse) {
4400
+ data = arrayBuffer;
4401
+ parser = loader.parseSync || loader.parse;
4402
+ } else if (loader.parseTextSync) {
4403
+ const textDecoder = new TextDecoder();
4404
+ data = textDecoder.decode(arrayBuffer);
4405
+ parser = loader.parseTextSync;
4406
+ } else {
4407
+ throw new Error(`Could not load data with ${loader.name} loader`);
4408
+ }
4409
+ options = {
4410
+ ...options,
4411
+ modules: loader && loader.options && loader.options.modules || {},
4412
+ worker: false
4413
+ };
4414
+ return await parser(data, { ...options }, context, loader);
4415
+ }
4416
+
4417
+ // src/flatgeobuf-loader.ts
4418
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
4419
+ var FlatGeobufLoader = {
4420
+ id: "flatgeobuf",
4421
+ name: "FlatGeobuf",
4422
+ module: "flatgeobuf",
4423
+ version: VERSION,
4424
+ worker: true,
4425
+ extensions: ["fgb"],
4426
+ mimeTypes: ["application/octet-stream"],
4427
+ category: "geometry",
4428
+ options: {
4429
+ flatgeobuf: {}
4430
+ }
4431
+ };
4432
+
4433
+ // src/lib/parse-flatgeobuf.ts
4434
+ var import_flatgeobuf_geojson = __toModule(require_flatgeobuf_geojson_min());
4435
+ function parseFlatGeobuf(input, options) {
4436
+ if (input.byteLength === 0) {
4437
+ return [];
4438
+ }
4439
+ const arr = new Uint8Array(input);
4440
+ const { features } = (0, import_flatgeobuf_geojson.deserialize)(arr);
4441
+ return features;
4442
+ }
4443
+ function parseFlatGeobufInBatches(stream, options) {
4444
+ const iterator = (0, import_flatgeobuf_geojson.deserializeStream)(stream);
4445
+ return iterator;
4446
+ }
4447
+
4448
+ // src/index.ts
4449
+ var FlatGeobufLoader2 = {
4450
+ ...FlatGeobufLoader,
4451
+ parse: async (arrayBuffer, options) => parseFlatGeobuf(arrayBuffer, options),
4452
+ parseSync: parseFlatGeobuf,
4453
+ parseInBatchesFromStream: parseFlatGeobufInBatches,
4454
+ binary: true
4455
+ };
4456
+
4457
+ // src/workers/flatgeobuf-worker.ts
4458
+ createLoaderWorker(FlatGeobufLoader2);
4459
+ })();