diff --git "a/highlighted_text/build/static/js/2.ce130e37.chunk.js.map" "b/highlighted_text/build/static/js/2.ce130e37.chunk.js.map" new file mode 100644--- /dev/null +++ "b/highlighted_text/build/static/js/2.ce130e37.chunk.js.map" @@ -0,0 +1 @@ +{"version":3,"sources":["../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../src/event.mjs","../../src/event-target.mjs","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/OverloadYield.js","../node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js","../node_modules/@babel/runtime/helpers/esm/asyncIterator.js","../node_modules/flatbuffers/js/flatbuffers.mjs","../node_modules/text-encoding-utf-8/lib/encoding.lib.mjs","../util/utf8.ts","../io/interfaces.ts","../util/compat.ts","../util/buffer.ts","../io/adapters.ts","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../vector.ts","../fb/Schema.ts","../fb/Message.ts","../enum.ts","../util/bit.ts","../visitor.ts","../visitor/typecomparator.ts","../type.ts","../data.ts","../util/pretty.ts","../builder/valid.ts","../builder/buffer.ts","../builder.ts","../builder/bool.ts","../builder/null.ts","../builder/date.ts","../builder/decimal.ts","../builder/dictionary.ts","../builder/fixedsizebinary.ts","../util/math.ts","../builder/float.ts","../node_modules/@babel/runtime/helpers/esm/construct.js","../util/bn.ts","../builder/int.ts","../builder/time.ts","../builder/timestamp.ts","../builder/interval.ts","../builder/binary.ts","../builder/utf8.ts","../builder/run.ts","../vector/row.ts","../util/vector.ts","../vector/chunked.ts","../column.ts","../util/args.ts","../schema.ts","../builder/list.ts","../builder/fixedsizelist.ts","../builder/map.ts","../builder/struct.ts","../builder/union.ts","../visitor/set.ts","../fb/File.ts","../visitor/builderctor.ts","../builder/index.ts","../ipc/metadata/file.ts","../io/stream.ts","../io/file.ts","../util/int.ts","../visitor/vectorloader.ts","../visitor/typeassembler.ts","../ipc/metadata/json.ts","../ipc/metadata/message.ts","../ipc/message.ts","../visitor/vectorassembler.ts","../ipc/writer.ts","../util/recordbatch.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../vector/base.ts","../vector/binary.ts","../vector/bool.ts","../vector/date.ts","../vector/decimal.ts","../vector/dictionary.ts","../vector/fixedsizebinary.ts","../vector/fixedsizelist.ts","../vector/float.ts","../vector/interval.ts","../vector/int.ts","../vector/list.ts","../vector/map.ts","../vector/null.ts","../vector/struct.ts","../vector/timestamp.ts","../vector/time.ts","../vector/union.ts","../vector/utf8.ts","../util/fn.ts","../visitor/get.ts","../visitor/indexof.ts","../visitor/iterator.ts","../visitor/toarray.ts","../visitor/bytewidth.ts","../visitor/vectorctor.ts","../vector/index.ts","../table.ts","../recordbatch.ts","../ipc/reader.ts","../io/whatwg/builder.ts","../compute/predicate.ts","../compute/dataframe.ts","../Arrow.ts","../Arrow.dom.ts","../io/whatwg/iterable.ts","../io/whatwg/reader.ts","../io/whatwg/writer.ts","../node_modules/streamlit-component-lib/dist/ArrowTable.js","../node_modules/streamlit-component-lib/dist/streamlit.js","../node_modules/streamlit-component-lib/dist/StreamlitReact.js","../node_modules/object-assign/index.js","../node_modules/react-dom/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react-is/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_inherits","subClass","superClass","create","constructor","value","_createSuper","Derived","hasNativeReflectConstruct","result","Super","NewTarget","this","Reflect","construct","arguments","apply","_toConsumableArray","arr","Array","isArray","arrayLikeToArray","iter","Symbol","iterator","from","unsupportedIterableToArray","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","module","exports","require","_typeof","obj","_possibleConstructorReturn","self","call","_assertThisInitialized","ReferenceError","_unsupportedIterableToArray","minLen","n","toString","slice","name","test","_arrayLikeToArray","len","arr2","_setPrototypeOf","p","_isNativeReflectConstruct","sham","Proxy","Boolean","valueOf","e","_toPropertyKey","arg","input","hint","prim","toPrimitive","undefined","res","String","Number","privateData","WeakMap","wrappers","pd","event","retv","get","console","assert","setCancelFlag","data","passiveListener","cancelable","canceled","preventDefault","error","Event","eventTarget","set","eventPhase","currentTarget","stopped","immediateStopped","timeStamp","Date","now","keys","defineRedirectDescriptor","defineCallDescriptor","getWrapper","proto","wrapper","BaseEvent","CustomEvent","isFunc","getOwnPropertyDescriptor","defineWrapper","isStopped","setPassiveListener","type","composedPath","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","stopPropagation","stopImmediatePropagation","bubbles","defaultPrevented","composed","srcElement","cancelBubble","returnValue","initEvent","window","listenersMap","ATTRIBUTE","isObject","x","getListeners","listeners","defineEventAttribute","eventTargetPrototype","eventName","concat","node","listenerType","listener","next","prev","delete","newNode","passive","once","defineEventAttributeDescriptor","defineCustomEventTarget","eventNames","CustomEventTarget","EventTarget","types","Map","addEventListener","options","optionsIsObj","capture","removeEventListener","dispatchEvent","wrappedEvent","wrapEvent","err","handleEvent","setEventPhase","setCurrentTarget","_createForOfIteratorHelper","allowArrayLike","it","F","s","done","_e","f","normalCompletion","didErr","step","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","Promise","then","_asyncToGenerator","fn","args","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","val","object","reverse","pop","skipTempReset","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","_slicedToArray","_i","_s","_x","_r","_arr","_n","_d","_OverloadYield","kind","v","k","_awaitAsyncGenerator","AsyncGenerator","front","back","resume","overloaded","nextKey","settle","request","_wrapAsyncGenerator","_asyncGeneratorDelegate","inner","waiting","pump","_asyncIterator","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","ret","thr","flatbuffers","inRange","a","min","max","ToDictionary","Offset","Table","SIZEOF_SHORT","SIZEOF_INT","FILE_IDENTIFIER_LENGTH","Encoding","UTF8_BYTES","UTF16_STRING","int32","Int32Array","float32","Float32Array","buffer","float64","Float64Array","isLittleEndian","Uint16Array","Uint8Array","Long","low","high","ZERO","toFloat64","equals","other","Builder","opt_initial_size","initial_size","bb","ByteBuffer","allocate","space","minalign","vtable","vtable_in_use","isNested","object_start","vtables","vector_num_elems","force_defaults","clear","capacity","forceDefaults","dataBuffer","asUint8Array","bytes","subarray","position","offset","prep","size","additional_bytes","align_size","old_buf_size","growByteBuffer","pad","byte_size","writeInt8","writeInt16","writeInt32","writeInt64","writeFloat32","writeFloat64","addInt8","addInt16","addInt32","addInt64","addFloat32","addFloat64","addFieldInt8","voffset","defaultValue","slot","addFieldInt16","addFieldInt32","addFieldInt64","addFieldFloat32","addFieldFloat64","addFieldOffset","addOffset","addFieldStruct","nested","notNested","new_buf_size","nbb","setPosition","startObject","numfields","endObject","vtableloc","trimmed_size","existing_vtable","vt1","outer_loop","vt2","readInt16","j","root_table","opt_file_identifier","file_identifier","charCodeAt","requiredField","table","field","table_start","vtable_start","readInt32","startVector","elem_size","num_elems","alignment","endVector","createString","utf8","codePoint","createLong","bytes_","position_","readInt8","readUint8","readUint16","readUint32","readInt64","readUint64","readFloat32","readFloat64","writeUint8","writeUint16","writeUint32","writeUint64","getBufferIdentifier","fromCharCode","__offset","bb_pos","vtable_offset","__union","t","__string","opt_encoding","b","c","__indirect","__vector","__vector_len","__has_identifier","ident","Stream","tokens","endOfStream","read","shift","prepend","token","unshift","finished","decoderError","fatal","opt_code_point","DEFAULT_ENCODING","TextDecoder","encoding","toLowerCase","_streaming","_BOMseen","_decoder","_fatal","_ignoreBOM","TextEncoder","_encoder","_options","UTF8Decoder","utf8_code_point","utf8_bytes_seen","utf8_bytes_needed","utf8_lower_boundary","utf8_upper_boundary","handler","stream","bite","code_point","UTF8Encoder","count","temp","decode","ArrayBuffer","byteOffset","byteLength","input_stream","code_points","indexOf","cp","codePointsToString","encode","opt_string","string","u","d","stringToCodePoints","_Buffer","Buffer","useNativeEncoders","decodeUtf8","decoder","_toUint8Array","toUint8Array","TextDecoderPolyfill","encodeUtf8","encoder","TextEncoderPolyfill","ITERATOR_DONE","freeze","ArrowJSON","_json","ReadableInterop","_getDOMStream","tee","_getNodeStream","pipe","pipeTo","duplex","pipeThrough","_DOMStream","toDOMStream","_nodeStream","toNodeStream","AsyncQueue","_ReadableInterop","_Symbol$asyncIterator","_super","_this","_values","resolvers","_closedPromise","_closedPromiseResolve","_cancel","_callee","reason","_context","return","_ensureOpen","_error","streamAdapters","_throw2","_callee2","_","_context2","abort","_x2","_return2","_callee3","_context3","close","_x3","_read","_callee4","_context4","_x4","_peek","_callee5","_context5","_x5","_this2","_ref2","BigIntUnavailableError","BigIntUnavailable","asIntN","asUintN","BigInt","BigIntCtor","BigIntAvailable","_ref4","BigInt64ArrayUnavailableError","BigInt64Array","BigInt64ArrayUnavailable","BigInt64ArrayCtor","_ref6","BigUint64ArrayUnavailableError","BigUint64Array","BigUint64ArrayUnavailable","BigUint64ArrayCtor","isNumber","isBoolean","isFunction","isPromise","isIterable","isAsyncIterable","isArrowJSON","isIteratorResult","isFileHandle","isFetchResponse","isReadableDOMStream","isReadableNodeStream","toArrayBufferViewIterator","SharedArrayBuf","SharedArrayBuffer","memcpy","source","targetByteOffset","sourceByteLength","targetByteLength","dst","src","Math","joinUint8Arrays","chunks","sliced","xOffset","yOffset","xLen","yLen","y","_x6","_y","collapseContiguousByteRanges","reduce","index","Infinity","toArrayBufferView","ArrayBufferViewCtor","isView","BYTES_PER_ELEMENT","toInt8Array","Int8Array","toInt16Array","Int16Array","toInt32Array","toBigInt64Array","toUint16Array","toUint32Array","Uint32Array","toBigUint64Array","toFloat32Array","toFloat64Array","toUint8ClampedArray","Uint8ClampedArray","ArrayCtor","buffers","t0","t1","_marked","toInt8ArrayIterator","toInt16ArrayIterator","toInt32ArrayIterator","toUint8ArrayIterator","toUint16ArrayIterator","toUint32ArrayIterator","toFloat32ArrayIterator","toFloat64ArrayIterator","toUint8ClampedArrayIterator","toArrayBufferViewAsyncIterator","_toArrayBufferViewAsyncIterator","_callee6","emit","_context8","t2","t3","t4","t5","t6","t7","t8","_ref","_context6","_ref3","_context7","toInt8ArrayAsyncIterator","toInt16ArrayAsyncIterator","toInt32ArrayAsyncIterator","toUint8ArrayAsyncIterator","toUint16ArrayAsyncIterator","toUint32ArrayAsyncIterator","toFloat32ArrayAsyncIterator","toFloat64ArrayAsyncIterator","toUint8ClampedArrayAsyncIterator","rebaseValueOffsets","valueOffsets","compareArrayLike","fromIterable","fromAsyncIterable","_fromAsyncIterable","fromDOMStream","_fromDOMStream","fromNodeStream","_fromNodeStream","threw","cmd","bufferLength","byteRange","_yield","_yield$byteRange","_joinUint8Arrays2","throw","_yield2","_yield$byteRange2","_joinUint8Arrays4","_yield3","_yield$byteRange3","_joinUint8Arrays6","AdaptiveByteReader","releaseLock","byobReader","defaultReader","supportsBYOB","reader","getBYOBReader","getDefaultReader","catch","readFromBYOBReader","mode","_readFromBYOBReader","readInto","_x7","_x8","_x9","_x10","_readInto","_callee8","_yield$reader$read","_context9","onEvent","_callee7","events","_yield4","_yield$_awaitAsyncGen","_yield$_awaitAsyncGen2","_yield$byteRange4","cleanup","_iterator","_step","_step$value","evt","destroy","_x11","_x12","_joinUint8Arrays8","race","map","isFinite","_defineProperty","toPropertyKey","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","property","receiver","base","org","flatbuf","arrow","apache","AbstractVector","MetadataVersion","UnionMode","Precision","DateUnit","TimeUnit","IntervalUnit","Type","Endianness","Null","__init","builder","startNull","endNull","Struct_","startStruct_","endStruct_","List","startList","endList","LargeList","startLargeList","endLargeList","FixedSizeList","listSize","startFixedSizeList","addListSize","endFixedSizeList","keysSorted","startMap","addKeysSorted","endMap","Union","Sparse","typeIdsOffset","numElems","startUnion","addMode","addTypeIds","endUnion","Int","bitWidth","isSigned","startInt","addBitWidth","addIsSigned","endInt","FloatingPoint","HALF","precision","startFloatingPoint","addPrecision","endFloatingPoint","Utf8","startUtf8","endUtf8","Binary","startBinary","endBinary","LargeUtf8","startLargeUtf8","endLargeUtf8","LargeBinary","startLargeBinary","endLargeBinary","FixedSizeBinary","byteWidth","startFixedSizeBinary","addByteWidth","endFixedSizeBinary","Bool","startBool","endBool","Decimal","scale","startDecimal","addScale","endDecimal","MILLISECOND","unit","startDate","addUnit","endDate","Time","startTime","endTime","Timestamp","SECOND","optionalEncoding","timezoneOffset","startTimestamp","addTimezone","endTimestamp","Interval","YEAR_MONTH","startInterval","endInterval","Duration","startDuration","endDuration","KeyValue","keyOffset","valueOffset","startKeyValue","addKey","addValue","endKeyValue","DictionaryEncoding","id","indexTypeOffset","isOrdered","startDictionaryEncoding","addId","addIndexType","addIsOrdered","endDictionaryEncoding","Field","nameOffset","nullable","typeType","typeOffset","dictionaryOffset","childrenOffset","customMetadataOffset","startField","addName","addNullable","addTypeType","addType","addDictionary","addChildren","addCustomMetadata","endField","Schema","Little","endianness","fieldsOffset","startSchema","addEndianness","addFields","endSchema","NS7624605610262437867","MessageHeader","FieldNode","null_count","RecordBatch","nodesOffset","buffersOffset","startRecordBatch","addLength","addNodes","addBuffers","endRecordBatch","DictionaryBatch","dataOffset","isDelta","startDictionaryBatch","addData","addIsDelta","endDictionaryBatch","Message","V1","version","headerType","headerOffset","bodyLength","startMessage","addVersion","addHeaderType","addHeader","addBodyLength","endMessage","Schema_","BufferType","Message_","iterateBits","getBool","_data","_index","byte","bit","getBit","setBool","truncateBitmap","bitmap","alignedSize","packBools","xs","begin","byteIndex","remaining","popcnt_bit_range","lhs","rhs","_step2","sum","_iterator2","rhsInside","lhsInside","popcnt_array","cnt","pos","view","DataView","popcnt_uint32","getUint32","getUint16","getUint8","uint32","Visitor","nodes","_len","_key","visit","_len2","_key2","getVisitFn","visitor","throwIfNotFound","dtype","Data","Vector","inferDType","DataType","visitNull","visitBool","visitInt","Int8","visitInt8","Int16","visitInt16","Int32","visitInt32","Int64","visitInt64","Uint8","visitUint8","Uint16","visitUint16","Uint32","visitUint32","Uint64","visitUint64","Float","visitFloat","Float16","visitFloat16","Float32","visitFloat32","Float64","visitFloat64","visitUtf8","visitBinary","visitFixedSizeBinary","visitDate","DateDay","visitDateDay","DateMillisecond","visitDateMillisecond","visitTimestamp","TimestampSecond","visitTimestampSecond","TimestampMillisecond","visitTimestampMillisecond","TimestampMicrosecond","visitTimestampMicrosecond","TimestampNanosecond","visitTimestampNanosecond","visitTime","TimeSecond","visitTimeSecond","TimeMillisecond","visitTimeMillisecond","TimeMicrosecond","visitTimeMicrosecond","TimeNanosecond","visitTimeNanosecond","visitDecimal","visitList","Struct","visitStruct","visitUnion","DenseUnion","visitDenseUnion","SparseUnion","visitSparseUnion","Dictionary","visitDictionary","visitInterval","IntervalDayTime","visitIntervalDayTime","IntervalYearMonth","visitIntervalYearMonth","visitFixedSizeList","visitMap","_node","typeId","SINGLE","DOUBLE","MICROSECOND","NANOSECOND","DAY","DAY_TIME","Dense","TypeComparator","_Visitor","schema","compareFields","fields","others","every","compareField","compareConstructor","compareAny","compareInt","compareFloat","compareDate","compareTimestamp","timezone","compareTime","compareUnion","typeIds","children","compareInterval","indices","dictionary","comparer","ArrayType","_DataType","Int_","_DataType2","_super2","_Int_","_super3","_Int_2","_super4","_Int_3","_super5","_Int_4","_super6","_Int_5","_super7","_Int_6","_super8","_Int_7","_super9","_Int_8","_super10","_DataType3","_super11","_Float","_super12","_Float2","_super13","_Float3","_super14","_DataType4","_super15","_DataType5","_super16","_DataType6","_super17","_DataType7","_super18","_this3","Date_","_DataType8","_super19","_this4","_Date_","_super20","_Date_2","_super21","Time_","_DataType9","_super22","_this5","Timestamp_","_DataType10","_super27","_this6","Interval_","_DataType11","_super32","_this7","_DataType12","_super35","child","_this8","valueType","_DataType13","_super36","_this9","join","Union_","_DataType14","_super37","_this10","typeIdToChildIndex","idx","_DataType15","_super40","_this11","_DataType16","_super41","_this12","Map_","_DataType17","_super42","_this13","atomicDictionaryId","getId","_DataType18","_super43","_this14","strideForType","nullCount","childData","floor","_nullCount","stride","nullBitmap","childStride","_sliceBuffers","clone","_sliceChildren","newLength","fill","VALIDITY","TYPE","OFFSET","DATA","valueOffsetsOrChildren","undf","valueToString","JSON","stringify","createIsValidFunction","nullValues","fnBody","noNaNs","valueToCase","Function","roundLengthUpToNearest64Bytes","BPE","BufferBuilder","_resize","extra","reserved","array","sliceOrExtendArray","DataBufferBuilder","_BufferBuilder","reserve","BitmapBufferBuilder","_DataBufferBuilder","numValid","cur","_get","OffsetsBufferBuilder","_DataBufferBuilder2","WideBufferBuilder","_BufferBuilder2","_ArrayType64","buffer64","ArrayType64","nulls","_nulls","_isValid","new","flush","numInvalid","_offsets","_typeIds","reservedLength","reservedByteLength","setValid","isValid","setValue","_setValue","valid","numChildren","offsets","last","_options$queueingStra","queueingStrategy","_options$highWaterMar","highWaterMark","pow","sizeProperty","numChunks","append","toVector","throughIterable","_options$queueingStra2","_options$highWaterMar2","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","throughAsyncIterable","FixedWidthBuilder","_Builder","opts","VariableWidthBuilder","_Builder2","_pendingLength","pending","_pending","current","_flush","pendingLength","_flushPending","BoolBuilder","NullBuilder","DateBuilder","_FixedWidthBuilder","DateDayBuilder","_DateBuilder","DateMillisecondBuilder","_DateBuilder2","DecimalBuilder","DictionaryBuilder","hashFn","_dictionaryOffset","_keysToIndices","valueToKey","keysToIndices","_dictionary","curr","FixedSizeBinaryBuilder","f64","u32","uint16ToFloat64","h","expo","sigf","sign","NaN","float64ToUint16","FloatBuilder","Float16Builder","_FloatBuilder","Float32Builder","_FloatBuilder2","Float64Builder","_FloatBuilder3","Parent","Class","isNativeReflectConstruct","bignumToString","bignumToBigInt","isArrowBigNumSymbol","for","BigNum","_construct","SignedBigNum","UnsignedBigNum","_len3","_key3","DecimalBigNum","_len4","_key4","bignumToNumber","bn","hi","lo","signed","words","number","decimalToString","digits","base64","base32","checks","toJSON","assign","memo","BN","num","IntBuilder","Int8Builder","_IntBuilder","Int16Builder","_IntBuilder2","Int32Builder","_IntBuilder3","Int64Builder","_IntBuilder4","toBigInt","Uint8Builder","_IntBuilder5","Uint16Builder","_IntBuilder6","Uint32Builder","_IntBuilder7","Uint64Builder","_IntBuilder8","TimeBuilder","TimeSecondBuilder","_TimeBuilder","TimeMillisecondBuilder","_TimeBuilder2","TimeMicrosecondBuilder","_TimeBuilder3","TimeNanosecondBuilder","_TimeBuilder4","TimestampBuilder","TimestampSecondBuilder","_TimestampBuilder","TimestampMillisecondBuilder","_TimestampBuilder2","TimestampMicrosecondBuilder","_TimestampBuilder3","TimestampNanosecondBuilder","_TimestampBuilder4","IntervalBuilder","IntervalDayTimeBuilder","_IntervalBuilder","IntervalYearMonthBuilder","_IntervalBuilder2","BinaryBuilder","_VariableWidthBuilder","Utf8Builder","Run","kParent","kRowIndex","kKeyToIdx","kIdxToVal","kCustomInspect","Row","_Symbol$iterator","parent","numKeys","ktoi","itov","getValue","getIndex","ki","vi","kr","vr","has","callbackfn","thisArg","callback","m","str","_Object$definePropert","MapRow","_Row","createRowProxy","getChildAt","StructRow","_Row2","defineRowProxyProperties","findIndex","tmp","row","_step3","getter","setter","_iterator3","getKey","RowProxyHandler","isExtensible","deleteProperty","preventExtensions","ownKeys","clampIndex","adjust","clampRange","end","_source$length","big0","isNaNFast","createElementComparator","search","typeofSearch","valueOfSearch","comparators","createSubElementsComparator","creatMapComparator","createArrayLikeComparator","createVectorComparator","createObjectComparator","compareArray","compareObject","vec","compareVector","lKeyItr","rKeyItr","rValItr","rVal","lKey","rKey","Chunked","_AbstractVector","vectors","calculateOffsets","_type","_chunks","_chunkOffsets","_length","_numChildren","chunk","isDictionary","_indices","flatten","_sliceInternal","columns","_children","vector","mid","isValidInternal","getInternal","element","indexOfInternal","toArray","arraySet","typedSet","_ref5","chunkIndex","fromIndex","start","found","slices","chunkOffsets","chunkLength","chunkOffset","to","selectChunkArgs","Column","_Chunked","_field","SingleChunkColumn","metadata","column","rest","some","_Column","_chunk","selectArgs","Ctor","vals","_selectArgs","selectFieldArgs","_selectFieldArgs","_selectChunkArgs","selectVectorChildrenArgs","_selectVectorChildrenArgs","toKeysAndValues","_Object$entries$reduc2","entries","fieldIndex","valueIndex","_ret","_keys$idx","_Symbol$toStringTag","dictionaries","generateDictionaryMap","compareSchemas","columnNames","names","columnIndices","curFields","mergeMaps","newFields","f2","newDictionaries","_Symbol$toStringTag2","_args2","_args2$","_args2$2","_args2$3","_args2$4","_args$","_args$$name","_args$$type","_args$$nullable","_args$$metadata","_len5","_key5","_len6","_key6","m1","m2","ListBuilder","_run","run","FixedSizeListBuilder","childIndex","MapBuilder","StructBuilder","UnionBuilder","_valueToChildTypeId","childTypeId","_this$type","SparseUnionBuilder","_UnionBuilder","DenseUnionBuilder","_UnionBuilder2","SetVisitor","setEpochMsToMillisecondsLong","epochMs","setVariableWidthBytes","setDateDay","setEpochMsToDays","setDateMillisecond","setNumeric","setFloat16","setNumericX2","values64","long","setTimestampSecond","_ref9","setTimestampMillisecond","_ref10","setTimestampMicrosecond","_ref11","setEpochMsToMicrosecondsLong","setTimestampNanosecond","_ref12","setEpochMsToNanosecondsLong","setTimeSecond","_ref13","setTimeMillisecond","_ref14","setTimeMicrosecond","_ref15","setTimeNanosecond","_ref16","setDenseUnion","setSparseUnion","setIntervalDayTime","_ref18","setIntervalYearMonth","_ref19","_ref8","_ref7","_ref17","itr","_setStructVectorValue","_setStructArrayValue","_setStructObjectValue","GetBuilderCtor","newBuilder","getBuilderConstructor","defaultOptions","getChildOptions","_objectSpread","T","setVisitor","Footer","Block","schemaOffset","dictionariesOffset","recordBatchesOffset","startFooter","addSchema","addDictionaries","addRecordBatches","endFooter","metaDataLength","_Block","File_","_Footer","Footer_","V4","recordBatches","dictionaryBatches","_recordBatches","_dictionaryBatches","block","numRecordBatches","getRecordBatch","numDictionaries","getDictionaryBatch","buf","footer","getRootAsFooter","OffHeapFooter","startRecordBatchesVector","rb","FileBlock","startDictionariesVector","db","dictionaryBatchesOffset","finishFooterBuffer","_Footer_","_footer","recordBatchesLength","dictionariesLength","fileBlock","createBlock","AsyncByteQueue","_AsyncQueue","ByteStream","ByteStreamSource","peek","AsyncByteStream","AsyncByteStreamSource","body","closed","cancel","_args5","RandomAccessFile","_ByteStream","_this$readAt","readAt","getInt32","nBytes","AsyncRandomAccessFile","_AsyncByteStream","file","_handle","stat","_readInt","_yield$this$readAt","_seek","bytesRead","_yield$file$read","_readAt","_close","intAsHex","kPowersOfTen","BaseInt64","L","R","product","lessThan","_BaseInt","_times","_plus","out_buffer","fromString","out","posn","group","parseInt","substr","multiple","times","plus","left","right","_BaseInt2","this_high","other_high","negate","startsWith","Int128","L0","L1","L2","L3","R0","R1","R2","R3","multiply","sums","VectorLoader","nodesIndex","buffersIndex","nextFieldNode","readNullBitmap","readData","readOffsets","visitMany","readTypeIds","readDictionary","nextBufferRange","_ref20","JSONVectorLoader","_VectorLoader","sources","isTimestamp","isInt","isTime","isDate","convertArray","isDecimal","isBinary","isFixedSizeBinary","joined","binaryDataFromJSON","isBool","isUtf8","TypeAssembler","startTypeIdsVector","createTypeIdsVector","indexType","recordBatchFromJSON","fieldNodesFromJSON","buffersFromJSON","fieldChildrenFromJSON","fromJSON","fieldNodes","validity","BufferRegion","customMetadataFromJSON","_metadata","indexTypeFromJSON","typeFromJSON","_Field","_Schema","_Message","_KeyValue","_FieldNode","_Endianness","_RecordBatch","_DictionaryBatch","header","_version","_headerType","_createHeader","_bodyLength","msg","message","messageHeaderFromJSON","_message","getRootAsMessage","decodeMessageHeader","isSchema","isRecordBatch","isDictionaryBatch","finishMessageBuffer","_nodes","_buffers","_isDelta","_id","decodeFieldChildren","childrenLength","decodeCustomMetadata","customMetadataLength","customMetadata","decodeIndexType","decodeFieldType","typeIdsArray","typeAssembler","childOffsets","childrenVectorOffset","createChildrenVector","metadataOffset","createCustomMetadataVector","dictType","dictMeta","fieldOffsets","startFieldsVector","fieldsVectorOffset","createFieldsVector","platformIsLittleEndian","Big","_schema","fieldsLength","decodeSchemaFields","schemaFieldsFromJSON","recordBatch","startNodesVector","nodesVectorOffset","startBuffersVector","b_","buffersVectorOffset","batch","nodesLength","decodeFieldNodes","bufferRegions","buffersLength","decodeBuffers","dictionaryBatch","createFieldNode","createBuffer","setInt16","invalidMessageType","nullMessage","invalidMessageMetadata","expected","actual","invalidMessageBodyLength","MessageReader","readMetadataLength","readMetadata","throwIfNull","readMessage","PADDING","metadataLength","AsyncMessageReader","_readMessage","_readMessageBody","_readSchema","_args6","_readMetadataLength","_readMetadata","JSONMessageReader","_MessageReader","_body","_batchIndex","_dictionaryIndex","batches","flattenDataSources","MAGIC_STR","MAGIC","checkForMagicArrowString","magicLength","magicAndPadding","magicX2AndPadding","VectorAssembler","_byteLength","_bufferRegions","RangeError","isNull","addBuffer","_nullV","assembler","vectorChildren","_assembler$visitMany3","assembleFlatVector","assembleFlatListVector","firstOffset","lastOffset","assembleListVector","assembleNestedVector","maxChildTypeId","childLengths","shiftedOffsets","unshiftedOffsets","childLength","RecordBatchWriter","_position","_started","_sink","_dictionaryBlocks","_recordBatchBlocks","_dictionaryDeltaOffsets","autoDestroy","writeLegacyIpcFormat","_autoDestroy","_writeLegacyIpcFormat","writeAll","writeAllAsync","sink","isWritableNodeStream","objectMode","_writeFooter","compareTo","_writeSchema","payload","_InternalEmptyPlaceholderRecordBatch","_writeRecordBatch","flatbufferSize","prefixSize","nPaddingBytes","_write","of","_writePadding","write","_writeMessage","_VectorAssembler$asse","assemble","_writeDictionaries","_writeBodyBuffers","_VectorAssembler$asse2","padding","_step2$value","_writeDictionaryBatch","writableStrategy","readableStrategy","RecordBatchStreamWriter","_RecordBatchWriter","writer","RecordBatchFileWriter","_RecordBatchWriter2","_writeMagic","_step5","_iterator5","_writeAllAsync","noopBuf","nullBufs","bitmapLength","distributeVectorsIntoRecordBatches","vecs","batchArgs","numBatches","batchLength","numColumns","POSITIVE_INFINITY","distributeChildData","uniformlyDistributeChunksAcrossRecordBatches","_changeLengthAndBackfillNullBitmap","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","BaseVector","_bindDataAccessors","VectorName","isConcatSpreadable","BinaryVector","_BaseVector","BoolVector","vectorFromValuesWithType","DateVector","DateDayVector","_DateVector","DateMillisecondVector","_DateVector2","DecimalVector","DictionaryVector","FixedSizeBinaryVector","FixedSizeListVector","FloatVector","ArrowType","vectorTypeToDataType","InputType","arrayTypeToDataType","convertTo16Bit","Float16Vector","_FloatVector","Float32Vector","_FloatVector2","Float64Vector","_FloatVector3","typeCtor","dataCtor","IntervalVector","IntervalDayTimeVector","_IntervalVector","IntervalYearMonthVector","_IntervalVector2","IntVector","is64bit","convert32To64Bit","Int8Vector","_IntVector","Int16Vector","_IntVector2","Int32Vector","_IntVector3","Int64Vector","_IntVector4","_values64","Uint8Vector","_IntVector5","Uint16Vector","_IntVector6","Uint32Vector","_IntVector7","Uint64Vector","_IntVector8","ListVector","MapVector","_this$valueOffsets","NullVector","StructVector","_row","bound","TimestampVector","TimestampSecondVector","_TimestampVector","TimestampMillisecondVector","_TimestampVector2","TimestampMicrosecondVector","_TimestampVector3","TimestampNanosecondVector","_TimestampVector4","TimeVector","TimeSecondVector","_TimeVector","TimeMillisecondVector","_TimeVector2","TimeMicrosecondVector","_TimeVector3","TimeNanosecondVector","_TimeVector4","UnionVector","DenseUnionVector","_UnionVector","SparseUnionVector","_UnionVector2","Utf8Vector","partial0","partial2","GetVisitor","epochMillisecondsLongToMs","epochMillisecondsToDate","getVariableWidthBytes","getDateDay","epochDaysToMs","epochDaysToDate","getDateMillisecond","epochMillisecondsLongToDate","getNumeric","getFloat16","getBigInts","getTimestampSecond","getTimestampMillisecond","getTimestampMicrosecond","epochMicrosecondsLongToMs","getTimestampNanosecond","epochNanosecondsLongToMs","getTimeSecond","getTimeMillisecond","getTimeMicrosecond","getTimeNanosecond","getDenseUnion","getSparseUnion","getIntervalDayTime","getIntervalYearMonth","interval","int32s","_vector","decimal","IndexOfVisitor","indexOfValue","searchElement","indexOfNull","compare","indexOfUnion","IteratorVisitor","vectorIterator","getFn","getVisitor","nullByte","nullBit","nullableIterator","ToArrayVisitor","arrayOfVector","iteratorVisitor","variableWidthColumnErrorMessage","ByteWidthVisitor","____","visitFields","GetVectorConstructor","newDataType","_input","_input$values","_input$type","_input$nullValues","getVectorConstructor","_nullValues$input","_nullValues$input$val","_excluded","transform","indexOfVisitor","toArrayVisitor","getByteWidth","byteWidthVisitor","wrapNullableSet","VectorCtor","partialType0","getColumnAt","getColumnIndex","nameToIndex","selectAt","columnName","_this$_schema","_other$schema$fields$","newIdx","_memo","oldToNew","_other$schema$fields$2","_f","_fs","empty","fromStruct","tableFromIterable","tableFromAsyncIterable","RecordBatchReader","isSync","open","opening","_fromAsync","cols","_selectFieldArgs3","selectColumnArgs","_StructVector","_dictionaries","DictionaryCollector","collect","_selectFieldArgs2","fs","vs","l","batchData","ensureSameLengthData","readAllSync","impl","_impl","isFile","isAsync","isStream","readRecordBatch","RecordBatchStreamReader","RecordBatchJSONReaderImpl","fromArrowJSON","_fromFileHandle","fromFileHandle","_fromAsyncByteStream","fromAsyncByteStream","RecordBatchFileReader","RecordBatchFileReaderImpl","RecordBatchStreamReaderImpl","_callee15","_context16","fromByteStream","readAllAsync","_RecordBatchReader","_Symbol$iterator2","_Symbol$asyncIterator2","AsyncRecordBatchStreamReader","_RecordBatchReader2","_Symbol$iterator3","_Symbol$asyncIterator3","_RecordBatchStreamRea","AsyncRecordBatchFileReader","_AsyncRecordBatchStre","RecordBatchReaderImpl","_recordBatchIndex","_loadVectors","_RecordBatchReaderImp","_Symbol$iterator4","_reader","shouldAutoDestroy","readSchema","_readNextMessageAndValidate","readMessageBody","_loadRecordBatch","_loadDictionaryBatch","AsyncRecordBatchStreamReaderImpl","_RecordBatchReaderImp2","_Symbol$asyncIterator4","_open","_header2","_buffer2","_readNextMessageAndValidate2","_RecordBatchStreamRea2","_readFooter","_readDictionaryBatch","seek","AsyncRecordBatchFileReaderImpl","_AsyncRecordBatchStre2","_open2","_callee9","_readRecordBatch","_callee10","_context10","_readDictionaryBatch2","_callee11","_context11","_readFooter2","_callee12","_context12","_readNextMessageAndValidate3","_callee13","_context13","_RecordBatchStreamRea3","_context14","_readAllAsync","_callee14","_context15","_callee17","_context18","_callee16","_context17","_callee18","_yield$source$stat","_context19","BuilderTransform","_ReadableStream","_WritableStream","_numChunks","_finished","_bufferedSize","builderOptions","_controller","_builder","_getSize","chunkByteLength","_readableStrategy$hig","readableHighWaterMark","_writableStrategy$hig","writableHighWaterMark","ReadableStream","_maybeFlush","WritableStream","_writeValueAndReturnChunkSize","bufferedSize","controller","desiredSize","_enqueue","enqueue","Value","Literal","Equals","LTeq","GTeq","Not","ge","le","eq","_Value","Col","_Value2","colidx","Predicate","expr","And","Or","ComparisonPredicate","_Predicate","_bindLitLit","_bindLitCol","_bindColLit","_bindColCol","CombinationPredicate","_Predicate2","_CombinationPredicate","accum","_CombinationPredicate2","_ComparisonPredicate","_batch","rtrn","left_func","right_func","col","lit","col_func","lastDictionary","reverseLookup","lastKey","_ComparisonPredicate2","_ComparisonPredicate3","_Predicate3","func","countBy","DataFrame","scan","scanReverse","predicate","_Table","FilteredDataFrame","batchIndex","numRows","count_by","countByteLength","ceil","log","counts","CountByResult","_Table2","_DataFrame","_predicate","isBound","and","util_bn_","util_int_","util_bit_","util_math_","util_buffer_","util_vector_","bm","hwm","pull","asyncIterableAsReadableDOMStream","iterableAsReadableDOMStream","queue","readable","ComponentMessageType","ArrowTable","indexBuffer","columnsBuffer","styler","getCell","rowIndex","columnIndex","isBlankCell","headerRows","headerColumns","isIndexCell","isColumnsCell","classNames","content","dataColumnIndex","getContent","columnsTable","dataRowIndex","uuid","indexTable","displayValuesTable","dataTable","getColumnTypeId","nanosToDate","caption","displayValues","styles","numCols","rows","dataRows","dataColumns","serialize","nanos","__assign","Streamlit","API_VERSION","RENDER_EVENT","registeredMessageListener","setComponentReady","onMessageEvent","sendBackMsg","COMPONENT_READY","apiVersion","setFrameHeight","height","document","scrollHeight","lastFrameHeight","SET_FRAME_HEIGHT","setComponentValue","dataType","isBigIntArray","isTypedArray","SET_COMPONENT_VALUE","onRenderMessage","dataframeArgs","argsDataframeToObject","disabled","theme","_injectTheme","eventData","detail","argsDataframe","argsDataframeArrow","_a","toArrowTable","fromEntries","df","postMessage","isStreamlitMessage","style","createElement","head","appendChild","innerHTML","primaryColor","backgroundColor","secondaryBackgroundColor","textColor","font","__extends","extendStatics","__","StreamlitComponentBase","componentDidMount","componentDidUpdate","React","PureComponent","withStreamlitConnection","WrappedComponent","ComponentWrapper","onRenderEvent","componentError","componentWillUnmount","renderEvent","setState","renderData","render","width","innerWidth","getDerivedStateFromError","hoistNonReactStatics","propIsEnumerable","test1","getOwnPropertyNames","test2","test3","split","letter","shouldUseNative","toObject","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","q","w","z","A","B","C","encodeURIComponent","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","G","H","isReactComponent","forceUpdate","I","isPureReactComponent","J","K","ref","__self","__source","M","g","$$typeof","_owner","O","P","Q","keyPrefix","S","U","V","replace","escape","W","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","only","Component","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","onError","da","ea","fa","ha","ia","ja","la","ma","na","oa","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","toUpperCase","xlinkHref","Wa","Xa","Sa","Ta","Ra","removeAttribute","setAttribute","setAttributeNS","Ya","Za","$a","ab","cb","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","tag","_debugOwner","_debugSource","fileName","lineNumber","sb","nodeName","xb","_valueTracker","stopTracking","tb","yb","checked","zb","defaultChecked","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","selected","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","namespaceURI","firstChild","removeChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeType","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","correspondingUseElement","parentNode","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","container","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","trim","md","setProperty","substring","nd","menuitem","area","br","embed","hr","img","keygen","link","meta","param","track","wbr","od","is","qd","rd","sd","td","ud","vd","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","location","href","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","setTimeout","Id","clearTimeout","Jd","Kd","previousSibling","Ld","random","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","ee","eventPool","fe","destructor","de","getPooled","persist","isTrusted","extend","he","ie","je","ke","documentMode","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","re","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","color","date","datetime","email","month","password","range","tel","text","time","url","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","repeat","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","shared","effects","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","documentElement","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","gi","pendingContext","ni","oi","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","onClick","onclick","createElementNS","createTextNode","ti","ui","wi","xi","yi","zi","Ai","stack","Bi","WeakSet","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","Ri","insertBefore","_reactRootContainer","Si","Ti","display","Ui","Vi","add","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","timeout","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","vb","Uj","Vj","Wj","hidden","default","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","querySelectorAll","form","Lj","lk","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","port2","port1","onmessage","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","jsx","jsxs"],"mappings":"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","file":"static/js/2.ce130e37.chunk.js","sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","/**\n * @typedef {object} PrivateData\n * @property {EventTarget} eventTarget The event target.\n * @property {{type:string}} event The original event object.\n * @property {number} eventPhase The current event phase.\n * @property {EventTarget|null} currentTarget The current event target.\n * @property {boolean} canceled The flag to prevent default.\n * @property {boolean} stopped The flag to stop propagation.\n * @property {boolean} immediateStopped The flag to stop propagation immediately.\n * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null.\n * @property {number} timeStamp The unix time.\n * @private\n */\n\n/**\n * Private data for event wrappers.\n * @type {WeakMap}\n * @private\n */\nconst privateData = new WeakMap()\n\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrappers = new WeakMap()\n\n/**\n * Get private data.\n * @param {Event} event The event object to get private data.\n * @returns {PrivateData} The private data of the event.\n * @private\n */\nfunction pd(event) {\n const retv = privateData.get(event)\n console.assert(\n retv != null,\n \"'this' is expected an Event object, but got\",\n event\n )\n return retv\n}\n\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data {PrivateData} private data.\n */\nfunction setCancelFlag(data) {\n if (data.passiveListener != null) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(\n \"Unable to preventDefault inside passive event listener invocation.\",\n data.passiveListener\n )\n }\n return\n }\n if (!data.event.cancelable) {\n return\n }\n\n data.canceled = true\n if (typeof data.event.preventDefault === \"function\") {\n data.event.preventDefault()\n }\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#interface-event\n * @private\n */\n/**\n * The event wrapper.\n * @constructor\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Event|{type:string}} event The original event to wrap.\n */\nfunction Event(eventTarget, event) {\n privateData.set(this, {\n eventTarget,\n event,\n eventPhase: 2,\n currentTarget: eventTarget,\n canceled: false,\n stopped: false,\n immediateStopped: false,\n passiveListener: null,\n timeStamp: event.timeStamp || Date.now(),\n })\n\n // https://heycam.github.io/webidl/#Unforgeable\n Object.defineProperty(this, \"isTrusted\", { value: false, enumerable: true })\n\n // Define accessors\n const keys = Object.keys(event)\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(key))\n }\n }\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEvent.prototype = {\n /**\n * The type of this event.\n * @type {string}\n */\n get type() {\n return pd(this).event.type\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get target() {\n return pd(this).eventTarget\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get currentTarget() {\n return pd(this).currentTarget\n },\n\n /**\n * @returns {EventTarget[]} The composed path of this event.\n */\n composedPath() {\n const currentTarget = pd(this).currentTarget\n if (currentTarget == null) {\n return []\n }\n return [currentTarget]\n },\n\n /**\n * Constant of NONE.\n * @type {number}\n */\n get NONE() {\n return 0\n },\n\n /**\n * Constant of CAPTURING_PHASE.\n * @type {number}\n */\n get CAPTURING_PHASE() {\n return 1\n },\n\n /**\n * Constant of AT_TARGET.\n * @type {number}\n */\n get AT_TARGET() {\n return 2\n },\n\n /**\n * Constant of BUBBLING_PHASE.\n * @type {number}\n */\n get BUBBLING_PHASE() {\n return 3\n },\n\n /**\n * The target of this event.\n * @type {number}\n */\n get eventPhase() {\n return pd(this).eventPhase\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopPropagation() {\n const data = pd(this)\n\n data.stopped = true\n if (typeof data.event.stopPropagation === \"function\") {\n data.event.stopPropagation()\n }\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopImmediatePropagation() {\n const data = pd(this)\n\n data.stopped = true\n data.immediateStopped = true\n if (typeof data.event.stopImmediatePropagation === \"function\") {\n data.event.stopImmediatePropagation()\n }\n },\n\n /**\n * The flag to be bubbling.\n * @type {boolean}\n */\n get bubbles() {\n return Boolean(pd(this).event.bubbles)\n },\n\n /**\n * The flag to be cancelable.\n * @type {boolean}\n */\n get cancelable() {\n return Boolean(pd(this).event.cancelable)\n },\n\n /**\n * Cancel this event.\n * @returns {void}\n */\n preventDefault() {\n setCancelFlag(pd(this))\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n */\n get defaultPrevented() {\n return pd(this).canceled\n },\n\n /**\n * The flag to be composed.\n * @type {boolean}\n */\n get composed() {\n return Boolean(pd(this).event.composed)\n },\n\n /**\n * The unix time of this event.\n * @type {number}\n */\n get timeStamp() {\n return pd(this).timeStamp\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n * @deprecated\n */\n get srcElement() {\n return pd(this).eventTarget\n },\n\n /**\n * The flag to stop event bubbling.\n * @type {boolean}\n * @deprecated\n */\n get cancelBubble() {\n return pd(this).stopped\n },\n set cancelBubble(value) {\n if (!value) {\n return\n }\n const data = pd(this)\n\n data.stopped = true\n if (typeof data.event.cancelBubble === \"boolean\") {\n data.event.cancelBubble = true\n }\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n * @deprecated\n */\n get returnValue() {\n return !pd(this).canceled\n },\n set returnValue(value) {\n if (!value) {\n setCancelFlag(pd(this))\n }\n },\n\n /**\n * Initialize this event object. But do nothing under event dispatching.\n * @param {string} type The event type.\n * @param {boolean} [bubbles=false] The flag to be possible to bubble up.\n * @param {boolean} [cancelable=false] The flag to be possible to cancel.\n * @deprecated\n */\n initEvent() {\n // Do nothing.\n },\n}\n\n// `constructor` is not enumerable.\nObject.defineProperty(Event.prototype, \"constructor\", {\n value: Event,\n configurable: true,\n writable: true,\n})\n\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof window !== \"undefined\" && typeof window.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, window.Event.prototype)\n\n // Make association for wrappers.\n wrappers.set(window.Event.prototype, Event)\n}\n\n/**\n * Get the property descriptor to redirect a given property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to redirect the property.\n * @private\n */\nfunction defineRedirectDescriptor(key) {\n return {\n get() {\n return pd(this).event[key]\n },\n set(value) {\n pd(this).event[key] = value\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Get the property descriptor to call a given method property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to call the method property.\n * @private\n */\nfunction defineCallDescriptor(key) {\n return {\n value() {\n const event = pd(this).event\n return event[key].apply(event, arguments)\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define new wrapper class.\n * @param {Function} BaseEvent The base wrapper class.\n * @param {Object} proto The prototype of the original event.\n * @returns {Function} The defined wrapper class.\n * @private\n */\nfunction defineWrapper(BaseEvent, proto) {\n const keys = Object.keys(proto)\n if (keys.length === 0) {\n return BaseEvent\n }\n\n /** CustomEvent */\n function CustomEvent(eventTarget, event) {\n BaseEvent.call(this, eventTarget, event)\n }\n\n CustomEvent.prototype = Object.create(BaseEvent.prototype, {\n constructor: { value: CustomEvent, configurable: true, writable: true },\n })\n\n // Define accessors.\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (!(key in BaseEvent.prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key)\n const isFunc = typeof descriptor.value === \"function\"\n Object.defineProperty(\n CustomEvent.prototype,\n key,\n isFunc\n ? defineCallDescriptor(key)\n : defineRedirectDescriptor(key)\n )\n }\n }\n\n return CustomEvent\n}\n\n/**\n * Get the wrapper class of a given prototype.\n * @param {Object} proto The prototype of the original event to get its wrapper.\n * @returns {Function} The wrapper class.\n * @private\n */\nfunction getWrapper(proto) {\n if (proto == null || proto === Object.prototype) {\n return Event\n }\n\n let wrapper = wrappers.get(proto)\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto)\n wrappers.set(proto, wrapper)\n }\n return wrapper\n}\n\n/**\n * Wrap a given event to management a dispatching.\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Object} event The event to wrap.\n * @returns {Event} The wrapper instance.\n * @private\n */\nexport function wrapEvent(eventTarget, event) {\n const Wrapper = getWrapper(Object.getPrototypeOf(event))\n return new Wrapper(eventTarget, event)\n}\n\n/**\n * Get the immediateStopped flag of a given event.\n * @param {Event} event The event to get.\n * @returns {boolean} The flag to stop propagation immediately.\n * @private\n */\nexport function isStopped(event) {\n return pd(event).immediateStopped\n}\n\n/**\n * Set the current event phase of a given event.\n * @param {Event} event The event to set current target.\n * @param {number} eventPhase New event phase.\n * @returns {void}\n * @private\n */\nexport function setEventPhase(event, eventPhase) {\n pd(event).eventPhase = eventPhase\n}\n\n/**\n * Set the current target of a given event.\n * @param {Event} event The event to set current target.\n * @param {EventTarget|null} currentTarget New current target.\n * @returns {void}\n * @private\n */\nexport function setCurrentTarget(event, currentTarget) {\n pd(event).currentTarget = currentTarget\n}\n\n/**\n * Set a passive listener of a given event.\n * @param {Event} event The event to set current target.\n * @param {Function|null} passiveListener New passive listener.\n * @returns {void}\n * @private\n */\nexport function setPassiveListener(event, passiveListener) {\n pd(event).passiveListener = passiveListener\n}\n","import {\n isStopped,\n setCurrentTarget,\n setEventPhase,\n setPassiveListener,\n wrapEvent,\n} from \"./event.mjs\"\n\n/**\n * @typedef {object} ListenerNode\n * @property {Function} listener\n * @property {1|2|3} listenerType\n * @property {boolean} passive\n * @property {boolean} once\n * @property {ListenerNode|null} next\n * @private\n */\n\n/**\n * @type {WeakMap>}\n * @private\n */\nconst listenersMap = new WeakMap()\n\n// Listener types\nconst CAPTURE = 1\nconst BUBBLE = 2\nconst ATTRIBUTE = 3\n\n/**\n * Check whether a given value is an object or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an object.\n */\nfunction isObject(x) {\n return x !== null && typeof x === \"object\" //eslint-disable-line no-restricted-syntax\n}\n\n/**\n * Get listeners.\n * @param {EventTarget} eventTarget The event target to get.\n * @returns {Map} The listeners.\n * @private\n */\nfunction getListeners(eventTarget) {\n const listeners = listenersMap.get(eventTarget)\n if (listeners == null) {\n throw new TypeError(\n \"'this' is expected an EventTarget object, but got another value.\"\n )\n }\n return listeners\n}\n\n/**\n * Get the property descriptor for the event attribute of a given event.\n * @param {string} eventName The event name to get property descriptor.\n * @returns {PropertyDescriptor} The property descriptor.\n * @private\n */\nfunction defineEventAttributeDescriptor(eventName) {\n return {\n get() {\n const listeners = getListeners(this)\n let node = listeners.get(eventName)\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n return node.listener\n }\n node = node.next\n }\n return null\n },\n\n set(listener) {\n if (typeof listener !== \"function\" && !isObject(listener)) {\n listener = null // eslint-disable-line no-param-reassign\n }\n const listeners = getListeners(this)\n\n // Traverse to the tail while removing old value.\n let prev = null\n let node = listeners.get(eventName)\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n // Remove old value.\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n } else {\n prev = node\n }\n\n node = node.next\n }\n\n // Add new value.\n if (listener !== null) {\n const newNode = {\n listener,\n listenerType: ATTRIBUTE,\n passive: false,\n once: false,\n next: null,\n }\n if (prev === null) {\n listeners.set(eventName, newNode)\n } else {\n prev.next = newNode\n }\n }\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define an event attribute (e.g. `eventTarget.onclick`).\n * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite.\n * @param {string} eventName The event name to define.\n * @returns {void}\n */\nfunction defineEventAttribute(eventTargetPrototype, eventName) {\n Object.defineProperty(\n eventTargetPrototype,\n `on${eventName}`,\n defineEventAttributeDescriptor(eventName)\n )\n}\n\n/**\n * Define a custom EventTarget with event attributes.\n * @param {string[]} eventNames Event names for event attributes.\n * @returns {EventTarget} The custom EventTarget.\n * @private\n */\nfunction defineCustomEventTarget(eventNames) {\n /** CustomEventTarget */\n function CustomEventTarget() {\n EventTarget.call(this)\n }\n\n CustomEventTarget.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: CustomEventTarget,\n configurable: true,\n writable: true,\n },\n })\n\n for (let i = 0; i < eventNames.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, eventNames[i])\n }\n\n return CustomEventTarget\n}\n\n/**\n * EventTarget.\n *\n * - This is constructor if no arguments.\n * - This is a function which returns a CustomEventTarget constructor if there are arguments.\n *\n * For example:\n *\n * class A extends EventTarget {}\n * class B extends EventTarget(\"message\") {}\n * class C extends EventTarget(\"message\", \"error\") {}\n * class D extends EventTarget([\"message\", \"error\"]) {}\n */\nfunction EventTarget() {\n /*eslint-disable consistent-return */\n if (this instanceof EventTarget) {\n listenersMap.set(this, new Map())\n return\n }\n if (arguments.length === 1 && Array.isArray(arguments[0])) {\n return defineCustomEventTarget(arguments[0])\n }\n if (arguments.length > 0) {\n const types = new Array(arguments.length)\n for (let i = 0; i < arguments.length; ++i) {\n types[i] = arguments[i]\n }\n return defineCustomEventTarget(types)\n }\n throw new TypeError(\"Cannot call a class as a function\")\n /*eslint-enable consistent-return */\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEventTarget.prototype = {\n /**\n * Add a given listener to this event target.\n * @param {string} eventName The event name to add.\n * @param {Function} listener The listener to add.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n addEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n if (typeof listener !== \"function\" && !isObject(listener)) {\n throw new TypeError(\"'listener' should be a function or an object.\")\n }\n\n const listeners = getListeners(this)\n const optionsIsObj = isObject(options)\n const capture = optionsIsObj\n ? Boolean(options.capture)\n : Boolean(options)\n const listenerType = capture ? CAPTURE : BUBBLE\n const newNode = {\n listener,\n listenerType,\n passive: optionsIsObj && Boolean(options.passive),\n once: optionsIsObj && Boolean(options.once),\n next: null,\n }\n\n // Set it as the first node if the first node is null.\n let node = listeners.get(eventName)\n if (node === undefined) {\n listeners.set(eventName, newNode)\n return\n }\n\n // Traverse to the tail while checking duplication..\n let prev = null\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n // Should ignore duplication.\n return\n }\n prev = node\n node = node.next\n }\n\n // Add it.\n prev.next = newNode\n },\n\n /**\n * Remove a given listener from this event target.\n * @param {string} eventName The event name to remove.\n * @param {Function} listener The listener to remove.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n removeEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n\n const listeners = getListeners(this)\n const capture = isObject(options)\n ? Boolean(options.capture)\n : Boolean(options)\n const listenerType = capture ? CAPTURE : BUBBLE\n\n let prev = null\n let node = listeners.get(eventName)\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n return\n }\n\n prev = node\n node = node.next\n }\n },\n\n /**\n * Dispatch a given event.\n * @param {Event|{type:string}} event The event to dispatch.\n * @returns {boolean} `false` if canceled.\n */\n dispatchEvent(event) {\n if (event == null || typeof event.type !== \"string\") {\n throw new TypeError('\"event.type\" should be a string.')\n }\n\n // If listeners aren't registered, terminate.\n const listeners = getListeners(this)\n const eventName = event.type\n let node = listeners.get(eventName)\n if (node == null) {\n return true\n }\n\n // Since we cannot rewrite several properties, so wrap object.\n const wrappedEvent = wrapEvent(this, event)\n\n // This doesn't process capturing phase and bubbling phase.\n // This isn't participating in a tree.\n let prev = null\n while (node != null) {\n // Remove this listener if it's once\n if (node.once) {\n if (prev !== null) {\n prev.next = node.next\n } else if (node.next !== null) {\n listeners.set(eventName, node.next)\n } else {\n listeners.delete(eventName)\n }\n } else {\n prev = node\n }\n\n // Call this listener\n setPassiveListener(\n wrappedEvent,\n node.passive ? node.listener : null\n )\n if (typeof node.listener === \"function\") {\n try {\n node.listener.call(this, wrappedEvent)\n } catch (err) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(err)\n }\n }\n } else if (\n node.listenerType !== ATTRIBUTE &&\n typeof node.listener.handleEvent === \"function\"\n ) {\n node.listener.handleEvent(wrappedEvent)\n }\n\n // Break if `event.stopImmediatePropagation` was called.\n if (isStopped(wrappedEvent)) {\n break\n }\n\n node = node.next\n }\n setPassiveListener(wrappedEvent, null)\n setEventPhase(wrappedEvent, 0)\n setCurrentTarget(wrappedEvent, null)\n\n return !wrappedEvent.defaultPrevented\n },\n}\n\n// `constructor` is not enumerable.\nObject.defineProperty(EventTarget.prototype, \"constructor\", {\n value: EventTarget,\n configurable: true,\n writable: true,\n})\n\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (\n typeof window !== \"undefined\" &&\n typeof window.EventTarget !== \"undefined\"\n) {\n Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype)\n}\n\nexport { defineEventAttribute, EventTarget }\nexport default EventTarget\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _OverloadYield(value, kind) {\n this.v = value, this.k = kind;\n}","import OverloadYield from \"./OverloadYield.js\";\nexport default function _awaitAsyncGenerator(value) {\n return new OverloadYield(value, 0);\n}","import OverloadYield from \"./OverloadYield.js\";\nexport default function AsyncGenerator(gen) {\n var front, back;\n function resume(key, arg) {\n try {\n var result = gen[key](arg),\n value = result.value,\n overloaded = value instanceof OverloadYield;\n Promise.resolve(overloaded ? value.v : value).then(function (arg) {\n if (overloaded) {\n var nextKey = \"return\" === key ? \"return\" : \"next\";\n if (!value.k || arg.done) return resume(nextKey, arg);\n arg = gen[nextKey](arg).value;\n }\n settle(result.done ? \"return\" : \"normal\", arg);\n }, function (err) {\n resume(\"throw\", err);\n });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: !0\n });\n break;\n case \"throw\":\n front.reject(value);\n break;\n default:\n front.resolve({\n value: value,\n done: !1\n });\n }\n (front = front.next) ? resume(front.key, front.arg) : back = null;\n }\n this._invoke = function (key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n back ? back = back.next = request : (front = back = request, resume(key, arg));\n });\n }, \"function\" != typeof gen[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n}, AsyncGenerator.prototype[\"throw\"] = function (arg) {\n return this._invoke(\"throw\", arg);\n}, AsyncGenerator.prototype[\"return\"] = function (arg) {\n return this._invoke(\"return\", arg);\n};","import AsyncGenerator from \"./AsyncGenerator.js\";\nexport default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n}","import OverloadYield from \"./OverloadYield.js\";\nexport default function _asyncGeneratorDelegate(inner) {\n var iter = {},\n waiting = !1;\n function pump(key, value) {\n return waiting = !0, value = new Promise(function (resolve) {\n resolve(inner[key](value));\n }), {\n done: !1,\n value: new OverloadYield(value, 1)\n };\n }\n return iter[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n }, iter.next = function (value) {\n return waiting ? (waiting = !1, value) : pump(\"next\", value);\n }, \"function\" == typeof inner[\"throw\"] && (iter[\"throw\"] = function (value) {\n if (waiting) throw waiting = !1, value;\n return pump(\"throw\", value);\n }), \"function\" == typeof inner[\"return\"] && (iter[\"return\"] = function (value) {\n return waiting ? (waiting = !1, value) : pump(\"return\", value);\n }), iter;\n}","export default function _asyncIterator(iterable) {\n var method,\n async,\n sync,\n retry = 2;\n for (\"undefined\" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) {\n if (async && null != (method = iterable[async])) return method.call(iterable);\n if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable));\n async = \"@@asyncIterator\", sync = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(s) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var done = r.done;\n return Promise.resolve(r.value).then(function (value) {\n return {\n value: value,\n done: done\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) {\n this.s = s, this.n = s.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(value) {\n var ret = this.s[\"return\"];\n return void 0 === ret ? Promise.resolve({\n value: value,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments));\n },\n \"throw\": function _throw(value) {\n var thr = this.s[\"return\"];\n return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(s);\n}","/// @file\n/// @addtogroup flatbuffers_javascript_api\n/// @{\n/// @cond FLATBUFFERS_INTERNAL\n\n/**\n * @fileoverview\n *\n * Need to suppress 'global this' error so the Node.js export line doesn't cause\n * closure compile to error out.\n * @suppress {globalThis}\n */\n\n/**\n * @const\n * @namespace\n */\nvar flatbuffers = {};\n\n/**\n * @typedef {number}\n */\nflatbuffers.Offset;\n\n/**\n * @typedef {{\n * bb: flatbuffers.ByteBuffer,\n * bb_pos: number\n * }}\n */\nflatbuffers.Table;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_SHORT = 2;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.SIZEOF_INT = 4;\n\n/**\n * @type {number}\n * @const\n */\nflatbuffers.FILE_IDENTIFIER_LENGTH = 4;\n\n/**\n * @enum {number}\n */\nflatbuffers.Encoding = {\n UTF8_BYTES: 1,\n UTF16_STRING: 2\n};\n\n/**\n * @type {Int32Array}\n * @const\n */\nflatbuffers.int32 = new Int32Array(2);\n\n/**\n * @type {Float32Array}\n * @const\n */\nflatbuffers.float32 = new Float32Array(flatbuffers.int32.buffer);\n\n/**\n * @type {Float64Array}\n * @const\n */\nflatbuffers.float64 = new Float64Array(flatbuffers.int32.buffer);\n\n/**\n * @type {boolean}\n * @const\n */\nflatbuffers.isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @constructor\n * @param {number} low\n * @param {number} high\n */\nflatbuffers.Long = function(low, high) {\n /**\n * @type {number}\n * @const\n */\n this.low = low | 0;\n\n /**\n * @type {number}\n * @const\n */\n this.high = high | 0;\n};\n\n/**\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.Long.create = function(low, high) {\n // Special-case zero to avoid GC overhead for default values\n return low == 0 && high == 0 ? flatbuffers.Long.ZERO : new flatbuffers.Long(low, high);\n};\n\n/**\n * @returns {number}\n */\nflatbuffers.Long.prototype.toFloat64 = function() {\n return (this.low >>> 0) + this.high * 0x100000000;\n};\n\n/**\n * @param {flatbuffers.Long} other\n * @returns {boolean}\n */\nflatbuffers.Long.prototype.equals = function(other) {\n return this.low == other.low && this.high == other.high;\n};\n\n/**\n * @type {flatbuffers.Long}\n * @const\n */\nflatbuffers.Long.ZERO = new flatbuffers.Long(0, 0);\n\n/// @endcond\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a FlatBufferBuilder.\n *\n * @constructor\n * @param {number=} opt_initial_size\n */\nflatbuffers.Builder = function(opt_initial_size) {\n if (!opt_initial_size) {\n var initial_size = 1024;\n } else {\n var initial_size = opt_initial_size;\n }\n\n /**\n * @type {flatbuffers.ByteBuffer}\n * @private\n */\n this.bb = flatbuffers.ByteBuffer.allocate(initial_size);\n\n /**\n * Remaining space in the ByteBuffer.\n *\n * @type {number}\n * @private\n */\n this.space = initial_size;\n\n /**\n * Minimum alignment encountered so far.\n *\n * @type {number}\n * @private\n */\n this.minalign = 1;\n\n /**\n * The vtable for the current table.\n *\n * @type {Array.}\n * @private\n */\n this.vtable = null;\n\n /**\n * The amount of fields we're actually using.\n *\n * @type {number}\n * @private\n */\n this.vtable_in_use = 0;\n\n /**\n * Whether we are currently serializing a table.\n *\n * @type {boolean}\n * @private\n */\n this.isNested = false;\n\n /**\n * Starting offset of the current struct/table.\n *\n * @type {number}\n * @private\n */\n this.object_start = 0;\n\n /**\n * List of offsets of all vtables.\n *\n * @type {Array.}\n * @private\n */\n this.vtables = [];\n\n /**\n * For the current vector being built.\n *\n * @type {number}\n * @private\n */\n this.vector_num_elems = 0;\n\n /**\n * False omits default values from the serialized data\n *\n * @type {boolean}\n * @private\n */\n this.force_defaults = false;\n};\n\nflatbuffers.Builder.prototype.clear = function() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n};\n\n/**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param {boolean} forceDefaults true always serializes default values\n */\nflatbuffers.Builder.prototype.forceDefaults = function(forceDefaults) {\n this.force_defaults = forceDefaults;\n};\n\n/**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n *\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.Builder.prototype.dataBuffer = function() {\n return this.bb;\n};\n\n/**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n *\n * @returns {Uint8Array}\n */\nflatbuffers.Builder.prototype.asUint8Array = function() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param {number} size This is the of the new element to write\n * @param {number} additional_bytes The padding size\n */\nflatbuffers.Builder.prototype.prep = function(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n var align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n var old_buf_size = this.bb.capacity();\n this.bb = flatbuffers.Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n\n this.pad(align_size);\n};\n\n/**\n * @param {number} byte_size\n */\nflatbuffers.Builder.prototype.pad = function(byte_size) {\n for (var i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt8 = function(value) {\n this.bb.writeInt8(this.space -= 1, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt16 = function(value) {\n this.bb.writeInt16(this.space -= 2, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeInt32 = function(value) {\n this.bb.writeInt32(this.space -= 4, value);\n};\n\n/**\n * @param {flatbuffers.Long} value\n */\nflatbuffers.Builder.prototype.writeInt64 = function(value) {\n this.bb.writeInt64(this.space -= 8, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat32 = function(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n};\n\n/**\n * @param {number} value\n */\nflatbuffers.Builder.prototype.writeFloat64 = function(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n};\n/// @endcond\n\n/**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int8` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt8 = function(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n};\n\n/**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int16` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt16 = function(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n};\n\n/**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `int32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt32 = function(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n};\n\n/**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {flatbuffers.Long} value The `int64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addInt64 = function(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n};\n\n/**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float32` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat32 = function(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n};\n\n/**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param {number} value The `float64` to add the the buffer.\n */\nflatbuffers.Builder.prototype.addFloat64 = function(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt8 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt16 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Long} value\n * @param {flatbuffers.Long} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldInt64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || !value.equals(defaultValue)) {\n this.addInt64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat32 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {number} value\n * @param {number} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldFloat64 = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n};\n\n/**\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldOffset = function(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n *\n * @param {number} voffset\n * @param {flatbuffers.Offset} value\n * @param {flatbuffers.Offset} defaultValue\n */\nflatbuffers.Builder.prototype.addFieldStruct = function(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n};\n\n/**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n *\n * @param {flatbuffers.Offset} obj The offset of the created object\n */\nflatbuffers.Builder.prototype.nested = function(obj) {\n if (obj != this.offset()) {\n throw new Error('FlatBuffers: struct must be serialized inline.');\n }\n};\n\n/**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\nflatbuffers.Builder.prototype.notNested = function() {\n if (this.isNested) {\n throw new Error('FlatBuffers: object serialization must not be nested.');\n }\n};\n\n/**\n * Set the current vtable at `voffset` to the current location in the buffer.\n *\n * @param {number} voffset\n */\nflatbuffers.Builder.prototype.slot = function(voffset) {\n this.vtable[voffset] = this.offset();\n};\n\n/**\n * @returns {flatbuffers.Offset} Offset relative to the end of the buffer.\n */\nflatbuffers.Builder.prototype.offset = function() {\n return this.bb.capacity() - this.space;\n};\n\n/**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param {flatbuffers.ByteBuffer} bb The current buffer with the existing data\n * @returns {flatbuffers.ByteBuffer} A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\nflatbuffers.Builder.growByteBuffer = function(bb) {\n var old_buf_size = bb.capacity();\n\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n\n var new_buf_size = old_buf_size << 1;\n var nbb = flatbuffers.ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n};\n/// @endcond\n\n/**\n * Adds on offset, relative to where it will be written.\n *\n * @param {flatbuffers.Offset} offset The offset to add.\n */\nflatbuffers.Builder.prototype.addOffset = function(offset) {\n this.prep(flatbuffers.SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + flatbuffers.SIZEOF_INT);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n *\n * @param {number} numfields\n */\nflatbuffers.Builder.prototype.startObject = function(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (var i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n};\n\n/**\n * Finish off writing the object that is under construction.\n *\n * @returns {flatbuffers.Offset} The offset to the object inside `dataBuffer`\n */\nflatbuffers.Builder.prototype.endObject = function() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n\n this.addInt32(0);\n var vtableloc = this.offset();\n\n // Trim trailing zeroes.\n var i = this.vtable_in_use - 1;\n for (; i >= 0 && this.vtable[i] == 0; i--) {}\n var trimmed_size = i + 1;\n\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n\n var standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n var len = (trimmed_size + standard_fields) * flatbuffers.SIZEOF_SHORT;\n this.addInt16(len);\n\n // Search for an existing vtable that matches the current one.\n var existing_vtable = 0;\n var vt1 = this.space;\nouter_loop:\n for (i = 0; i < this.vtables.length; i++) {\n var vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (var j = flatbuffers.SIZEOF_SHORT; j < len; j += flatbuffers.SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n } else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n\n this.isNested = false;\n return vtableloc;\n};\n/// @endcond\n\n/**\n * Finalize a buffer, poiting to the given `root_table`.\n *\n * @param {flatbuffers.Offset} root_table\n * @param {string=} opt_file_identifier\n */\nflatbuffers.Builder.prototype.finish = function(root_table, opt_file_identifier) {\n if (opt_file_identifier) {\n var file_identifier = opt_file_identifier;\n this.prep(this.minalign, flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n if (file_identifier.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = flatbuffers.FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, flatbuffers.SIZEOF_INT);\n this.addOffset(root_table);\n this.bb.setPosition(this.space);\n};\n\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n *\n * @param {flatbuffers.Offset} table\n * @param {number} field\n */\nflatbuffers.Builder.prototype.requiredField = function(table, field) {\n var table_start = this.bb.capacity() - table;\n var vtable_start = table_start - this.bb.readInt32(table_start);\n var ok = this.bb.readInt16(vtable_start + field) != 0;\n\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new Error('FlatBuffers: field ' + field + ' must be set');\n }\n};\n\n/**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param {number} elem_size The size of each element in the array\n * @param {number} num_elems The number of elements in the array\n * @param {number} alignment The alignment of the array\n */\nflatbuffers.Builder.prototype.startVector = function(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(flatbuffers.SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n};\n\n/**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns {flatbuffers.Offset} The offset at which the newly created array\n * starts.\n */\nflatbuffers.Builder.prototype.endVector = function() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n};\n/// @endcond\n\n/**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param {string|Uint8Array} s The string to encode\n * @return {flatbuffers.Offset} The offset in the buffer where the encoded string starts\n */\nflatbuffers.Builder.prototype.createString = function(s) {\n if (s instanceof Uint8Array) {\n var utf8 = s;\n } else {\n var utf8 = [];\n var i = 0;\n\n while (i < s.length) {\n var codePoint;\n\n // Decode UTF-16\n var a = s.charCodeAt(i++);\n if (a < 0xD800 || a >= 0xDC00) {\n codePoint = a;\n } else {\n var b = s.charCodeAt(i++);\n codePoint = (a << 10) + b + (0x10000 - (0xD800 << 10) - 0xDC00);\n }\n\n // Encode UTF-8\n if (codePoint < 0x80) {\n utf8.push(codePoint);\n } else {\n if (codePoint < 0x800) {\n utf8.push(((codePoint >> 6) & 0x1F) | 0xC0);\n } else {\n if (codePoint < 0x10000) {\n utf8.push(((codePoint >> 12) & 0x0F) | 0xE0);\n } else {\n utf8.push(\n ((codePoint >> 18) & 0x07) | 0xF0,\n ((codePoint >> 12) & 0x3F) | 0x80);\n }\n utf8.push(((codePoint >> 6) & 0x3F) | 0x80);\n }\n utf8.push((codePoint & 0x3F) | 0x80);\n }\n }\n }\n\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (var i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.Builder.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n////////////////////////////////////////////////////////////////////////////////\n/// @cond FLATBUFFERS_INTERNAL\n/**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`).\n *\n * @constructor\n * @param {Uint8Array} bytes\n */\nflatbuffers.ByteBuffer = function(bytes) {\n /**\n * @type {Uint8Array}\n * @private\n */\n this.bytes_ = bytes;\n\n /**\n * @type {number}\n * @private\n */\n this.position_ = 0;\n};\n\n/**\n * Create and allocate a new ByteBuffer with a given size.\n *\n * @param {number} byte_size\n * @returns {flatbuffers.ByteBuffer}\n */\nflatbuffers.ByteBuffer.allocate = function(byte_size) {\n return new flatbuffers.ByteBuffer(new Uint8Array(byte_size));\n};\n\nflatbuffers.ByteBuffer.prototype.clear = function() {\n this.position_ = 0;\n};\n\n/**\n * Get the underlying `Uint8Array`.\n *\n * @returns {Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.bytes = function() {\n return this.bytes_;\n};\n\n/**\n * Get the buffer's position.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.position = function() {\n return this.position_;\n};\n\n/**\n * Set the buffer's position.\n *\n * @param {number} position\n */\nflatbuffers.ByteBuffer.prototype.setPosition = function(position) {\n this.position_ = position;\n};\n\n/**\n * Get the buffer's capacity.\n *\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.capacity = function() {\n return this.bytes_.length;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt8 = function(offset) {\n return this.readUint8(offset) << 24 >> 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint8 = function(offset) {\n return this.bytes_[offset];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt16 = function(offset) {\n return this.readUint16(offset) << 16 >> 16;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint16 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readInt32 = function(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readUint32 = function(offset) {\n return this.readInt32(offset) >>> 0;\n};\n\n/**\n * @param {number} offset\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readInt64 = function(offset) {\n return new flatbuffers.Long(this.readInt32(offset), this.readInt32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.readUint64 = function(offset) {\n return new flatbuffers.Long(this.readUint32(offset), this.readUint32(offset + 4));\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat32 = function(offset) {\n flatbuffers.int32[0] = this.readInt32(offset);\n return flatbuffers.float32[0];\n};\n\n/**\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.readFloat64 = function(offset) {\n flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1] = this.readInt32(offset);\n flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return flatbuffers.float64[0];\n};\n\n/**\n * @param {number} offset\n * @param {number|boolean} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt8 = function(offset, value) {\n this.bytes_[offset] = /** @type {number} */(value);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint8 = function(offset, value) {\n this.bytes_[offset] = value;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint16 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint32 = function(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeInt64 = function(offset, value) {\n this.writeInt32(offset, value.low);\n this.writeInt32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {flatbuffers.Long} value\n */\nflatbuffers.ByteBuffer.prototype.writeUint64 = function(offset, value) {\n this.writeUint32(offset, value.low);\n this.writeUint32(offset + 4, value.high);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat32 = function(offset, value) {\n flatbuffers.float32[0] = value;\n this.writeInt32(offset, flatbuffers.int32[0]);\n};\n\n/**\n * @param {number} offset\n * @param {number} value\n */\nflatbuffers.ByteBuffer.prototype.writeFloat64 = function(offset, value) {\n flatbuffers.float64[0] = value;\n this.writeInt32(offset, flatbuffers.int32[flatbuffers.isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, flatbuffers.int32[flatbuffers.isLittleEndian ? 1 : 0]);\n};\n\n/**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n * @returns {string}\n */\nflatbuffers.ByteBuffer.prototype.getBufferIdentifier = function() {\n if (this.bytes_.length < this.position_ + flatbuffers.SIZEOF_INT +\n flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error(\n 'FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n var result = \"\";\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(\n this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i));\n }\n return result;\n};\n\n/**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n *\n * @param {number} bb_pos\n * @param {number} vtable_offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__offset = function(bb_pos, vtable_offset) {\n var vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n};\n\n/**\n * Initialize any Table-derived type to point to the union at the given offset.\n *\n * @param {flatbuffers.Table} t\n * @param {number} offset\n * @returns {flatbuffers.Table}\n */\nflatbuffers.ByteBuffer.prototype.__union = function(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n};\n\n/**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to UTF-16, pass flatbuffers.Encoding.UTF8_BYTES as\n * the \"optionalEncoding\" argument. This is useful for avoiding conversion to\n * and from UTF-16 when the data will just be packaged back up in another\n * FlatBuffer later on.\n *\n * @param {number} offset\n * @param {flatbuffers.Encoding=} opt_encoding Defaults to UTF16_STRING\n * @returns {string|Uint8Array}\n */\nflatbuffers.ByteBuffer.prototype.__string = function(offset, opt_encoding) {\n offset += this.readInt32(offset);\n\n var length = this.readInt32(offset);\n var result = '';\n var i = 0;\n\n offset += flatbuffers.SIZEOF_INT;\n\n if (opt_encoding === flatbuffers.Encoding.UTF8_BYTES) {\n return this.bytes_.subarray(offset, offset + length);\n }\n\n while (i < length) {\n var codePoint;\n\n // Decode UTF-8\n var a = this.readUint8(offset + i++);\n if (a < 0xC0) {\n codePoint = a;\n } else {\n var b = this.readUint8(offset + i++);\n if (a < 0xE0) {\n codePoint =\n ((a & 0x1F) << 6) |\n (b & 0x3F);\n } else {\n var c = this.readUint8(offset + i++);\n if (a < 0xF0) {\n codePoint =\n ((a & 0x0F) << 12) |\n ((b & 0x3F) << 6) |\n (c & 0x3F);\n } else {\n var d = this.readUint8(offset + i++);\n codePoint =\n ((a & 0x07) << 18) |\n ((b & 0x3F) << 12) |\n ((c & 0x3F) << 6) |\n (d & 0x3F);\n }\n }\n }\n\n // Encode UTF-16\n if (codePoint < 0x10000) {\n result += String.fromCharCode(codePoint);\n } else {\n codePoint -= 0x10000;\n result += String.fromCharCode(\n (codePoint >> 10) + 0xD800,\n (codePoint & ((1 << 10) - 1)) + 0xDC00);\n }\n }\n\n return result;\n};\n\n/**\n * Retrieve the relative offset stored at \"offset\"\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__indirect = function(offset) {\n return offset + this.readInt32(offset);\n};\n\n/**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector = function(offset) {\n return offset + this.readInt32(offset) + flatbuffers.SIZEOF_INT; // data starts after the length\n};\n\n/**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n *\n * @param {number} offset\n * @returns {number}\n */\nflatbuffers.ByteBuffer.prototype.__vector_len = function(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n};\n\n/**\n * @param {string} ident\n * @returns {boolean}\n */\nflatbuffers.ByteBuffer.prototype.__has_identifier = function(ident) {\n if (ident.length != flatbuffers.FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n flatbuffers.FILE_IDENTIFIER_LENGTH);\n }\n for (var i = 0; i < flatbuffers.FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position_ + flatbuffers.SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * A helper function to avoid generated code depending on this file directly.\n *\n * @param {number} low\n * @param {number} high\n * @returns {flatbuffers.Long}\n */\nflatbuffers.ByteBuffer.prototype.createLong = function(low, high) {\n return flatbuffers.Long.create(low, high);\n};\n\n// Exports for Node.js and RequireJS\nexport { flatbuffers };\n\n/// @endcond\n/// @}\n","'use strict';\n\n// This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n\n//\n// Utilities\n//\n\n/**\n * @param {number} a The number to test.\n * @param {number} min The minimum value in the range, inclusive.\n * @param {number} max The maximum value in the range, inclusive.\n * @return {boolean} True if a >= min and a <= max.\n */\nfunction inRange(a, min, max) {\n return min <= a && a <= max;\n}\n\n/**\n * @param {*} o\n * @return {Object}\n */\nfunction ToDictionary(o) {\n if (o === undefined) return {};\n if (o === Object(o)) return o;\n throw TypeError('Could not convert argument to dictionary');\n}\n\n/**\n * @param {string} string Input string of UTF-16 code units.\n * @return {!Array.} Code points.\n */\nfunction stringToCodePoints(string) {\n // https://heycam.github.io/webidl/#dfn-obtain-unicode\n\n // 1. Let S be the DOMString value.\n var s = String(string);\n\n // 2. Let n be the length of S.\n var n = s.length;\n\n // 3. Initialize i to 0.\n var i = 0;\n\n // 4. Initialize U to be an empty sequence of Unicode characters.\n var u = [];\n\n // 5. While i < n:\n while (i < n) {\n\n // 1. Let c be the code unit in S at index i.\n var c = s.charCodeAt(i);\n\n // 2. Depending on the value of c:\n\n // c < 0xD800 or c > 0xDFFF\n if (c < 0xD800 || c > 0xDFFF) {\n // Append to U the Unicode character with code point c.\n u.push(c);\n }\n\n // 0xDC00 ≤ c ≤ 0xDFFF\n else if (0xDC00 <= c && c <= 0xDFFF) {\n // Append to U a U+FFFD REPLACEMENT CHARACTER.\n u.push(0xFFFD);\n }\n\n // 0xD800 ≤ c ≤ 0xDBFF\n else if (0xD800 <= c && c <= 0xDBFF) {\n // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT\n // CHARACTER.\n if (i === n - 1) {\n u.push(0xFFFD);\n }\n // 2. Otherwise, i < n−1:\n else {\n // 1. Let d be the code unit in S at index i+1.\n var d = string.charCodeAt(i + 1);\n\n // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:\n if (0xDC00 <= d && d <= 0xDFFF) {\n // 1. Let a be c & 0x3FF.\n var a = c & 0x3FF;\n\n // 2. Let b be d & 0x3FF.\n var b = d & 0x3FF;\n\n // 3. Append to U the Unicode character with code point\n // 2^16+2^10*a+b.\n u.push(0x10000 + (a << 10) + b);\n\n // 4. Set i to i+1.\n i += 1;\n }\n\n // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a\n // U+FFFD REPLACEMENT CHARACTER.\n else {\n u.push(0xFFFD);\n }\n }\n }\n\n // 3. Set i to i+1.\n i += 1;\n }\n\n // 6. Return U.\n return u;\n}\n\n/**\n * @param {!Array.} code_points Array of code points.\n * @return {string} string String of UTF-16 code units.\n */\nfunction codePointsToString(code_points) {\n var s = '';\n for (var i = 0; i < code_points.length; ++i) {\n var cp = code_points[i];\n if (cp <= 0xFFFF) {\n s += String.fromCharCode(cp);\n } else {\n cp -= 0x10000;\n s += String.fromCharCode((cp >> 10) + 0xD800,\n (cp & 0x3FF) + 0xDC00);\n }\n }\n return s;\n}\n\n\n//\n// Implementation of Encoding specification\n// https://encoding.spec.whatwg.org/\n//\n\n//\n// 3. Terminology\n//\n\n/**\n * End-of-stream is a special token that signifies no more tokens\n * are in the stream.\n * @const\n */ var end_of_stream = -1;\n\n/**\n * A stream represents an ordered sequence of tokens.\n *\n * @constructor\n * @param {!(Array.|Uint8Array)} tokens Array of tokens that provide the\n * stream.\n */\nfunction Stream(tokens) {\n /** @type {!Array.} */\n this.tokens = [].slice.call(tokens);\n}\n\nStream.prototype = {\n /**\n * @return {boolean} True if end-of-stream has been hit.\n */\n endOfStream: function() {\n return !this.tokens.length;\n },\n\n /**\n * When a token is read from a stream, the first token in the\n * stream must be returned and subsequently removed, and\n * end-of-stream must be returned otherwise.\n *\n * @return {number} Get the next token from the stream, or\n * end_of_stream.\n */\n read: function() {\n if (!this.tokens.length)\n return end_of_stream;\n return this.tokens.shift();\n },\n\n /**\n * When one or more tokens are prepended to a stream, those tokens\n * must be inserted, in given order, before the first token in the\n * stream.\n *\n * @param {(number|!Array.)} token The token(s) to prepend to the stream.\n */\n prepend: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.unshift(tokens.pop());\n } else {\n this.tokens.unshift(token);\n }\n },\n\n /**\n * When one or more tokens are pushed to a stream, those tokens\n * must be inserted, in given order, after the last token in the\n * stream.\n *\n * @param {(number|!Array.)} token The tokens(s) to prepend to the stream.\n */\n push: function(token) {\n if (Array.isArray(token)) {\n var tokens = /**@type {!Array.}*/(token);\n while (tokens.length)\n this.tokens.push(tokens.shift());\n } else {\n this.tokens.push(token);\n }\n }\n};\n\n//\n// 4. Encodings\n//\n\n// 4.1 Encoders and decoders\n\n/** @const */\nvar finished = -1;\n\n/**\n * @param {boolean} fatal If true, decoding errors raise an exception.\n * @param {number=} opt_code_point Override the standard fallback code point.\n * @return {number} The code point to insert on a decoding error.\n */\nfunction decoderError(fatal, opt_code_point) {\n if (fatal)\n throw TypeError('Decoder error');\n return opt_code_point || 0xFFFD;\n}\n\n/** @interface */\nfunction Decoder() {}\nDecoder.prototype = {\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point, or |finished|.\n */\n handler: function(stream, bite) {}\n};\n\n/** @interface */\nfunction Encoder() {}\nEncoder.prototype = {\n /**\n * @param {Stream} stream The stream of code points being encoded.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit, or |finished|.\n */\n handler: function(stream, code_point) {}\n};\n\n//\n// 7. API\n//\n\n/** @const */ var DEFAULT_ENCODING = 'utf-8';\n\n// 7.1 Interface TextDecoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\nfunction TextDecoder(encoding, options) {\n if (!(this instanceof TextDecoder)) {\n return new TextDecoder(encoding, options);\n }\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n options = ToDictionary(options);\n\n /** @private @type {boolean} */\n this._streaming = false;\n /** @private @type {boolean} */\n this._BOMseen = false;\n /** @private @type {?Decoder} */\n this._decoder = null;\n /** @private @type {boolean} */\n this._fatal = Boolean(options['fatal']);\n /** @private @type {boolean} */\n this._ignoreBOM = Boolean(options['ignoreBOM']);\n\n Object.defineProperty(this, 'encoding', {value: 'utf-8'});\n Object.defineProperty(this, 'fatal', {value: this._fatal});\n Object.defineProperty(this, 'ignoreBOM', {value: this._ignoreBOM});\n}\n\nTextDecoder.prototype = {\n /**\n * @param {ArrayBufferView=} input The buffer of bytes to decode.\n * @param {Object=} options\n * @return {string} The decoded string.\n */\n decode: function decode(input, options) {\n var bytes;\n if (typeof input === 'object' && input instanceof ArrayBuffer) {\n bytes = new Uint8Array(input);\n } else if (typeof input === 'object' && 'buffer' in input &&\n input.buffer instanceof ArrayBuffer) {\n bytes = new Uint8Array(input.buffer,\n input.byteOffset,\n input.byteLength);\n } else {\n bytes = new Uint8Array(0);\n }\n\n options = ToDictionary(options);\n\n if (!this._streaming) {\n this._decoder = new UTF8Decoder({fatal: this._fatal});\n this._BOMseen = false;\n }\n this._streaming = Boolean(options['stream']);\n\n var input_stream = new Stream(bytes);\n\n var code_points = [];\n\n /** @type {?(number|!Array.)} */\n var result;\n\n while (!input_stream.endOfStream()) {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (result === null)\n continue;\n if (Array.isArray(result))\n code_points.push.apply(code_points, /**@type {!Array.}*/(result));\n else\n code_points.push(result);\n }\n if (!this._streaming) {\n do {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (result === null)\n continue;\n if (Array.isArray(result))\n code_points.push.apply(code_points, /**@type {!Array.}*/(result));\n else\n code_points.push(result);\n } while (!input_stream.endOfStream());\n this._decoder = null;\n }\n\n if (code_points.length) {\n // If encoding is one of utf-8, utf-16be, and utf-16le, and\n // ignore BOM flag and BOM seen flag are unset, run these\n // subsubsteps:\n if (['utf-8'].indexOf(this.encoding) !== -1 &&\n !this._ignoreBOM && !this._BOMseen) {\n // If token is U+FEFF, set BOM seen flag.\n if (code_points[0] === 0xFEFF) {\n this._BOMseen = true;\n code_points.shift();\n } else {\n // Otherwise, if token is not end-of-stream, set BOM seen\n // flag and append token to output.\n this._BOMseen = true;\n }\n }\n }\n\n return codePointsToString(code_points);\n }\n};\n\n// 7.2 Interface TextEncoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\nfunction TextEncoder(encoding, options) {\n if (!(this instanceof TextEncoder))\n return new TextEncoder(encoding, options);\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n options = ToDictionary(options);\n\n /** @private @type {boolean} */\n this._streaming = false;\n /** @private @type {?Encoder} */\n this._encoder = null;\n /** @private @type {{fatal: boolean}} */\n this._options = {fatal: Boolean(options['fatal'])};\n\n Object.defineProperty(this, 'encoding', {value: 'utf-8'});\n}\n\nTextEncoder.prototype = {\n /**\n * @param {string=} opt_string The string to encode.\n * @param {Object=} options\n * @return {Uint8Array} Encoded bytes, as a Uint8Array.\n */\n encode: function encode(opt_string, options) {\n opt_string = opt_string ? String(opt_string) : '';\n options = ToDictionary(options);\n\n // NOTE: This option is nonstandard. None of the encodings\n // permitted for encoding (i.e. UTF-8, UTF-16) are stateful,\n // so streaming is not necessary.\n if (!this._streaming)\n this._encoder = new UTF8Encoder(this._options);\n this._streaming = Boolean(options['stream']);\n\n var bytes = [];\n var input_stream = new Stream(stringToCodePoints(opt_string));\n /** @type {?(number|!Array.)} */\n var result;\n while (!input_stream.endOfStream()) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (Array.isArray(result))\n bytes.push.apply(bytes, /**@type {!Array.}*/(result));\n else\n bytes.push(result);\n }\n if (!this._streaming) {\n while (true) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished)\n break;\n if (Array.isArray(result))\n bytes.push.apply(bytes, /**@type {!Array.}*/(result));\n else\n bytes.push(result);\n }\n this._encoder = null;\n }\n return new Uint8Array(bytes);\n }\n};\n\n//\n// 8. The encoding\n//\n\n// 8.1 utf-8\n\n/**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\nfunction UTF8Decoder(options) {\n var fatal = options.fatal;\n\n // utf-8's decoder's has an associated utf-8 code point, utf-8\n // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8\n // lower boundary (initially 0x80), and a utf-8 upper boundary\n // (initially 0xBF).\n var /** @type {number} */ utf8_code_point = 0,\n /** @type {number} */ utf8_bytes_seen = 0,\n /** @type {number} */ utf8_bytes_needed = 0,\n /** @type {number} */ utf8_lower_boundary = 0x80,\n /** @type {number} */ utf8_upper_boundary = 0xBF;\n\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n this.handler = function(stream, bite) {\n // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,\n // set utf-8 bytes needed to 0 and return error.\n if (bite === end_of_stream && utf8_bytes_needed !== 0) {\n utf8_bytes_needed = 0;\n return decoderError(fatal);\n }\n\n // 2. If byte is end-of-stream, return finished.\n if (bite === end_of_stream)\n return finished;\n\n // 3. If utf-8 bytes needed is 0, based on byte:\n if (utf8_bytes_needed === 0) {\n\n // 0x00 to 0x7F\n if (inRange(bite, 0x00, 0x7F)) {\n // Return a code point whose value is byte.\n return bite;\n }\n\n // 0xC2 to 0xDF\n if (inRange(bite, 0xC2, 0xDF)) {\n // Set utf-8 bytes needed to 1 and utf-8 code point to byte\n // − 0xC0.\n utf8_bytes_needed = 1;\n utf8_code_point = bite - 0xC0;\n }\n\n // 0xE0 to 0xEF\n else if (inRange(bite, 0xE0, 0xEF)) {\n // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.\n if (bite === 0xE0)\n utf8_lower_boundary = 0xA0;\n // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.\n if (bite === 0xED)\n utf8_upper_boundary = 0x9F;\n // 3. Set utf-8 bytes needed to 2 and utf-8 code point to\n // byte − 0xE0.\n utf8_bytes_needed = 2;\n utf8_code_point = bite - 0xE0;\n }\n\n // 0xF0 to 0xF4\n else if (inRange(bite, 0xF0, 0xF4)) {\n // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.\n if (bite === 0xF0)\n utf8_lower_boundary = 0x90;\n // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.\n if (bite === 0xF4)\n utf8_upper_boundary = 0x8F;\n // 3. Set utf-8 bytes needed to 3 and utf-8 code point to\n // byte − 0xF0.\n utf8_bytes_needed = 3;\n utf8_code_point = bite - 0xF0;\n }\n\n // Otherwise\n else {\n // Return error.\n return decoderError(fatal);\n }\n\n // Then (byte is in the range 0xC2 to 0xF4) set utf-8 code\n // point to utf-8 code point << (6 × utf-8 bytes needed) and\n // return continue.\n utf8_code_point = utf8_code_point << (6 * utf8_bytes_needed);\n return null;\n }\n\n // 4. If byte is not in the range utf-8 lower boundary to utf-8\n // upper boundary, run these substeps:\n if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {\n\n // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8\n // bytes seen to 0, set utf-8 lower boundary to 0x80, and set\n // utf-8 upper boundary to 0xBF.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 2. Prepend byte to stream.\n stream.prepend(bite);\n\n // 3. Return error.\n return decoderError(fatal);\n }\n\n // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary\n // to 0xBF.\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF;\n\n // 6. Increase utf-8 bytes seen by one and set utf-8 code point\n // to utf-8 code point + (byte − 0x80) << (6 × (utf-8 bytes\n // needed − utf-8 bytes seen)).\n utf8_bytes_seen += 1;\n utf8_code_point += (bite - 0x80) << (6 * (utf8_bytes_needed - utf8_bytes_seen));\n\n // 7. If utf-8 bytes seen is not equal to utf-8 bytes needed,\n // continue.\n if (utf8_bytes_seen !== utf8_bytes_needed)\n return null;\n\n // 8. Let code point be utf-8 code point.\n var code_point = utf8_code_point;\n\n // 9. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes\n // seen to 0.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n\n // 10. Return a code point whose value is code point.\n return code_point;\n };\n}\n\n/**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\nfunction UTF8Encoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n this.handler = function(stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream)\n return finished;\n\n // 2. If code point is in the range U+0000 to U+007F, return a\n // byte whose value is code point.\n if (inRange(code_point, 0x0000, 0x007f))\n return code_point;\n\n // 3. Set count and offset based on the range code point is in:\n var count, offset;\n // U+0080 to U+07FF: 1 and 0xC0\n if (inRange(code_point, 0x0080, 0x07FF)) {\n count = 1;\n offset = 0xC0;\n }\n // U+0800 to U+FFFF: 2 and 0xE0\n else if (inRange(code_point, 0x0800, 0xFFFF)) {\n count = 2;\n offset = 0xE0;\n }\n // U+10000 to U+10FFFF: 3 and 0xF0\n else if (inRange(code_point, 0x10000, 0x10FFFF)) {\n count = 3;\n offset = 0xF0;\n }\n\n // 4.Let bytes be a byte sequence whose first byte is (code\n // point >> (6 × count)) + offset.\n var bytes = [(code_point >> (6 * count)) + offset];\n\n // 5. Run these substeps while count is greater than 0:\n while (count > 0) {\n\n // 1. Set temp to code point >> (6 × (count − 1)).\n var temp = code_point >> (6 * (count - 1));\n\n // 2. Append to bytes 0x80 | (temp & 0x3F).\n bytes.push(0x80 | (temp & 0x3F));\n\n // 3. Decrease count by one.\n count -= 1;\n }\n\n // 6. Return bytes bytes, in order.\n return bytes;\n };\n}\n\nexport {TextEncoder, TextDecoder};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { toUint8Array } from './buffer';\nimport {\n TextDecoder as TextDecoderPolyfill,\n TextEncoder as TextEncoderPolyfill,\n} from 'text-encoding-utf-8';\n\n/** @ignore @suppress {missingRequire} */\nconst _Buffer = typeof Buffer === 'function' ? Buffer : null;\n/** @ignore */\nconst useNativeEncoders = typeof TextDecoder === 'function' && typeof TextEncoder === 'function';\n\n/** @ignore */\nexport const decodeUtf8 = ((TextDecoder) => {\n if (useNativeEncoders || !_Buffer) {\n const decoder = new TextDecoder('utf-8');\n return (buffer?: ArrayBuffer | ArrayBufferView) => decoder.decode(buffer);\n }\n return (input: ArrayBufferLike | ArrayBufferView) => {\n const { buffer, byteOffset, length } = toUint8Array(input);\n return _Buffer.from(buffer, byteOffset, length).toString();\n };\n})(typeof TextDecoder !== 'undefined' ? TextDecoder : TextDecoderPolyfill);\n\n/** @ignore */\nexport const encodeUtf8 = ((TextEncoder) => {\n if (useNativeEncoders || !_Buffer) {\n const encoder = new TextEncoder();\n return (value?: string) => encoder.encode(value);\n }\n return (input = '') => toUint8Array(_Buffer.from(input, 'utf8'));\n})(typeof TextEncoder !== 'undefined' ? TextEncoder : TextEncoderPolyfill);\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters';\n\n/** @ignore */\nexport const ITERATOR_DONE: any = Object.freeze({ done: true, value: void (0) });\n\n/** @ignore */\nexport type FileHandle = import('fs').promises.FileHandle;\n/** @ignore */\nexport type ArrowJSONLike = { schema: any; batches?: any[]; dictionaries?: any[]; };\n/** @ignore */\nexport type ReadableDOMStreamOptions = { type: 'bytes' | undefined, autoAllocateChunkSize?: number, highWaterMark?: number };\n\n/** @ignore */\nexport class ArrowJSON {\n // @ts-ignore\n constructor(private _json: ArrowJSONLike) {}\n public get schema(): any { return this._json['schema']; }\n public get batches(): any[] { return (this._json['batches'] || []) as any[]; }\n public get dictionaries(): any[] { return (this._json['dictionaries'] || []) as any[]; }\n}\n\n/** @ignore */\nexport interface Readable {\n\n readonly closed: Promise;\n cancel(reason?: any): Promise;\n\n read(size?: number | null): Promise;\n peek(size?: number | null): Promise;\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(size?: number | null): Promise>;\n}\n\n/** @ignore */\nexport interface Writable {\n readonly closed: Promise;\n close(): void;\n write(chunk: T): void;\n abort(reason?: any): void;\n}\n\n/** @ignore */\nexport interface ReadableWritable extends Readable, Writable {\n [Symbol.asyncIterator](): AsyncIterableIterator;\n toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream;\n toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n}\n\n/** @ignore */\nexport abstract class ReadableInterop {\n\n public abstract toDOMStream(options?: ReadableDOMStreamOptions): ReadableStream;\n public abstract toNodeStream(options?: import('stream').ReadableOptions): import('stream').Readable;\n\n public tee(): [ReadableStream, ReadableStream] {\n return this._getDOMStream().tee();\n }\n public pipe(writable: R, options?: { end?: boolean; }) {\n return this._getNodeStream().pipe(writable, options);\n }\n public pipeTo(writable: WritableStream, options?: PipeOptions) { return this._getDOMStream().pipeTo(writable, options); }\n public pipeThrough>(duplex: { writable: WritableStream, readable: R }, options?: PipeOptions) {\n return this._getDOMStream().pipeThrough(duplex, options);\n }\n\n protected _DOMStream?: ReadableStream;\n private _getDOMStream() {\n return this._DOMStream || (this._DOMStream = this.toDOMStream());\n }\n\n protected _nodeStream?: import('stream').Readable;\n private _getNodeStream() {\n return this._nodeStream || (this._nodeStream = this.toNodeStream());\n }\n}\n\n/** @ignore */\ntype Resolution = { resolve: (value?: T | PromiseLike) => void; reject: (reason?: any) => void; };\n\n/** @ignore */\nexport class AsyncQueue extends ReadableInterop\n implements AsyncIterableIterator, ReadableWritable {\n\n protected _values: TWritable[] = [];\n protected _error?: { error: any; };\n protected _closedPromise: Promise;\n protected _closedPromiseResolve?: (value?: any) => void;\n protected resolvers: Resolution>[] = [];\n\n constructor() {\n super();\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n\n public get closed(): Promise { return this._closedPromise; }\n public async cancel(reason?: any) { await this.return(reason); }\n public write(value: TWritable) {\n if (this._ensureOpen()) {\n this.resolvers.length <= 0\n ? (this._values.push(value))\n : (this.resolvers.shift()!.resolve({ done: false, value } as any));\n }\n }\n public abort(value?: any) {\n if (this._closedPromiseResolve) {\n this.resolvers.length <= 0\n ? (this._error = { error: value })\n : (this.resolvers.shift()!.reject({ done: true, value }));\n }\n }\n public close() {\n if (this._closedPromiseResolve) {\n const { resolvers } = this;\n while (resolvers.length > 0) {\n resolvers.shift()!.resolve(ITERATOR_DONE);\n }\n this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n }\n }\n\n public [Symbol.asyncIterator]() { return this; }\n public toDOMStream(options?: ReadableDOMStreamOptions) {\n return streamAdapters.toDOMStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable)\n : (this._values as any) as Iterable,\n options);\n }\n public toNodeStream(options?: import('stream').ReadableOptions) {\n return streamAdapters.toNodeStream(\n (this._closedPromiseResolve || this._error)\n ? (this as AsyncIterable)\n : (this._values as any) as Iterable,\n options);\n }\n public async throw(_?: any) { await this.abort(_); return ITERATOR_DONE; }\n public async return(_?: any) { await this.close(); return ITERATOR_DONE; }\n\n public async read(size?: number | null): Promise { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise { return (await this.next(size, 'peek')).value; }\n public next(..._args: any[]): Promise> {\n if (this._values.length > 0) {\n return Promise.resolve({ done: false, value: this._values.shift()! } as any);\n } else if (this._error) {\n return Promise.reject({ done: true, value: this._error.error });\n } else if (!this._closedPromiseResolve) {\n return Promise.resolve(ITERATOR_DONE);\n } else {\n return new Promise>((resolve, reject) => {\n this.resolvers.push({ resolve, reject });\n });\n }\n }\n\n protected _ensureOpen() {\n if (this._closedPromiseResolve) {\n return true;\n }\n throw new Error(`${this} is closed`);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ReadableInterop, ArrowJSONLike } from '../io/interfaces';\n\n/** @ignore */\ntype FSReadStream = import('fs').ReadStream;\n/** @ignore */\ntype FileHandle = import('fs').promises.FileHandle;\n\n/** @ignore */\nexport interface Subscription {\n unsubscribe: () => void;\n}\n\n/** @ignore */\nexport interface Observer {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\n/** @ignore */\nexport interface Observable {\n subscribe: (observer: Observer) => Subscription;\n}\n\n/** @ignore */\nconst [BigIntCtor, BigIntAvailable] = (() => {\n const BigIntUnavailableError = () => { throw new Error('BigInt is not available in this environment'); };\n function BigIntUnavailable() { throw BigIntUnavailableError(); }\n BigIntUnavailable.asIntN = () => { throw BigIntUnavailableError(); };\n BigIntUnavailable.asUintN = () => { throw BigIntUnavailableError(); };\n return typeof BigInt !== 'undefined' ? [BigInt, true] : [ BigIntUnavailable, false];\n})() as [BigIntConstructor, boolean];\n\n/** @ignore */\nconst [BigInt64ArrayCtor, BigInt64ArrayAvailable] = (() => {\n const BigInt64ArrayUnavailableError = () => { throw new Error('BigInt64Array is not available in this environment'); };\n class BigInt64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigInt64ArrayUnavailableError(); }\n static from() { throw BigInt64ArrayUnavailableError(); }\n constructor() { throw BigInt64ArrayUnavailableError(); }\n }\n return typeof BigInt64Array !== 'undefined' ? [BigInt64Array, true] : [ BigInt64ArrayUnavailable, false];\n})() as [BigInt64ArrayConstructor, boolean];\n\n/** @ignore */\nconst [BigUint64ArrayCtor, BigUint64ArrayAvailable] = (() => {\n const BigUint64ArrayUnavailableError = () => { throw new Error('BigUint64Array is not available in this environment'); };\n class BigUint64ArrayUnavailable {\n static get BYTES_PER_ELEMENT() { return 8; }\n static of() { throw BigUint64ArrayUnavailableError(); }\n static from() { throw BigUint64ArrayUnavailableError(); }\n constructor() { throw BigUint64ArrayUnavailableError(); }\n }\n return typeof BigUint64Array !== 'undefined' ? [BigUint64Array, true] : [ BigUint64ArrayUnavailable, false];\n})() as [BigUint64ArrayConstructor, boolean];\n\nexport { BigIntCtor as BigInt, BigIntAvailable };\nexport { BigInt64ArrayCtor as BigInt64Array, BigInt64ArrayAvailable };\nexport { BigUint64ArrayCtor as BigUint64Array, BigUint64ArrayAvailable };\n\n/** @ignore */ const isNumber = (x: any) => typeof x === 'number';\n/** @ignore */ const isBoolean = (x: any) => typeof x === 'boolean';\n/** @ignore */ const isFunction = (x: any) => typeof x === 'function';\n/** @ignore */\nexport const isObject = (x: any): x is Object => x != null && Object(x) === x;\n\n/** @ignore */\nexport const isPromise = (x: any): x is PromiseLike => {\n return isObject(x) && isFunction(x.then);\n};\n\n/** @ignore */\nexport const isObservable = (x: any): x is Observable => {\n return isObject(x) && isFunction(x.subscribe);\n};\n\n/** @ignore */\nexport const isIterable = (x: any): x is Iterable => {\n return isObject(x) && isFunction(x[Symbol.iterator]);\n};\n\n/** @ignore */\nexport const isAsyncIterable = (x: any): x is AsyncIterable => {\n return isObject(x) && isFunction(x[Symbol.asyncIterator]);\n};\n\n/** @ignore */\nexport const isArrowJSON = (x: any): x is ArrowJSONLike => {\n return isObject(x) && isObject(x['schema']);\n};\n\n/** @ignore */\nexport const isArrayLike = (x: any): x is ArrayLike => {\n return isObject(x) && isNumber(x['length']);\n};\n\n/** @ignore */\nexport const isIteratorResult = (x: any): x is IteratorResult => {\n return isObject(x) && ('done' in x) && ('value' in x);\n};\n\n/** @ignore */\nexport const isUnderlyingSink = (x: any): x is UnderlyingSink => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['close']) &&\n isFunction(x['start']) &&\n isFunction(x['write']);\n};\n\n/** @ignore */\nexport const isFileHandle = (x: any): x is FileHandle => {\n return isObject(x) && isFunction(x['stat']) && isNumber(x['fd']);\n};\n\n/** @ignore */\nexport const isFSReadStream = (x: any): x is FSReadStream => {\n return isReadableNodeStream(x) && isNumber(( x)['bytesRead']);\n};\n\n/** @ignore */\nexport const isFetchResponse = (x: any): x is Response => {\n return isObject(x) && isReadableDOMStream(x['body']);\n};\n\n/** @ignore */\nexport const isWritableDOMStream = (x: any): x is WritableStream => {\n return isObject(x) &&\n isFunction(x['abort']) &&\n isFunction(x['getWriter']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isReadableDOMStream = (x: any): x is ReadableStream => {\n return isObject(x) &&\n isFunction(x['cancel']) &&\n isFunction(x['getReader']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isWritableNodeStream = (x: any): x is NodeJS.WritableStream => {\n return isObject(x) &&\n isFunction(x['end']) &&\n isFunction(x['write']) &&\n isBoolean(x['writable']) &&\n !(x instanceof ReadableInterop);\n};\n\n/** @ignore */\nexport const isReadableNodeStream = (x: any): x is NodeJS.ReadableStream => {\n return isObject(x) &&\n isFunction(x['read']) &&\n isFunction(x['pipe']) &&\n isBoolean(x['readable']) &&\n !(x instanceof ReadableInterop);\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport { encodeUtf8 } from '../util/utf8';\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport { TypedArray, TypedArrayConstructor } from '../interfaces';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces';\nimport { isPromise, isIterable, isAsyncIterable, isIteratorResult, BigInt64Array, BigUint64Array } from './compat';\n\n/** @ignore */\nconst SharedArrayBuf = (typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : ArrayBuffer);\n\n/** @ignore */\nfunction collapseContiguousByteRanges(chunks: Uint8Array[]) {\n let result = chunks[0] ? [chunks[0]] : [];\n let xOffset: number, yOffset: number, xLen: number, yLen: number;\n for (let x, y, i = 0, j = 0, n = chunks.length; ++i < n;) {\n x = result[j];\n y = chunks[i];\n // continue if x and y don't share the same underlying ArrayBuffer, or if x isn't before y\n if (!x || !y || x.buffer !== y.buffer || y.byteOffset < x.byteOffset) {\n y && (result[++j] = y);\n continue;\n }\n ({ byteOffset: xOffset, byteLength: xLen } = x);\n ({ byteOffset: yOffset, byteLength: yLen } = y);\n // continue if the byte ranges of x and y aren't contiguous\n if ((xOffset + xLen) < yOffset || (yOffset + yLen) < xOffset) {\n y && (result[++j] = y);\n continue;\n }\n result[j] = new Uint8Array(x.buffer, xOffset, yOffset - xOffset + yLen);\n }\n return result;\n}\n\n/** @ignore */\nexport function memcpy(target: TTarget, source: TSource, targetByteOffset = 0, sourceByteLength = source.byteLength) {\n const targetByteLength = target.byteLength;\n const dst = new Uint8Array(target.buffer, target.byteOffset, targetByteLength);\n const src = new Uint8Array(source.buffer, source.byteOffset, Math.min(sourceByteLength, targetByteLength));\n dst.set(src, targetByteOffset);\n return target;\n}\n\n/** @ignore */\nexport function joinUint8Arrays(chunks: Uint8Array[], size?: number | null): [Uint8Array, Uint8Array[], number] {\n // collapse chunks that share the same underlying ArrayBuffer and whose byte ranges overlap,\n // to avoid unnecessarily copying the bytes to do this buffer join. This is a common case during\n // streaming, where we may be reading partial byte ranges out of the same underlying ArrayBuffer\n let result = collapseContiguousByteRanges(chunks);\n let byteLength = result.reduce((x, b) => x + b.byteLength, 0);\n let source: Uint8Array, sliced: Uint8Array, buffer: Uint8Array | void;\n let offset = 0, index = -1, length = Math.min(size || Infinity, byteLength);\n for (let n = result.length; ++index < n;) {\n source = result[index];\n sliced = source.subarray(0, Math.min(source.length, length - offset));\n if (length <= (offset + sliced.length)) {\n if (sliced.length < source.length) {\n result[index] = source.subarray(sliced.length);\n } else if (sliced.length === source.length) { index++; }\n buffer ? memcpy(buffer, sliced, offset) : (buffer = sliced);\n break;\n }\n memcpy(buffer || (buffer = new Uint8Array(length)), sliced, offset);\n offset += sliced.length;\n }\n return [buffer || new Uint8Array(0), result.slice(index), byteLength - (buffer ? buffer.byteLength : 0)];\n}\n\n/** @ignore */\nexport type ArrayBufferViewInput = ArrayBufferView | ArrayBufferLike | ArrayBufferView | Iterable | ArrayLike | ByteBuffer | string | null | undefined |\n IteratorResult | ArrayLike | ByteBuffer | string | null | undefined> |\n ReadableStreamReadResult | ArrayLike | ByteBuffer | string | null | undefined> ;\n\n/** @ignore */\nexport function toArrayBufferView(ArrayBufferViewCtor: TypedArrayConstructor, input: ArrayBufferViewInput): T;\nexport function toArrayBufferView(ArrayBufferViewCtor: BigIntArrayConstructor, input: ArrayBufferViewInput): T;\nexport function toArrayBufferView(ArrayBufferViewCtor: any, input: ArrayBufferViewInput) {\n\n let value: any = isIteratorResult(input) ? input.value : input;\n\n if (value instanceof ArrayBufferViewCtor) {\n if (ArrayBufferViewCtor === Uint8Array) {\n // Node's `Buffer` class passes the `instanceof Uint8Array` check, but we need\n // a real Uint8Array, since Buffer#slice isn't the same as Uint8Array#slice :/\n return new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength);\n }\n return value;\n }\n if (!value) { return new ArrayBufferViewCtor(0); }\n if (typeof value === 'string') { value = encodeUtf8(value); }\n if (value instanceof ArrayBuffer) { return new ArrayBufferViewCtor(value); }\n if (value instanceof SharedArrayBuf) { return new ArrayBufferViewCtor(value); }\n if (value instanceof ByteBuffer) { return toArrayBufferView(ArrayBufferViewCtor, value.bytes()); }\n return !ArrayBuffer.isView(value) ? ArrayBufferViewCtor.from(value) : value.byteLength <= 0 ? new ArrayBufferViewCtor(0)\n : new ArrayBufferViewCtor(value.buffer, value.byteOffset, value.byteLength / ArrayBufferViewCtor.BYTES_PER_ELEMENT);\n}\n\n/** @ignore */ export const toInt8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int8Array, input);\n/** @ignore */ export const toInt16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int16Array, input);\n/** @ignore */ export const toInt32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Int32Array, input);\n/** @ignore */ export const toBigInt64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigInt64Array, input);\n/** @ignore */ export const toUint8Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8Array, input);\n/** @ignore */ export const toUint16Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint16Array, input);\n/** @ignore */ export const toUint32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Uint32Array, input);\n/** @ignore */ export const toBigUint64Array = (input: ArrayBufferViewInput) => toArrayBufferView(BigUint64Array, input);\n/** @ignore */ export const toFloat32Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float32Array, input);\n/** @ignore */ export const toFloat64Array = (input: ArrayBufferViewInput) => toArrayBufferView(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArray = (input: ArrayBufferViewInput) => toArrayBufferView(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewIteratorInput = Iterable | ArrayBufferViewInput;\n\n/** @ignore */\nconst pump = | AsyncIterator>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nexport function* toArrayBufferViewIterator(ArrayCtor: TypedArrayConstructor, source: ArrayBufferViewIteratorInput) {\n\n const wrap = function*(x: T) { yield x; };\n const buffers: Iterable =\n (typeof source === 'string') ? wrap(source)\n : (ArrayBuffer.isView(source)) ? wrap(source)\n : (source instanceof ArrayBuffer) ? wrap(source)\n : (source instanceof SharedArrayBuf) ? wrap(source)\n : !isIterable(source) ? wrap(source) : source;\n\n yield* pump((function* (it) {\n let r: IteratorResult = null;\n do {\n r = it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.iterator]()));\n}\n\n/** @ignore */ export const toInt8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayIterator = (input: ArrayBufferViewIteratorInput) => toArrayBufferViewIterator(Uint8ClampedArray, input);\n\n/** @ignore */\ntype ArrayBufferViewAsyncIteratorInput = AsyncIterable | Iterable | PromiseLike | ArrayBufferViewInput;\n\n/** @ignore */\nexport async function* toArrayBufferViewAsyncIterator(ArrayCtor: TypedArrayConstructor, source: ArrayBufferViewAsyncIteratorInput): AsyncIterableIterator {\n\n // if a Promise, unwrap the Promise and iterate the resolved value\n if (isPromise(source)) {\n return yield* toArrayBufferViewAsyncIterator(ArrayCtor, await source);\n }\n\n const wrap = async function*(x: T) { yield await x; };\n const emit = async function* >(source: T) {\n yield* pump((function*(it: Iterator) {\n let r: IteratorResult = null;\n do {\n r = it.next(yield r && r.value);\n } while (!r.done);\n })(source[Symbol.iterator]()));\n };\n\n const buffers: AsyncIterable =\n (typeof source === 'string') ? wrap(source) // if string, wrap in an AsyncIterableIterator\n : (ArrayBuffer.isView(source)) ? wrap(source) // if TypedArray, wrap in an AsyncIterableIterator\n : (source instanceof ArrayBuffer) ? wrap(source) // if ArrayBuffer, wrap in an AsyncIterableIterator\n : (source instanceof SharedArrayBuf) ? wrap(source) // if SharedArrayBuffer, wrap in an AsyncIterableIterator\n : isIterable(source) ? emit(source) // If Iterable, wrap in an AsyncIterableIterator and compose the `next` values\n : !isAsyncIterable(source) ? wrap(source) // If not an AsyncIterable, treat as a sentinel and wrap in an AsyncIterableIterator\n : source; // otherwise if AsyncIterable, use it\n\n yield* pump((async function* (it) {\n let r: IteratorResult = null;\n do {\n r = await it.next(yield toArrayBufferView(ArrayCtor, r));\n } while (!r.done);\n })(buffers[Symbol.asyncIterator]()));\n}\n\n/** @ignore */ export const toInt8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int8Array, input);\n/** @ignore */ export const toInt16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int16Array, input);\n/** @ignore */ export const toInt32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Int32Array, input);\n/** @ignore */ export const toUint8ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8Array, input);\n/** @ignore */ export const toUint16ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint16Array, input);\n/** @ignore */ export const toUint32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint32Array, input);\n/** @ignore */ export const toFloat32ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float32Array, input);\n/** @ignore */ export const toFloat64ArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Float64Array, input);\n/** @ignore */ export const toUint8ClampedArrayAsyncIterator = (input: ArrayBufferViewAsyncIteratorInput) => toArrayBufferViewAsyncIterator(Uint8ClampedArray, input);\n\n/** @ignore */\nexport function rebaseValueOffsets(offset: number, length: number, valueOffsets: Int32Array) {\n // If we have a non-zero offset, create a new offsets array with the values\n // shifted by the start offset, such that the new start offset is 0\n if (offset !== 0) {\n valueOffsets = valueOffsets.slice(0, length + 1);\n for (let i = -1; ++i <= length;) {\n valueOffsets[i] += offset;\n }\n }\n return valueOffsets;\n}\n\n/** @ignore */\nexport function compareArrayLike>(a: T, b: T) {\n let i = 0, n = a.length;\n if (n !== b.length) { return false; }\n if (n > 0) {\n do { if (a[i] !== b[i]) { return false; } } while (++i < n);\n }\n return true;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport {\n toUint8Array,\n joinUint8Arrays,\n ArrayBufferViewInput,\n toUint8ArrayIterator,\n toUint8ArrayAsyncIterator\n} from '../util/buffer';\n\nimport { ReadableDOMStreamOptions } from './interfaces';\n\n/** @ignore */\nexport default {\n fromIterable(source: Iterable | T): IterableIterator {\n return pump(fromIterable(source));\n },\n fromAsyncIterable(source: AsyncIterable | PromiseLike): AsyncIterableIterator {\n return pump(fromAsyncIterable(source));\n },\n fromDOMStream(source: ReadableStream): AsyncIterableIterator {\n return pump(fromDOMStream(source));\n },\n fromNodeStream(stream: NodeJS.ReadableStream): AsyncIterableIterator {\n return pump(fromNodeStream(stream));\n },\n // @ts-ignore\n toDOMStream(source: Iterable | AsyncIterable, options?: ReadableDOMStreamOptions): ReadableStream {\n throw new Error(`\"toDOMStream\" not available in this environment`);\n },\n // @ts-ignore\n toNodeStream(source: Iterable | AsyncIterable, options?: import('stream').ReadableOptions): import('stream').Readable {\n throw new Error(`\"toNodeStream\" not available in this environment`);\n },\n};\n\n/** @ignore */\nconst pump = | AsyncIterator>(iterator: T) => { iterator.next(); return iterator; };\n\n/** @ignore */\nfunction* fromIterable(source: Iterable | T): IterableIterator {\n\n let done: boolean, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source Iterator\n ({ cmd, size } = yield null);\n\n // initialize the iterator\n let it = toUint8ArrayIterator(source)[Symbol.iterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength) ?\n it.next(undefined) : it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (it.return());\n }\n}\n\n/** @ignore */\nasync function* fromAsyncIterable(source: AsyncIterable | PromiseLike): AsyncIterableIterator {\n\n let done: boolean, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before creating the source AsyncIterator\n ({ cmd, size } = yield null);\n\n // initialize the iterator\n let it = toUint8ArrayAsyncIterator(source)[Symbol.asyncIterator]();\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength)\n ? await it.next(undefined)\n : await it.next(size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (typeof it.throw === 'function') && (await it.throw(e));\n } finally {\n (threw === false) && (typeof it.return === 'function') && (await it.return());\n }\n}\n\n// All this manual Uint8Array chunk management can be avoided if/when engines\n// add support for ArrayBuffer.transfer() or ArrayBuffer.prototype.realloc():\n// https://github.com/domenic/proposal-arraybuffer-transfer\n/** @ignore */\nasync function* fromDOMStream(source: ReadableStream): AsyncIterableIterator {\n\n let done = false, threw = false;\n let buffers: Uint8Array[] = [], buffer: Uint8Array;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we establish the ReadableStream lock\n ({ cmd, size } = yield null);\n\n // initialize the reader and lock the stream\n let it = new AdaptiveByteReader(source);\n\n try {\n do {\n // read the next value\n ({ done, value: buffer } = isNaN(size - bufferLength)\n ? await it['read'](undefined)\n : await it['read'](size - bufferLength));\n // if chunk is not null or empty, push it onto the queue\n if (!done && buffer.byteLength > 0) {\n buffers.push(toUint8Array(buffer));\n bufferLength += buffer.byteLength;\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } catch (e) {\n (threw = true) && (await it['cancel'](e));\n } finally {\n (threw === false) ? (await it['cancel']())\n : source['locked'] && it.releaseLock();\n }\n}\n\n/** @ignore */\nclass AdaptiveByteReader {\n\n private supportsBYOB: boolean;\n private byobReader: ReadableStreamBYOBReader | null = null;\n private defaultReader: ReadableStreamDefaultReader | null = null;\n private reader: ReadableStreamBYOBReader | ReadableStreamDefaultReader | null;\n\n constructor(private source: ReadableStream) {\n try {\n this.supportsBYOB = !!(this.reader = this.getBYOBReader());\n } catch (e) {\n this.supportsBYOB = !!!(this.reader = this.getDefaultReader());\n }\n }\n\n get closed(): Promise {\n return this.reader ? this.reader['closed'].catch(() => {}) : Promise.resolve();\n }\n\n releaseLock(): void {\n if (this.reader) {\n this.reader.releaseLock();\n }\n this.reader = this.byobReader = this.defaultReader = null;\n }\n\n async cancel(reason?: any): Promise {\n const { reader, source } = this;\n reader && (await reader['cancel'](reason).catch(() => {}));\n source && (source['locked'] && this.releaseLock());\n }\n\n async read(size?: number): Promise> {\n if (size === 0) {\n return { done: this.reader == null, value: new Uint8Array(0) };\n }\n const result = !this.supportsBYOB || typeof size !== 'number'\n ? await this.getDefaultReader().read()\n : await this.readFromBYOBReader(size);\n !result.done && (result.value = toUint8Array(result as ReadableStreamReadResult));\n return result as ReadableStreamReadResult;\n }\n\n private getDefaultReader() {\n if (this.byobReader) { this.releaseLock(); }\n if (!this.defaultReader) {\n this.defaultReader = this.source['getReader']();\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.defaultReader['closed'].catch(() => {});\n }\n return (this.reader = this.defaultReader);\n }\n\n private getBYOBReader() {\n if (this.defaultReader) { this.releaseLock(); }\n if (!this.byobReader) {\n this.byobReader = this.source['getReader']({ mode: 'byob' });\n // We have to catch and swallow errors here to avoid uncaught promise rejection exceptions\n // that seem to be raised when we call `releaseLock()` on this reader. I'm still mystified\n // about why these errors are raised, but I'm sure there's some important spec reason that\n // I haven't considered. I hate to employ such an anti-pattern here, but it seems like the\n // only solution in this case :/\n this.byobReader['closed'].catch(() => {});\n }\n return (this.reader = this.byobReader);\n }\n\n // This strategy plucked from the example in the streams spec:\n // https://streams.spec.whatwg.org/#example-manual-read-bytes\n private async readFromBYOBReader(size: number) {\n return await readInto(this.getBYOBReader(), new ArrayBuffer(size), 0, size);\n }\n}\n\n/** @ignore */\nasync function readInto(reader: ReadableStreamBYOBReader, buffer: ArrayBufferLike, offset: number, size: number): Promise> {\n if (offset >= size) {\n return { done: false, value: new Uint8Array(buffer, 0, size) };\n }\n const { done, value } = await reader.read(new Uint8Array(buffer, offset, size - offset));\n if (((offset += value.byteLength) < size) && !done) {\n return await readInto(reader, value.buffer, offset, size);\n }\n return { done, value: new Uint8Array(value.buffer, 0, offset) };\n}\n\n/** @ignore */\ntype EventName = 'end' | 'error' | 'readable';\n/** @ignore */\ntype Event = [EventName, (_: any) => void, Promise<[EventName, Error | null]>];\n/** @ignore */\nconst onEvent = (stream: NodeJS.ReadableStream, event: T) => {\n let handler = (_: any) => resolve([event, _]);\n let resolve: (value?: [T, any] | PromiseLike<[T, any]>) => void;\n return [event, handler, new Promise<[T, any]>(\n (r) => (resolve = r) && stream['once'](event, handler)\n )] as Event;\n};\n\n/** @ignore */\nasync function* fromNodeStream(stream: NodeJS.ReadableStream): AsyncIterableIterator {\n\n let events: Event[] = [];\n let event: EventName = 'error';\n let done = false, err: Error | null = null;\n let cmd: 'peek' | 'read', size: number, bufferLength = 0;\n let buffers: Uint8Array[] = [], buffer: Uint8Array | Buffer | string;\n\n function byteRange() {\n if (cmd === 'peek') {\n return joinUint8Arrays(buffers, size)[0];\n }\n [buffer, buffers, bufferLength] = joinUint8Arrays(buffers, size);\n return buffer;\n }\n\n // Yield so the caller can inject the read command before we\n // add the listener for the source stream's 'readable' event.\n ({ cmd, size } = yield null);\n\n // ignore stdin if it's a TTY\n if ((stream as any)['isTTY']) { return yield new Uint8Array(0); }\n\n try {\n // initialize the stream event handlers\n events[0] = onEvent(stream, 'end');\n events[1] = onEvent(stream, 'error');\n\n do {\n events[2] = onEvent(stream, 'readable');\n\n // wait on the first message event from the stream\n [event, err] = await Promise.race(events.map((x) => x[2]));\n\n // if the stream emitted an Error, rethrow it\n if (event === 'error') { break; }\n if (!(done = event === 'end')) {\n // If the size is NaN, request to read everything in the stream's internal buffer\n if (!isFinite(size - bufferLength)) {\n buffer = toUint8Array(stream['read'](undefined));\n } else {\n buffer = toUint8Array(stream['read'](size - bufferLength));\n // If the byteLength is 0, then the requested amount is more than the stream has\n // in its internal buffer. In this case the stream needs a \"kick\" to tell it to\n // continue emitting readable events, so request to read everything the stream\n // has in its internal buffer right now.\n if (buffer.byteLength < (size - bufferLength)) {\n buffer = toUint8Array(stream['read'](undefined));\n }\n }\n // if chunk is not null or empty, push it onto the queue\n if (buffer.byteLength > 0) {\n buffers.push(buffer);\n bufferLength += buffer.byteLength;\n }\n }\n // If we have enough bytes in our buffer, yield chunks until we don't\n if (done || size <= bufferLength) {\n do {\n ({ cmd, size } = yield byteRange());\n } while (size < bufferLength);\n }\n } while (!done);\n } finally {\n await cleanup(events, event === 'error' ? err : null);\n }\n\n function cleanup(events: Event[], err?: T) {\n buffer = buffers = null;\n return new Promise(async (resolve, reject) => {\n for (const [evt, fn] of events) {\n stream['off'](evt, fn);\n }\n try {\n // Some stream implementations don't call the destroy callback,\n // because it's really a node-internal API. Just calling `destroy`\n // here should be enough to conform to the ReadableStream contract\n const destroy = (stream as any)['destroy'];\n destroy && destroy.call(stream, err);\n err = undefined;\n } catch (e) { err = e || err; } finally {\n err != null ? reject(err) : resolve();\n }\n });\n }\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { DataType } from './type';\nimport { Chunked } from './vector/chunked';\n\n/** @ignore */\nexport interface Clonable {\n clone(...args: any[]): R;\n}\n\n/** @ignore */\nexport interface Sliceable {\n slice(begin?: number, end?: number): R;\n}\n\n/** @ignore */\nexport interface Applicative {\n concat(...others: Vector[]): R;\n readonly [Symbol.isConcatSpreadable]: boolean;\n}\n\nexport interface AbstractVector\n extends Clonable>,\n Sliceable>,\n Applicative> {\n\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\nexport abstract class AbstractVector implements Iterable {\n\n public abstract readonly data: Data;\n public abstract readonly type: T;\n public abstract readonly typeId: T['TType'];\n public abstract readonly length: number;\n public abstract readonly stride: number;\n public abstract readonly nullCount: number;\n public abstract readonly byteLength: number;\n public abstract readonly numChildren: number;\n\n public abstract readonly ArrayType: T['ArrayType'];\n\n public abstract isValid(index: number): boolean;\n public abstract get(index: number): T['TValue'] | null;\n public abstract set(index: number, value: T['TValue'] | null): void;\n public abstract indexOf(value: T['TValue'] | null, fromIndex?: number): number;\n public abstract [Symbol.iterator](): IterableIterator;\n\n public abstract toArray(): T['TArray'];\n public abstract getChildAt(index: number): Vector | null;\n}\n\nexport { AbstractVector as Vector };\n","/* tslint:disable:class-name */\n\n// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum MetadataVersion {\n /**\n * 0.1.0\n */\n V1 = 0,\n\n /**\n * 0.2.0\n */\n V2 = 1,\n\n /**\n * 0.3.0 -> 0.7.1\n */\n V3 = 2,\n\n /**\n * >= 0.8.0\n */\n V4 = 3\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum UnionMode {\n Sparse = 0,\n Dense = 1\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Precision {\n HALF = 0,\n SINGLE = 1,\n DOUBLE = 2\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum DateUnit {\n DAY = 0,\n MILLISECOND = 1\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum TimeUnit {\n SECOND = 0,\n MILLISECOND = 1,\n MICROSECOND = 2,\n NANOSECOND = 3\n }\n}\n\n/**\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum IntervalUnit {\n YEAR_MONTH = 0,\n DAY_TIME = 1\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Top-level Type value, enabling extensible type-specific metadata. We can\n * add new logical types to Type without breaking backwards compatibility\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Type {\n NONE = 0,\n Null = 1,\n Int = 2,\n FloatingPoint = 3,\n Binary = 4,\n Utf8 = 5,\n Bool = 6,\n Decimal = 7,\n Date = 8,\n Time = 9,\n Timestamp = 10,\n Interval = 11,\n List = 12,\n Struct_ = 13,\n Union = 14,\n FixedSizeBinary = 15,\n FixedSizeList = 16,\n Map = 17,\n Duration = 18,\n LargeBinary = 19,\n LargeUtf8 = 20,\n LargeList = 21\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Endianness of the platform producing the data\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum Endianness {\n Little = 0,\n Big = 1\n }\n}\n\n/**\n * These are stored in the flatbuffer in the Type union below\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Null {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Null\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Null {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Null= obj\n * @returns Null\n */\n static getRootAsNull(bb: flatbuffers.ByteBuffer, obj?: Null): Null {\n return (obj || new Null).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startNull(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endNull(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createNull(builder: flatbuffers.Builder): flatbuffers.Offset {\n Null.startNull(builder);\n return Null.endNull(builder);\n }\n }\n}\n/**\n * A Struct_ in the flatbuffer metadata is the same as an Arrow Struct\n * (according to the physical memory layout). We used Struct_ here as\n * Struct is a reserved word in Flatbuffers\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Struct_ {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Struct_\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Struct_ {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Struct_= obj\n * @returns Struct_\n */\n static getRootAsStruct_(bb: flatbuffers.ByteBuffer, obj?: Struct_): Struct_ {\n return (obj || new Struct_).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startStruct_(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endStruct_(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createStruct_(builder: flatbuffers.Builder): flatbuffers.Offset {\n Struct_.startStruct_(builder);\n return Struct_.endStruct_(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class List {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns List\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): List {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param List= obj\n * @returns List\n */\n static getRootAsList(bb: flatbuffers.ByteBuffer, obj?: List): List {\n return (obj || new List).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startList(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createList(builder: flatbuffers.Builder): flatbuffers.Offset {\n List.startList(builder);\n return List.endList(builder);\n }\n }\n}\n/**\n * Same as List, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeList {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeList\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeList {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeList= obj\n * @returns LargeList\n */\n static getRootAsLargeList(bb: flatbuffers.ByteBuffer, obj?: LargeList): LargeList {\n return (obj || new LargeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeList(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeList.startLargeList(builder);\n return LargeList.endLargeList(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FixedSizeList {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FixedSizeList\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FixedSizeList {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FixedSizeList= obj\n * @returns FixedSizeList\n */\n static getRootAsFixedSizeList(bb: flatbuffers.ByteBuffer, obj?: FixedSizeList): FixedSizeList {\n return (obj || new FixedSizeList).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Number of list items per value\n *\n * @returns number\n */\n listSize(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFixedSizeList(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number listSize\n */\n static addListSize(builder: flatbuffers.Builder, listSize: number) {\n builder.addFieldInt32(0, listSize, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFixedSizeList(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFixedSizeList(builder: flatbuffers.Builder, listSize: number): flatbuffers.Offset {\n FixedSizeList.startFixedSizeList(builder);\n FixedSizeList.addListSize(builder, listSize);\n return FixedSizeList.endFixedSizeList(builder);\n }\n }\n}\n/**\n * A Map is a logical nested type that is represented as\n *\n * List>\n *\n * In this layout, the keys and values are each respectively contiguous. We do\n * not constrain the key and value types, so the application is responsible\n * for ensuring that the keys are hashable and unique. Whether the keys are sorted\n * may be set in the metadata for this field\n *\n * In a Field with Map type, the Field has a child Struct field, which then\n * has two children: key type and the second the value type. The names of the\n * child fields may be respectively \"entry\", \"key\", and \"value\", but this is\n * not enforced\n *\n * Map\n * - child[0] entry: Struct\n * - child[0] key: K\n * - child[1] value: V\n *\n * Neither the \"entry\" field nor the \"key\" field may be nullable.\n *\n * The metadata is structured so that Arrow systems without special handling\n * for Map can make Map an alias for List. The \"layout\" attribute for the Map\n * field must have the same contents as a List.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Map {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Map\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Map {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Map= obj\n * @returns Map\n */\n static getRootAsMap(bb: flatbuffers.ByteBuffer, obj?: Map): Map {\n return (obj || new Map).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Set to true if the keys within each value are sorted\n *\n * @returns boolean\n */\n keysSorted(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startMap(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean keysSorted\n */\n static addKeysSorted(builder: flatbuffers.Builder, keysSorted: boolean) {\n builder.addFieldInt8(0, +keysSorted, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endMap(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createMap(builder: flatbuffers.Builder, keysSorted: boolean): flatbuffers.Offset {\n Map.startMap(builder);\n Map.addKeysSorted(builder, keysSorted);\n return Map.endMap(builder);\n }\n }\n}\n/**\n * A union is a complex type with children in Field\n * By default ids in the type vector refer to the offsets in the children\n * optionally typeIds provides an indirection between the child offset and the type id\n * for each child typeIds[offset] is the id used in the type vector\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Union {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Union\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Union {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Union= obj\n * @returns Union\n */\n static getRootAsUnion(bb: flatbuffers.ByteBuffer, obj?: Union): Union {\n return (obj || new Union).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.UnionMode\n */\n mode(): org.apache.arrow.flatbuf.UnionMode {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.UnionMode.Sparse;\n }\n\n /**\n * @param number index\n * @returns number\n */\n typeIds(index: number): number | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) : 0;\n }\n\n /**\n * @returns number\n */\n typeIdsLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @returns Int32Array\n */\n typeIdsArray(): Int32Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? new Int32Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startUnion(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.UnionMode mode\n */\n static addMode(builder: flatbuffers.Builder, mode: org.apache.arrow.flatbuf.UnionMode) {\n builder.addFieldInt16(0, mode, org.apache.arrow.flatbuf.UnionMode.Sparse);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset typeIdsOffset\n */\n static addTypeIds(builder: flatbuffers.Builder, typeIdsOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, typeIdsOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createTypeIdsVector(builder: flatbuffers.Builder, data: number[] | Int32Array): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt32(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startTypeIdsVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endUnion(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createUnion(builder: flatbuffers.Builder, mode: org.apache.arrow.flatbuf.UnionMode, typeIdsOffset: flatbuffers.Offset): flatbuffers.Offset {\n Union.startUnion(builder);\n Union.addMode(builder, mode);\n Union.addTypeIds(builder, typeIdsOffset);\n return Union.endUnion(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Int {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Int\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Int {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Int= obj\n * @returns Int\n */\n static getRootAsInt(bb: flatbuffers.ByteBuffer, obj?: Int): Int {\n return (obj || new Int).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns number\n */\n bitWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @returns boolean\n */\n isSigned(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startInt(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number bitWidth\n */\n static addBitWidth(builder: flatbuffers.Builder, bitWidth: number) {\n builder.addFieldInt32(0, bitWidth, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isSigned\n */\n static addIsSigned(builder: flatbuffers.Builder, isSigned: boolean) {\n builder.addFieldInt8(1, +isSigned, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endInt(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createInt(builder: flatbuffers.Builder, bitWidth: number, isSigned: boolean): flatbuffers.Offset {\n Int.startInt(builder);\n Int.addBitWidth(builder, bitWidth);\n Int.addIsSigned(builder, isSigned);\n return Int.endInt(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FloatingPoint {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FloatingPoint\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FloatingPoint {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FloatingPoint= obj\n * @returns FloatingPoint\n */\n static getRootAsFloatingPoint(bb: flatbuffers.ByteBuffer, obj?: FloatingPoint): FloatingPoint {\n return (obj || new FloatingPoint).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.Precision\n */\n precision(): org.apache.arrow.flatbuf.Precision {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Precision.HALF;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFloatingPoint(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Precision precision\n */\n static addPrecision(builder: flatbuffers.Builder, precision: org.apache.arrow.flatbuf.Precision) {\n builder.addFieldInt16(0, precision, org.apache.arrow.flatbuf.Precision.HALF);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFloatingPoint(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFloatingPoint(builder: flatbuffers.Builder, precision: org.apache.arrow.flatbuf.Precision): flatbuffers.Offset {\n FloatingPoint.startFloatingPoint(builder);\n FloatingPoint.addPrecision(builder, precision);\n return FloatingPoint.endFloatingPoint(builder);\n }\n }\n}\n/**\n * Unicode with UTF-8 encoding\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Utf8 {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Utf8\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Utf8 {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Utf8= obj\n * @returns Utf8\n */\n static getRootAsUtf8(bb: flatbuffers.ByteBuffer, obj?: Utf8): Utf8 {\n return (obj || new Utf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startUtf8(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n Utf8.startUtf8(builder);\n return Utf8.endUtf8(builder);\n }\n }\n}\n/**\n * Opaque binary data\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Binary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Binary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Binary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Binary= obj\n * @returns Binary\n */\n static getRootAsBinary(bb: flatbuffers.ByteBuffer, obj?: Binary): Binary {\n return (obj || new Binary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startBinary(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n Binary.startBinary(builder);\n return Binary.endBinary(builder);\n }\n }\n}\n/**\n * Same as Utf8, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeUtf8 {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeUtf8\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeUtf8 {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeUtf8= obj\n * @returns LargeUtf8\n */\n static getRootAsLargeUtf8(bb: flatbuffers.ByteBuffer, obj?: LargeUtf8): LargeUtf8 {\n return (obj || new LargeUtf8).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeUtf8(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeUtf8(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeUtf8.startLargeUtf8(builder);\n return LargeUtf8.endLargeUtf8(builder);\n }\n }\n}\n/**\n * Same as Binary, but with 64-bit offsets, allowing to represent\n * extremely large data values.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class LargeBinary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns LargeBinary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): LargeBinary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param LargeBinary= obj\n * @returns LargeBinary\n */\n static getRootAsLargeBinary(bb: flatbuffers.ByteBuffer, obj?: LargeBinary): LargeBinary {\n return (obj || new LargeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startLargeBinary(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endLargeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createLargeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n LargeBinary.startLargeBinary(builder);\n return LargeBinary.endLargeBinary(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FixedSizeBinary {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FixedSizeBinary\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FixedSizeBinary {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param FixedSizeBinary= obj\n * @returns FixedSizeBinary\n */\n static getRootAsFixedSizeBinary(bb: flatbuffers.ByteBuffer, obj?: FixedSizeBinary): FixedSizeBinary {\n return (obj || new FixedSizeBinary).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Number of bytes per value\n *\n * @returns number\n */\n byteWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFixedSizeBinary(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number byteWidth\n */\n static addByteWidth(builder: flatbuffers.Builder, byteWidth: number) {\n builder.addFieldInt32(0, byteWidth, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFixedSizeBinary(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createFixedSizeBinary(builder: flatbuffers.Builder, byteWidth: number): flatbuffers.Offset {\n FixedSizeBinary.startFixedSizeBinary(builder);\n FixedSizeBinary.addByteWidth(builder, byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Bool {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Bool\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Bool {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Bool= obj\n * @returns Bool\n */\n static getRootAsBool(bb: flatbuffers.ByteBuffer, obj?: Bool): Bool {\n return (obj || new Bool).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startBool(builder: flatbuffers.Builder) {\n builder.startObject(0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endBool(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createBool(builder: flatbuffers.Builder): flatbuffers.Offset {\n Bool.startBool(builder);\n return Bool.endBool(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Decimal {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Decimal\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Decimal {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Decimal= obj\n * @returns Decimal\n */\n static getRootAsDecimal(bb: flatbuffers.ByteBuffer, obj?: Decimal): Decimal {\n return (obj || new Decimal).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Total number of decimal digits\n *\n * @returns number\n */\n precision(): number {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * Number of digits after the decimal point \".\"\n *\n * @returns number\n */\n scale(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDecimal(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number precision\n */\n static addPrecision(builder: flatbuffers.Builder, precision: number) {\n builder.addFieldInt32(0, precision, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number scale\n */\n static addScale(builder: flatbuffers.Builder, scale: number) {\n builder.addFieldInt32(1, scale, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDecimal(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDecimal(builder: flatbuffers.Builder, precision: number, scale: number): flatbuffers.Offset {\n Decimal.startDecimal(builder);\n Decimal.addPrecision(builder, precision);\n Decimal.addScale(builder, scale);\n return Decimal.endDecimal(builder);\n }\n }\n}\n/**\n * Date is either a 32-bit or 64-bit type representing elapsed time since UNIX\n * epoch (1970-01-01), stored in either of two units:\n *\n * * Milliseconds (64 bits) indicating UNIX time elapsed since the epoch (no\n * leap seconds), where the values are evenly divisible by 86400000\n * * Days (32 bits) since the UNIX epoch\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Date {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Date\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Date {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Date= obj\n * @returns Date\n */\n static getRootAsDate(bb: flatbuffers.ByteBuffer, obj?: Date): Date {\n return (obj || new Date).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.DateUnit\n */\n unit(): org.apache.arrow.flatbuf.DateUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.DateUnit.MILLISECOND;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDate(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.DateUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.DateUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.DateUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDate(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDate(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.DateUnit): flatbuffers.Offset {\n Date.startDate(builder);\n Date.addUnit(builder, unit);\n return Date.endDate(builder);\n }\n }\n}\n/**\n * Time type. The physical storage type depends on the unit\n * - SECOND and MILLISECOND: 32 bits\n * - MICROSECOND and NANOSECOND: 64 bits\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Time {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Time\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Time {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Time= obj\n * @returns Time\n */\n static getRootAsTime(bb: flatbuffers.ByteBuffer, obj?: Time): Time {\n return (obj || new Time).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;\n }\n\n /**\n * @returns number\n */\n bitWidth(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 32;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startTime(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number bitWidth\n */\n static addBitWidth(builder: flatbuffers.Builder, bitWidth: number) {\n builder.addFieldInt32(1, bitWidth, 32);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endTime(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createTime(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit, bitWidth: number): flatbuffers.Offset {\n Time.startTime(builder);\n Time.addUnit(builder, unit);\n Time.addBitWidth(builder, bitWidth);\n return Time.endTime(builder);\n }\n }\n}\n/**\n * Time elapsed from the Unix epoch, 00:00:00.000 on 1 January 1970, excluding\n * leap seconds, as a 64-bit integer. Note that UNIX time does not include\n * leap seconds.\n *\n * The Timestamp metadata supports both \"time zone naive\" and \"time zone\n * aware\" timestamps. Read about the timezone attribute for more detail\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Timestamp {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Timestamp\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Timestamp {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Timestamp= obj\n * @returns Timestamp\n */\n static getRootAsTimestamp(bb: flatbuffers.ByteBuffer, obj?: Timestamp): Timestamp {\n return (obj || new Timestamp).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.SECOND;\n }\n\n /**\n * The time zone is a string indicating the name of a time zone, one of:\n *\n * * As used in the Olson time zone database (the \"tz database\" or\n * \"tzdata\"), such as \"America/New_York\"\n * * An absolute time zone offset of the form +XX:XX or -XX:XX, such as +07:30\n *\n * Whether a timezone string is present indicates different semantics about\n * the data:\n *\n * * If the time zone is null or equal to an empty string, the data is \"time\n * zone naive\" and shall be displayed *as is* to the user, not localized\n * to the locale of the user. This data can be though of as UTC but\n * without having \"UTC\" as the time zone, it is not considered to be\n * localized to any time zone\n *\n * * If the time zone is set to a valid value, values can be displayed as\n * \"localized\" to that time zone, even though the underlying 64-bit\n * integers are identical to the same data stored in UTC. Converting\n * between time zones is a metadata-only operation and does not change the\n * underlying values\n *\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n timezone(): string | null;\n timezone(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n timezone(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startTimestamp(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.SECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset timezoneOffset\n */\n static addTimezone(builder: flatbuffers.Builder, timezoneOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, timezoneOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endTimestamp(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createTimestamp(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit, timezoneOffset: flatbuffers.Offset): flatbuffers.Offset {\n Timestamp.startTimestamp(builder);\n Timestamp.addUnit(builder, unit);\n Timestamp.addTimezone(builder, timezoneOffset);\n return Timestamp.endTimestamp(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Interval {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Interval\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Interval {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Interval= obj\n * @returns Interval\n */\n static getRootAsInterval(bb: flatbuffers.ByteBuffer, obj?: Interval): Interval {\n return (obj || new Interval).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.IntervalUnit\n */\n unit(): org.apache.arrow.flatbuf.IntervalUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startInterval(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.IntervalUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.IntervalUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endInterval(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createInterval(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.IntervalUnit): flatbuffers.Offset {\n Interval.startInterval(builder);\n Interval.addUnit(builder, unit);\n return Interval.endInterval(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Duration {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Duration\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Duration {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Duration= obj\n * @returns Duration\n */\n static getRootAsDuration(bb: flatbuffers.ByteBuffer, obj?: Duration): Duration {\n return (obj || new Duration).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.TimeUnit\n */\n unit(): org.apache.arrow.flatbuf.TimeUnit {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.TimeUnit.MILLISECOND;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDuration(builder: flatbuffers.Builder) {\n builder.startObject(1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.TimeUnit unit\n */\n static addUnit(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit) {\n builder.addFieldInt16(0, unit, org.apache.arrow.flatbuf.TimeUnit.MILLISECOND);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDuration(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDuration(builder: flatbuffers.Builder, unit: org.apache.arrow.flatbuf.TimeUnit): flatbuffers.Offset {\n Duration.startDuration(builder);\n Duration.addUnit(builder, unit);\n return Duration.endDuration(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * user defined key value pairs to add custom metadata to arrow\n * key namespacing is the responsibility of the user\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class KeyValue {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns KeyValue\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): KeyValue {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param KeyValue= obj\n * @returns KeyValue\n */\n static getRootAsKeyValue(bb: flatbuffers.ByteBuffer, obj?: KeyValue): KeyValue {\n return (obj || new KeyValue).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n key(): string | null;\n key(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n key(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n value(): string | null;\n value(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n value(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startKeyValue(builder: flatbuffers.Builder) {\n builder.startObject(2);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset keyOffset\n */\n static addKey(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset) {\n builder.addFieldOffset(0, keyOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset valueOffset\n */\n static addValue(builder: flatbuffers.Builder, valueOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, valueOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endKeyValue(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createKeyValue(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset, valueOffset: flatbuffers.Offset): flatbuffers.Offset {\n KeyValue.startKeyValue(builder);\n KeyValue.addKey(builder, keyOffset);\n KeyValue.addValue(builder, valueOffset);\n return KeyValue.endKeyValue(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * Dictionary encoding metadata\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class DictionaryEncoding {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns DictionaryEncoding\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): DictionaryEncoding {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param DictionaryEncoding= obj\n * @returns DictionaryEncoding\n */\n static getRootAsDictionaryEncoding(bb: flatbuffers.ByteBuffer, obj?: DictionaryEncoding): DictionaryEncoding {\n return (obj || new DictionaryEncoding).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * The known dictionary id in the application where this data is used. In\n * the file or streaming formats, the dictionary ids are found in the\n * DictionaryBatch messages\n *\n * @returns flatbuffers.Long\n */\n id(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * The dictionary indices are constrained to be positive integers. If this\n * field is null, the indices must be signed int32\n *\n * @param org.apache.arrow.flatbuf.Int= obj\n * @returns org.apache.arrow.flatbuf.Int|null\n */\n indexType(obj?: org.apache.arrow.flatbuf.Int): org.apache.arrow.flatbuf.Int | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.Int).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * By default, dictionaries are not ordered, or the order does not have\n * semantic meaning. In some statistical, applications, dictionary-encoding\n * is used to represent ordered categorical data, and we provide a way to\n * preserve that metadata here\n *\n * @returns boolean\n */\n isOrdered(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDictionaryEncoding(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long id\n */\n static addId(builder: flatbuffers.Builder, id: flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset indexTypeOffset\n */\n static addIndexType(builder: flatbuffers.Builder, indexTypeOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, indexTypeOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isOrdered\n */\n static addIsOrdered(builder: flatbuffers.Builder, isOrdered: boolean) {\n builder.addFieldInt8(2, +isOrdered, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDictionaryEncoding(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDictionaryEncoding(builder: flatbuffers.Builder, id: flatbuffers.Long, indexTypeOffset: flatbuffers.Offset, isOrdered: boolean): flatbuffers.Offset {\n DictionaryEncoding.startDictionaryEncoding(builder);\n DictionaryEncoding.addId(builder, id);\n DictionaryEncoding.addIndexType(builder, indexTypeOffset);\n DictionaryEncoding.addIsOrdered(builder, isOrdered);\n return DictionaryEncoding.endDictionaryEncoding(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A field represents a named column in a record / row batch or child of a\n * nested type.\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Field {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Field\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Field {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Field= obj\n * @returns Field\n */\n static getRootAsField(bb: flatbuffers.ByteBuffer, obj?: Field): Field {\n return (obj || new Field).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * Name is not required, in i.e. a List\n *\n * @param flatbuffers.Encoding= optionalEncoding\n * @returns string|Uint8Array|null\n */\n name(): string | null;\n name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;\n name(optionalEncoding?: any): string | Uint8Array | null {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;\n }\n\n /**\n * Whether or not this field can contain nulls. Should be true in general.\n *\n * @returns boolean\n */\n nullable(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.Type\n */\n typeType(): org.apache.arrow.flatbuf.Type {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Type.NONE;\n }\n\n /**\n * This is the type of the decoded value if the field is dictionary encoded.\n *\n * @param flatbuffers.Table obj\n * @returns ?flatbuffers.Table\n */\n type(obj: T): T | null {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n }\n\n /**\n * Present only if the field is dictionary encoded.\n *\n * @param org.apache.arrow.flatbuf.DictionaryEncoding= obj\n * @returns org.apache.arrow.flatbuf.DictionaryEncoding|null\n */\n dictionary(obj?: org.apache.arrow.flatbuf.DictionaryEncoding): org.apache.arrow.flatbuf.DictionaryEncoding | null {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new org.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * children apply only to nested data types like Struct, List and Union. For\n * primitive types children will have length 0.\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.Field= obj\n * @returns org.apache.arrow.flatbuf.Field\n */\n children(index: number, obj?: org.apache.arrow.flatbuf.Field): org.apache.arrow.flatbuf.Field | null {\n let offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n childrenLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * User-defined metadata\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: org.apache.arrow.flatbuf.KeyValue): org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startField(builder: flatbuffers.Builder) {\n builder.startObject(7);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset nameOffset\n */\n static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset) {\n builder.addFieldOffset(0, nameOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean nullable\n */\n static addNullable(builder: flatbuffers.Builder, nullable: boolean) {\n builder.addFieldInt8(1, +nullable, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Type typeType\n */\n static addTypeType(builder: flatbuffers.Builder, typeType: org.apache.arrow.flatbuf.Type) {\n builder.addFieldInt8(2, typeType, org.apache.arrow.flatbuf.Type.NONE);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset typeOffset\n */\n static addType(builder: flatbuffers.Builder, typeOffset: flatbuffers.Offset) {\n builder.addFieldOffset(3, typeOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dictionaryOffset\n */\n static addDictionary(builder: flatbuffers.Builder, dictionaryOffset: flatbuffers.Offset) {\n builder.addFieldOffset(4, dictionaryOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset childrenOffset\n */\n static addChildren(builder: flatbuffers.Builder, childrenOffset: flatbuffers.Offset) {\n builder.addFieldOffset(5, childrenOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createChildrenVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startChildrenVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(6, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endField(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createField(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset, nullable: boolean, typeType: org.apache.arrow.flatbuf.Type, typeOffset: flatbuffers.Offset, dictionaryOffset: flatbuffers.Offset, childrenOffset: flatbuffers.Offset, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Field.startField(builder);\n Field.addName(builder, nameOffset);\n Field.addNullable(builder, nullable);\n Field.addTypeType(builder, typeType);\n Field.addType(builder, typeOffset);\n Field.addDictionary(builder, dictionaryOffset);\n Field.addChildren(builder, childrenOffset);\n Field.addCustomMetadata(builder, customMetadataOffset);\n return Field.endField(builder);\n }\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A Buffer represents a single contiguous memory segment\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Buffer {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Buffer\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Buffer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * The relative offset into the shared memory page where the bytes for this\n * buffer starts\n *\n * @returns flatbuffers.Long\n */\n offset(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * The absolute length (in bytes) of the memory buffer. The memory is found\n * from offset (inclusive) to offset + length (non-inclusive).\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long offset\n * @param flatbuffers.Long length\n * @returns flatbuffers.Offset\n */\n static createBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Long, length: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(length);\n builder.writeInt64(offset);\n return builder.offset();\n }\n\n }\n}\n/**\n * ----------------------------------------------------------------------\n * A Schema describes the columns in a row batch\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Schema {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Schema\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Schema {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Schema= obj\n * @returns Schema\n */\n static getRootAsSchema(bb: flatbuffers.ByteBuffer, obj?: Schema): Schema {\n return (obj || new Schema).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * endianness of the buffer\n * it is Little Endian by default\n * if endianness doesn't match the underlying system then the vectors need to be converted\n *\n * @returns org.apache.arrow.flatbuf.Endianness\n */\n endianness(): org.apache.arrow.flatbuf.Endianness {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : org.apache.arrow.flatbuf.Endianness.Little;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Field= obj\n * @returns org.apache.arrow.flatbuf.Field\n */\n fields(index: number, obj?: org.apache.arrow.flatbuf.Field): org.apache.arrow.flatbuf.Field | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.Field).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n fieldsLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: org.apache.arrow.flatbuf.KeyValue): org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startSchema(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.Endianness endianness\n */\n static addEndianness(builder: flatbuffers.Builder, endianness: org.apache.arrow.flatbuf.Endianness) {\n builder.addFieldInt16(0, endianness, org.apache.arrow.flatbuf.Endianness.Little);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset fieldsOffset\n */\n static addFields(builder: flatbuffers.Builder, fieldsOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, fieldsOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createFieldsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startFieldsVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endSchema(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishSchemaBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createSchema(builder: flatbuffers.Builder, endianness: org.apache.arrow.flatbuf.Endianness, fieldsOffset: flatbuffers.Offset, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Schema.startSchema(builder);\n Schema.addEndianness(builder, endianness);\n Schema.addFields(builder, fieldsOffset);\n Schema.addCustomMetadata(builder, customMetadataOffset);\n return Schema.endSchema(builder);\n }\n }\n}\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as NS7624605610262437867 from './Schema';\nexport namespace org.apache.arrow.flatbuf {\n export import Schema = NS7624605610262437867.org.apache.arrow.flatbuf.Schema;\n}\n/**\n * ----------------------------------------------------------------------\n * The root Message type\n * This union enables us to easily send different message types without\n * redundant storage, and in the future we can easily add new message types.\n *\n * Arrow implementations do not need to implement all of the message types,\n * which may include experimental metadata types. For maximum compatibility,\n * it is best to send data using RecordBatch\n *\n * @enum {number}\n */\nexport namespace org.apache.arrow.flatbuf {\n export enum MessageHeader {\n NONE = 0,\n Schema = 1,\n DictionaryBatch = 2,\n RecordBatch = 3,\n Tensor = 4,\n SparseTensor = 5\n }\n}\n\n/**\n * ----------------------------------------------------------------------\n * Data structures for describing a table row batch (a collection of\n * equal-length Arrow arrays)\n * Metadata about a field at some level of a nested type tree (but not\n * its children).\n *\n * For example, a List with values [[1, 2, 3], null, [4], [5, 6], null]\n * would have {length: 5, null_count: 2} for its List node, and {length: 6,\n * null_count: 0} for its Int16 node, as separate FieldNode structs\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class FieldNode {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns FieldNode\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): FieldNode {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * The number of value slots in the Arrow array at this level of a nested\n * tree\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * The number of observed nulls. Fields with null_count == 0 may choose not\n * to write their physical validity bitmap out as a materialized buffer,\n * instead setting the length of the bitmap buffer to 0.\n *\n * @returns flatbuffers.Long\n */\n nullCount(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long length\n * @param flatbuffers.Long null_count\n * @returns flatbuffers.Offset\n */\n static createFieldNode(builder: flatbuffers.Builder, length: flatbuffers.Long, null_count: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 16);\n builder.writeInt64(null_count);\n builder.writeInt64(length);\n return builder.offset();\n }\n\n }\n}\n/**\n * A data header describing the shared memory layout of a \"record\" or \"row\"\n * batch. Some systems call this a \"row batch\" internally and others a \"record\n * batch\".\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class RecordBatch {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns RecordBatch\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): RecordBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param RecordBatch= obj\n * @returns RecordBatch\n */\n static getRootAsRecordBatch(bb: flatbuffers.ByteBuffer, obj?: RecordBatch): RecordBatch {\n return (obj || new RecordBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * number of records / rows. The arrays in the batch should all have this\n * length\n *\n * @returns flatbuffers.Long\n */\n length(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * Nodes correspond to the pre-ordered flattened logical schema\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.FieldNode= obj\n * @returns org.apache.arrow.flatbuf.FieldNode\n */\n nodes(index: number, obj?: org.apache.arrow.flatbuf.FieldNode): org.apache.arrow.flatbuf.FieldNode | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.FieldNode).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n nodesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * Buffers correspond to the pre-ordered flattened buffer tree\n *\n * The number of buffers appended to this list depends on the schema. For\n * example, most primitive arrays will have 2 buffers, 1 for the validity\n * bitmap and 1 for the values. For struct arrays, there will only be a\n * single buffer for the validity (nulls) bitmap\n *\n * @param number index\n * @param org.apache.arrow.flatbuf.Buffer= obj\n * @returns org.apache.arrow.flatbuf.Buffer\n */\n buffers(index: number, obj?: NS7624605610262437867.org.apache.arrow.flatbuf.Buffer): NS7624605610262437867.org.apache.arrow.flatbuf.Buffer | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.Buffer).__init(this.bb!.__vector(this.bb_pos + offset) + index * 16, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n buffersLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startRecordBatch(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long length\n */\n static addLength(builder: flatbuffers.Builder, length: flatbuffers.Long) {\n builder.addFieldInt64(0, length, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset nodesOffset\n */\n static addNodes(builder: flatbuffers.Builder, nodesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, nodesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startNodesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(16, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset buffersOffset\n */\n static addBuffers(builder: flatbuffers.Builder, buffersOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, buffersOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startBuffersVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(16, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endRecordBatch(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createRecordBatch(builder: flatbuffers.Builder, length: flatbuffers.Long, nodesOffset: flatbuffers.Offset, buffersOffset: flatbuffers.Offset): flatbuffers.Offset {\n RecordBatch.startRecordBatch(builder);\n RecordBatch.addLength(builder, length);\n RecordBatch.addNodes(builder, nodesOffset);\n RecordBatch.addBuffers(builder, buffersOffset);\n return RecordBatch.endRecordBatch(builder);\n }\n }\n}\n/**\n * For sending dictionary encoding information. Any Field can be\n * dictionary-encoded, but in this case none of its children may be\n * dictionary-encoded.\n * There is one vector / column per dictionary, but that vector / column\n * may be spread across multiple dictionary batches by using the isDelta\n * flag\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class DictionaryBatch {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns DictionaryBatch\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): DictionaryBatch {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param DictionaryBatch= obj\n * @returns DictionaryBatch\n */\n static getRootAsDictionaryBatch(bb: flatbuffers.ByteBuffer, obj?: DictionaryBatch): DictionaryBatch {\n return (obj || new DictionaryBatch).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns flatbuffers.Long\n */\n id(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * @param org.apache.arrow.flatbuf.RecordBatch= obj\n * @returns org.apache.arrow.flatbuf.RecordBatch|null\n */\n data(obj?: org.apache.arrow.flatbuf.RecordBatch): org.apache.arrow.flatbuf.RecordBatch | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new org.apache.arrow.flatbuf.RecordBatch).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * If isDelta is true the values in the dictionary are to be appended to a\n * dictionary with the indicated id\n *\n * @returns boolean\n */\n isDelta(): boolean {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startDictionaryBatch(builder: flatbuffers.Builder) {\n builder.startObject(3);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long id\n */\n static addId(builder: flatbuffers.Builder, id: flatbuffers.Long) {\n builder.addFieldInt64(0, id, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dataOffset\n */\n static addData(builder: flatbuffers.Builder, dataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, dataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param boolean isDelta\n */\n static addIsDelta(builder: flatbuffers.Builder, isDelta: boolean) {\n builder.addFieldInt8(2, +isDelta, +false);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endDictionaryBatch(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n static createDictionaryBatch(builder: flatbuffers.Builder, id: flatbuffers.Long, dataOffset: flatbuffers.Offset, isDelta: boolean): flatbuffers.Offset {\n DictionaryBatch.startDictionaryBatch(builder);\n DictionaryBatch.addId(builder, id);\n DictionaryBatch.addData(builder, dataOffset);\n DictionaryBatch.addIsDelta(builder, isDelta);\n return DictionaryBatch.endDictionaryBatch(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Message {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Message\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Message {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Message= obj\n * @returns Message\n */\n static getRootAsMessage(bb: flatbuffers.ByteBuffer, obj?: Message): Message {\n return (obj || new Message).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MetadataVersion\n */\n version(): NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1;\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MessageHeader\n */\n headerType(): org.apache.arrow.flatbuf.MessageHeader {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : org.apache.arrow.flatbuf.MessageHeader.NONE;\n }\n\n /**\n * @param flatbuffers.Table obj\n * @returns ?flatbuffers.Table\n */\n header(obj: T): T | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n }\n\n /**\n * @returns flatbuffers.Long\n */\n bodyLength(): flatbuffers.Long {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readInt64(this.bb_pos + offset) : this.bb!.createLong(0, 0);\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.KeyValue= obj\n * @returns org.apache.arrow.flatbuf.KeyValue\n */\n customMetadata(index: number, obj?: NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue): NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue | null {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.KeyValue).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n customMetadataLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startMessage(builder: flatbuffers.Builder) {\n builder.startObject(5);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MetadataVersion version\n */\n static addVersion(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion) {\n builder.addFieldInt16(0, version, NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MessageHeader headerType\n */\n static addHeaderType(builder: flatbuffers.Builder, headerType: org.apache.arrow.flatbuf.MessageHeader) {\n builder.addFieldInt8(1, headerType, org.apache.arrow.flatbuf.MessageHeader.NONE);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset headerOffset\n */\n static addHeader(builder: flatbuffers.Builder, headerOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, headerOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long bodyLength\n */\n static addBodyLength(builder: flatbuffers.Builder, bodyLength: flatbuffers.Long) {\n builder.addFieldInt64(3, bodyLength, builder.createLong(0, 0));\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset customMetadataOffset\n */\n static addCustomMetadata(builder: flatbuffers.Builder, customMetadataOffset: flatbuffers.Offset) {\n builder.addFieldOffset(4, customMetadataOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param Array. data\n * @returns flatbuffers.Offset\n */\n static createCustomMetadataVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]);\n }\n return builder.endVector();\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startCustomMetadataVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(4, numElems, 4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endMessage(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishMessageBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createMessage(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion, headerType: org.apache.arrow.flatbuf.MessageHeader, headerOffset: flatbuffers.Offset, bodyLength: flatbuffers.Long, customMetadataOffset: flatbuffers.Offset): flatbuffers.Offset {\n Message.startMessage(builder);\n Message.addVersion(builder, version);\n Message.addHeaderType(builder, headerType);\n Message.addHeader(builder, headerOffset);\n Message.addBodyLength(builder, bodyLength);\n Message.addCustomMetadata(builder, customMetadataOffset);\n return Message.endMessage(builder);\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport * as Schema_ from './fb/Schema';\nimport * as Message_ from './fb/Message';\n\nexport import ArrowType = Schema_.org.apache.arrow.flatbuf.Type;\nexport import DateUnit = Schema_.org.apache.arrow.flatbuf.DateUnit;\nexport import TimeUnit = Schema_.org.apache.arrow.flatbuf.TimeUnit;\nexport import Precision = Schema_.org.apache.arrow.flatbuf.Precision;\nexport import UnionMode = Schema_.org.apache.arrow.flatbuf.UnionMode;\nexport import IntervalUnit = Schema_.org.apache.arrow.flatbuf.IntervalUnit;\nexport import MessageHeader = Message_.org.apache.arrow.flatbuf.MessageHeader;\nexport import MetadataVersion = Schema_.org.apache.arrow.flatbuf.MetadataVersion;\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only enum values 0-17 (NONE through Map) are written to an Arrow\n * IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n /** The default placeholder type */\n NONE = 0,\n /** A NULL type having no physical storage */\n Null = 1,\n /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Int = 2,\n /** 2, 4, or 8-byte floating point value */\n Float = 3,\n /** Variable-length bytes (no guarantee of UTF8-ness) */\n Binary = 4,\n /** UTF8 variable-length string as List */\n Utf8 = 5,\n /** Boolean as 1 bit, LSB bit-packed ordering */\n Bool = 6,\n /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Decimal = 7,\n /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Date = 8,\n /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Time = 9,\n /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Timestamp = 10,\n /** YEAR_MONTH or DAY_TIME interval in SQL style */\n Interval = 11,\n /** A list of some logical data type */\n List = 12,\n /** Struct of logical types */\n Struct = 13,\n /** Union of logical types */\n Union = 14,\n /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeBinary = 15,\n /** Fixed-size list. Each value occupies the same number of bytes */\n FixedSizeList = 16,\n /** Map of named logical types */\n Map = 17,\n\n /** Dictionary aka Category type */\n Dictionary = -1,\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26,\n}\n\nexport enum BufferType {\n /**\n * used in List type, Dense Union and variable length primitive types (String, Binary)\n */\n OFFSET = 0,\n\n /**\n * actual data, either wixed width primitive types in slots or variable width delimited by an OFFSET vector\n */\n DATA = 1,\n\n /**\n * Bit vector indicating if each value is null\n */\n VALIDITY = 2,\n\n /**\n * Type vector used in Union type\n */\n TYPE = 3\n }\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport function getBool(_data: any, _index: number, byte: number, bit: number) {\n return (byte & 1 << bit) !== 0;\n}\n\n/** @ignore */\nexport function getBit(_data: any, _index: number, byte: number, bit: number): 0 | 1 {\n return (byte & 1 << bit) >> bit as (0 | 1);\n}\n\n/** @ignore */\nexport function setBool(bytes: Uint8Array, index: number, value: any) {\n return value ?\n !!(bytes[index >> 3] |= (1 << (index % 8))) || true :\n !(bytes[index >> 3] &= ~(1 << (index % 8))) && false ;\n}\n\n/** @ignore */\nexport function truncateBitmap(offset: number, length: number, bitmap: Uint8Array) {\n const alignedSize = (bitmap.byteLength + 7) & ~7;\n if (offset > 0 || bitmap.byteLength < alignedSize) {\n const bytes = new Uint8Array(alignedSize);\n // If the offset is a multiple of 8 bits, it's safe to slice the bitmap\n bytes.set(offset % 8 === 0 ? bitmap.subarray(offset >> 3) :\n // Otherwise iterate each bit from the offset and return a new one\n packBools(iterateBits(bitmap, offset, length, null, getBool)).subarray(0, alignedSize));\n return bytes;\n }\n return bitmap;\n}\n\n/** @ignore */\nexport function packBools(values: Iterable) {\n let xs: number[] = [];\n let i = 0, bit = 0, byte = 0;\n for (const value of values) {\n value && (byte |= 1 << bit);\n if (++bit === 8) {\n xs[i++] = byte;\n byte = bit = 0;\n }\n }\n if (i === 0 || bit > 0) { xs[i++] = byte; }\n let b = new Uint8Array((xs.length + 7) & ~7);\n b.set(xs);\n return b;\n}\n\n/** @ignore */\nexport function* iterateBits(bytes: Uint8Array, begin: number, length: number, context: any,\n get: (context: any, index: number, byte: number, bit: number) => T) {\n let bit = begin % 8;\n let byteIndex = begin >> 3;\n let index = 0, remaining = length;\n for (; remaining > 0; bit = 0) {\n let byte = bytes[byteIndex++];\n do {\n yield get(context, index++, byte, bit);\n } while (--remaining > 0 && ++bit < 8);\n }\n}\n\n/**\n * Compute the population count (the number of bits set to 1) for a range of bits in a Uint8Array.\n * @param vector The Uint8Array of bits for which to compute the population count.\n * @param lhs The range's left-hand side (or start) bit\n * @param rhs The range's right-hand side (or end) bit\n */\n/** @ignore */\nexport function popcnt_bit_range(data: Uint8Array, lhs: number, rhs: number): number {\n if (rhs - lhs <= 0) { return 0; }\n // If the bit range is less than one byte, sum the 1 bits in the bit range\n if (rhs - lhs < 8) {\n let sum = 0;\n for (const bit of iterateBits(data, lhs, rhs - lhs, data, getBit)) {\n sum += bit;\n }\n return sum;\n }\n // Get the next lowest multiple of 8 from the right hand side\n const rhsInside = rhs >> 3 << 3;\n // Get the next highest multiple of 8 from the left hand side\n const lhsInside = lhs + (lhs % 8 === 0 ? 0 : 8 - lhs % 8);\n return (\n // Get the popcnt of bits between the left hand side, and the next highest multiple of 8\n popcnt_bit_range(data, lhs, lhsInside) +\n // Get the popcnt of bits between the right hand side, and the next lowest multiple of 8\n popcnt_bit_range(data, rhsInside, rhs) +\n // Get the popcnt of all bits between the left and right hand sides' multiples of 8\n popcnt_array(data, lhsInside >> 3, (rhsInside - lhsInside) >> 3)\n );\n}\n\n/** @ignore */\nexport function popcnt_array(arr: ArrayBufferView, byteOffset?: number, byteLength?: number) {\n let cnt = 0, pos = byteOffset! | 0;\n const view = new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n const len = byteLength === void 0 ? arr.byteLength : pos + byteLength;\n while (len - pos >= 4) {\n cnt += popcnt_uint32(view.getUint32(pos));\n pos += 4;\n }\n while (len - pos >= 2) {\n cnt += popcnt_uint32(view.getUint16(pos));\n pos += 2;\n }\n while (len - pos >= 1) {\n cnt += popcnt_uint32(view.getUint8(pos));\n pos += 1;\n }\n return cnt;\n}\n\n/** @ignore */\nexport function popcnt_uint32(uint32: number): number {\n let i = uint32 | 0;\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n return (((i + (i >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Vector } from './vector';\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum';\nimport { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, } from './type';\n\nexport abstract class Visitor {\n public visitMany(nodes: any[], ...args: any[][]) {\n return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n }\n public visit(...args: any[]) {\n return this.getVisitFn(args[0], false).apply(this, args);\n }\n public getVisitFn(node: any, throwIfNotFound = true) {\n return getVisitFn(this, node, throwIfNotFound);\n }\n public visitNull (_node: any, ..._args: any[]): any { return null; }\n public visitBool (_node: any, ..._args: any[]): any { return null; }\n public visitInt (_node: any, ..._args: any[]): any { return null; }\n public visitFloat (_node: any, ..._args: any[]): any { return null; }\n public visitUtf8 (_node: any, ..._args: any[]): any { return null; }\n public visitBinary (_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeBinary (_node: any, ..._args: any[]): any { return null; }\n public visitDate (_node: any, ..._args: any[]): any { return null; }\n public visitTimestamp (_node: any, ..._args: any[]): any { return null; }\n public visitTime (_node: any, ..._args: any[]): any { return null; }\n public visitDecimal (_node: any, ..._args: any[]): any { return null; }\n public visitList (_node: any, ..._args: any[]): any { return null; }\n public visitStruct (_node: any, ..._args: any[]): any { return null; }\n public visitUnion (_node: any, ..._args: any[]): any { return null; }\n public visitDictionary (_node: any, ..._args: any[]): any { return null; }\n public visitInterval (_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeList (_node: any, ..._args: any[]): any { return null; }\n public visitMap (_node: any, ..._args: any[]): any { return null; }\n}\n\n/** @ignore */\nfunction getVisitFn(visitor: Visitor, node: any, throwIfNotFound = true) {\n let fn: any = null;\n let dtype: T['TType'] = Type.NONE;\n // tslint:disable\n if (node instanceof Data ) { dtype = inferDType(node.type as T); }\n else if (node instanceof Vector ) { dtype = inferDType(node.type as T); }\n else if (node instanceof DataType) { dtype = inferDType(node as T); }\n else if (typeof (dtype = node) !== 'number') { dtype = Type[node] as any as T['TType']; }\n\n switch (dtype) {\n case Type.Null: fn = visitor.visitNull; break;\n case Type.Bool: fn = visitor.visitBool; break;\n case Type.Int: fn = visitor.visitInt; break;\n case Type.Int8: fn = visitor.visitInt8 || visitor.visitInt; break;\n case Type.Int16: fn = visitor.visitInt16 || visitor.visitInt; break;\n case Type.Int32: fn = visitor.visitInt32 || visitor.visitInt; break;\n case Type.Int64: fn = visitor.visitInt64 || visitor.visitInt; break;\n case Type.Uint8: fn = visitor.visitUint8 || visitor.visitInt; break;\n case Type.Uint16: fn = visitor.visitUint16 || visitor.visitInt; break;\n case Type.Uint32: fn = visitor.visitUint32 || visitor.visitInt; break;\n case Type.Uint64: fn = visitor.visitUint64 || visitor.visitInt; break;\n case Type.Float: fn = visitor.visitFloat; break;\n case Type.Float16: fn = visitor.visitFloat16 || visitor.visitFloat; break;\n case Type.Float32: fn = visitor.visitFloat32 || visitor.visitFloat; break;\n case Type.Float64: fn = visitor.visitFloat64 || visitor.visitFloat; break;\n case Type.Utf8: fn = visitor.visitUtf8; break;\n case Type.Binary: fn = visitor.visitBinary; break;\n case Type.FixedSizeBinary: fn = visitor.visitFixedSizeBinary; break;\n case Type.Date: fn = visitor.visitDate; break;\n case Type.DateDay: fn = visitor.visitDateDay || visitor.visitDate; break;\n case Type.DateMillisecond: fn = visitor.visitDateMillisecond || visitor.visitDate; break;\n case Type.Timestamp: fn = visitor.visitTimestamp; break;\n case Type.TimestampSecond: fn = visitor.visitTimestampSecond || visitor.visitTimestamp; break;\n case Type.TimestampMillisecond: fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp; break;\n case Type.TimestampMicrosecond: fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp; break;\n case Type.TimestampNanosecond: fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp; break;\n case Type.Time: fn = visitor.visitTime; break;\n case Type.TimeSecond: fn = visitor.visitTimeSecond || visitor.visitTime; break;\n case Type.TimeMillisecond: fn = visitor.visitTimeMillisecond || visitor.visitTime; break;\n case Type.TimeMicrosecond: fn = visitor.visitTimeMicrosecond || visitor.visitTime; break;\n case Type.TimeNanosecond: fn = visitor.visitTimeNanosecond || visitor.visitTime; break;\n case Type.Decimal: fn = visitor.visitDecimal; break;\n case Type.List: fn = visitor.visitList; break;\n case Type.Struct: fn = visitor.visitStruct; break;\n case Type.Union: fn = visitor.visitUnion; break;\n case Type.DenseUnion: fn = visitor.visitDenseUnion || visitor.visitUnion; break;\n case Type.SparseUnion: fn = visitor.visitSparseUnion || visitor.visitUnion; break;\n case Type.Dictionary: fn = visitor.visitDictionary; break;\n case Type.Interval: fn = visitor.visitInterval; break;\n case Type.IntervalDayTime: fn = visitor.visitIntervalDayTime || visitor.visitInterval; break;\n case Type.IntervalYearMonth: fn = visitor.visitIntervalYearMonth || visitor.visitInterval; break;\n case Type.FixedSizeList: fn = visitor.visitFixedSizeList; break;\n case Type.Map: fn = visitor.visitMap; break;\n }\n if (typeof fn === 'function') return fn;\n if (!throwIfNotFound) return () => null;\n throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n\n/** @ignore */\nfunction inferDType(type: T): Type {\n switch (type.typeId) {\n case Type.Null: return Type.Null;\n case Type.Int:\n const { bitWidth, isSigned } = (type as any as Int);\n switch (bitWidth) {\n case 8: return isSigned ? Type.Int8 : Type.Uint8 ;\n case 16: return isSigned ? Type.Int16 : Type.Uint16;\n case 32: return isSigned ? Type.Int32 : Type.Uint32;\n case 64: return isSigned ? Type.Int64 : Type.Uint64;\n }\n return Type.Int;\n case Type.Float:\n switch((type as any as Float).precision) {\n case Precision.HALF: return Type.Float16;\n case Precision.SINGLE: return Type.Float32;\n case Precision.DOUBLE: return Type.Float64;\n }\n return Type.Float;\n case Type.Binary: return Type.Binary;\n case Type.Utf8: return Type.Utf8;\n case Type.Bool: return Type.Bool;\n case Type.Decimal: return Type.Decimal;\n case Type.Time:\n switch ((type as any as Time).unit) {\n case TimeUnit.SECOND: return Type.TimeSecond;\n case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n }\n return Type.Time;\n case Type.Timestamp:\n switch ((type as any as Timestamp).unit) {\n case TimeUnit.SECOND: return Type.TimestampSecond;\n case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n }\n return Type.Timestamp;\n case Type.Date:\n switch ((type as any as Date_).unit) {\n case DateUnit.DAY: return Type.DateDay;\n case DateUnit.MILLISECOND: return Type.DateMillisecond;\n }\n return Type.Date;\n case Type.Interval:\n switch ((type as any as Interval).unit) {\n case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n }\n return Type.Interval;\n case Type.Map: return Type.Map;\n case Type.List: return Type.List;\n case Type.Struct: return Type.Struct;\n case Type.Union:\n switch ((type as any as Union).mode) {\n case UnionMode.Dense: return Type.DenseUnion;\n case UnionMode.Sparse: return Type.SparseUnion;\n }\n return Type.Union;\n case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n case Type.FixedSizeList: return Type.FixedSizeList;\n case Type.Dictionary: return Type.Dictionary;\n }\n throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n\nexport interface Visitor {\n visitNull (node: any, ...args: any[]): any;\n visitBool (node: any, ...args: any[]): any;\n visitInt (node: any, ...args: any[]): any;\n visitInt8? (node: any, ...args: any[]): any;\n visitInt16? (node: any, ...args: any[]): any;\n visitInt32? (node: any, ...args: any[]): any;\n visitInt64? (node: any, ...args: any[]): any;\n visitUint8? (node: any, ...args: any[]): any;\n visitUint16? (node: any, ...args: any[]): any;\n visitUint32? (node: any, ...args: any[]): any;\n visitUint64? (node: any, ...args: any[]): any;\n visitFloat (node: any, ...args: any[]): any;\n visitFloat16? (node: any, ...args: any[]): any;\n visitFloat32? (node: any, ...args: any[]): any;\n visitFloat64? (node: any, ...args: any[]): any;\n visitUtf8 (node: any, ...args: any[]): any;\n visitBinary (node: any, ...args: any[]): any;\n visitFixedSizeBinary (node: any, ...args: any[]): any;\n visitDate (node: any, ...args: any[]): any;\n visitDateDay? (node: any, ...args: any[]): any;\n visitDateMillisecond? (node: any, ...args: any[]): any;\n visitTimestamp (node: any, ...args: any[]): any;\n visitTimestampSecond? (node: any, ...args: any[]): any;\n visitTimestampMillisecond? (node: any, ...args: any[]): any;\n visitTimestampMicrosecond? (node: any, ...args: any[]): any;\n visitTimestampNanosecond? (node: any, ...args: any[]): any;\n visitTime (node: any, ...args: any[]): any;\n visitTimeSecond? (node: any, ...args: any[]): any;\n visitTimeMillisecond? (node: any, ...args: any[]): any;\n visitTimeMicrosecond? (node: any, ...args: any[]): any;\n visitTimeNanosecond? (node: any, ...args: any[]): any;\n visitDecimal (node: any, ...args: any[]): any;\n visitList (node: any, ...args: any[]): any;\n visitStruct (node: any, ...args: any[]): any;\n visitUnion (node: any, ...args: any[]): any;\n visitDenseUnion? (node: any, ...args: any[]): any;\n visitSparseUnion? (node: any, ...args: any[]): any;\n visitDictionary (node: any, ...args: any[]): any;\n visitInterval (node: any, ...args: any[]): any;\n visitIntervalDayTime? (node: any, ...args: any[]): any;\n visitIntervalYearMonth? (node: any, ...args: any[]): any;\n visitFixedSizeList (node: any, ...args: any[]): any;\n visitMap (node: any, ...args: any[]): any;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Visitor.prototype as any).visitInt8 = null;\n(Visitor.prototype as any).visitInt16 = null;\n(Visitor.prototype as any).visitInt32 = null;\n(Visitor.prototype as any).visitInt64 = null;\n(Visitor.prototype as any).visitUint8 = null;\n(Visitor.prototype as any).visitUint16 = null;\n(Visitor.prototype as any).visitUint32 = null;\n(Visitor.prototype as any).visitUint64 = null;\n(Visitor.prototype as any).visitFloat16 = null;\n(Visitor.prototype as any).visitFloat32 = null;\n(Visitor.prototype as any).visitFloat64 = null;\n(Visitor.prototype as any).visitDateDay = null;\n(Visitor.prototype as any).visitDateMillisecond = null;\n(Visitor.prototype as any).visitTimestampSecond = null;\n(Visitor.prototype as any).visitTimestampMillisecond = null;\n(Visitor.prototype as any).visitTimestampMicrosecond = null;\n(Visitor.prototype as any).visitTimestampNanosecond = null;\n(Visitor.prototype as any).visitTimeSecond = null;\n(Visitor.prototype as any).visitTimeMillisecond = null;\n(Visitor.prototype as any).visitTimeMicrosecond = null;\n(Visitor.prototype as any).visitTimeNanosecond = null;\n(Visitor.prototype as any).visitDenseUnion = null;\n(Visitor.prototype as any).visitSparseUnion = null;\n(Visitor.prototype as any).visitIntervalDayTime = null;\n(Visitor.prototype as any).visitIntervalYearMonth = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { Schema, Field } from '../schema';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface TypeComparator extends Visitor {\n visit(type: T, other?: DataType | null): other is T;\n visitMany(nodes: T[], others?: DataType[] | null): boolean[];\n getVisitFn(node: VectorType | Data | T): (other?: DataType | null) => other is T;\n visitNull (type: T, other?: DataType | null): other is T;\n visitBool (type: T, other?: DataType | null): other is T;\n visitInt (type: T, other?: DataType | null): other is T;\n visitInt8 (type: T, other?: DataType | null): other is T;\n visitInt16 (type: T, other?: DataType | null): other is T;\n visitInt32 (type: T, other?: DataType | null): other is T;\n visitInt64 (type: T, other?: DataType | null): other is T;\n visitUint8 (type: T, other?: DataType | null): other is T;\n visitUint16 (type: T, other?: DataType | null): other is T;\n visitUint32 (type: T, other?: DataType | null): other is T;\n visitUint64 (type: T, other?: DataType | null): other is T;\n visitFloat (type: T, other?: DataType | null): other is T;\n visitFloat16 (type: T, other?: DataType | null): other is T;\n visitFloat32 (type: T, other?: DataType | null): other is T;\n visitFloat64 (type: T, other?: DataType | null): other is T;\n visitUtf8 (type: T, other?: DataType | null): other is T;\n visitBinary (type: T, other?: DataType | null): other is T;\n visitFixedSizeBinary (type: T, other?: DataType | null): other is T;\n visitDate (type: T, other?: DataType | null): other is T;\n visitDateDay (type: T, other?: DataType | null): other is T;\n visitDateMillisecond (type: T, other?: DataType | null): other is T;\n visitTimestamp (type: T, other?: DataType | null): other is T;\n visitTimestampSecond (type: T, other?: DataType | null): other is T;\n visitTimestampMillisecond (type: T, other?: DataType | null): other is T;\n visitTimestampMicrosecond (type: T, other?: DataType | null): other is T;\n visitTimestampNanosecond (type: T, other?: DataType | null): other is T;\n visitTime (type: T, other?: DataType | null): other is T;\n visitTimeSecond (type: T, other?: DataType | null): other is T;\n visitTimeMillisecond (type: T, other?: DataType | null): other is T;\n visitTimeMicrosecond (type: T, other?: DataType | null): other is T;\n visitTimeNanosecond (type: T, other?: DataType | null): other is T;\n visitDecimal (type: T, other?: DataType | null): other is T;\n visitList (type: T, other?: DataType | null): other is T;\n visitStruct (type: T, other?: DataType | null): other is T;\n visitUnion (type: T, other?: DataType | null): other is T;\n visitDenseUnion (type: T, other?: DataType | null): other is T;\n visitSparseUnion (type: T, other?: DataType | null): other is T;\n visitDictionary (type: T, other?: DataType | null): other is T;\n visitInterval (type: T, other?: DataType | null): other is T;\n visitIntervalDayTime (type: T, other?: DataType | null): other is T;\n visitIntervalYearMonth (type: T, other?: DataType | null): other is T;\n visitFixedSizeList (type: T, other?: DataType | null): other is T;\n visitMap (type: T, other?: DataType | null): other is T;\n}\n\n/** @ignore */\nexport class TypeComparator extends Visitor {\n compareSchemas(schema: Schema, other?: Schema | null): other is Schema {\n return (schema === other) || (\n other instanceof schema.constructor &&\n instance.compareFields(schema.fields, other.fields)\n );\n }\n compareFields(fields: Field[], others?: Field[] | null): others is Field[] {\n return (fields === others) || (\n Array.isArray(fields) &&\n Array.isArray(others) &&\n fields.length === others.length &&\n fields.every((f, i) => instance.compareField(f, others[i]))\n );\n }\n compareField(field: Field, other?: Field | null): other is Field {\n return (field === other) || (\n other instanceof field.constructor &&\n field.name === other.name &&\n field.nullable === other.nullable &&\n instance.visit(field.type, other.type)\n );\n }\n}\n\nfunction compareConstructor(type: T, other?: DataType | null): other is T {\n return other instanceof type.constructor;\n}\n\nfunction compareAny(type: T, other?: DataType | null): other is T {\n return (type === other) || compareConstructor(type, other);\n}\n\nfunction compareInt(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.bitWidth === other.bitWidth &&\n type.isSigned === other.isSigned\n );\n}\n\nfunction compareFloat(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.precision === other.precision\n );\n}\n\nfunction compareFixedSizeBinary(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.byteWidth === other.byteWidth\n );\n}\n\nfunction compareDate(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareTimestamp(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.timezone === other.timezone\n );\n}\n\nfunction compareTime(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit &&\n type.bitWidth === other.bitWidth\n );\n}\n\nfunction compareList(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareStruct(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareUnion(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.mode === other.mode &&\n type.typeIds.every((x, i) => x === other.typeIds[i]) &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareDictionary(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.id === other.id &&\n type.isOrdered === other.isOrdered &&\n instance.visit( type.indices, other.indices) &&\n instance.visit(type.dictionary, other.dictionary)\n );\n}\n\nfunction compareInterval(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.unit === other.unit\n );\n}\n\nfunction compareFixedSizeList(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.listSize === other.listSize &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nfunction compareMap(type: T, other?: DataType | null): other is T {\n return (type === other) || (\n compareConstructor(type, other) &&\n type.keysSorted === other.keysSorted &&\n type.children.length === other.children.length &&\n instance.compareFields(type.children, other.children)\n );\n}\n\nTypeComparator.prototype.visitNull = compareAny;\nTypeComparator.prototype.visitBool = compareAny;\nTypeComparator.prototype.visitInt = compareInt;\nTypeComparator.prototype.visitInt8 = compareInt;\nTypeComparator.prototype.visitInt16 = compareInt;\nTypeComparator.prototype.visitInt32 = compareInt;\nTypeComparator.prototype.visitInt64 = compareInt;\nTypeComparator.prototype.visitUint8 = compareInt;\nTypeComparator.prototype.visitUint16 = compareInt;\nTypeComparator.prototype.visitUint32 = compareInt;\nTypeComparator.prototype.visitUint64 = compareInt;\nTypeComparator.prototype.visitFloat = compareFloat;\nTypeComparator.prototype.visitFloat16 = compareFloat;\nTypeComparator.prototype.visitFloat32 = compareFloat;\nTypeComparator.prototype.visitFloat64 = compareFloat;\nTypeComparator.prototype.visitUtf8 = compareAny;\nTypeComparator.prototype.visitBinary = compareAny;\nTypeComparator.prototype.visitFixedSizeBinary = compareFixedSizeBinary;\nTypeComparator.prototype.visitDate = compareDate;\nTypeComparator.prototype.visitDateDay = compareDate;\nTypeComparator.prototype.visitDateMillisecond = compareDate;\nTypeComparator.prototype.visitTimestamp = compareTimestamp;\nTypeComparator.prototype.visitTimestampSecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMillisecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampMicrosecond = compareTimestamp;\nTypeComparator.prototype.visitTimestampNanosecond = compareTimestamp;\nTypeComparator.prototype.visitTime = compareTime;\nTypeComparator.prototype.visitTimeSecond = compareTime;\nTypeComparator.prototype.visitTimeMillisecond = compareTime;\nTypeComparator.prototype.visitTimeMicrosecond = compareTime;\nTypeComparator.prototype.visitTimeNanosecond = compareTime;\nTypeComparator.prototype.visitDecimal = compareAny;\nTypeComparator.prototype.visitList = compareList;\nTypeComparator.prototype.visitStruct = compareStruct;\nTypeComparator.prototype.visitUnion = compareUnion;\nTypeComparator.prototype.visitDenseUnion = compareUnion;\nTypeComparator.prototype.visitSparseUnion = compareUnion;\nTypeComparator.prototype.visitDictionary = compareDictionary;\nTypeComparator.prototype.visitInterval = compareInterval;\nTypeComparator.prototype.visitIntervalDayTime = compareInterval;\nTypeComparator.prototype.visitIntervalYearMonth = compareInterval;\nTypeComparator.prototype.visitFixedSizeList = compareFixedSizeList;\nTypeComparator.prototype.visitMap = compareMap;\n\n/** @ignore */\nexport const instance = new TypeComparator();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* tslint:disable:class-name */\n\nimport { Field } from './schema';\nimport { flatbuffers } from 'flatbuffers';\nimport { TypedArrayConstructor } from './interfaces';\nimport { VectorType as V, TypeToDataType } from './interfaces';\nimport { instance as comparer } from './visitor/typecomparator';\n\nimport Long = flatbuffers.Long;\nimport {\n Type,\n Precision, UnionMode,\n DateUnit, TimeUnit, IntervalUnit\n} from './enum';\n\n/** @ignore */\nexport type TimeBitWidth = 32 | 64;\n/** @ignore */\nexport type IntBitWidth = 8 | 16 | 32 | 64;\n/** @ignore */\nexport type IsSigned = { 'true': true; 'false': false };\n/** @ignore */\nexport type RowLike =\n ( Iterable<[string, T[keyof T]['TValue'] | null]> )\n & { [P in keyof T]: T[P]['TValue'] | null }\n & { get(key: K): T[K]['TValue'] | null; }\n & { set(key: K, val: T[K]['TValue'] | null): void; }\n ;\n\n/** @ignore */\nexport type MapLike =\n { [P in K['TValue']]: V['TValue'] | null }\n & ( Map )\n ;\n\nexport interface DataType {\n readonly TType: TType;\n readonly TArray: any;\n readonly TValue: any;\n readonly ArrayType: any;\n readonly children: Field[];\n}\n\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport abstract class DataType {\n\n // @ts-ignore\n public [Symbol.toStringTag]: string;\n\n /** @nocollapse */ static isNull (x: any): x is Null { return x && x.typeId === Type.Null; }\n /** @nocollapse */ static isInt (x: any): x is Int_ { return x && x.typeId === Type.Int; }\n /** @nocollapse */ static isFloat (x: any): x is Float { return x && x.typeId === Type.Float; }\n /** @nocollapse */ static isBinary (x: any): x is Binary { return x && x.typeId === Type.Binary; }\n /** @nocollapse */ static isUtf8 (x: any): x is Utf8 { return x && x.typeId === Type.Utf8; }\n /** @nocollapse */ static isBool (x: any): x is Bool { return x && x.typeId === Type.Bool; }\n /** @nocollapse */ static isDecimal (x: any): x is Decimal { return x && x.typeId === Type.Decimal; }\n /** @nocollapse */ static isDate (x: any): x is Date_ { return x && x.typeId === Type.Date; }\n /** @nocollapse */ static isTime (x: any): x is Time_ { return x && x.typeId === Type.Time; }\n /** @nocollapse */ static isTimestamp (x: any): x is Timestamp_ { return x && x.typeId === Type.Timestamp; }\n /** @nocollapse */ static isInterval (x: any): x is Interval_ { return x && x.typeId === Type.Interval; }\n /** @nocollapse */ static isList (x: any): x is List { return x && x.typeId === Type.List; }\n /** @nocollapse */ static isStruct (x: any): x is Struct { return x && x.typeId === Type.Struct; }\n /** @nocollapse */ static isUnion (x: any): x is Union_ { return x && x.typeId === Type.Union; }\n /** @nocollapse */ static isFixedSizeBinary (x: any): x is FixedSizeBinary { return x && x.typeId === Type.FixedSizeBinary; }\n /** @nocollapse */ static isFixedSizeList (x: any): x is FixedSizeList { return x && x.typeId === Type.FixedSizeList; }\n /** @nocollapse */ static isMap (x: any): x is Map_ { return x && x.typeId === Type.Map; }\n /** @nocollapse */ static isDictionary (x: any): x is Dictionary { return x && x.typeId === Type.Dictionary; }\n\n public get typeId(): TType { return Type.NONE; }\n public compareTo(other: DataType): other is TypeToDataType {\n return comparer.visit(this, other);\n }\n\n protected static [Symbol.toStringTag] = ((proto: DataType) => {\n ( proto).children = null;\n ( proto).ArrayType = Array;\n return proto[Symbol.toStringTag] = 'DataType';\n })(DataType.prototype);\n}\n\n/** @ignore */\nexport interface Null extends DataType { TArray: void; TValue: null; }\n/** @ignore */\nexport class Null extends DataType {\n public toString() { return `Null`; }\n public get typeId() { return Type.Null as Type.Null; }\n protected static [Symbol.toStringTag] = ((proto: Null) => {\n return proto[Symbol.toStringTag] = 'Null';\n })(Null.prototype);\n}\n\n/** @ignore */\ntype Ints = Type.Int | Type.Int8 | Type.Int16 | Type.Int32 | Type.Int64 | Type.Uint8 | Type.Uint16 | Type.Uint32 | Type.Uint64;\n/** @ignore */\ntype IType = {\n [Type.Int ]: { bitWidth: IntBitWidth; isSigned: true | false; TArray: IntArray; TValue: number | bigint | Int32Array | Uint32Array; };\n [Type.Int8 ]: { bitWidth: 8; isSigned: true; TArray: Int8Array; TValue: number; };\n [Type.Int16 ]: { bitWidth: 16; isSigned: true; TArray: Int16Array; TValue: number; };\n [Type.Int32 ]: { bitWidth: 32; isSigned: true; TArray: Int32Array; TValue: number; };\n [Type.Int64 ]: { bitWidth: 64; isSigned: true; TArray: Int32Array; TValue: bigint | Int32Array | Uint32Array; };\n [Type.Uint8 ]: { bitWidth: 8; isSigned: false; TArray: Uint8Array; TValue: number; };\n [Type.Uint16]: { bitWidth: 16; isSigned: false; TArray: Uint16Array; TValue: number; };\n [Type.Uint32]: { bitWidth: 32; isSigned: false; TArray: Uint32Array; TValue: number; };\n [Type.Uint64]: { bitWidth: 64; isSigned: false; TArray: Uint32Array; TValue: bigint | Int32Array | Uint32Array; };\n};\n\n/** @ignore */\ninterface Int_ extends DataType { TArray: IType[T]['TArray']; TValue: IType[T]['TValue']; }\n/** @ignore */\nclass Int_ extends DataType {\n constructor(public readonly isSigned: IType[T]['isSigned'],\n public readonly bitWidth: IType[T]['bitWidth']) {\n super();\n }\n public get typeId() { return Type.Int as T; }\n public get ArrayType(): TypedArrayConstructor {\n switch (this.bitWidth) {\n case 8: return this.isSigned ? Int8Array : Uint8Array;\n case 16: return this.isSigned ? Int16Array : Uint16Array;\n case 32: return this.isSigned ? Int32Array : Uint32Array;\n case 64: return this.isSigned ? Int32Array : Uint32Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n protected static [Symbol.toStringTag] = ((proto: Int_) => {\n ( proto).isSigned = null;\n ( proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Int';\n })(Int_.prototype);\n}\n\nexport { Int_ as Int };\n\n/** @ignore */\nexport class Int8 extends Int_ { constructor() { super(true, 8); } }\n/** @ignore */\nexport class Int16 extends Int_ { constructor() { super(true, 16); } }\n/** @ignore */\nexport class Int32 extends Int_ { constructor() { super(true, 32); } }\n/** @ignore */\nexport class Int64 extends Int_ { constructor() { super(true, 64); } }\n/** @ignore */\nexport class Uint8 extends Int_ { constructor() { super(false, 8); } }\n/** @ignore */\nexport class Uint16 extends Int_ { constructor() { super(false, 16); } }\n/** @ignore */\nexport class Uint32 extends Int_ { constructor() { super(false, 32); } }\n/** @ignore */\nexport class Uint64 extends Int_ { constructor() { super(false, 64); } }\n\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: Uint32Array });\n\n/** @ignore */\ntype Floats = Type.Float | Type.Float16 | Type.Float32 | Type.Float64;\n/** @ignore */\ntype FType = {\n [Type.Float ]: { precision: Precision; TArray: FloatArray; TValue: number; };\n [Type.Float16]: { precision: Precision.HALF; TArray: Uint16Array; TValue: number; };\n [Type.Float32]: { precision: Precision.SINGLE; TArray: Float32Array; TValue: number; };\n [Type.Float64]: { precision: Precision.DOUBLE; TArray: Float64Array; TValue: number; };\n};\n\n/** @ignore */\nexport interface Float extends DataType { TArray: FType[T]['TArray']; TValue: number; }\n/** @ignore */\nexport class Float extends DataType {\n constructor(public readonly precision: Precision) {\n super();\n }\n public get typeId() { return Type.Float as T; }\n public get ArrayType(): TypedArrayConstructor {\n switch (this.precision) {\n case Precision.HALF: return Uint16Array;\n case Precision.SINGLE: return Float32Array;\n case Precision.DOUBLE: return Float64Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `Float${(this.precision << 5) || 16}`; }\n protected static [Symbol.toStringTag] = ((proto: Float) => {\n ( proto).precision = null;\n return proto[Symbol.toStringTag] = 'Float';\n })(Float.prototype);\n}\n\n/** @ignore */\nexport class Float16 extends Float { constructor() { super(Precision.HALF); } }\n/** @ignore */\nexport class Float32 extends Float { constructor() { super(Precision.SINGLE); } }\n/** @ignore */\nexport class Float64 extends Float { constructor() { super(Precision.DOUBLE); } }\n\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n\n/** @ignore */\nexport interface Binary extends DataType { TArray: Uint8Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Binary as Type.Binary; }\n public toString() { return `Binary`; }\n protected static [Symbol.toStringTag] = ((proto: Binary) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Binary';\n })(Binary.prototype);\n}\n\n/** @ignore */\nexport interface Utf8 extends DataType { TArray: Uint8Array; TValue: string; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Utf8 extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Utf8 as Type.Utf8; }\n public toString() { return `Utf8`; }\n protected static [Symbol.toStringTag] = ((proto: Utf8) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8';\n })(Utf8.prototype);\n}\n\n/** @ignore */\nexport interface Bool extends DataType { TArray: Uint8Array; TValue: boolean; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Bool extends DataType {\n constructor() {\n super();\n }\n public get typeId() { return Type.Bool as Type.Bool; }\n public toString() { return `Bool`; }\n protected static [Symbol.toStringTag] = ((proto: Bool) => {\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Bool';\n })(Bool.prototype);\n}\n\n/** @ignore */\nexport interface Decimal extends DataType { TArray: Uint32Array; TValue: Uint32Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Decimal extends DataType {\n constructor(public readonly scale: number,\n public readonly precision: number) {\n super();\n }\n public get typeId() { return Type.Decimal as Type.Decimal; }\n public toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n protected static [Symbol.toStringTag] = ((proto: Decimal) => {\n ( proto).scale = null;\n ( proto).precision = null;\n ( proto).ArrayType = Uint32Array;\n return proto[Symbol.toStringTag] = 'Decimal';\n })(Decimal.prototype);\n}\n\n/** @ignore */\nexport type Dates = Type.Date | Type.DateDay | Type.DateMillisecond;\n/** @ignore */\nexport interface Date_ extends DataType { TArray: Int32Array; TValue: Date; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class Date_ extends DataType {\n constructor(public readonly unit: DateUnit) {\n super();\n }\n public get typeId() { return Type.Date as T; }\n public toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Date_) => {\n ( proto).unit = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Date';\n })(Date_.prototype);\n}\n\n/** @ignore */\nexport class DateDay extends Date_ { constructor() { super(DateUnit.DAY); } }\n/** @ignore */\nexport class DateMillisecond extends Date_ { constructor() { super(DateUnit.MILLISECOND); } }\n\n/** @ignore */\ntype Times = Type.Time | Type.TimeSecond | Type.TimeMillisecond | Type.TimeMicrosecond | Type.TimeNanosecond;\n/** @ignore */\ntype TimesType = {\n [Type.Time ]: { unit: TimeUnit; TValue: number | Int32Array };\n [Type.TimeSecond ]: { unit: TimeUnit.SECOND; TValue: number; };\n [Type.TimeMillisecond]: { unit: TimeUnit.MILLISECOND; TValue: number; };\n [Type.TimeMicrosecond]: { unit: TimeUnit.MICROSECOND; TValue: Int32Array; };\n [Type.TimeNanosecond ]: { unit: TimeUnit.NANOSECOND; TValue: Int32Array; };\n};\n\n/** @ignore */\ninterface Time_ extends DataType { TArray: Int32Array; TValue: TimesType[T]['TValue']; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Time_ extends DataType {\n constructor(public readonly unit: TimesType[T]['unit'],\n public readonly bitWidth: TimeBitWidth) {\n super();\n }\n public get typeId() { return Type.Time as T; }\n public toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Time_) => {\n ( proto).unit = null;\n ( proto).bitWidth = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Time';\n })(Time_.prototype);\n}\n\nexport { Time_ as Time };\n\n/** @ignore */\nexport class TimeSecond extends Time_ { constructor() { super(TimeUnit.SECOND, 32); } }\n/** @ignore */\nexport class TimeMillisecond extends Time_ { constructor() { super(TimeUnit.MILLISECOND, 32); } }\n/** @ignore */\nexport class TimeMicrosecond extends Time_ { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n/** @ignore */\nexport class TimeNanosecond extends Time_ { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\n/** @ignore */\ntype Timestamps = Type.Timestamp | Type.TimestampSecond | Type.TimestampMillisecond | Type.TimestampMicrosecond | Type.TimestampNanosecond;\n/** @ignore */\ninterface Timestamp_ extends DataType { TArray: Int32Array; TValue: number; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Timestamp_ extends DataType {\n constructor(public readonly unit: TimeUnit,\n public readonly timezone?: string | null) {\n super();\n }\n public get typeId() { return Type.Timestamp as T; }\n public toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n protected static [Symbol.toStringTag] = ((proto: Timestamp_) => {\n ( proto).unit = null;\n ( proto).timezone = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Timestamp';\n })(Timestamp_.prototype);\n}\n\nexport { Timestamp_ as Timestamp };\n\n/** @ignore */\nexport class TimestampSecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.SECOND, timezone); } }\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.MILLISECOND, timezone); } }\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.MICROSECOND, timezone); } }\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_ { constructor(timezone?: string | null) { super(TimeUnit.NANOSECOND, timezone); } }\n\n/** @ignore */\ntype Intervals = Type.Interval | Type.IntervalDayTime | Type.IntervalYearMonth;\n/** @ignore */\ninterface Interval_ extends DataType { TArray: Int32Array; TValue: Int32Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Interval_ extends DataType {\n constructor(public readonly unit: IntervalUnit) {\n super();\n }\n public get typeId() { return Type.Interval as T; }\n public toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Interval_) => {\n ( proto).unit = null;\n ( proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Interval';\n })(Interval_.prototype);\n}\n\nexport { Interval_ as Interval };\n\n/** @ignore */\nexport class IntervalDayTime extends Interval_ { constructor() { super(IntervalUnit.DAY_TIME); } }\n/** @ignore */\nexport class IntervalYearMonth extends Interval_ { constructor() { super(IntervalUnit.YEAR_MONTH); } }\n\n/** @ignore */\nexport interface List extends DataType { TArray: IterableArrayLike; TValue: V; }\n/** @ignore */\nexport class List extends DataType {\n constructor(child: Field) {\n super();\n this.children = [child];\n }\n public readonly children: Field[];\n public get typeId() { return Type.List as Type.List; }\n public toString() { return `List<${this.valueType}>`; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field { return this.children[0] as Field; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n protected static [Symbol.toStringTag] = ((proto: List) => {\n ( proto).children = null;\n return proto[Symbol.toStringTag] = 'List';\n })(List.prototype);\n}\n\n/** @ignore */\nexport interface Struct extends DataType { TArray: IterableArrayLike>; TValue: RowLike; dataTypes: T; }\n/** @ignore */\nexport class Struct extends DataType {\n public readonly children: Field[];\n constructor(children: Field[]) {\n super();\n this.children = children;\n }\n public get typeId() { return Type.Struct as Type.Struct; }\n public toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Struct) => {\n ( proto).children = null;\n return proto[Symbol.toStringTag] = 'Struct';\n })(Struct.prototype);\n}\n\n/** @ignore */\ntype Unions = Type.Union | Type.DenseUnion | Type.SparseUnion;\n/** @ignore */\ninterface Union_ extends DataType { TArray: Int8Array; TValue: any; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nclass Union_ extends DataType {\n public readonly mode: UnionMode;\n public readonly typeIds: Int32Array;\n public readonly children: Field[];\n public readonly typeIdToChildIndex: { [key: number]: number };\n constructor(mode: UnionMode,\n typeIds: number[] | Int32Array,\n children: Field[]) {\n super();\n this.mode = mode;\n this.children = children;\n this.typeIds = typeIds = Int32Array.from(typeIds);\n this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => {\n return (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex;\n }, Object.create(null) as { [key: number]: number });\n }\n public get typeId() { return Type.Union as T; }\n public toString() { return `${this[Symbol.toStringTag]}<${\n this.children.map((x) => `${x.type}`).join(` | `)\n }>`; }\n protected static [Symbol.toStringTag] = ((proto: Union_) => {\n ( proto).mode = null;\n ( proto).typeIds = null;\n ( proto).children = null;\n ( proto).typeIdToChildIndex = null;\n ( proto).ArrayType = Int8Array;\n return proto[Symbol.toStringTag] = 'Union';\n })(Union_.prototype);\n}\n\nexport { Union_ as Union };\n\n/** @ignore */\nexport class DenseUnion extends Union_ {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Dense, typeIds, children);\n }\n}\n\n/** @ignore */\nexport class SparseUnion extends Union_ {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Sparse, typeIds, children);\n }\n}\n\n/** @ignore */\nexport interface FixedSizeBinary extends DataType { TArray: Uint8Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor; }\n/** @ignore */\nexport class FixedSizeBinary extends DataType {\n constructor(public readonly byteWidth: number) {\n super();\n }\n public get typeId() { return Type.FixedSizeBinary as Type.FixedSizeBinary; }\n public toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeBinary) => {\n ( proto).byteWidth = null;\n ( proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n })(FixedSizeBinary.prototype);\n}\n\n/** @ignore */\nexport interface FixedSizeList extends DataType { TArray: IterableArrayLike; TValue: V; }\n/** @ignore */\nexport class FixedSizeList extends DataType {\n public readonly children: Field[];\n constructor(public readonly listSize: number, child: Field) {\n super();\n this.children = [child];\n }\n public get typeId() { return Type.FixedSizeList as Type.FixedSizeList; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field { return this.children[0] as Field; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n public toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeList) => {\n ( proto).children = null;\n ( proto).listSize = null;\n return proto[Symbol.toStringTag] = 'FixedSizeList';\n })(FixedSizeList.prototype);\n}\n\n/** @ignore */\nexport interface Map_ extends DataType {\n TArray: IterableArrayLike>;\n TChild: Struct<{ key: TKey, value: TValue }>;\n TValue: MapLike;\n}\n\n/** @ignore */\nexport class Map_ extends DataType {\n constructor(child: Field>, keysSorted = false) {\n super();\n this.children = [child];\n this.keysSorted = keysSorted;\n }\n public readonly keysSorted: boolean;\n public readonly children: Field>[];\n public get typeId() { return Type.Map as Type.Map; }\n public get keyType(): TKey { return this.children[0].type.children[0].type as TKey; }\n public get valueType(): TValue { return this.children[0].type.children[1].type as TValue; }\n public toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Map_) => {\n ( proto).children = null;\n ( proto).keysSorted = null;\n return proto[Symbol.toStringTag] = 'Map_';\n })(Map_.prototype);\n}\n\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n\n/** @ignore */\nexport type TKeys = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32;\n\n/** @ignore */\nexport interface Dictionary extends DataType { TArray: TKey['TArray']; TValue: T['TValue']; }\n/** @ignore */\nexport class Dictionary extends DataType {\n public readonly id: number;\n public readonly indices: TKey;\n public readonly dictionary: T;\n public readonly isOrdered: boolean;\n constructor(dictionary: T, indices: TKey, id?: Long | number | null, isOrdered?: boolean | null) {\n super();\n this.indices = indices;\n this.dictionary = dictionary;\n this.isOrdered = isOrdered || false;\n this.id = id == null ? getId() : typeof id === 'number' ? id : id.low;\n }\n public get typeId() { return Type.Dictionary as Type.Dictionary; }\n public get children() { return this.dictionary.children; }\n public get valueType(): T { return this.dictionary as T; }\n public get ArrayType(): T['ArrayType'] { return this.dictionary.ArrayType; }\n public toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n protected static [Symbol.toStringTag] = ((proto: Dictionary) => {\n ( proto).id = null;\n ( proto).indices = null;\n ( proto).isOrdered = null;\n ( proto).dictionary = null;\n return proto[Symbol.toStringTag] = 'Dictionary';\n })(Dictionary.prototype);\n}\n\n/** @ignore */\nexport interface IterableArrayLike extends ArrayLike, Iterable {}\n/** @ignore */\nexport type FloatArray = Uint16Array | Float32Array | Float64Array;\n/** @ignore */\nexport type IntArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;\n\n/** @ignore */\nexport function strideForType(type: DataType) {\n let t: any = type;\n switch (type.typeId) {\n case Type.Decimal: return 4;\n case Type.Timestamp: return 2;\n case Type.Date: return 1 + (t as Date_).unit;\n case Type.Interval: return 1 + (t as Interval_).unit;\n case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n case Type.FixedSizeList: return (t as FixedSizeList).listSize;\n case Type.FixedSizeBinary: return (t as FixedSizeBinary).byteWidth;\n default: return 1;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector';\nimport { truncateBitmap } from './util/bit';\nimport { popcnt_bit_range } from './util/bit';\nimport { BufferType, UnionMode, Type } from './enum';\nimport { DataType, SparseUnion, DenseUnion, strideForType } from './type';\nimport { toArrayBufferView, toUint8Array, toInt32Array } from './util/buffer';\nimport {\n Dictionary,\n Null, Int, Float,\n Binary, Bool, Utf8, Decimal,\n Date_, Time, Timestamp, Interval,\n List, Struct, Union, FixedSizeBinary, FixedSizeList, Map_,\n} from './type';\n\n// When slicing, we do not know the null count of the sliced range without\n// doing some computation. To avoid doing this eagerly, we set the null count\n// to -1 (any negative number will do). When Vector.nullCount is called the\n// first time, the null count will be computed. See ARROW-33\n/** @ignore */ export type kUnknownNullCount = -1;\n/** @ignore */ export const kUnknownNullCount = -1;\n\n/** @ignore */ export type NullBuffer = Uint8Array | null | undefined;\n/** @ignore */ export type TypeIdsBuffer = Int8Array | ArrayLike | Iterable | undefined;\n/** @ignore */ export type ValueOffsetsBuffer = Int32Array | ArrayLike | Iterable | undefined;\n/** @ignore */ export type DataBuffer = T['TArray'] | ArrayLike | Iterable | undefined;\n\n/** @ignore */\nexport interface Buffers {\n [BufferType.OFFSET]: Int32Array;\n [BufferType.DATA]: T['TArray'];\n [BufferType.VALIDITY]: Uint8Array;\n [BufferType.TYPE]: T['TArray'];\n}\n\n/** @ignore */\nexport interface Data {\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\n/** @ignore */\nexport class Data {\n\n public readonly type: T;\n public readonly length: number;\n public readonly offset: number;\n public readonly stride: number;\n public readonly childData: Data[];\n\n /**\n * The dictionary for this Vector, if any. Only used for Dictionary type.\n */\n public dictionary?: Vector;\n\n public readonly values: Buffers[BufferType.DATA];\n // @ts-ignore\n public readonly typeIds: Buffers[BufferType.TYPE];\n // @ts-ignore\n public readonly nullBitmap: Buffers[BufferType.VALIDITY];\n // @ts-ignore\n public readonly valueOffsets: Buffers[BufferType.OFFSET];\n\n public get typeId(): T['TType'] { return this.type.typeId; }\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n public get buffers() {\n return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds] as Buffers;\n }\n public get byteLength(): number {\n let byteLength = 0;\n let { valueOffsets, values, nullBitmap, typeIds } = this;\n valueOffsets && (byteLength += valueOffsets.byteLength);\n values && (byteLength += values.byteLength);\n nullBitmap && (byteLength += nullBitmap.byteLength);\n typeIds && (byteLength += typeIds.byteLength);\n return this.childData.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n }\n\n protected _nullCount: number | kUnknownNullCount;\n\n public get nullCount() {\n let nullCount = this._nullCount;\n let nullBitmap: Uint8Array | undefined;\n if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n this._nullCount = nullCount = this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n }\n return nullCount;\n }\n\n constructor(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial> | Data, childData?: (Data | Vector)[], dictionary?: Vector) {\n this.type = type;\n this.dictionary = dictionary;\n this.offset = Math.floor(Math.max(offset || 0, 0));\n this.length = Math.floor(Math.max(length || 0, 0));\n this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n this.childData = (childData || []).map((x) => x instanceof Data ? x : x.data) as Data[];\n let buffer: Buffers[keyof Buffers];\n if (buffers instanceof Data) {\n this.stride = buffers.stride;\n this.values = buffers.values;\n this.typeIds = buffers.typeIds;\n this.nullBitmap = buffers.nullBitmap;\n this.valueOffsets = buffers.valueOffsets;\n } else {\n this.stride = strideForType(type);\n if (buffers) {\n (buffer = (buffers as Buffers)[0]) && (this.valueOffsets = buffer);\n (buffer = (buffers as Buffers)[1]) && (this.values = buffer);\n (buffer = (buffers as Buffers)[2]) && (this.nullBitmap = buffer);\n (buffer = (buffers as Buffers)[3]) && (this.typeIds = buffer);\n }\n }\n }\n\n public clone(type: R, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers: Buffers = this, childData: (Data | Vector)[] = this.childData) {\n return new Data(type, offset, length, nullCount, buffers, childData, this.dictionary);\n }\n\n public slice(offset: number, length: number): Data {\n const { stride, typeId, childData } = this;\n // +true === 1, +false === 0, so this means\n // we keep nullCount at 0 if it's already 0,\n // otherwise set to the invalidated flag -1\n const nullCount = +(this._nullCount === 0) - 1;\n const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n const buffers = this._sliceBuffers(offset, length, stride, typeId);\n return this.clone(this.type, this.offset + offset, length, nullCount, buffers,\n // Don't slice children if we have value offsets (the variable-width types)\n (!childData.length || this.valueOffsets) ? childData : this._sliceChildren(childData, childStride * offset, childStride * length));\n }\n\n public _changeLengthAndBackfillNullBitmap(newLength: number): Data {\n if (this.typeId === Type.Null) {\n return this.clone(this.type, 0, newLength, 0);\n }\n const { length, nullCount } = this;\n // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (nullCount > 0) {\n bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n }\n const buffers = this.buffers;\n buffers[BufferType.VALIDITY] = bitmap;\n return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);\n }\n\n protected _sliceBuffers(offset: number, length: number, stride: number, typeId: T['TType']): Buffers {\n let arr: any, { buffers } = this;\n // If typeIds exist, slice the typeIds buffer\n (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n // If offsets exist, only slice the offsets buffer\n (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n return buffers;\n }\n\n protected _sliceChildren(childData: Data[], offset: number, length: number): Data[] {\n return childData.map((child) => child.slice(offset, length));\n }\n\n //\n // Convenience methods for creating Data instances for each of the Arrow Vector types\n //\n /** @nocollapse */\n public static new(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial> | Data, childData?: (Data | Vector)[], dictionary?: Vector): Data {\n if (buffers instanceof Data) { buffers = buffers.buffers; } else if (!buffers) { buffers = [] as Partial>; }\n switch (type.typeId) {\n case Type.Null: return Data.Null( type as Null, offset, length) as Data;\n case Type.Int: return Data.Int( type as Int, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Dictionary: return Data.Dictionary( type as Dictionary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || [], dictionary!) as Data;\n case Type.Float: return Data.Float( type as Float, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Bool: return Data.Bool( type as Bool, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Decimal: return Data.Decimal( type as Decimal, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Date: return Data.Date( type as Date_, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Time: return Data.Time( type as Time, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Timestamp: return Data.Timestamp( type as Timestamp, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Interval: return Data.Interval( type as Interval, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.FixedSizeBinary: return Data.FixedSizeBinary( type as FixedSizeBinary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.DATA] || []) as Data;\n case Type.Binary: return Data.Binary( type as Binary, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []) as Data;\n case Type.Utf8: return Data.Utf8( type as Utf8, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], buffers[BufferType.DATA] || []) as Data;\n case Type.List: return Data.List( type as List, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]) as Data;\n case Type.FixedSizeList: return Data.FixedSizeList( type as FixedSizeList, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], (childData || [])[0]) as Data;\n case Type.Struct: return Data.Struct( type as Struct, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], childData || []) as Data;\n case Type.Map: return Data.Map( type as Map_, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.OFFSET] || [], (childData || [])[0]) as Data;\n case Type.Union: return Data.Union( type as Union, offset, length, nullCount || 0, buffers[BufferType.VALIDITY], buffers[BufferType.TYPE] || [], buffers[BufferType.OFFSET] || childData, childData) as Data;\n }\n throw new Error(`Unrecognized typeId ${type.typeId}`);\n }\n\n /** @nocollapse */\n public static Null(type: T, offset: number, length: number) {\n return new Data(type, offset, length, 0);\n }\n /** @nocollapse */\n public static Int(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Dictionary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer, dictionary: Vector) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.indices.ArrayType, data), toUint8Array(nullBitmap)], [], dictionary);\n }\n /** @nocollapse */\n public static Float(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Bool(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Decimal(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Date(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Time(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Timestamp(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Interval(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static FixedSizeBinary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, data: DataBuffer) {\n return new Data(type, offset, length, nullCount, [undefined, toArrayBufferView(type.ArrayType, data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Binary(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, data: Uint8Array) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static Utf8(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, data: Uint8Array) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), toUint8Array(data), toUint8Array(nullBitmap)]);\n }\n /** @nocollapse */\n public static List(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, child: Data | Vector) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], [child]);\n }\n /** @nocollapse */\n public static FixedSizeList(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, child: Data | Vector) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], [child]);\n }\n /** @nocollapse */\n public static Struct(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, children: (Data | Vector)[]) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, toUint8Array(nullBitmap)], children);\n }\n /** @nocollapse */\n public static Map(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, valueOffsets: ValueOffsetsBuffer, child: (Data | Vector)) {\n return new Data(type, offset, length, nullCount, [toInt32Array(valueOffsets), undefined, toUint8Array(nullBitmap)], [child]);\n }\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, children: (Data | Vector)[], _?: any): Data;\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsets: ValueOffsetsBuffer, children: (Data | Vector)[]): Data;\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsetsOrChildren: ValueOffsetsBuffer | (Data | Vector)[], children?: (Data | Vector)[]): Data;\n /** @nocollapse */\n public static Union(type: T, offset: number, length: number, nullCount: number, nullBitmap: NullBuffer, typeIds: TypeIdsBuffer, valueOffsetsOrChildren: ValueOffsetsBuffer | (Data | Vector)[], children?: (Data | Vector)[]) {\n const buffers = [\n undefined, undefined,\n toUint8Array(nullBitmap),\n toArrayBufferView(type.ArrayType, typeIds)\n ] as Partial>;\n if (type.mode === UnionMode.Sparse) {\n return new Data(type, offset, length, nullCount, buffers, valueOffsetsOrChildren as (Data | Vector)[]);\n }\n buffers[BufferType.OFFSET] = toInt32Array( valueOffsetsOrChildren);\n return new Data(type, offset, length, nullCount, buffers, children);\n }\n}\n\n(Data.prototype as any).childData = Object.freeze([]);\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */ const undf = void (0);\n\n/** @ignore */\nexport function valueToString(x: any) {\n if (x === null) { return 'null'; }\n if (x === undf) { return 'undefined'; }\n switch (typeof x) {\n case 'number': return `${x}`;\n case 'bigint': return `${x}`;\n case 'string': return `\"${x}\"`;\n }\n // If [Symbol.toPrimitive] is implemented (like in BN)\n // use it instead of JSON.stringify(). This ensures we\n // print BigInts, Decimals, and Binary in their native\n // representation\n if (typeof x[Symbol.toPrimitive] === 'function') {\n return x[Symbol.toPrimitive]('string');\n }\n return ArrayBuffer.isView(x) ? `[${x}]` : JSON.stringify(x);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../type';\nimport { valueToString } from '../util/pretty';\nimport { BigIntAvailable } from '../util/compat';\n\n/**\n * Dynamically compile the null values into an `isValid()` function whose\n * implementation is a switch statement. Microbenchmarks in v8 indicate\n * this approach is 25% faster than using an ES6 Map.\n *\n * @example\n * console.log(createIsValidFunction([null, 'N/A', NaN]));\n * `function (x) {\n * if (x !== x) return false;\n * switch (x) {\n * case null:\n * case \"N/A\":\n * return false;\n * }\n * return true;\n * }`\n *\n * @ignore\n * @param nullValues\n */\nexport function createIsValidFunction(nullValues?: ReadonlyArray) {\n\n if (!nullValues || nullValues.length <= 0) {\n // @ts-ignore\n return function isValid(value: any) { return true; };\n }\n\n let fnBody = '';\n let noNaNs = nullValues.filter((x) => x === x);\n\n if (noNaNs.length > 0) {\n fnBody = `\n switch (x) {${noNaNs.map((x) => `\n case ${valueToCase(x)}:`).join('')}\n return false;\n }`;\n }\n\n // NaN doesn't equal anything including itself, so it doesn't work as a\n // switch case. Instead we must explicitly check for NaN before the switch.\n if (nullValues.length !== noNaNs.length) {\n fnBody = `if (x !== x) return false;\\n${fnBody}`;\n }\n\n return new Function(`x`, `${fnBody}\\nreturn true;`) as (value: T['TValue'] | TNull) => boolean;\n}\n\n/** @ignore */\nfunction valueToCase(x: any) {\n if (typeof x !== 'bigint') {\n return valueToString(x);\n } else if (BigIntAvailable) {\n return `${valueToString(x)}n`;\n }\n return `\"${valueToString(x)}\"`;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { memcpy } from '../util/buffer';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from '../util/compat';\nimport {\n TypedArray, TypedArrayConstructor,\n BigIntArray, BigIntArrayConstructor\n} from '../interfaces';\n\n/** @ignore */ type DataValue = T extends TypedArray ? number : T extends BigIntArray ? WideValue : T;\n/** @ignore */ type WideValue = T extends BigIntArray ? bigint | Int32Array | Uint32Array : never;\n/** @ignore */ type ArrayCtor =\n T extends TypedArray ? TypedArrayConstructor :\n T extends BigIntArray ? BigIntArrayConstructor :\n any;\n\n/** @ignore */\nconst roundLengthUpToNearest64Bytes = (len: number, BPE: number) => ((((len * BPE) + 63) & ~63) || 64) / BPE;\n/** @ignore */\nconst sliceOrExtendArray = (arr: T, len = 0) => (\n arr.length >= len ? arr.subarray(0, len) : memcpy(new (arr.constructor as any)(len), arr, 0)\n) as T;\n\n/** @ignore */\nexport interface BufferBuilder> {\n readonly offset: number;\n}\n\n/** @ignore */\nexport class BufferBuilder> {\n\n constructor(buffer: T, stride = 1) {\n this.buffer = buffer;\n this.stride = stride;\n this.BYTES_PER_ELEMENT = buffer.BYTES_PER_ELEMENT;\n this.ArrayType = buffer.constructor as ArrayCtor;\n this._resize(this.length = buffer.length / stride | 0);\n }\n\n public buffer: T;\n public length: number;\n public readonly stride: number;\n public readonly ArrayType: ArrayCtor;\n public readonly BYTES_PER_ELEMENT: number;\n\n public get byteLength() { return this.length * this.stride * this.BYTES_PER_ELEMENT | 0; }\n public get reservedLength() { return this.buffer.length / this.stride; }\n public get reservedByteLength() { return this.buffer.byteLength; }\n\n // @ts-ignore\n public set(index: number, value: TValue) { return this; }\n public append(value: TValue) { return this.set(this.length, value); }\n public reserve(extra: number) {\n if (extra > 0) {\n this.length += extra;\n const stride = this.stride;\n const length = this.length * stride;\n const reserved = this.buffer.length;\n if (length >= reserved) {\n this._resize(reserved === 0\n ? roundLengthUpToNearest64Bytes(length * 1, this.BYTES_PER_ELEMENT)\n : roundLengthUpToNearest64Bytes(length * 2, this.BYTES_PER_ELEMENT)\n );\n }\n }\n return this;\n }\n public flush(length = this.length) {\n length = roundLengthUpToNearest64Bytes(length * this.stride, this.BYTES_PER_ELEMENT);\n const array = sliceOrExtendArray(this.buffer, length);\n this.clear();\n return array;\n }\n public clear() {\n this.length = 0;\n this._resize(0);\n return this;\n }\n protected _resize(newLength: number) {\n return this.buffer = memcpy(new this.ArrayType(newLength), this.buffer);\n }\n}\n\n(BufferBuilder.prototype as any).offset = 0;\n\n/** @ignore */\nexport class DataBufferBuilder extends BufferBuilder {\n public last() { return this.get(this.length - 1); }\n public get(index: number) { return this.buffer[index]; }\n public set(index: number, value: number) {\n this.reserve(index - this.length + 1);\n this.buffer[index * this.stride] = value;\n return this;\n }\n}\n\n/** @ignore */\nexport class BitmapBufferBuilder extends DataBufferBuilder {\n\n constructor(data = new Uint8Array(0)) { super(data, 1 / 8); }\n\n public numValid = 0;\n public get numInvalid() { return this.length - this.numValid; }\n public get(idx: number) { return this.buffer[idx >> 3] >> idx % 8 & 1; }\n public set(idx: number, val: number) {\n const { buffer } = this.reserve(idx - this.length + 1);\n const byte = idx >> 3, bit = idx % 8, cur = buffer[byte] >> bit & 1;\n // If `val` is truthy and the current bit is 0, flip it to 1 and increment `numValid`.\n // If `val` is falsey and the current bit is 1, flip it to 0 and decrement `numValid`.\n val ? cur === 0 && ((buffer[byte] |= (1 << bit)), ++this.numValid)\n : cur === 1 && ((buffer[byte] &= ~(1 << bit)), --this.numValid);\n return this;\n }\n public clear() {\n this.numValid = 0;\n return super.clear();\n }\n}\n\n/** @ignore */\nexport class OffsetsBufferBuilder extends DataBufferBuilder {\n constructor(data = new Int32Array(1)) { super(data, 1); }\n public append(value: number) {\n return this.set(this.length - 1, value);\n }\n public set(index: number, value: number) {\n const offset = this.length - 1;\n const buffer = this.reserve(index - offset + 1).buffer;\n if (offset < index++) {\n buffer.fill(buffer[offset], offset, index);\n }\n buffer[index] = buffer[index - 1] + value;\n return this;\n }\n public flush(length = this.length - 1) {\n if (length > this.length) {\n this.set(length - 1, 0);\n }\n return super.flush(length + 1);\n }\n}\n\n/** @ignore */\nexport class WideBufferBuilder extends BufferBuilder> {\n // @ts-ignore\n public buffer64: R;\n // @ts-ignore\n protected _ArrayType64: BigIntArrayConstructor;\n public get ArrayType64() {\n return this._ArrayType64 || (this._ArrayType64 = > (this.buffer instanceof Int32Array ? BigInt64Array : BigUint64Array));\n }\n public set(index: number, value: DataValue) {\n this.reserve(index - this.length + 1);\n switch (typeof value) {\n case 'bigint': this.buffer64[index] = value; break;\n case 'number': this.buffer[index * this.stride] = value; break;\n default: this.buffer.set(value as TypedArray, index * this.stride);\n }\n return this;\n }\n protected _resize(newLength: number) {\n const data = super._resize(newLength);\n const length = data.byteLength / (this.BYTES_PER_ELEMENT * this.stride);\n if (BigIntAvailable) {\n this.buffer64 = new this.ArrayType64(data.buffer, data.byteOffset, length);\n }\n return data;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector';\nimport { BufferType } from './enum';\nimport { Data, Buffers } from './data';\nimport { createIsValidFunction } from './builder/valid';\nimport { BuilderType as B, VectorType as V} from './interfaces';\nimport { BufferBuilder, BitmapBufferBuilder, DataBufferBuilder, OffsetsBufferBuilder } from './builder/buffer';\nimport {\n DataType, strideForType,\n Float, Int, Decimal, FixedSizeBinary,\n Date_, Time, Timestamp, Interval,\n Utf8, Binary, List, Map_\n} from './type';\n\n/**\n * A set of options required to create a `Builder` instance for a given `DataType`.\n * @see {@link Builder}\n */\nexport interface BuilderOptions {\n type: T;\n nullValues?: TNull[] | ReadonlyArray | null;\n children?: { [key: string]: BuilderOptions; } | BuilderOptions[];\n}\n\n/**\n * A set of options to create an Iterable or AsyncIterable `Builder` transform function.\n * @see {@link Builder.throughIterable}\n * @see {@link Builder.throughAsyncIterable}\n */\n\nexport interface IterableBuilderOptions extends BuilderOptions {\n highWaterMark?: number;\n queueingStrategy?: 'bytes' | 'count';\n dictionaryHashFunction?: (value: any) => string | number;\n valueToChildTypeId?: (builder: Builder, value: any, offset: number) => number;\n}\n\n/**\n * An abstract base class for types that construct Arrow Vectors from arbitrary JavaScript values.\n *\n * A `Builder` is responsible for writing arbitrary JavaScript values\n * to ArrayBuffers and/or child Builders according to the Arrow specification\n * for each DataType, creating or resizing the underlying ArrayBuffers as necessary.\n *\n * The `Builder` for each Arrow `DataType` handles converting and appending\n * values for a given `DataType`. The high-level {@link Builder.new `Builder.new()`} convenience\n * method creates the specific `Builder` subclass for the supplied `DataType`.\n *\n * Once created, `Builder` instances support both appending values to the end\n * of the `Builder`, and random-access writes to specific indices\n * (`Builder.prototype.append(value)` is a convenience method for\n * `builder.set(builder.length, value)`). Appending or setting values beyond the\n * Builder's current length may cause the builder to grow its underlying buffers\n * or child Builders (if applicable) to accommodate the new values.\n *\n * After enough values have been written to a `Builder`, `Builder.prototype.flush()`\n * will commit the values to the underlying ArrayBuffers (or child Builders). The\n * internal Builder state will be reset, and an instance of `Data` is returned.\n * Alternatively, `Builder.prototype.toVector()` will flush the `Builder` and return\n * an instance of `Vector` instead.\n *\n * When there are no more values to write, use `Builder.prototype.finish()` to\n * finalize the `Builder`. This does not reset the internal state, so it is\n * necessary to call `Builder.prototype.flush()` or `toVector()` one last time\n * if there are still values queued to be flushed.\n *\n * Note: calling `Builder.prototype.finish()` is required when using a `DictionaryBuilder`,\n * because this is when it flushes the values that have been enqueued in its internal\n * dictionary's `Builder`, and creates the `dictionaryVector` for the `Dictionary` `DataType`.\n *\n * ```ts\n * import { Builder, Utf8 } from 'apache-arrow';\n *\n * const utf8Builder = Builder.new({\n * type: new Utf8(),\n * nullValues: [null, 'n/a']\n * });\n *\n * utf8Builder\n * .append('hello')\n * .append('n/a')\n * .append('world')\n * .append(null);\n *\n * const utf8Vector = utf8Builder.finish().toVector();\n *\n * console.log(utf8Vector.toJSON());\n * // > [\"hello\", null, \"world\", null]\n * ```\n *\n * @typeparam T The `DataType` of this `Builder`.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n */\nexport abstract class Builder {\n\n /**\n * Create a `Builder` instance based on the `type` property of the supplied `options` object.\n * @param {BuilderOptions} options An object with a required `DataType` instance\n * and other optional parameters to be passed to the `Builder` subclass for the given `type`.\n *\n * @typeparam T The `DataType` of the `Builder` to create.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n * @nocollapse\n */\n // @ts-ignore\n public static new(options: BuilderOptions): B {}\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options: import('./io/node/builder').BuilderDuplexOptions): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n // @ts-ignore\n public static throughDOM(options: import('./io/whatwg/builder').BuilderTransformOptions): import('./io/whatwg/builder').BuilderTransform {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n /**\n * Transform a synchronous `Iterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `Iterable` of values to\n * transform. When called, this function returns an Iterator of `Vector`.\n *\n * The resulting `Iterator>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `Iterator>`\n * will flush the underlying `Builder` (and yield a new `Vector`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `Iterator>` will flush\n * the underlying `Builder` (and yield a new `Vector`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `Iterable` of values to\n * write, and returns an `Iterator` that yields Vectors according\n * to the chunking semantics defined in the `options` argument.\n * @nocollapse\n */\n public static throughIterable(options: IterableBuilderOptions) {\n return throughIterable(options);\n }\n\n /**\n * Transform an `AsyncIterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `AsyncIterable` of values to\n * transform. When called, this function returns an AsyncIterator of `Vector`.\n *\n * The resulting `AsyncIterator>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `AsyncIterator>`\n * will flush the underlying `Builder` (and yield a new `Vector`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `AsyncIterator>` will flush\n * the underlying `Builder` (and yield a new `Vector`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `AsyncIterable` of values\n * to write, and returns an `AsyncIterator` that yields Vectors\n * according to the chunking semantics defined in the `options`\n * argument.\n * @nocollapse\n */\n public static throughAsyncIterable(options: IterableBuilderOptions) {\n return throughAsyncIterable(options);\n }\n\n /**\n * Construct a builder with the given Arrow DataType with optional null values,\n * which will be interpreted as \"null\" when set or appended to the `Builder`.\n * @param {{ type: T, nullValues?: any[] }} options A `BuilderOptions` object used to create this `Builder`.\n */\n constructor({ 'type': type, 'nullValues': nulls }: BuilderOptions) {\n this.type = type;\n this.children = [];\n this.nullValues = nulls;\n this.stride = strideForType(type);\n this._nulls = new BitmapBufferBuilder();\n if (nulls && nulls.length > 0) {\n this._isValid = createIsValidFunction(nulls);\n }\n }\n\n /**\n * The Builder's `DataType` instance.\n * @readonly\n */\n public type: T;\n /**\n * The number of values written to the `Builder` that haven't been flushed yet.\n * @readonly\n */\n public length = 0;\n /**\n * A boolean indicating whether `Builder.prototype.finish()` has been called on this `Builder`.\n * @readonly\n */\n public finished = false;\n /**\n * The number of elements in the underlying values TypedArray that\n * represent a single logical element, determined by this Builder's\n * `DataType`. This is 1 for most types, but is larger when the `DataType`\n * is `Int64`, `Uint64`, `Decimal`, `DateMillisecond`, certain variants of\n * `Interval`, `Time`, or `Timestamp`, `FixedSizeBinary`, and `FixedSizeList`.\n * @readonly\n */\n public readonly stride: number;\n public readonly children: Builder[];\n /**\n * The list of null-value sentinels for this `Builder`. When one of these values\n * is written to the `Builder` (either via `Builder.prototype.set()` or `Builder.prototype.append()`),\n * a 1-bit is written to this Builder's underlying null BitmapBufferBuilder.\n * @readonly\n */\n public readonly nullValues?: TNull[] | ReadonlyArray | null;\n\n /**\n * Flush the `Builder` and return a `Vector`.\n * @returns {Vector} A `Vector` of the flushed values.\n */\n public toVector() { return Vector.new(this.flush()); }\n\n public get ArrayType() { return this.type.ArrayType; }\n public get nullCount() { return this._nulls.numInvalid; }\n public get numChildren() { return this.children.length; }\n\n /**\n * @returns The aggregate length (in bytes) of the values that have been written.\n */\n public get byteLength(): number {\n let size = 0;\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n this._typeIds && (size += this._typeIds.byteLength);\n return this.children.reduce((size, child) => size + child.byteLength, size);\n }\n\n /**\n * @returns The aggregate number of rows that have been reserved to write new values.\n */\n public get reservedLength(): number {\n return this._nulls.reservedLength;\n }\n\n /**\n * @returns The aggregate length (in bytes) that has been reserved to write new values.\n */\n public get reservedByteLength(): number {\n let size = 0;\n this._offsets && (size += this._offsets.reservedByteLength);\n this._values && (size += this._values.reservedByteLength);\n this._nulls && (size += this._nulls.reservedByteLength);\n this._typeIds && (size += this._typeIds.reservedByteLength);\n return this.children.reduce((size, child) => size + child.reservedByteLength, size);\n }\n\n // @ts-ignore\n protected _offsets: DataBufferBuilder;\n public get valueOffsets() { return this._offsets ? this._offsets.buffer : null; }\n\n // @ts-ignore\n protected _values: BufferBuilder;\n public get values() { return this._values ? this._values.buffer : null; }\n\n protected _nulls: BitmapBufferBuilder;\n public get nullBitmap() { return this._nulls ? this._nulls.buffer : null; }\n\n // @ts-ignore\n protected _typeIds: DataBufferBuilder;\n public get typeIds() { return this._typeIds ? this._typeIds.buffer : null; }\n\n // @ts-ignore\n protected _isValid: (value: T['TValue'] | TNull) => boolean;\n // @ts-ignore\n protected _setValue: (inst: Builder, index: number, value: T['TValue']) => void;\n\n /**\n * Appends a value (or null) to this `Builder`.\n * This is equivalent to `builder.set(builder.length, value)`.\n * @param {T['TValue'] | TNull } value The value to append.\n */\n public append(value: T['TValue'] | TNull) { return this.set(this.length, value); }\n\n /**\n * Validates whether a value is valid (true), or null (false)\n * @param {T['TValue'] | TNull } value The value to compare against null the value representations\n */\n // @ts-ignore\n public isValid(value: T['TValue'] | TNull): boolean { return this._isValid(value); }\n\n /**\n * Write a value (or null-value sentinel) at the supplied index.\n * If the value matches one of the null-value representations, a 1-bit is\n * written to the null `BitmapBufferBuilder`. Otherwise, a 0 is written to\n * the null `BitmapBufferBuilder`, and the value is passed to\n * `Builder.prototype.setValue()`.\n * @param {number} index The index of the value to write.\n * @param {T['TValue'] | TNull } value The value to write at the supplied index.\n * @returns {this} The updated `Builder` instance.\n */\n public set(index: number, value: T['TValue'] | TNull) {\n if (this.setValid(index, this.isValid(value))) {\n this.setValue(index, value);\n }\n return this;\n }\n\n /**\n * Write a value to the underlying buffers at the supplied index, bypassing\n * the null-value check. This is a low-level method that\n * @param {number} index\n * @param {T['TValue'] | TNull } value\n */\n // @ts-ignore\n public setValue(index: number, value: T['TValue']) { this._setValue(this, index, value); }\n public setValid(index: number, valid: boolean) {\n this.length = this._nulls.set(index, +valid).length;\n return valid;\n }\n\n // @ts-ignore\n public addChild(child: Builder, name = `${this.numChildren}`) {\n throw new Error(`Cannot append children to non-nested type \"${this.type}\"`);\n }\n\n /**\n * Retrieve the child `Builder` at the supplied `index`, or null if no child\n * exists at that index.\n * @param {number} index The index of the child `Builder` to retrieve.\n * @returns {Builder | null} The child Builder at the supplied index or null.\n */\n public getChildAt(index: number): Builder | null {\n return this.children[index] || null;\n }\n\n /**\n * Commit all the values that have been written to their underlying\n * ArrayBuffers, including any child Builders if applicable, and reset\n * the internal `Builder` state.\n * @returns A `Data` of the buffers and childData representing the values written.\n */\n public flush() {\n\n const buffers: any = [];\n const values = this._values;\n const offsets = this._offsets;\n const typeIds = this._typeIds;\n const { length, nullCount } = this;\n\n if (typeIds) { /* Unions */\n buffers[BufferType.TYPE] = typeIds.flush(length);\n // DenseUnions\n offsets && (buffers[BufferType.OFFSET] = offsets.flush(length));\n } else if (offsets) { /* Variable-width primitives (Binary, Utf8) and Lists */\n // Binary, Utf8\n values && (buffers[BufferType.DATA] = values.flush(offsets.last()));\n buffers[BufferType.OFFSET] = offsets.flush(length);\n } else if (values) { /* Fixed-width primitives (Int, Float, Decimal, Time, Timestamp, and Interval) */\n buffers[BufferType.DATA] = values.flush(length);\n }\n\n nullCount > 0 && (buffers[BufferType.VALIDITY] = this._nulls.flush(length));\n\n const data = Data.new(\n this.type, 0, length, nullCount, buffers as Buffers,\n this.children.map((child) => child.flush())) as Data;\n\n this.clear();\n\n return data;\n }\n\n /**\n * Finalize this `Builder`, and child builders if applicable.\n * @returns {this} The finalized `Builder` instance.\n */\n public finish() {\n this.finished = true;\n this.children.forEach((child) => child.finish());\n return this;\n }\n\n /**\n * Clear this Builder's internal state, including child Builders if applicable, and reset the length to 0.\n * @returns {this} The cleared `Builder` instance.\n */\n public clear() {\n this.length = 0;\n this._offsets && (this._offsets.clear());\n this._values && (this._values.clear());\n this._nulls && (this._nulls.clear());\n this._typeIds && (this._typeIds.clear());\n this.children.forEach((child) => child.clear());\n return this;\n }\n}\n\n(Builder.prototype as any).length = 1;\n(Builder.prototype as any).stride = 1;\n(Builder.prototype as any).children = null;\n(Builder.prototype as any).finished = false;\n(Builder.prototype as any).nullValues = null;\n(Builder.prototype as any)._isValid = () => true;\n\n/** @ignore */\nexport abstract class FixedWidthBuilder extends Builder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new DataBufferBuilder(new this.ArrayType(0), this.stride);\n }\n public setValue(index: number, value: T['TValue']) {\n const values = this._values;\n values.reserve(index - values.length + 1);\n return super.setValue(index, value);\n }\n}\n\n/** @ignore */\nexport abstract class VariableWidthBuilder extends Builder {\n protected _pendingLength: number = 0;\n protected _offsets: OffsetsBufferBuilder;\n protected _pending: Map | undefined;\n constructor(opts: BuilderOptions) {\n super(opts);\n this._offsets = new OffsetsBufferBuilder();\n }\n public setValue(index: number, value: T['TValue']) {\n const pending = this._pending || (this._pending = new Map());\n const current = pending.get(index);\n current && (this._pendingLength -= current.length);\n this._pendingLength += value.length;\n pending.set(index, value);\n }\n public setValid(index: number, isValid: boolean) {\n if (!super.setValid(index, isValid)) {\n (this._pending || (this._pending = new Map())).set(index, undefined);\n return false;\n }\n return true;\n }\n public clear() {\n this._pendingLength = 0;\n this._pending = undefined;\n return super.clear();\n }\n public flush() {\n this._flush();\n return super.flush();\n }\n public finish() {\n this._flush();\n return super.finish();\n }\n protected _flush() {\n const pending = this._pending;\n const pendingLength = this._pendingLength;\n this._pendingLength = 0;\n this._pending = undefined;\n if (pending && pending.size > 0) {\n this._flushPending(pending, pendingLength);\n }\n return this;\n }\n protected abstract _flushPending(pending: Map, pendingLength: number): void;\n}\n\n/** @ignore */\ntype ThroughIterable = (source: Iterable) => IterableIterator>;\n\n/** @ignore */\nfunction throughIterable(options: IterableBuilderOptions): ThroughIterable {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return function*(source: Iterable) {\n let numChunks = 0;\n let builder = Builder.new(options);\n for (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n };\n}\n\n/** @ignore */\ntype ThroughAsyncIterable = (source: Iterable | AsyncIterable) => AsyncIterableIterator>;\n\n/** @ignore */\nfunction throughAsyncIterable(options: IterableBuilderOptions): ThroughAsyncIterable {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? 1000 : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return async function* (source: Iterable | AsyncIterable) {\n let numChunks = 0;\n let builder = Builder.new(options);\n for await (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n };\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Bool } from '../type';\nimport { BitmapBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class BoolBuilder extends Builder {\n constructor(options: BuilderOptions) {\n super(options);\n this._values = new BitmapBufferBuilder();\n }\n public setValue(index: number, value: boolean) {\n this._values.set(index, +value);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Null } from '../type';\nimport { Builder } from '../builder';\n\n/** @ignore */\nexport class NullBuilder extends Builder {\n // @ts-ignore\n public setValue(index: number, value: null) {}\n public setValid(index: number, valid: boolean) {\n this.length = Math.max(index + 1, this.length);\n return valid;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Date_, DateDay, DateMillisecond } from '../type';\n\n/** @ignore */\nexport class DateBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class DateDayBuilder extends DateBuilder {}\n/** @ignore */\nexport class DateMillisecondBuilder extends DateBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Decimal } from '../type';\nimport { FixedWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class DecimalBuilder extends FixedWidthBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { IntBuilder } from './int';\nimport { Dictionary, DataType } from '../type';\nimport { Builder, BuilderOptions } from '../builder';\n\ntype DictionaryHashFunction = (x: any) => string | number;\n\nexport interface DictionaryBuilderOptions extends BuilderOptions {\n dictionaryHashFunction?: DictionaryHashFunction;\n}\n\n/** @ignore */\nexport class DictionaryBuilder extends Builder {\n\n protected _dictionaryOffset: number;\n protected _dictionary?: Vector;\n protected _keysToIndices: { [key: string]: number };\n public readonly indices: IntBuilder;\n public readonly dictionary: Builder;\n\n constructor({ 'type': type, 'nullValues': nulls, 'dictionaryHashFunction': hashFn }: DictionaryBuilderOptions) {\n super({ type: new Dictionary(type.dictionary, type.indices, type.id, type.isOrdered) as T });\n this._nulls = null;\n this._dictionaryOffset = 0;\n this._keysToIndices = Object.create(null);\n this.indices = Builder.new({ 'type': this.type.indices, 'nullValues': nulls }) as IntBuilder;\n this.dictionary = Builder.new({ 'type': this.type.dictionary, 'nullValues': null }) as Builder;\n if (typeof hashFn === 'function') {\n this.valueToKey = hashFn;\n }\n }\n\n public get values() { return this.indices.values; }\n public get nullCount() { return this.indices.nullCount; }\n public get nullBitmap() { return this.indices.nullBitmap; }\n public get byteLength() { return this.indices.byteLength + this.dictionary.byteLength; }\n public get reservedLength() { return this.indices.reservedLength + this.dictionary.reservedLength; }\n public get reservedByteLength() { return this.indices.reservedByteLength + this.dictionary.reservedByteLength; }\n public isValid(value: T['TValue'] | TNull) { return this.indices.isValid(value); }\n public setValid(index: number, valid: boolean) {\n const indices = this.indices;\n valid = indices.setValid(index, valid);\n this.length = indices.length;\n return valid;\n }\n public setValue(index: number, value: T['TValue']) {\n let keysToIndices = this._keysToIndices;\n let key = this.valueToKey(value);\n let idx = keysToIndices[key];\n if (idx === undefined) {\n keysToIndices[key] = idx = this._dictionaryOffset + this.dictionary.append(value).length - 1;\n }\n return this.indices.setValue(index, idx);\n }\n public flush() {\n const type = this.type;\n const prev = this._dictionary;\n const curr = this.dictionary.toVector();\n const data = this.indices.flush().clone(type);\n data.dictionary = prev ? prev.concat(curr) : curr;\n this.finished || (this._dictionaryOffset += curr.length);\n this._dictionary = data.dictionary as Vector;\n this.clear();\n return data;\n }\n public finish() {\n this.indices.finish();\n this.dictionary.finish();\n this._dictionaryOffset = 0;\n this._keysToIndices = Object.create(null);\n return super.finish();\n }\n public clear() {\n this.indices.clear();\n this.dictionary.clear();\n return super.clear();\n }\n public valueToKey(val: any): string | number {\n return typeof val === 'string' ? val : `${val}`;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedSizeBinary } from '../type';\nimport { FixedWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class FixedSizeBinaryBuilder extends FixedWidthBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nconst f64 = new Float64Array(1);\nconst u32 = new Uint32Array(f64.buffer);\n\n/**\n * Convert uint16 (logically a float16) to a JS float64. Inspired by numpy's `npy_half_to_double`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L29\n * @param h {number} the uint16 to convert\n * @private\n * @ignore\n */\nexport function uint16ToFloat64(h: number) {\n let expo = (h & 0x7C00) >> 10;\n let sigf = (h & 0x03FF) / 1024;\n let sign = (-1) ** ((h & 0x8000) >> 15);\n switch (expo) {\n case 0x1F: return sign * (sigf ? NaN : 1 / 0);\n case 0x00: return sign * (sigf ? 6.103515625e-5 * sigf : 0);\n }\n return sign * (2 ** (expo - 15)) * (1 + sigf);\n}\n\n/**\n * Convert a float64 to uint16 (assuming the float64 is logically a float16). Inspired by numpy's `npy_double_to_half`:\n * https://github.com/numpy/numpy/blob/5a5987291dc95376bb098be8d8e5391e89e77a2c/numpy/core/src/npymath/halffloat.c#L43\n * @param d {number} The float64 to convert\n * @private\n * @ignore\n */\nexport function float64ToUint16(d: number) {\n\n if (d !== d) { return 0x7E00; } // NaN\n\n f64[0] = d;\n\n // Magic numbers:\n // 0x80000000 = 10000000 00000000 00000000 00000000 -- masks the 32nd bit\n // 0x7ff00000 = 01111111 11110000 00000000 00000000 -- masks the 21st-31st bits\n // 0x000fffff = 00000000 00001111 11111111 11111111 -- masks the 1st-20th bit\n\n let sign = (u32[1] & 0x80000000) >> 16 & 0xFFFF;\n let expo = (u32[1] & 0x7ff00000), sigf = 0x0000;\n\n if (expo >= 0x40f00000) {\n //\n // If exponent overflowed, the float16 is either NaN or Infinity.\n // Rules to propagate the sign bit: mantissa > 0 ? NaN : +/-Infinity\n //\n // Magic numbers:\n // 0x40F00000 = 01000000 11110000 00000000 00000000 -- 6-bit exponent overflow\n // 0x7C000000 = 01111100 00000000 00000000 00000000 -- masks the 27th-31st bits\n //\n // returns:\n // qNaN, aka 32256 decimal, 0x7E00 hex, or 01111110 00000000 binary\n // sNaN, aka 32000 decimal, 0x7D00 hex, or 01111101 00000000 binary\n // +inf, aka 31744 decimal, 0x7C00 hex, or 01111100 00000000 binary\n // -inf, aka 64512 decimal, 0xFC00 hex, or 11111100 00000000 binary\n //\n // If mantissa is greater than 23 bits, set to +Infinity like numpy\n if (u32[0] > 0) {\n expo = 0x7C00;\n } else {\n expo = (expo & 0x7C000000) >> 16;\n sigf = (u32[1] & 0x000fffff) >> 10;\n }\n } else if (expo <= 0x3f000000) {\n //\n // If exponent underflowed, the float is either signed zero or subnormal.\n //\n // Magic numbers:\n // 0x3F000000 = 00111111 00000000 00000000 00000000 -- 6-bit exponent underflow\n //\n sigf = 0x100000 + (u32[1] & 0x000fffff);\n sigf = 0x100000 + (sigf << ((expo >> 20) - 998)) >> 21;\n expo = 0;\n } else {\n //\n // No overflow or underflow, rebase the exponent and round the mantissa\n // Magic numbers:\n // 0x200 = 00000010 00000000 -- masks off the 10th bit\n //\n\n // Ensure the first mantissa bit (the 10th one) is 1 and round\n expo = (expo - 0x3f000000) >> 10;\n sigf = ((u32[1] & 0x000fffff) + 0x200) >> 10;\n }\n\n return sign | expo | sigf & 0xFFFF;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { float64ToUint16 } from '../util/math';\nimport { FixedWidthBuilder } from '../builder';\nimport { Float, Float16, Float32, Float64 } from '../type';\n\n/** @ignore */\nexport class FloatBuilder extends FixedWidthBuilder {}\n\n/** @ignore */\nexport class Float16Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n // convert JS float64 to a uint16\n this._values.set(index, float64ToUint16(value));\n }\n}\n\n/** @ignore */\nexport class Float32Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n this._values.set(index, value);\n }\n}\n\n/** @ignore */\nexport class Float64Builder extends FloatBuilder {\n public setValue(index: number, value: number) {\n this._values.set(index, value);\n }\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ArrayBufferViewInput, toArrayBufferView } from './buffer';\nimport { TypedArray, TypedArrayConstructor } from '../interfaces';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from './compat';\n\n/** @ignore */\nexport const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');\n\n/** @ignore */ type BigNumArray = IntArray | UintArray;\n/** @ignore */ type IntArray = Int8Array | Int16Array | Int32Array;\n/** @ignore */ type UintArray = Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray;\n\n/** @ignore */\nfunction BigNum(this: any, x: any, ...xs: any) {\n if (xs.length === 0) {\n return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);\n }\n return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);\n}\n\nBigNum.prototype[isArrowBigNumSymbol] = true;\nBigNum.prototype.toJSON = function>(this: T) { return `\"${bignumToString(this)}\"`; };\nBigNum.prototype.valueOf = function>(this: T) { return bignumToNumber(this); };\nBigNum.prototype.toString = function>(this: T) { return bignumToString(this); };\nBigNum.prototype[Symbol.toPrimitive] = function>(this: T, hint: 'string' | 'number' | 'default' = 'default') {\n switch (hint) {\n case 'number': return bignumToNumber(this);\n case 'string': return bignumToString(this);\n case 'default': return bignumToBigInt(this);\n }\n return bignumToString(this);\n};\n\n/** @ignore */\ntype TypedArrayConstructorArgs =\n [number | void] |\n [Iterable | Iterable] |\n [ArrayBufferLike, number | void, number | void] ;\n\n/** @ignore */\nfunction SignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction UnsignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction DecimalBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n\nObject.setPrototypeOf(SignedBigNum.prototype, Object.create(Int32Array.prototype));\nObject.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.setPrototypeOf(DecimalBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.assign(SignedBigNum.prototype, BigNum.prototype, { 'constructor': SignedBigNum, 'signed': true, 'TypedArray': Int32Array, 'BigIntArray': BigInt64Array });\nObject.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\nObject.assign(DecimalBigNum.prototype, BigNum.prototype, { 'constructor': DecimalBigNum, 'signed': true, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\n\n/** @ignore */\nfunction bignumToNumber>(bn: T) {\n let { buffer, byteOffset, length, 'signed': signed } = bn;\n let words = new Int32Array(buffer, byteOffset, length);\n let number = 0, i = 0, n = words.length, hi, lo;\n while (i < n) {\n lo = words[i++];\n hi = words[i++];\n signed || (hi = hi >>> 0);\n number += (lo >>> 0) + (hi * (i ** 32));\n }\n return number;\n}\n\n/** @ignore */\nexport let bignumToString: { >(a: T): string; };\n/** @ignore */\nexport let bignumToBigInt: { >(a: T): bigint; };\n\nif (!BigIntAvailable) {\n bignumToString = decimalToString;\n bignumToBigInt = bignumToString;\n} else {\n bignumToBigInt = (>(a: T) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : decimalToString(a));\n bignumToString = (>(a: T) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));\n}\n\n/** @ignore */\nfunction decimalToString>(a: T) {\n let digits = '';\n let base64 = new Uint32Array(2);\n let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);\n let checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);\n let i = -1, n = base32.length - 1;\n do {\n for (base64[0] = base32[i = 0]; i < n;) {\n base32[i++] = base64[1] = base64[0] / 10;\n base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];\n }\n base32[i] = base64[1] = base64[0] / 10;\n base64[0] = base64[0] - base64[1] * 10;\n digits = `${base64[0]}${digits}`;\n } while (checks[0] || checks[1] || checks[2] || checks[3]);\n return digits ? digits : `0`;\n}\n\n/** @ignore */\nexport class BN {\n /** @nocollapse */\n public static new(num: T, isSigned?: boolean): (T & BN) {\n switch (isSigned) {\n case true: return new ( SignedBigNum)(num) as (T & BN);\n case false: return new ( UnsignedBigNum)(num) as (T & BN);\n }\n switch (num.constructor) {\n case Int8Array:\n case Int16Array:\n case Int32Array:\n case BigInt64Array:\n return new ( SignedBigNum)(num) as (T & BN);\n }\n if (num.byteLength === 16) {\n return new ( DecimalBigNum)(num) as (T & BN);\n }\n return new ( UnsignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static signed(num: T): (T & BN) {\n return new ( SignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static unsigned(num: T): (T & BN) {\n return new ( UnsignedBigNum)(num) as (T & BN);\n }\n /** @nocollapse */\n public static decimal(num: T): (T & BN) {\n return new ( DecimalBigNum)(num) as (T & BN);\n }\n constructor(num: T, isSigned?: boolean) {\n return BN.new(num, isSigned) as any;\n }\n}\n\n/** @ignore */\nexport interface BN extends TypedArrayLike {\n\n new(buffer: T, signed?: boolean): T;\n\n readonly signed: boolean;\n readonly TypedArray: TypedArrayConstructor;\n readonly BigIntArray: BigIntArrayConstructor;\n\n [Symbol.toStringTag]:\n 'Int8Array' |\n 'Int16Array' |\n 'Int32Array' |\n 'Uint8Array' |\n 'Uint16Array' |\n 'Uint32Array' |\n 'Uint8ClampedArray';\n\n /**\n * Convert the bytes to their (positive) decimal representation for printing\n */\n toString(): string;\n /**\n * Down-convert the bytes to a 53-bit precision integer. Invoked by JS for\n * arithmetic operators, like `+`. Easy (and unsafe) way to convert BN to\n * number via `+bn_inst`\n */\n valueOf(): number;\n /**\n * Return the JSON representation of the bytes. Must be wrapped in double-quotes,\n * so it's compatible with JSON.stringify().\n */\n toJSON(): string;\n [Symbol.toPrimitive](hint?: any): number | string | bigint;\n}\n\n/** @ignore */\ninterface TypedArrayLike {\n\n readonly length: number;\n readonly buffer: ArrayBuffer;\n readonly byteLength: number;\n readonly byteOffset: number;\n readonly BYTES_PER_ELEMENT: number;\n\n includes(searchElement: number, fromIndex?: number | undefined): boolean;\n copyWithin(target: number, start: number, end?: number | undefined): this;\n every(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n fill(value: number, start?: number | undefined, end?: number | undefined): this;\n filter(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): T;\n find(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number | undefined;\n findIndex(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number;\n forEach(callbackfn: (value: number, index: number, array: T) => void, thisArg?: any): void;\n indexOf(searchElement: number, fromIndex?: number | undefined): number;\n join(separator?: string | undefined): string;\n lastIndexOf(searchElement: number, fromIndex?: number | undefined): number;\n map(callbackfn: (value: number, index: number, array: T) => number, thisArg?: any): T;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n reverse(): T;\n set(array: ArrayLike, offset?: number | undefined): void;\n slice(start?: number | undefined, end?: number | undefined): T;\n some(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n sort(compareFn?: ((a: number, b: number) => number) | undefined): this;\n subarray(begin: number, end?: number | undefined): T;\n toLocaleString(): string;\n entries(): IterableIterator<[number, number]>;\n keys(): IterableIterator;\n values(): IterableIterator;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { bignumToBigInt } from '../util/bn';\nimport { WideBufferBuilder } from './buffer';\nimport { BigInt64Array } from '../util/compat';\nimport { FixedWidthBuilder, BuilderOptions } from '../builder';\nimport { Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64 } from '../type';\n\n/** @ignore */\nexport class IntBuilder extends FixedWidthBuilder {\n public setValue(index: number, value: T['TValue']) {\n this._values.set(index, value);\n }\n}\n\n/** @ignore */\nexport class Int8Builder extends IntBuilder {}\n/** @ignore */\nexport class Int16Builder extends IntBuilder {}\n/** @ignore */\nexport class Int32Builder extends IntBuilder {}\n/** @ignore */\nexport class Int64Builder extends IntBuilder {\n protected _values: WideBufferBuilder;\n constructor(options: BuilderOptions) {\n if (options['nullValues']) {\n options['nullValues'] = (options['nullValues'] as TNull[]).map(toBigInt);\n }\n super(options);\n this._values = new WideBufferBuilder(new Int32Array(0), 2);\n }\n public get values64() { return this._values.buffer64; }\n public isValid(value: Int32Array | bigint | TNull) { return super.isValid(toBigInt(value)); }\n}\n\n/** @ignore */\nexport class Uint8Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint16Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint32Builder extends IntBuilder {}\n/** @ignore */\nexport class Uint64Builder extends IntBuilder {\n protected _values: WideBufferBuilder;\n constructor(options: BuilderOptions) {\n if (options['nullValues']) {\n options['nullValues'] = (options['nullValues'] as TNull[]).map(toBigInt);\n }\n super(options);\n this._values = new WideBufferBuilder(new Uint32Array(0), 2);\n }\n public get values64() { return this._values.buffer64; }\n public isValid(value: Uint32Array | bigint | TNull) { return super.isValid(toBigInt(value)); }\n}\n\nconst toBigInt = ((memo: any) => (value: any) => {\n if (ArrayBuffer.isView(value)) {\n memo.buffer = value.buffer;\n memo.byteOffset = value.byteOffset;\n memo.byteLength = value.byteLength;\n value = bignumToBigInt(memo);\n memo.buffer = null;\n }\n return value;\n})({ 'BigIntArray': BigInt64Array });\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond } from '../type';\n\n/** @ignore */\nexport class TimeBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class TimeSecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeMillisecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeMicrosecondBuilder extends TimeBuilder {}\n/** @ignore */\nexport class TimeNanosecondBuilder extends TimeBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond } from '../type';\n\n/** @ignore */\nexport class TimestampBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class TimestampSecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampMillisecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampMicrosecondBuilder extends TimestampBuilder {}\n/** @ignore */\nexport class TimestampNanosecondBuilder extends TimestampBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FixedWidthBuilder } from '../builder';\nimport { Interval, IntervalDayTime, IntervalYearMonth } from '../type';\n\n/** @ignore */\nexport class IntervalBuilder extends FixedWidthBuilder {}\n/** @ignore */\nexport class IntervalDayTimeBuilder extends IntervalBuilder {}\n/** @ignore */\nexport class IntervalYearMonthBuilder extends IntervalBuilder {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Binary } from '../type';\nimport { toUint8Array } from '../util/buffer';\nimport { BufferBuilder } from './buffer';\nimport { VariableWidthBuilder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class BinaryBuilder extends VariableWidthBuilder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new BufferBuilder(new Uint8Array(0));\n }\n public get byteLength(): number {\n let size = this._pendingLength + (this.length * 4);\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n return size;\n }\n public setValue(index: number, value: Uint8Array) {\n return super.setValue(index, toUint8Array(value));\n }\n protected _flushPending(pending: Map, pendingLength: number) {\n const offsets = this._offsets;\n const data = this._values.reserve(pendingLength).buffer;\n let index = 0, length = 0, offset = 0, value: Uint8Array | undefined;\n for ([index, value] of pending) {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n length = value.length;\n data.set(value, offset);\n offsets.set(index, length);\n offset += length;\n }\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Utf8 } from '../type';\nimport { encodeUtf8 } from '../util/utf8';\nimport { BinaryBuilder } from './binary';\nimport { BufferBuilder } from './buffer';\nimport { VariableWidthBuilder, BuilderOptions } from '../builder';\n\n/** @ignore */\nexport class Utf8Builder extends VariableWidthBuilder {\n constructor(opts: BuilderOptions) {\n super(opts);\n this._values = new BufferBuilder(new Uint8Array(0));\n }\n public get byteLength(): number {\n let size = this._pendingLength + (this.length * 4);\n this._offsets && (size += this._offsets.byteLength);\n this._values && (size += this._values.byteLength);\n this._nulls && (size += this._nulls.byteLength);\n return size;\n }\n public setValue(index: number, value: string) {\n return super.setValue(index, encodeUtf8(value) as any);\n }\n // @ts-ignore\n protected _flushPending(pending: Map, pendingLength: number): void {}\n}\n\n(Utf8Builder.prototype as any)._flushPending = (BinaryBuilder.prototype as any)._flushPending;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\n\n/** @ignore */\nexport class Run {\n // @ts-ignore\n protected _values: ArrayLike;\n public get length() { return this._values.length; }\n public get(index: number) { return this._values[index]; }\n public clear() { this._values = null; return this; }\n public bind(values: Vector | ArrayLike) {\n if (values instanceof Vector) {\n return values;\n }\n this._values = values;\n return this as any;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { StructVector } from './struct';\nimport { valueToString } from '../util/pretty';\nimport { DataType, Struct, RowLike } from '../type';\n\n/** @ignore */ const kParent = Symbol.for('parent');\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\n/** @ignore */ const kKeyToIdx = Symbol.for('keyToIdx');\n/** @ignore */ const kIdxToVal = Symbol.for('idxToVal');\n/** @ignore */ const kCustomInspect = Symbol.for('nodejs.util.inspect.custom');\n\nabstract class Row implements Map {\n\n public readonly size: number;\n public readonly [Symbol.toStringTag]: string;\n\n protected [kRowIndex]: number;\n protected [kParent]: Vector;\n protected [kKeyToIdx]: Map;\n protected [kIdxToVal]: V[];\n\n constructor(parent: Vector, numKeys: number) {\n this[kParent] = parent;\n this.size = numKeys;\n }\n\n public abstract keys(): IterableIterator;\n public abstract values(): IterableIterator;\n public abstract getKey(idx: number): K;\n public abstract getIndex(key: K): number;\n public abstract getValue(idx: number): V;\n public abstract setValue(idx: number, val: V): void;\n\n public entries() { return this[Symbol.iterator](); }\n\n public has(key: K) { return this.get(key) !== undefined; }\n\n public get(key: K) {\n let val = undefined;\n if (key !== null && key !== undefined) {\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n let idx = ktoi.get(key);\n if (idx !== undefined) {\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));\n } else if ((idx = this.getIndex(key)) > -1) {\n ktoi.set(key, idx);\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n ((val = itov[idx]) !== undefined) || (itov[idx] = val = this.getValue(idx));\n }\n }\n return val;\n }\n\n public set(key: K, val: V) {\n if (key !== null && key !== undefined) {\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n let idx = ktoi.get(key);\n if (idx === undefined) {\n ktoi.set(key, idx = this.getIndex(key));\n }\n if (idx > -1) {\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n itov[idx] = this.setValue(idx, val);\n }\n }\n return this;\n }\n\n public clear(): void { throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`); }\n\n public delete(_: K): boolean { throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`); }\n\n public *[Symbol.iterator](): IterableIterator<[K, V]> {\n\n const ki = this.keys();\n const vi = this.values();\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n\n for (let k: K, v: V, i = 0, kr: IteratorResult, vr: IteratorResult;\n !((kr = ki.next()).done || (vr = vi.next()).done);\n ++i\n ) {\n k = kr.value;\n v = vr.value;\n itov[i] = v;\n ktoi.has(k) || ktoi.set(k, i);\n yield [k, v];\n }\n }\n\n public forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void {\n\n const ki = this.keys();\n const vi = this.values();\n const callback = thisArg === undefined ? callbackfn :\n (v: V, k: K, m: Map) => callbackfn.call(thisArg, v, k, m);\n const ktoi = this[kKeyToIdx] || (this[kKeyToIdx] = new Map());\n const itov = this[kIdxToVal] || (this[kIdxToVal] = new Array(this.size));\n\n for (let k: K, v: V, i = 0, kr: IteratorResult, vr: IteratorResult;\n !((kr = ki.next()).done || (vr = vi.next()).done);\n ++i\n ) {\n k = kr.value;\n v = vr.value;\n itov[i] = v;\n ktoi.has(k) || ktoi.set(k, i);\n callback(v, k, this);\n }\n }\n\n public toArray() { return [...this.values()]; }\n public toJSON() {\n const obj = {} as any;\n this.forEach((val, key) => obj[key] = val);\n return obj;\n }\n\n public inspect() { return this.toString(); }\n public [kCustomInspect]() { return this.toString(); }\n public toString() {\n const str: string[] = [];\n this.forEach((val, key) => {\n key = valueToString(key);\n val = valueToString(val);\n str.push(`${key}: ${val}`);\n });\n return `{ ${str.join(', ')} }`;\n }\n\n protected static [Symbol.toStringTag] = ((proto: Row) => {\n Object.defineProperties(proto, {\n 'size': { writable: true, enumerable: false, configurable: false, value: 0 },\n [kParent]: { writable: true, enumerable: false, configurable: false, value: null },\n [kRowIndex]: { writable: true, enumerable: false, configurable: false, value: -1 },\n });\n return (proto as any)[Symbol.toStringTag] = 'Row';\n })(Row.prototype);\n}\n\nexport class MapRow extends Row {\n constructor(slice: Vector>) {\n super(slice, slice.length);\n return createRowProxy(this);\n }\n public keys() {\n return this[kParent].getChildAt(0)![Symbol.iterator]();\n }\n public values() {\n return this[kParent].getChildAt(1)![Symbol.iterator]();\n }\n public getKey(idx: number): K['TValue'] {\n return this[kParent].getChildAt(0)!.get(idx);\n }\n public getIndex(key: K['TValue']): number {\n return this[kParent].getChildAt(0)!.indexOf(key);\n }\n public getValue(index: number): V['TValue'] | null {\n return this[kParent].getChildAt(1)!.get(index);\n }\n public setValue(index: number, value: V['TValue'] | null): void {\n this[kParent].getChildAt(1)!.set(index, value);\n }\n}\n\nexport class StructRow extends Row {\n constructor(parent: StructVector) {\n super(parent, parent.type.children.length);\n return defineRowProxyProperties(this);\n }\n public *keys() {\n for (const field of this[kParent].type.children) {\n yield field.name as keyof T;\n }\n }\n public *values() {\n for (const field of this[kParent].type.children) {\n yield (this as RowLike)[field.name];\n }\n }\n public getKey(idx: number): keyof T {\n return this[kParent].type.children[idx].name as keyof T;\n }\n public getIndex(key: keyof T): number {\n return this[kParent].type.children.findIndex((f) => f.name === key);\n }\n public getValue(index: number): T[keyof T]['TValue'] | null {\n return this[kParent].getChildAt(index)!.get(this[kRowIndex]);\n }\n public setValue(index: number, value: T[keyof T]['TValue'] | null): void {\n return this[kParent].getChildAt(index)!.set(this[kRowIndex], value);\n }\n}\n\nObject.setPrototypeOf(Row.prototype, Map.prototype);\n\n/** @ignore */\nconst defineRowProxyProperties = (() => {\n const desc = { enumerable: true, configurable: false, get: null as any, set: null as any };\n return (row: T) => {\n let idx = -1, ktoi = row[kKeyToIdx] || (row[kKeyToIdx] = new Map());\n const getter = (key: any) => function(this: T) { return this.get(key); };\n const setter = (key: any) => function(this: T, val: any) { return this.set(key, val); };\n for (const key of row.keys()) {\n ktoi.set(key, ++idx);\n desc.get = getter(key);\n desc.set = setter(key);\n row.hasOwnProperty(key) || (desc.enumerable = true, Object.defineProperty(row, key, desc));\n row.hasOwnProperty(idx) || (desc.enumerable = false, Object.defineProperty(row, idx, desc));\n }\n desc.get = desc.set = null;\n return row;\n };\n})();\n\n/** @ignore */\nconst createRowProxy = (() => {\n if (typeof Proxy === 'undefined') {\n return defineRowProxyProperties;\n }\n const has = Row.prototype.has;\n const get = Row.prototype.get;\n const set = Row.prototype.set;\n const getKey = Row.prototype.getKey;\n const RowProxyHandler: ProxyHandler = {\n isExtensible() { return false; },\n deleteProperty() { return false; },\n preventExtensions() { return true; },\n ownKeys(row: Row) { return [...row.keys()].map((x) => `${x}`); },\n has(row: Row, key: PropertyKey) {\n switch (key) {\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag: case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx: case kCustomInspect:\n return true;\n }\n if (typeof key === 'number' && !row.has(key)) {\n key = row.getKey(key);\n }\n return row.has(key);\n },\n get(row: Row, key: PropertyKey, receiver: any) {\n switch (key) {\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag: case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx: case kCustomInspect:\n return Reflect.get(row, key, receiver);\n }\n if (typeof key === 'number' && !has.call(receiver, key)) {\n key = getKey.call(receiver, key);\n }\n return get.call(receiver, key);\n },\n set(row: Row, key: PropertyKey, val: any, receiver: any) {\n switch (key) {\n case kParent: case kRowIndex: case kIdxToVal: case kKeyToIdx:\n return Reflect.set(row, key, val, receiver);\n case 'getKey': case 'getIndex': case 'getValue': case 'setValue': case 'toArray': case 'toJSON': case 'inspect':\n case 'constructor': case 'isPrototypeOf': case 'propertyIsEnumerable': case 'toString': case 'toLocaleString': case 'valueOf':\n case 'size': case 'has': case 'get': case 'set': case 'clear': case 'delete': case 'keys': case 'values': case 'entries': case 'forEach':\n case '__proto__': case '__defineGetter__': case '__defineSetter__': case 'hasOwnProperty': case '__lookupGetter__': case '__lookupSetter__':\n case Symbol.iterator: case Symbol.toStringTag:\n return false;\n }\n if (typeof key === 'number' && !has.call(receiver, key)) {\n key = getKey.call(receiver, key);\n }\n return has.call(receiver, key) ? !!set.call(receiver, key, val) : false;\n },\n };\n return (row: T) => new Proxy(row, RowProxyHandler) as T;\n})();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { MapRow, StructRow } from '../vector/row';\nimport { compareArrayLike } from '../util/buffer';\nimport { BigInt, BigIntAvailable } from './compat';\n\n/** @ignore */\ntype RangeLike = { length: number; stride?: number };\n/** @ignore */\ntype ClampThen = (source: T, index: number) => any;\n/** @ignore */\ntype ClampRangeThen = (source: T, offset: number, length: number) => any;\n\nexport function clampIndex(source: T, index: number): number;\nexport function clampIndex = ClampThen>(source: T, index: number, then: N): ReturnType;\n/** @ignore */\nexport function clampIndex = ClampThen>(source: T, index: number, then?: N) {\n const length = source.length;\n const adjust = index > -1 ? index : (length + (index % length));\n return then ? then(source, adjust) : adjust;\n}\n\n/** @ignore */\nlet tmp: number;\nexport function clampRange(source: T, begin: number | undefined, end: number | undefined): [number, number];\nexport function clampRange = ClampRangeThen>(source: T, begin: number | undefined, end: number | undefined, then: N): ReturnType;\n/** @ignore */\nexport function clampRange = ClampRangeThen>(source: T, begin: number | undefined, end: number | undefined, then?: N) {\n\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n let { length: len = 0 } = source;\n let lhs = typeof begin !== 'number' ? 0 : begin;\n let rhs = typeof end !== 'number' ? len : end;\n // wrap around on negative start/end positions\n (lhs < 0) && (lhs = ((lhs % len) + len) % len);\n (rhs < 0) && (rhs = ((rhs % len) + len) % len);\n // ensure lhs <= rhs\n (rhs < lhs) && (tmp = lhs, lhs = rhs, rhs = tmp);\n // ensure rhs <= length\n (rhs > len) && (rhs = len);\n\n return then ? then(source, lhs, rhs) : [lhs, rhs];\n}\n\nconst big0 = BigIntAvailable ? BigInt(0) : 0;\nconst isNaNFast = (value: any) => value !== value;\n\n/** @ignore */\nexport function createElementComparator(search: any) {\n let typeofSearch = typeof search;\n // Compare primitives\n if (typeofSearch !== 'object' || search === null) {\n // Compare NaN\n if (isNaNFast(search)) {\n return isNaNFast;\n }\n return typeofSearch !== 'bigint'\n ? (value: any) => value === search\n : (value: any) => (big0 + value) === search;\n }\n // Compare Dates\n if (search instanceof Date) {\n const valueOfSearch = search.valueOf();\n return (value: any) => value instanceof Date ? (value.valueOf() === valueOfSearch) : false;\n }\n // Compare TypedArrays\n if (ArrayBuffer.isView(search)) {\n return (value: any) => value ? compareArrayLike(search, value) : false;\n }\n // Compare Maps and Rows\n if (search instanceof Map) { return creatMapComparator(search); }\n // Compare Array-likes\n if (Array.isArray(search)) { return createArrayLikeComparator(search); }\n // Compare Vectors\n if (search instanceof Vector) { return createVectorComparator(search); }\n // Compare non-empty Objects\n return createObjectComparator(search);\n}\n\n/** @ignore */\nfunction createArrayLikeComparator(lhs: ArrayLike) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[i]);\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction creatMapComparator(lhs: Map) {\n let i = -1;\n const comparators = [] as ((x: any) => boolean)[];\n lhs.forEach((v) => comparators[++i] = createElementComparator(v));\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createVectorComparator(lhs: Vector) {\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = lhs.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs.get(i));\n }\n return createSubElementsComparator(comparators);\n}\n\n/** @ignore */\nfunction createObjectComparator(lhs: any) {\n const keys = Object.keys(lhs);\n // Only compare non-empty Objects\n if (keys.length === 0) { return () => false; }\n const comparators = [] as ((x: any) => boolean)[];\n for (let i = -1, n = keys.length; ++i < n;) {\n comparators[i] = createElementComparator(lhs[keys[i]]);\n }\n return createSubElementsComparator(comparators, keys);\n}\n\nfunction createSubElementsComparator(comparators: ((x: any) => boolean)[], keys?: Iterable) {\n return (rhs: any) => {\n if (!rhs || typeof rhs !== 'object') {\n return false;\n }\n switch (rhs.constructor) {\n case Array: return compareArray(comparators, rhs);\n case Map:\n case MapRow:\n case StructRow:\n return compareObject(comparators, rhs, rhs.keys());\n case Object:\n case undefined: // support `Object.create(null)` objects\n return compareObject(comparators, rhs, keys || Object.keys(rhs));\n }\n return rhs instanceof Vector ? compareVector(comparators, rhs) : false;\n };\n}\n\nfunction compareArray(comparators: ((x: any) => boolean)[], arr: any[]) {\n const n = comparators.length;\n if (arr.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](arr[i]))) { return false; }\n }\n return true;\n}\n\nfunction compareVector(comparators: ((x: any) => boolean)[], vec: Vector) {\n const n = comparators.length;\n if (vec.length !== n) { return false; }\n for (let i = -1; ++i < n;) {\n if (!(comparators[i](vec.get(i)))) { return false; }\n }\n return true;\n}\n\nfunction compareObject(comparators: ((x: any) => boolean)[], obj: Map, keys: Iterable) {\n\n const lKeyItr = keys[Symbol.iterator]();\n const rKeyItr = obj instanceof Map ? obj.keys() : Object.keys(obj)[Symbol.iterator]();\n const rValItr = obj instanceof Map ? obj.values() : Object.values(obj)[Symbol.iterator]();\n\n let i = 0;\n let n = comparators.length;\n let rVal = rValItr.next();\n let lKey = lKeyItr.next();\n let rKey = rKeyItr.next();\n\n for (; i < n && !lKey.done && !rKey.done && !rVal.done;\n ++i, lKey = lKeyItr.next(), rKey = rKeyItr.next(), rVal = rValItr.next()) {\n if (lKey.value !== rKey.value || !comparators[i](rVal.value)) {\n break;\n }\n }\n if (i === n && lKey.done && rKey.done && rVal.done) {\n return true;\n }\n lKeyItr.return && lKeyItr.return();\n rKeyItr.return && rKeyItr.return();\n rValItr.return && rValItr.return();\n return false;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { clampRange } from '../util/vector';\nimport { DataType, Dictionary } from '../type';\nimport { selectChunkArgs } from '../util/args';\nimport { DictionaryVector } from './dictionary';\nimport { AbstractVector, Vector } from '../vector';\nimport { Clonable, Sliceable, Applicative } from '../vector';\n\n/** @ignore */\ntype ChunkedDict = T extends Dictionary ? Vector : null | never;\n/** @ignore */\ntype ChunkedKeys = T extends Dictionary ? Vector | Chunked : null | never;\n\n/** @ignore */\nexport type SearchContinuation = (column: T, chunkIndex: number, valueIndex: number) => any;\n\n/** @ignore */\nexport class Chunked\n extends AbstractVector\n implements Clonable>,\n Sliceable>,\n Applicative> {\n\n /** @nocollapse */\n public static flatten(...vectors: (Vector | Vector[])[]) {\n return selectChunkArgs>(Vector, vectors);\n }\n\n /** @nocollapse */\n public static concat(...vectors: (Vector | Vector[])[]) {\n const chunks = Chunked.flatten(...vectors);\n return new Chunked(chunks[0].type, chunks);\n }\n\n protected _type: T;\n protected _length: number;\n protected _chunks: Vector[];\n protected _numChildren: number;\n protected _children?: Chunked[];\n protected _nullCount: number = -1;\n protected _chunkOffsets: Uint32Array;\n\n constructor(type: T, chunks: Vector[] = [], offsets = calculateOffsets(chunks)) {\n super();\n this._type = type;\n this._chunks = chunks;\n this._chunkOffsets = offsets;\n this._length = offsets[offsets.length - 1];\n this._numChildren = (this._type.children || []).length;\n }\n\n public get type() { return this._type; }\n public get length() { return this._length; }\n public get chunks() { return this._chunks; }\n public get typeId(): T['TType'] { return this._type.typeId; }\n public get VectorName() { return `Chunked<${this._type}>`; }\n public get data(): Data {\n return this._chunks[0] ? this._chunks[0].data : null;\n }\n\n public get ArrayType() { return this._type.ArrayType; }\n public get numChildren() { return this._numChildren; }\n public get stride() { return this._chunks[0] ? this._chunks[0].stride : 1; }\n public get byteLength(): number {\n return this._chunks.reduce((byteLength, chunk) => byteLength + chunk.byteLength, 0);\n }\n public get nullCount() {\n let nullCount = this._nullCount;\n if (nullCount < 0) {\n this._nullCount = nullCount = this._chunks.reduce((x, { nullCount }) => x + nullCount, 0);\n }\n return nullCount;\n }\n\n protected _indices?: ChunkedKeys;\n public get indices(): ChunkedKeys | null {\n if (DataType.isDictionary(this._type)) {\n if (!this._indices) {\n const chunks = ( this._chunks) as DictionaryVector[];\n this._indices = (chunks.length === 1\n ? chunks[0].indices\n : Chunked.concat(...chunks.map((x) => x.indices))) as ChunkedKeys;\n }\n return this._indices;\n }\n return null;\n }\n public get dictionary(): ChunkedDict | null {\n if (DataType.isDictionary(this._type)) {\n return this._chunks[this._chunks.length - 1].data.dictionary as ChunkedDict;\n }\n return null;\n }\n\n public *[Symbol.iterator](): IterableIterator {\n for (const chunk of this._chunks) {\n yield* chunk;\n }\n }\n\n public clone(chunks = this._chunks): Chunked {\n return new Chunked(this._type, chunks);\n }\n\n public concat(...others: Vector[]): Chunked {\n return this.clone(Chunked.flatten(this, ...others));\n }\n\n public slice(begin?: number, end?: number): Chunked {\n return clampRange(this, begin, end, this._sliceInternal);\n }\n\n public getChildAt(index: number): Chunked | null {\n\n if (index < 0 || index >= this._numChildren) { return null; }\n\n let columns = this._children || (this._children = []);\n let child: Chunked, field: Field, chunks: Vector[];\n\n if (child = columns[index]) { return child; }\n if (field = ((this._type.children || [])[index] as Field)) {\n chunks = this._chunks\n .map((vector) => vector.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Chunked(field.type, chunks));\n }\n }\n\n return null;\n }\n\n public search(index: number): [number, number] | null;\n public search>>(index: number, then?: N): ReturnType;\n public search>>(index: number, then?: N) {\n let idx = index;\n // binary search to find the child vector and value indices\n let offsets = this._chunkOffsets, rhs = offsets.length - 1;\n // return early if out of bounds, or if there's just one child\n if (idx < 0 ) { return null; }\n if (idx >= offsets[rhs]) { return null; }\n if (rhs <= 1 ) { return then ? then(this, 0, idx) : [0, idx]; }\n let lhs = 0, pos = 0, mid = 0;\n do {\n if (lhs + 1 === rhs) {\n return then ? then(this, lhs, idx - pos) : [lhs, idx - pos];\n }\n mid = lhs + ((rhs - lhs) / 2) | 0;\n idx >= offsets[mid] ? (lhs = mid) : (rhs = mid);\n } while (idx < offsets[rhs] && idx >= (pos = offsets[lhs]));\n return null;\n }\n\n public isValid(index: number): boolean {\n return !!this.search(index, this.isValidInternal);\n }\n\n public get(index: number): T['TValue'] | null {\n return this.search(index, this.getInternal);\n }\n\n public set(index: number, value: T['TValue'] | null): void {\n this.search(index, ({ chunks }, i, j) => chunks[i].set(j, value));\n }\n\n public indexOf(element: T['TValue'], offset?: number): number {\n if (offset && typeof offset === 'number') {\n return this.search(offset, (self, i, j) => this.indexOfInternal(self, i, j, element))!;\n }\n return this.indexOfInternal(this, 0, Math.max(0, offset || 0), element);\n }\n\n public toArray(): T['TArray'] {\n const { chunks } = this;\n const n = chunks.length;\n let ArrayType: any = this._type.ArrayType;\n if (n <= 0) { return new ArrayType(0); }\n if (n <= 1) { return chunks[0].toArray(); }\n let len = 0, src = new Array(n);\n for (let i = -1; ++i < n;) {\n len += (src[i] = chunks[i].toArray()).length;\n }\n if (ArrayType !== src[0].constructor) {\n ArrayType = src[0].constructor;\n }\n let dst = new ArrayType(len);\n let set: any = ArrayType === Array ? arraySet : typedSet;\n for (let i = -1, idx = 0; ++i < n;) {\n idx = set(src[i], dst, idx);\n }\n return dst;\n }\n\n protected getInternal({ _chunks }: Chunked, i: number, j: number) { return _chunks[i].get(j); }\n protected isValidInternal({ _chunks }: Chunked, i: number, j: number) { return _chunks[i].isValid(j); }\n protected indexOfInternal({ _chunks }: Chunked, chunkIndex: number, fromIndex: number, element: T['TValue']) {\n let i = chunkIndex - 1, n = _chunks.length;\n let start = fromIndex, offset = 0, found = -1;\n while (++i < n) {\n if (~(found = _chunks[i].indexOf(element, start))) {\n return offset + found;\n }\n start = 0;\n offset += _chunks[i].length;\n }\n return -1;\n }\n\n protected _sliceInternal(self: Chunked, begin: number, end: number) {\n const slices: Vector[] = [];\n const { chunks, _chunkOffsets: chunkOffsets } = self;\n for (let i = -1, n = chunks.length; ++i < n;) {\n const chunk = chunks[i];\n const chunkLength = chunk.length;\n const chunkOffset = chunkOffsets[i];\n // If the child is to the right of the slice boundary, we can stop\n if (chunkOffset >= end) { break; }\n // If the child is to the left of of the slice boundary, exclude\n if (begin >= chunkOffset + chunkLength) { continue; }\n // If the child is between both left and right boundaries, include w/o slicing\n if (chunkOffset >= begin && (chunkOffset + chunkLength) <= end) {\n slices.push(chunk);\n continue;\n }\n // If the child overlaps one of the slice boundaries, include that slice\n const from = Math.max(0, begin - chunkOffset);\n const to = Math.min(end - chunkOffset, chunkLength);\n slices.push(chunk.slice(from, to) as Vector);\n }\n return self.clone(slices);\n }\n}\n\n/** @ignore */\nfunction calculateOffsets(vectors: Vector[]) {\n let offsets = new Uint32Array((vectors || []).length + 1);\n let offset = offsets[0] = 0, length = offsets.length;\n for (let index = 0; ++index < length;) {\n offsets[index] = (offset += vectors[index - 1].length);\n }\n return offsets;\n}\n\n/** @ignore */\nconst typedSet = (src: TypedArray, dst: TypedArray, offset: number) => {\n dst.set(src, offset);\n return (offset + src.length);\n};\n\n/** @ignore */\nconst arraySet = (src: any[], dst: any[], offset: number) => {\n let idx = offset;\n for (let i = -1, n = src.length; ++i < n;) {\n dst[idx++] = src[i];\n }\n return idx;\n};\n\n/** @ignore */\ninterface TypedArray extends ArrayBufferView {\n readonly length: number;\n readonly [n: number]: number;\n set(array: ArrayLike, offset?: number): void;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Field } from './schema';\nimport { DataType } from './type';\nimport { Vector } from './vector';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { VectorCtorArgs, VectorType as V } from './interfaces';\nimport { Chunked, SearchContinuation } from './vector/chunked';\n\nexport interface Column {\n typeId: T['TType'];\n concat(...others: Vector[]): Column;\n slice(begin?: number, end?: number): Column;\n clone(chunks?: Vector[], offsets?: Uint32Array): Column;\n}\n\nexport class Column\n extends Chunked\n implements Clonable>,\n Sliceable>,\n Applicative> {\n\n public static new(field: string | Field, ...chunks: (Vector | Vector[])[]): Column;\n public static new(field: string | Field, data: Data, ...args: VectorCtorArgs>): Column;\n /** @nocollapse */\n public static new(field: string | Field, data: Data | Vector | (Data | Vector)[], ...rest: any[]) {\n\n const chunks = Chunked.flatten(\n Array.isArray(data) ? [...data, ...rest] :\n data instanceof Vector ? [data, ...rest] :\n [Vector.new(data, ...rest)]\n );\n\n if (typeof field === 'string') {\n const type = chunks[0].data.type;\n field = new Field(field, type, true);\n } else if (!field.nullable && chunks.some(({ nullCount }) => nullCount > 0)) {\n field = field.clone({ nullable: true });\n }\n return new Column(field, chunks);\n }\n\n constructor(field: Field, vectors: Vector[] = [], offsets?: Uint32Array) {\n vectors = Chunked.flatten(...vectors);\n super(field.type, vectors, offsets);\n this._field = field;\n if (vectors.length === 1 && !(this instanceof SingleChunkColumn)) {\n return new SingleChunkColumn(field, vectors[0], this._chunkOffsets);\n }\n }\n\n protected _field: Field;\n protected _children?: Column[];\n\n public get field() { return this._field; }\n public get name() { return this._field.name; }\n public get nullable() { return this._field.nullable; }\n public get metadata() { return this._field.metadata; }\n\n public clone(chunks = this._chunks) {\n return new Column(this._field, chunks);\n }\n\n public getChildAt(index: number): Column | null {\n\n if (index < 0 || index >= this.numChildren) { return null; }\n\n let columns = this._children || (this._children = []);\n let column: Column, field: Field, chunks: Vector[];\n\n if (column = columns[index]) { return column; }\n if (field = ((this.type.children || [])[index] as Field)) {\n chunks = this._chunks\n .map((vector) => vector.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Column(field, chunks));\n }\n }\n\n return null;\n }\n}\n\n/** @ignore */\nclass SingleChunkColumn extends Column {\n protected _chunk: Vector;\n constructor(field: Field, vector: Vector, offsets?: Uint32Array) {\n super(field, [vector], offsets);\n this._chunk = vector;\n }\n public search(index: number): [number, number] | null;\n public search>>(index: number, then?: N): ReturnType;\n public search>>(index: number, then?: N) {\n return then ? then(this, 0, index) : [0, index];\n }\n public isValid(index: number): boolean {\n return this._chunk.isValid(index);\n }\n public get(index: number): T['TValue'] | null {\n return this._chunk.get(index);\n }\n public set(index: number, value: T['TValue'] | null): void {\n this._chunk.set(index, value);\n }\n public indexOf(element: T['TValue'], offset?: number): number {\n return this._chunk.indexOf(element, offset);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { Column } from '../column';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Chunked } from '../vector/chunked';\n\ntype RecordBatchCtor = typeof import('../recordbatch').RecordBatch;\n\nconst isArray = Array.isArray;\n\n/** @ignore */\nexport const selectArgs = (Ctor: any, vals: any[]) => _selectArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectColumnArgs = (args: any[]) => {\n const [fields, values] = _selectFieldArgs(args, [[], []]);\n return values.map((x, i) =>\n x instanceof Column ? Column.new(x.field.clone(fields[i]), x) :\n x instanceof Vector ? Column.new(fields[i], x) as Column :\n Column.new(fields[i], [] as Vector[]));\n};\n\n/** @ignore */\nexport const selectFieldArgs = (args: any[]) => _selectFieldArgs(args, [[], []]);\n/** @ignore */\nexport const selectChunkArgs = (Ctor: any, vals: any[]) => _selectChunkArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectVectorChildrenArgs = (Ctor: RecordBatchCtor, vals: any[]) => _selectVectorChildrenArgs(Ctor, vals, [], 0) as T[];\n/** @ignore */\nexport const selectColumnChildrenArgs = (Ctor: RecordBatchCtor, vals: any[]) => _selectColumnChildrenArgs(Ctor, vals, [], 0) as T[];\n\n/** @ignore */\nfunction _selectArgs(Ctor: any, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) { res[j++] = value; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectChunkArgs(Ctor: any, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectChunkArgs(Ctor, value, res, j).length;\n } else if (value instanceof Chunked) {\n j = _selectChunkArgs(Ctor, value.chunks, res, j).length;\n } else if (value instanceof Ctor) { res[j++] = value; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectVectorChildrenArgs(Ctor: RecordBatchCtor, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectVectorChildrenArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) {\n j = _selectArgs(Vector, value.schema.fields.map((_, i) => value.getChildAt(i)!), res, j).length;\n } else if (value instanceof Vector) { res[j++] = value as T; }\n }\n return res;\n}\n\n/** @ignore */\nfunction _selectColumnChildrenArgs(Ctor: RecordBatchCtor, vals: any[], res: T[], idx: number) {\n let value: any, j = idx;\n let i = -1, n = vals.length;\n while (++i < n) {\n if (isArray(value = vals[i])) {\n j = _selectColumnChildrenArgs(Ctor, value, res, j).length;\n } else if (value instanceof Ctor) {\n j = _selectArgs(Column, value.schema.fields.map((f, i) => Column.new(f, value.getChildAt(i)!)), res, j).length;\n } else if (value instanceof Column) { res[j++] = value as T; }\n }\n return res;\n}\n\n/** @ignore */\nconst toKeysAndValues = (xs: [any[], any[]], [k, v]: [any, any], i: number) => (xs[0][i] = k, xs[1][i] = v, xs);\n\n/** @ignore */\nfunction _selectFieldArgs(vals: any[], ret: [Field[], Vector[]]): [Field[], (T[keyof T] | Vector)[]] {\n let keys: any[], n: number;\n switch (n = vals.length) {\n case 0: return ret;\n case 1:\n keys = ret[0];\n if (!(vals[0])) { return ret; }\n if (isArray(vals[0])) { return _selectFieldArgs(vals[0], ret); }\n if (!(vals[0] instanceof Data || vals[0] instanceof Vector || vals[0] instanceof DataType)) {\n [keys, vals] = Object.entries(vals[0]).reduce(toKeysAndValues, ret);\n }\n break;\n default:\n !isArray(keys = vals[n - 1])\n ? (vals = isArray(vals[0]) ? vals[0] : vals, keys = [])\n : (vals = isArray(vals[0]) ? vals[0] : vals.slice(0, n - 1));\n }\n\n let fieldIndex = -1;\n let valueIndex = -1;\n let idx = -1, len = vals.length;\n let field: number | string | Field;\n let val: Vector | Data;\n let [fields, values] = ret as [Field[], any[]];\n\n while (++idx < len) {\n val = vals[idx];\n if (val instanceof Column && (values[++valueIndex] = val)) {\n fields[++fieldIndex] = val.field.clone(keys[idx], val.type, true);\n } else {\n ({ [idx]: field = idx } = keys);\n if (val instanceof DataType && (values[++valueIndex] = val)) {\n fields[++fieldIndex] = Field.new(field, val as DataType, true) as Field;\n } else if (val && val.type && (values[++valueIndex] = val)) {\n val instanceof Data && (values[valueIndex] = val = Vector.new(val) as Vector);\n fields[++fieldIndex] = Field.new(field, val.type, true) as Field;\n }\n }\n }\n return ret;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Vector } from './vector';\nimport { DataType } from './type';\nimport { selectArgs } from './util/args';\nimport { selectFieldArgs } from './util/args';\nimport { instance as comparer } from './visitor/typecomparator';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = T[keyof T][] | Data[] | Vector[];\n\nexport class Schema {\n\n public static from(children: T): Schema;\n public static from(children: T): Schema<{ [P in keyof T]: T[P]['type'] }>;\n public static from(children: ChildData, fields?: Fields): Schema;\n /** @nocollapse */\n public static from(...args: any[]) {\n return Schema.new(args[0], args[1]);\n }\n\n public static new(children: T): Schema;\n public static new(children: T): Schema<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): Schema;\n /** @nocollapse */\n public static new(...args: any[]) {\n return new Schema(selectFieldArgs(args)[0]);\n }\n\n public readonly fields: Field[];\n public readonly metadata: Map;\n public readonly dictionaries: Map;\n\n constructor(fields: Field[] = [],\n metadata?: Map | null,\n dictionaries?: Map | null) {\n this.fields = (fields || []) as Field[];\n this.metadata = metadata || new Map();\n if (!dictionaries) {\n dictionaries = generateDictionaryMap(fields);\n }\n this.dictionaries = dictionaries;\n }\n public get [Symbol.toStringTag]() { return 'Schema'; }\n public toString() {\n return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n }\n\n public compareTo(other?: Schema | null): other is Schema {\n return comparer.compareSchemas(this, other);\n }\n\n public select(...columnNames: K[]) {\n const names = columnNames.reduce((xs, x) => (xs[x] = true) && xs, Object.create(null));\n return new Schema<{ [P in K]: T[P] }>(this.fields.filter((f) => names[f.name]), this.metadata);\n }\n public selectAt(...columnIndices: number[]) {\n return new Schema<{ [key: string]: K }>(columnIndices.map((i) => this.fields[i]).filter(Boolean), this.metadata);\n }\n\n public assign(schema: Schema): Schema;\n public assign(...fields: (Field | Field[])[]): Schema;\n public assign(...args: (Schema | Field | Field[])[]) {\n\n const other = args[0] instanceof Schema ? args[0] as Schema\n : new Schema(selectArgs>(Field, args));\n\n const curFields = [...this.fields] as Field[];\n const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n const newFields = other.fields.filter((f2) => {\n const i = curFields.findIndex((f) => f.name === f2.name);\n return ~i ? (curFields[i] = f2.clone({\n metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n })) && false : true;\n }) as Field[];\n\n const newDictionaries = generateDictionaryMap(newFields, new Map());\n\n return new Schema(\n [...curFields, ...newFields], metadata,\n new Map([...this.dictionaries, ...newDictionaries])\n );\n }\n}\n\nexport class Field {\n\n public static new(props: { name: string | number, type: T, nullable?: boolean, metadata?: Map | null }): Field;\n public static new(name: string | number | Field, type: T, nullable?: boolean, metadata?: Map | null): Field;\n /** @nocollapse */\n public static new(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n if (args[0] && typeof args[0] === 'object') {\n ({ name } = args[0]);\n (type === undefined) && (type = args[0].type);\n (nullable === undefined) && (nullable = args[0].nullable);\n (metadata === undefined) && (metadata = args[0].metadata);\n }\n return new Field(`${name}`, type, nullable, metadata);\n }\n\n public readonly type: T;\n public readonly name: string;\n public readonly nullable: boolean;\n public readonly metadata: Map;\n\n constructor(name: string, type: T, nullable = false, metadata?: Map | null) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata || new Map();\n }\n\n public get typeId() { return this.type.typeId; }\n public get [Symbol.toStringTag]() { return 'Field'; }\n public toString() { return `${this.name}: ${this.type}`; }\n public compareTo(other?: Field | null): other is Field {\n return comparer.compareField(this, other);\n }\n public clone(props: { name?: string | number, type?: R, nullable?: boolean, metadata?: Map | null }): Field;\n public clone(name?: string | number | Field, type?: R, nullable?: boolean, metadata?: Map | null): Field;\n public clone(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n (!args[0] || typeof args[0] !== 'object')\n ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n : ({name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata} = args[0]);\n return Field.new(name, type, nullable, metadata);\n }\n}\n\n/** @ignore */\nfunction mergeMaps(m1?: Map | null, m2?: Map | null): Map {\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n\n/** @ignore */\nfunction generateDictionaryMap(fields: Field[], dictionaries = new Map()): Map {\n\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n dictionaries.set(type.id, type.dictionary);\n } else if (dictionaries.get(type.id) !== type.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n generateDictionaryMap(type.children, dictionaries);\n }\n }\n\n return dictionaries;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Schema.prototype as any).fields = null;\n(Schema.prototype as any).metadata = null;\n(Schema.prototype as any).dictionaries = null;\n\n(Field.prototype as any).type = null;\n(Field.prototype as any).name = null;\n(Field.prototype as any).nullable = null;\n(Field.prototype as any).metadata = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Run } from './run';\nimport { Field } from '../schema';\nimport { DataType, List } from '../type';\nimport { OffsetsBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions, VariableWidthBuilder } from '../builder';\n\n/** @ignore */\nexport class ListBuilder extends VariableWidthBuilder, TNull> {\n protected _run = new Run();\n protected _offsets: OffsetsBufferBuilder;\n constructor(opts: BuilderOptions, TNull>) {\n super(opts);\n this._offsets = new OffsetsBufferBuilder();\n }\n public addChild(child: Builder, name = '0') {\n if (this.numChildren > 0) {\n throw new Error('ListBuilder can only have one child.');\n }\n this.children[this.numChildren] = child;\n this.type = new List(new Field(name, child.type, true));\n return this.numChildren - 1;\n }\n public clear() {\n this._run.clear();\n return super.clear();\n }\n protected _flushPending(pending: Map) {\n const run = this._run;\n const offsets = this._offsets;\n const setValue = this._setValue;\n let index = 0, value: Uint8Array | undefined;\n for ([index, value] of pending) {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n offsets.set(index, value.length);\n setValue(this, index, run.bind(value));\n }\n }\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Run } from './run';\nimport { Field } from '../schema';\nimport { Builder } from '../builder';\nimport { DataType, FixedSizeList } from '../type';\n\n/** @ignore */\nexport class FixedSizeListBuilder extends Builder, TNull> {\n protected _run = new Run();\n public setValue(index: number, value: T['TValue']) {\n super.setValue(index, this._run.bind(value));\n }\n public addChild(child: Builder, name = '0') {\n if (this.numChildren > 0) {\n throw new Error('FixedSizeListBuilder can only have one child.');\n }\n const childIndex = this.children.push(child);\n this.type = new FixedSizeList(this.type.listSize, new Field(name, child.type, true));\n return childIndex;\n }\n public clear() {\n this._run.clear();\n return super.clear();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { DataType, Map_, Struct } from '../type';\nimport { Builder, VariableWidthBuilder } from '../builder';\n\n/** @ignore */ type MapValue = Map_['TValue'];\n/** @ignore */ type MapValues = Map | undefined>;\n/** @ignore */ type MapValueExt = MapValue | { [key: string]: V } | { [key: number]: V } ;\n\n/** @ignore */\nexport class MapBuilder extends VariableWidthBuilder, TNull> {\n\n protected _pending: MapValues | undefined;\n public set(index: number, value: MapValueExt | TNull) {\n return super.set(index, value as MapValue | TNull);\n }\n\n public setValue(index: number, value: MapValueExt) {\n value = value instanceof Map ? value : new Map(Object.entries(value));\n const pending = this._pending || (this._pending = new Map() as MapValues);\n const current = pending.get(index);\n current && (this._pendingLength -= current.size);\n this._pendingLength += value.size;\n pending.set(index, value);\n }\n\n public addChild(child: Builder>, name = `${this.numChildren}`) {\n if (this.numChildren > 0) {\n throw new Error('ListBuilder can only have one child.');\n }\n this.children[this.numChildren] = child;\n this.type = new Map_(new Field(name, child.type, true), this.type.keysSorted);\n return this.numChildren - 1;\n }\n\n protected _flushPending(pending: MapValues) {\n const offsets = this._offsets;\n const setValue = this._setValue;\n pending.forEach((value, index) => {\n if (value === undefined) {\n offsets.set(index, 0);\n } else {\n offsets.set(index, value.size);\n setValue(this, index, value);\n }\n });\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { Builder } from '../builder';\nimport { DataType, Struct } from '../type';\n\n/** @ignore */\nexport class StructBuilder extends Builder, TNull> {\n public addChild(child: Builder, name = `${this.numChildren}`) {\n const childIndex = this.children.push(child);\n this.type = new Struct([...this.type.children, new Field(name, child.type, true)]);\n return childIndex;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from '../schema';\nimport { DataBufferBuilder } from './buffer';\nimport { Builder, BuilderOptions } from '../builder';\nimport { Union, SparseUnion, DenseUnion } from '../type';\n\nexport interface UnionBuilderOptions extends BuilderOptions {\n valueToChildTypeId?: (builder: UnionBuilder, value: any, offset: number) => number;\n}\n\n/** @ignore */\nexport abstract class UnionBuilder extends Builder {\n\n protected _typeIds: DataBufferBuilder;\n\n constructor(options: UnionBuilderOptions) {\n super(options);\n this._typeIds = new DataBufferBuilder(new Int8Array(0), 1);\n if (typeof options['valueToChildTypeId'] === 'function') {\n this._valueToChildTypeId = options['valueToChildTypeId'];\n }\n }\n\n public get typeIdToChildIndex() { return this.type.typeIdToChildIndex; }\n\n public append(value: T['TValue'] | TNull, childTypeId?: number) {\n return this.set(this.length, value, childTypeId);\n }\n\n public set(index: number, value: T['TValue'] | TNull, childTypeId?: number) {\n if (childTypeId === undefined) {\n childTypeId = this._valueToChildTypeId(this, value, index);\n }\n if (this.setValid(index, this.isValid(value))) {\n this.setValue(index, value, childTypeId);\n }\n return this;\n }\n\n // @ts-ignore\n public setValue(index: number, value: T['TValue'], childTypeId?: number) {\n this._typeIds.set(index, childTypeId!);\n super.setValue(index, value);\n }\n\n // @ts-ignore\n public addChild(child: Builder, name = `${this.children.length}`) {\n const childTypeId = this.children.push(child);\n const { type: { children, mode, typeIds } } = this;\n const fields = [...children, new Field(name, child.type)];\n this.type = new Union(mode, [...typeIds, childTypeId], fields);\n return childTypeId;\n }\n\n /** @ignore */\n // @ts-ignore\n protected _valueToChildTypeId(builder: UnionBuilder, value: any, offset: number): number {\n throw new Error(`Cannot map UnionBuilder value to child typeId. \\\nPass the \\`childTypeId\\` as the second argument to unionBuilder.append(), \\\nor supply a \\`valueToChildTypeId\\` function as part of the UnionBuilder constructor options.`);\n }\n}\n\n/** @ignore */\nexport class SparseUnionBuilder extends UnionBuilder {}\n/** @ignore */\nexport class DenseUnionBuilder extends UnionBuilder {\n\n protected _offsets: DataBufferBuilder;\n\n constructor(options: UnionBuilderOptions) {\n super(options);\n this._offsets = new DataBufferBuilder(new Int32Array(0));\n }\n\n /** @ignore */\n public setValue(index: number, value: T['TValue'], childTypeId?: number) {\n const childIndex = this.type.typeIdToChildIndex[childTypeId!];\n this._offsets.set(index, this.getChildAt(childIndex)!.length);\n return super.setValue(index, value, childTypeId);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { Visitor } from '../visitor';\nimport { encodeUtf8 } from '../util/utf8';\nimport { VectorType } from '../interfaces';\nimport { float64ToUint16 } from '../util/math';\nimport { toArrayBufferView } from '../util/buffer';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface SetVisitor extends Visitor {\n visit(node: T, index: number, value: T['TValue']): void;\n visitMany(nodes: T[], indices: number[], values: T['TValue'][]): void[];\n getVisitFn(node: T): (vector: VectorType, index: number, value: VectorType['TValue']) => void;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, index: number, value: VectorType['TValue']) => void;\n visitNull (vector: VectorType, index: number, value: T['TValue']): void;\n visitBool (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitInt64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUint64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat16 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat32 (vector: VectorType, index: number, value: T['TValue']): void;\n visitFloat64 (vector: VectorType, index: number, value: T['TValue']): void;\n visitUtf8 (vector: VectorType, index: number, value: T['TValue']): void;\n visitBinary (vector: VectorType, index: number, value: T['TValue']): void;\n visitFixedSizeBinary (vector: VectorType, index: number, value: T['TValue']): void;\n visitDate (vector: VectorType, index: number, value: T['TValue']): void;\n visitDateDay (vector: VectorType, index: number, value: T['TValue']): void;\n visitDateMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestamp (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampSecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampMicrosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimestampNanosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTime (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeSecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeMillisecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeMicrosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitTimeNanosecond (vector: VectorType, index: number, value: T['TValue']): void;\n visitDecimal (vector: VectorType, index: number, value: T['TValue']): void;\n visitList (vector: VectorType, index: number, value: T['TValue']): void;\n visitStruct (vector: VectorType, index: number, value: T['TValue']): void;\n visitUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitDenseUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitSparseUnion (vector: VectorType, index: number, value: T['TValue']): void;\n visitDictionary (vector: VectorType, index: number, value: T['TValue']): void;\n visitInterval (vector: VectorType, index: number, value: T['TValue']): void;\n visitIntervalDayTime (vector: VectorType, index: number, value: T['TValue']): void;\n visitIntervalYearMonth (vector: VectorType, index: number, value: T['TValue']): void;\n visitFixedSizeList (vector: VectorType, index: number, value: T['TValue']): void;\n visitMap (vector: VectorType, index: number, value: T['TValue']): void;\n}\n\n/** @ignore */\nexport class SetVisitor extends Visitor {}\n\n/** @ignore */\nconst setEpochMsToDays = (data: Int32Array, index: number, epochMs: number) => { data[index] = (epochMs / 86400000) | 0; };\n/** @ignore */\nconst setEpochMsToMillisecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = (epochMs % 4294967296) | 0;\n data[index + 1] = (epochMs / 4294967296) | 0;\n};\n/** @ignore */\nconst setEpochMsToMicrosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = ((epochMs * 1000) % 4294967296) | 0;\n data[index + 1] = ((epochMs * 1000) / 4294967296) | 0;\n};\n/** @ignore */\nconst setEpochMsToNanosecondsLong = (data: Int32Array, index: number, epochMs: number) => {\n data[index] = ((epochMs * 1000000) % 4294967296) | 0;\n data[index + 1] = ((epochMs * 1000000) / 4294967296) | 0;\n};\n\n/** @ignore */\nconst setVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number, value: Uint8Array) => {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n if (x != null && y != null) {\n values.set(value.subarray(0, y - x), x);\n }\n};\n\n/** @ignore */\nconst setBool = ({ offset, values }: VectorType, index: number, val: boolean) => {\n const idx = offset + index;\n val ? (values[idx >> 3] |= (1 << (idx % 8))) // true\n : (values[idx >> 3] &= ~(1 << (idx % 8))); // false\n\n};\n\n/** @ignore */ type Numeric1X = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Float32 | Float64;\n/** @ignore */ type Numeric2X = Int64 | Uint64;\n\n/** @ignore */\nconst setDateDay = ({ values }: VectorType, index: number, value: T['TValue']): void => { setEpochMsToDays(values, index, value.valueOf()); };\n/** @ignore */\nconst setDateMillisecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { setEpochMsToMillisecondsLong(values, index * 2, value.valueOf()); };\n/** @ignore */\nconst setNumeric = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setFloat16 = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = float64ToUint16(value); };\n/** @ignore */\nconst setNumericX2 = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (typeof value) {\n case 'bigint': vector.values64[index] = value; break;\n case 'number': vector.values[index * vector.stride] = value; break;\n default:\n const val = value as T['TArray'];\n const { stride, ArrayType } = vector;\n const long = toArrayBufferView(ArrayType, val);\n vector.values.set(long.subarray(0, stride), stride * index);\n }\n};\n/** @ignore */\nconst setFixedSizeBinary = ({ stride, values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, stride), stride * index); };\n\n/** @ignore */\nconst setBinary = ({ values, valueOffsets }: VectorType, index: number, value: T['TValue']) => setVariableWidthBytes(values, valueOffsets, index, value);\n/** @ignore */\nconst setUtf8 = ({ values, valueOffsets }: VectorType, index: number, value: T['TValue']) => {\n setVariableWidthBytes(values, valueOffsets, index, encodeUtf8(value));\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setInt = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.bitWidth < 64\n ? setNumeric(vector as VectorType, index, value as Numeric1X['TValue'])\n : setNumericX2(vector as VectorType, index, value as Numeric2X['TValue']);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setFloat = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.precision !== Precision.HALF\n ? setNumeric(vector as VectorType, index, value)\n : setFloat16(vector as VectorType, index, value);\n};\n\n/* istanbul ignore next */\nconst setDate = (vector: VectorType, index: number, value: T['TValue']): void => {\n vector.type.unit === DateUnit.DAY\n ? setDateDay(vector as VectorType, index, value)\n : setDateMillisecond(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setTimestampSecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value / 1000);\n/** @ignore */\nconst setTimestampMillisecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMillisecondsLong(values, index * 2, value);\n/** @ignore */\nconst setTimestampMicrosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToMicrosecondsLong(values, index * 2, value);\n/** @ignore */\nconst setTimestampNanosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => setEpochMsToNanosecondsLong(values, index * 2, value);\n/* istanbul ignore next */\n/** @ignore */\nconst setTimestamp = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return setTimestampSecond(vector as VectorType, index, value);\n case TimeUnit.MILLISECOND: return setTimestampMillisecond(vector as VectorType, index, value);\n case TimeUnit.MICROSECOND: return setTimestampMicrosecond(vector as VectorType, index, value);\n case TimeUnit.NANOSECOND: return setTimestampNanosecond(vector as VectorType, index, value);\n }\n};\n\n/** @ignore */\nconst setTimeSecond = ({ values, stride }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setTimeMillisecond = ({ values, stride }: VectorType, index: number, value: T['TValue']): void => { values[stride * index] = value; };\n/** @ignore */\nconst setTimeMicrosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nconst setTimeNanosecond = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/* istanbul ignore next */\n/** @ignore */\nconst setTime = (vector: VectorType, index: number, value: T['TValue']): void => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return setTimeSecond(vector as VectorType, index, value as TimeSecond['TValue']);\n case TimeUnit.MILLISECOND: return setTimeMillisecond(vector as VectorType, index, value as TimeMillisecond['TValue']);\n case TimeUnit.MICROSECOND: return setTimeMicrosecond(vector as VectorType, index, value as TimeMicrosecond['TValue']);\n case TimeUnit.NANOSECOND: return setTimeNanosecond(vector as VectorType, index, value as TimeNanosecond['TValue']);\n }\n};\n\n/** @ignore */\nconst setDecimal = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 4), 4 * index); };\n\n/** @ignore */\nconst setList = (vector: VectorType, index: number, value: T['TValue']): void => {\n const values = vector.getChildAt(0)!, valueOffsets = vector.valueOffsets;\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n values.set(itr++, value.get(++idx));\n }\n};\n\n/** @ignore */\nconst setMap = (vector: VectorType, index: number, value: T['TValue']) => {\n const values = vector.getChildAt(0)!, valueOffsets = vector.valueOffsets;\n const entries = value instanceof Map ? [...value] : Object.entries(value);\n for (let idx = -1, itr = valueOffsets[index], end = valueOffsets[index + 1]; itr < end;) {\n values.set(itr++, entries[++idx]);\n }\n};\n\n/** @ignore */ const _setStructArrayValue = (o: number, v: any[]) => (c: Vector | null, _: Field, i: number) => c && c.set(o, v[i]);\n/** @ignore */ const _setStructVectorValue = (o: number, v: Vector) => (c: Vector | null, _: Field, i: number) => c && c.set(o, v.get(i));\n/** @ignore */ const _setStructMapValue = (o: number, v: Map) => (c: Vector | null, f: Field, _: number) => c && c.set(o, v.get(f.name));\n/** @ignore */ const _setStructObjectValue = (o: number, v: { [key: string]: any }) => (c: Vector | null, f: Field, _: number) => c && c.set(o, v[f.name]);\n/** @ignore */\nconst setStruct = (vector: VectorType, index: number, value: T['TValue']) => {\n\n const setValue = value instanceof Map ? _setStructMapValue(index, value) :\n value instanceof Vector ? _setStructVectorValue(index, value) :\n Array.isArray(value) ? _setStructArrayValue(index, value) :\n _setStructObjectValue(index, value) ;\n\n vector.type.children.forEach((f: Field, i: number) => setValue(vector.getChildAt(i), f, i));\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setUnion = <\n V extends VectorType | VectorType | VectorType\n>(vector: V, index: number, value: V['TValue']) => {\n vector.type.mode === UnionMode.Dense ?\n setDenseUnion(vector as VectorType, index, value) :\n setSparseUnion(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setDenseUnion = (vector: VectorType, index: number, value: T['TValue']): void => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n child && child.set(vector.valueOffsets[index], value);\n};\n\n/** @ignore */\nconst setSparseUnion = (vector: VectorType, index: number, value: T['TValue']): void => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n child && child.set(index, value);\n};\n\n/** @ignore */\nconst setDictionary = (vector: VectorType, index: number, value: T['TValue']): void => {\n const key = vector.getKey(index);\n if (key !== null) {\n vector.setValue(key, value);\n }\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst setIntervalValue = (vector: VectorType, index: number, value: T['TValue']): void => {\n (vector.type.unit === IntervalUnit.DAY_TIME)\n ? setIntervalDayTime(vector as VectorType, index, value)\n : setIntervalYearMonth(vector as VectorType, index, value);\n};\n\n/** @ignore */\nconst setIntervalDayTime = ({ values }: VectorType, index: number, value: T['TValue']): void => { values.set(value.subarray(0, 2), 2 * index); };\n/** @ignore */\nconst setIntervalYearMonth = ({ values }: VectorType, index: number, value: T['TValue']): void => { values[index] = (value[0] * 12) + (value[1] % 12); };\n\n/** @ignore */\nconst setFixedSizeList = (vector: VectorType, index: number, value: T['TValue']): void => {\n const child = vector.getChildAt(0)!, { stride } = vector;\n for (let idx = -1, offset = index * stride; ++idx < stride;) {\n child.set(offset + idx, value.get(idx));\n }\n};\n\nSetVisitor.prototype.visitBool = setBool;\nSetVisitor.prototype.visitInt = setInt;\nSetVisitor.prototype.visitInt8 = setNumeric;\nSetVisitor.prototype.visitInt16 = setNumeric;\nSetVisitor.prototype.visitInt32 = setNumeric;\nSetVisitor.prototype.visitInt64 = setNumericX2;\nSetVisitor.prototype.visitUint8 = setNumeric;\nSetVisitor.prototype.visitUint16 = setNumeric;\nSetVisitor.prototype.visitUint32 = setNumeric;\nSetVisitor.prototype.visitUint64 = setNumericX2;\nSetVisitor.prototype.visitFloat = setFloat;\nSetVisitor.prototype.visitFloat16 = setFloat16;\nSetVisitor.prototype.visitFloat32 = setNumeric;\nSetVisitor.prototype.visitFloat64 = setNumeric;\nSetVisitor.prototype.visitUtf8 = setUtf8;\nSetVisitor.prototype.visitBinary = setBinary;\nSetVisitor.prototype.visitFixedSizeBinary = setFixedSizeBinary;\nSetVisitor.prototype.visitDate = setDate;\nSetVisitor.prototype.visitDateDay = setDateDay;\nSetVisitor.prototype.visitDateMillisecond = setDateMillisecond;\nSetVisitor.prototype.visitTimestamp = setTimestamp;\nSetVisitor.prototype.visitTimestampSecond = setTimestampSecond;\nSetVisitor.prototype.visitTimestampMillisecond = setTimestampMillisecond;\nSetVisitor.prototype.visitTimestampMicrosecond = setTimestampMicrosecond;\nSetVisitor.prototype.visitTimestampNanosecond = setTimestampNanosecond;\nSetVisitor.prototype.visitTime = setTime;\nSetVisitor.prototype.visitTimeSecond = setTimeSecond;\nSetVisitor.prototype.visitTimeMillisecond = setTimeMillisecond;\nSetVisitor.prototype.visitTimeMicrosecond = setTimeMicrosecond;\nSetVisitor.prototype.visitTimeNanosecond = setTimeNanosecond;\nSetVisitor.prototype.visitDecimal = setDecimal;\nSetVisitor.prototype.visitList = setList;\nSetVisitor.prototype.visitStruct = setStruct;\nSetVisitor.prototype.visitUnion = setUnion;\nSetVisitor.prototype.visitDenseUnion = setDenseUnion;\nSetVisitor.prototype.visitSparseUnion = setSparseUnion;\nSetVisitor.prototype.visitDictionary = setDictionary;\nSetVisitor.prototype.visitInterval = setIntervalValue;\nSetVisitor.prototype.visitIntervalDayTime = setIntervalDayTime;\nSetVisitor.prototype.visitIntervalYearMonth = setIntervalYearMonth;\nSetVisitor.prototype.visitFixedSizeList = setFixedSizeList;\nSetVisitor.prototype.visitMap = setMap;\n\n/** @ignore */\nexport const instance = new SetVisitor();\n","// automatically generated by the FlatBuffers compiler, do not modify\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as NS7624605610262437867 from './Schema';\n/**\n * ----------------------------------------------------------------------\n * Arrow File metadata\n *\n *\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Footer {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Footer\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Footer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * @param flatbuffers.ByteBuffer bb\n * @param Footer= obj\n * @returns Footer\n */\n static getRootAsFooter(bb: flatbuffers.ByteBuffer, obj?: Footer): Footer {\n return (obj || new Footer).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n }\n\n /**\n * @returns org.apache.arrow.flatbuf.MetadataVersion\n */\n version(): NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion {\n let offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? /** */ (this.bb!.readInt16(this.bb_pos + offset)) : NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1;\n }\n\n /**\n * @param org.apache.arrow.flatbuf.Schema= obj\n * @returns org.apache.arrow.flatbuf.Schema|null\n */\n schema(obj?: NS7624605610262437867.org.apache.arrow.flatbuf.Schema): NS7624605610262437867.org.apache.arrow.flatbuf.Schema | null {\n let offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new NS7624605610262437867.org.apache.arrow.flatbuf.Schema).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Block= obj\n * @returns org.apache.arrow.flatbuf.Block\n */\n dictionaries(index: number, obj?: org.apache.arrow.flatbuf.Block): org.apache.arrow.flatbuf.Block | null {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n dictionariesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param number index\n * @param org.apache.arrow.flatbuf.Block= obj\n * @returns org.apache.arrow.flatbuf.Block\n */\n recordBatches(index: number, obj?: org.apache.arrow.flatbuf.Block): org.apache.arrow.flatbuf.Block | null {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new org.apache.arrow.flatbuf.Block).__init(this.bb!.__vector(this.bb_pos + offset) + index * 24, this.bb!) : null;\n }\n\n /**\n * @returns number\n */\n recordBatchesLength(): number {\n let offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n }\n\n /**\n * @param flatbuffers.Builder builder\n */\n static startFooter(builder: flatbuffers.Builder) {\n builder.startObject(4);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param org.apache.arrow.flatbuf.MetadataVersion version\n */\n static addVersion(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion) {\n builder.addFieldInt16(0, version, NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion.V1);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset schemaOffset\n */\n static addSchema(builder: flatbuffers.Builder, schemaOffset: flatbuffers.Offset) {\n builder.addFieldOffset(1, schemaOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset dictionariesOffset\n */\n static addDictionaries(builder: flatbuffers.Builder, dictionariesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(2, dictionariesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startDictionariesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(24, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset recordBatchesOffset\n */\n static addRecordBatches(builder: flatbuffers.Builder, recordBatchesOffset: flatbuffers.Offset) {\n builder.addFieldOffset(3, recordBatchesOffset, 0);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param number numElems\n */\n static startRecordBatchesVector(builder: flatbuffers.Builder, numElems: number) {\n builder.startVector(24, numElems, 8);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @returns flatbuffers.Offset\n */\n static endFooter(builder: flatbuffers.Builder): flatbuffers.Offset {\n let offset = builder.endObject();\n return offset;\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Offset offset\n */\n static finishFooterBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset) {\n builder.finish(offset);\n }\n\n static createFooter(builder: flatbuffers.Builder, version: NS7624605610262437867.org.apache.arrow.flatbuf.MetadataVersion, schemaOffset: flatbuffers.Offset, dictionariesOffset: flatbuffers.Offset, recordBatchesOffset: flatbuffers.Offset): flatbuffers.Offset {\n Footer.startFooter(builder);\n Footer.addVersion(builder, version);\n Footer.addSchema(builder, schemaOffset);\n Footer.addDictionaries(builder, dictionariesOffset);\n Footer.addRecordBatches(builder, recordBatchesOffset);\n return Footer.endFooter(builder);\n }\n }\n}\n/**\n * @constructor\n */\nexport namespace org.apache.arrow.flatbuf {\n export class Block {\n bb: flatbuffers.ByteBuffer | null = null;\n\n bb_pos: number = 0;\n /**\n * @param number i\n * @param flatbuffers.ByteBuffer bb\n * @returns Block\n */\n __init(i: number, bb: flatbuffers.ByteBuffer): Block {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n }\n\n /**\n * Index to the start of the RecordBlock (note this is past the Message header)\n *\n * @returns flatbuffers.Long\n */\n offset(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos);\n }\n\n /**\n * Length of the metadata\n *\n * @returns number\n */\n metaDataLength(): number {\n return this.bb!.readInt32(this.bb_pos + 8);\n }\n\n /**\n * Length of the data (this is aligned so there can be a gap between this and\n * the metatdata).\n *\n * @returns flatbuffers.Long\n */\n bodyLength(): flatbuffers.Long {\n return this.bb!.readInt64(this.bb_pos + 16);\n }\n\n /**\n * @param flatbuffers.Builder builder\n * @param flatbuffers.Long offset\n * @param number metaDataLength\n * @param flatbuffers.Long bodyLength\n * @returns flatbuffers.Offset\n */\n static createBlock(builder: flatbuffers.Builder, offset: flatbuffers.Long, metaDataLength: number, bodyLength: flatbuffers.Long): flatbuffers.Offset {\n builder.prep(8, 24);\n builder.writeInt64(bodyLength);\n builder.pad(4);\n builder.writeInt32(metaDataLength);\n builder.writeInt64(offset);\n return builder.offset();\n }\n\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { VectorType, BuilderCtor } from '../interfaces';\nimport { BinaryBuilder } from '../builder/binary';\nimport { BoolBuilder } from '../builder/bool';\nimport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from '../builder/date';\nimport { DecimalBuilder } from '../builder/decimal';\nimport { DictionaryBuilder } from '../builder/dictionary';\nimport { FixedSizeBinaryBuilder } from '../builder/fixedsizebinary';\nimport { FixedSizeListBuilder } from '../builder/fixedsizelist';\nimport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from '../builder/float';\nimport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder } from '../builder/interval';\nimport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from '../builder/int';\nimport { ListBuilder } from '../builder/list';\nimport { MapBuilder } from '../builder/map';\nimport { NullBuilder } from '../builder/null';\nimport { StructBuilder } from '../builder/struct';\nimport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from '../builder/timestamp';\nimport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from '../builder/time';\nimport { UnionBuilder, DenseUnionBuilder, SparseUnionBuilder } from '../builder/union';\nimport { Utf8Builder } from '../builder/utf8';\n\n/** @ignore */\nexport interface GetBuilderCtor extends Visitor {\n visit(type: T): BuilderCtor;\n visitMany(types: T[]): BuilderCtor[];\n getVisitFn(type: T): () => BuilderCtor;\n getVisitFn(node: VectorType | Data | T): () => BuilderCtor;\n}\n\n/** @ignore */\nexport class GetBuilderCtor extends Visitor {\n public visitNull () { return NullBuilder; }\n public visitBool () { return BoolBuilder; }\n public visitInt () { return IntBuilder; }\n public visitInt8 () { return Int8Builder; }\n public visitInt16 () { return Int16Builder; }\n public visitInt32 () { return Int32Builder; }\n public visitInt64 () { return Int64Builder; }\n public visitUint8 () { return Uint8Builder; }\n public visitUint16 () { return Uint16Builder; }\n public visitUint32 () { return Uint32Builder; }\n public visitUint64 () { return Uint64Builder; }\n public visitFloat () { return FloatBuilder; }\n public visitFloat16 () { return Float16Builder; }\n public visitFloat32 () { return Float32Builder; }\n public visitFloat64 () { return Float64Builder; }\n public visitUtf8 () { return Utf8Builder; }\n public visitBinary () { return BinaryBuilder; }\n public visitFixedSizeBinary () { return FixedSizeBinaryBuilder; }\n public visitDate () { return DateBuilder; }\n public visitDateDay () { return DateDayBuilder; }\n public visitDateMillisecond () { return DateMillisecondBuilder; }\n public visitTimestamp () { return TimestampBuilder; }\n public visitTimestampSecond () { return TimestampSecondBuilder; }\n public visitTimestampMillisecond () { return TimestampMillisecondBuilder; }\n public visitTimestampMicrosecond () { return TimestampMicrosecondBuilder; }\n public visitTimestampNanosecond () { return TimestampNanosecondBuilder; }\n public visitTime () { return TimeBuilder; }\n public visitTimeSecond () { return TimeSecondBuilder; }\n public visitTimeMillisecond () { return TimeMillisecondBuilder; }\n public visitTimeMicrosecond () { return TimeMicrosecondBuilder; }\n public visitTimeNanosecond () { return TimeNanosecondBuilder; }\n public visitDecimal () { return DecimalBuilder; }\n public visitList () { return ListBuilder; }\n public visitStruct () { return StructBuilder; }\n public visitUnion () { return UnionBuilder; }\n public visitDenseUnion () { return DenseUnionBuilder; }\n public visitSparseUnion () { return SparseUnionBuilder; }\n public visitDictionary () { return DictionaryBuilder; }\n public visitInterval () { return IntervalBuilder; }\n public visitIntervalDayTime () { return IntervalDayTimeBuilder; }\n public visitIntervalYearMonth () { return IntervalYearMonthBuilder; }\n public visitFixedSizeList () { return FixedSizeListBuilder; }\n public visitMap () { return MapBuilder; }\n}\n\n/** @ignore */\nexport const instance = new GetBuilderCtor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport { Builder, BuilderOptions } from '../builder';\nexport { BoolBuilder } from './bool';\nexport { NullBuilder } from './null';\nexport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from './date';\nexport { DecimalBuilder } from './decimal';\nexport { DictionaryBuilder } from './dictionary';\nexport { FixedSizeBinaryBuilder } from './fixedsizebinary';\nexport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from './float';\nexport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from './int';\nexport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from './time';\nexport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from './timestamp';\nexport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder } from './interval';\nexport { Utf8Builder } from './utf8';\nexport { BinaryBuilder } from './binary';\nexport { ListBuilder } from './list';\nexport { FixedSizeListBuilder } from './fixedsizelist';\nexport { MapBuilder } from './map';\nexport { StructBuilder } from './struct';\nexport { UnionBuilder, SparseUnionBuilder, DenseUnionBuilder } from './union';\n\nimport { Type } from '../enum';\nimport { Field } from '../schema';\nimport { DataType } from '../type';\nimport { Utf8Builder } from './utf8';\nimport { BuilderType as B } from '../interfaces';\nimport { Builder, BuilderOptions } from '../builder';\nimport { instance as setVisitor } from '../visitor/set';\nimport { instance as getBuilderConstructor } from '../visitor/builderctor';\n\n/** @nocollapse */\nBuilder.new = newBuilder;\n\nfunction newBuilder(options: BuilderOptions): B {\n\n const type = options.type;\n const builder = new (getBuilderConstructor.getVisitFn(type)())(options) as Builder;\n\n if (type.children && type.children.length > 0) {\n\n const children = options['children'] || [] as BuilderOptions[];\n const defaultOptions = { 'nullValues': options['nullValues'] };\n const getChildOptions = Array.isArray(children)\n ? ((_: Field, i: number) => children[i] || defaultOptions)\n : (({ name }: Field) => children[name] || defaultOptions);\n\n type.children.forEach((field, index) => {\n const { type } = field;\n const opts = getChildOptions(field, index);\n builder.children.push(newBuilder({ ...opts, type }));\n });\n }\n\n return builder as B;\n}\n\n(Object.keys(Type) as any[])\n .map((T: any) => Type[T] as any)\n .filter((T: any): T is Type => typeof T === 'number' && T !== Type.NONE)\n .forEach((typeId) => {\n const BuilderCtor = getBuilderConstructor.visit(typeId);\n BuilderCtor.prototype._setValue = setVisitor.getVisitFn(typeId);\n });\n\n(Utf8Builder.prototype as any)._setValue = setVisitor.visitBinary;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/* tslint:disable:class-name */\n\nimport * as File_ from '../../fb/File';\nimport { flatbuffers } from 'flatbuffers';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport _Block = File_.org.apache.arrow.flatbuf.Block;\nimport _Footer = File_.org.apache.arrow.flatbuf.Footer;\n\nimport { Schema } from '../../schema';\nimport { MetadataVersion } from '../../enum';\nimport { toUint8Array } from '../../util/buffer';\nimport { ArrayBufferViewInput } from '../../util/buffer';\n\n/** @ignore */\nclass Footer_ {\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const footer = _Footer.getRootAsFooter(buf);\n const schema = Schema.decode(footer.schema()!);\n return new OffHeapFooter(schema, footer) as Footer_;\n }\n\n /** @nocollapse */\n public static encode(footer: Footer_) {\n\n const b: Builder = new Builder();\n const schemaOffset = Schema.encode(b, footer.schema);\n\n _Footer.startRecordBatchesVector(b, footer.numRecordBatches);\n [...footer.recordBatches()].slice().reverse().forEach((rb) => FileBlock.encode(b, rb));\n const recordBatchesOffset = b.endVector();\n\n _Footer.startDictionariesVector(b, footer.numDictionaries);\n [...footer.dictionaryBatches()].slice().reverse().forEach((db) => FileBlock.encode(b, db));\n\n const dictionaryBatchesOffset = b.endVector();\n\n _Footer.startFooter(b);\n _Footer.addSchema(b, schemaOffset);\n _Footer.addVersion(b, MetadataVersion.V4);\n _Footer.addRecordBatches(b, recordBatchesOffset);\n _Footer.addDictionaries(b, dictionaryBatchesOffset);\n _Footer.finishFooterBuffer(b, _Footer.endFooter(b));\n\n return b.asUint8Array();\n }\n\n // @ts-ignore\n protected _recordBatches: FileBlock[];\n // @ts-ignore\n protected _dictionaryBatches: FileBlock[];\n public get numRecordBatches() { return this._recordBatches.length; }\n public get numDictionaries() { return this._dictionaryBatches.length; }\n\n constructor(public schema: Schema,\n public version: MetadataVersion = MetadataVersion.V4,\n recordBatches?: FileBlock[], dictionaryBatches?: FileBlock[]) {\n recordBatches && (this._recordBatches = recordBatches);\n dictionaryBatches && (this._dictionaryBatches = dictionaryBatches);\n }\n\n public *recordBatches(): Iterable {\n for (let block, i = -1, n = this.numRecordBatches; ++i < n;) {\n if (block = this.getRecordBatch(i)) { yield block; }\n }\n }\n\n public *dictionaryBatches(): Iterable {\n for (let block, i = -1, n = this.numDictionaries; ++i < n;) {\n if (block = this.getDictionaryBatch(i)) { yield block; }\n }\n }\n\n public getRecordBatch(index: number) {\n return index >= 0\n && index < this.numRecordBatches\n && this._recordBatches[index] || null;\n }\n\n public getDictionaryBatch(index: number) {\n return index >= 0\n && index < this.numDictionaries\n && this._dictionaryBatches[index] || null;\n }\n}\n\nexport { Footer_ as Footer };\n\n/** @ignore */\nclass OffHeapFooter extends Footer_ {\n\n public get numRecordBatches() { return this._footer.recordBatchesLength(); }\n public get numDictionaries() { return this._footer.dictionariesLength(); }\n\n constructor(schema: Schema, protected _footer: _Footer) {\n super(schema, _footer.version());\n }\n\n public getRecordBatch(index: number) {\n if (index >= 0 && index < this.numRecordBatches) {\n const fileBlock = this._footer.recordBatches(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n\n public getDictionaryBatch(index: number) {\n if (index >= 0 && index < this.numDictionaries) {\n const fileBlock = this._footer.dictionaries(index);\n if (fileBlock) { return FileBlock.decode(fileBlock); }\n }\n return null;\n }\n}\n\n/** @ignore */\nexport class FileBlock {\n\n /** @nocollapse */\n public static decode(block: _Block) {\n return new FileBlock(block.metaDataLength(), block.bodyLength(), block.offset());\n }\n\n /** @nocollapse */\n public static encode(b: Builder, fileBlock: FileBlock) {\n const { metaDataLength } = fileBlock;\n const offset = new Long(fileBlock.offset, 0);\n const bodyLength = new Long(fileBlock.bodyLength, 0);\n return _Block.createBlock(b, offset, metaDataLength, bodyLength);\n }\n\n public offset: number;\n public bodyLength: number;\n public metaDataLength: number;\n\n constructor(metaDataLength: number, bodyLength: Long | number, offset: Long | number) {\n this.metaDataLength = metaDataLength;\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './adapters';\nimport { decodeUtf8 } from '../util/utf8';\nimport { ITERATOR_DONE, Readable, Writable, AsyncQueue } from './interfaces';\nimport { toUint8Array, joinUint8Arrays, ArrayBufferViewInput } from '../util/buffer';\n\nimport {\n isPromise, isFetchResponse,\n isIterable, isAsyncIterable,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat';\n\n/** @ignore */\nexport type WritableSink = Writable | WritableStream | NodeJS.WritableStream | null;\n/** @ignore */\nexport type ReadableSource = Readable | PromiseLike | AsyncIterable | ReadableStream | NodeJS.ReadableStream | null;\n\n/** @ignore */\nexport class AsyncByteQueue extends AsyncQueue {\n public write(value: ArrayBufferViewInput | Uint8Array) {\n if ((value = toUint8Array(value)).byteLength > 0) {\n return super.write(value as T);\n }\n }\n public toString(sync: true): string;\n public toString(sync?: false): Promise;\n public toString(sync = false) {\n return sync\n ? decodeUtf8(this.toUint8Array(true))\n : this.toUint8Array(false).then(decodeUtf8);\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise;\n public toUint8Array(sync = false) {\n return sync ? joinUint8Arrays(this._values as any[])[0] : (async () => {\n let buffers = [], byteLength = 0;\n for await (const chunk of this) {\n buffers.push(chunk);\n byteLength += chunk.byteLength;\n }\n return joinUint8Arrays(buffers, byteLength)[0];\n })();\n }\n}\n\n/** @ignore */\nexport class ByteStream implements IterableIterator {\n // @ts-ignore\n private source: ByteStreamSource;\n constructor(source?: Iterable | ArrayBufferViewInput) {\n if (source) {\n this.source = new ByteStreamSource(streamAdapters.fromIterable(source));\n }\n }\n [Symbol.iterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\nexport class AsyncByteStream implements Readable, AsyncIterableIterator {\n // @ts-ignore\n private source: AsyncByteStreamSource;\n constructor(source?: PromiseLike | Response | ReadableStream | NodeJS.ReadableStream | AsyncIterable | Iterable) {\n if (source instanceof AsyncByteStream) {\n this.source = (source as AsyncByteStream).source;\n } else if (source instanceof AsyncByteQueue) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isReadableNodeStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromNodeStream(source));\n } else if (isReadableDOMStream(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source));\n } else if (isFetchResponse(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromDOMStream(source.body!));\n } else if (isIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromIterable(source));\n } else if (isPromise(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n } else if (isAsyncIterable(source)) {\n this.source = new AsyncByteStreamSource(streamAdapters.fromAsyncIterable(source));\n }\n }\n [Symbol.asyncIterator]() { return this; }\n public next(value?: any) { return this.source.next(value); }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public get closed(): Promise { return this.source.closed; }\n public cancel(reason?: any) { return this.source.cancel(reason); }\n public peek(size?: number | null) { return this.source.peek(size); }\n public read(size?: number | null) { return this.source.read(size); }\n}\n\n/** @ignore */\ninterface ByteStreamSourceIterator extends IterableIterator {\n next(value?: { cmd: 'peek' | 'read', size?: number | null }): IteratorResult;\n}\n\n/** @ignore */\ninterface AsyncByteStreamSourceIterator extends AsyncIterableIterator {\n next(value?: { cmd: 'peek' | 'read', size?: number | null }): Promise>;\n}\n\n/** @ignore */\nclass ByteStreamSource {\n constructor(protected source: ByteStreamSourceIterator) {}\n public cancel(reason?: any) { this.return(reason); }\n public peek(size?: number | null): T | null { return this.next(size, 'peek').value; }\n public read(size?: number | null): T | null { return this.next(size, 'read').value; }\n public next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return this.source.next({ cmd, size }); }\n public throw(value?: any) { return Object.create((this.source.throw && this.source.throw(value)) || ITERATOR_DONE); }\n public return(value?: any) { return Object.create((this.source.return && this.source.return(value)) || ITERATOR_DONE); }\n}\n\n/** @ignore */\nclass AsyncByteStreamSource implements Readable {\n\n private _closedPromise: Promise;\n private _closedPromiseResolve?: (value?: any) => void;\n constructor (protected source: ByteStreamSourceIterator | AsyncByteStreamSourceIterator) {\n this._closedPromise = new Promise((r) => this._closedPromiseResolve = r);\n }\n public async cancel(reason?: any) { await this.return(reason); }\n public get closed(): Promise { return this._closedPromise; }\n public async read(size?: number | null): Promise { return (await this.next(size, 'read')).value; }\n public async peek(size?: number | null): Promise { return (await this.next(size, 'peek')).value; }\n public async next(size?: number | null, cmd: 'peek' | 'read' = 'read') { return (await this.source.next({ cmd, size })); }\n public async throw(value?: any) {\n const result = (this.source.throw && await this.source.throw(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n public async return(value?: any) {\n const result = (this.source.return && await this.source.return(value)) || ITERATOR_DONE;\n this._closedPromiseResolve && this._closedPromiseResolve();\n this._closedPromiseResolve = undefined;\n return Object.create(result);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { FileHandle } from './interfaces';\nimport { ByteStream, AsyncByteStream } from './stream';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer';\n\n/** @ignore */\nexport class RandomAccessFile extends ByteStream {\n public size: number;\n public position: number = 0;\n protected buffer: Uint8Array | null;\n constructor(buffer: ArrayBufferViewInput, byteLength?: number) {\n super();\n this.buffer = toUint8Array(buffer);\n this.size = typeof byteLength === 'undefined' ? this.buffer.byteLength : byteLength;\n }\n public readInt32(position: number) {\n const { buffer, byteOffset } = this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public seek(position: number) {\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public read(nBytes?: number | null) {\n const { buffer, size, position } = this;\n if (buffer && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Infinity; }\n this.position = Math.min(size,\n position + Math.min(size - position, nBytes));\n return buffer.subarray(position, this.position);\n }\n return null;\n }\n public readAt(position: number, nBytes: number) {\n const buf = this.buffer;\n const end = Math.min(this.size, position + nBytes);\n return buf ? buf.subarray(position, end) : new Uint8Array(nBytes);\n }\n public close() { this.buffer && (this.buffer = null); }\n public throw(value?: any) { this.close(); return { done: true, value }; }\n public return(value?: any) { this.close(); return { done: true, value }; }\n}\n\n/** @ignore */\nexport class AsyncRandomAccessFile extends AsyncByteStream {\n // @ts-ignore\n public size: number;\n public position: number = 0;\n public _pending?: Promise;\n protected _handle: FileHandle | null;\n constructor(file: FileHandle, byteLength?: number) {\n super();\n this._handle = file;\n if (typeof byteLength === 'number') {\n this.size = byteLength;\n } else {\n this._pending = (async () => {\n this.size = (await file.stat()).size;\n delete this._pending;\n })();\n }\n }\n public async readInt32(position: number) {\n const { buffer, byteOffset } = await this.readAt(position, 4);\n return new DataView(buffer, byteOffset).getInt32(0, true);\n }\n public async seek(position: number) {\n this._pending && await this._pending;\n this.position = Math.min(position, this.size);\n return position < this.size;\n }\n public async read(nBytes?: number | null) {\n this._pending && await this._pending;\n const { _handle: file, size, position } = this;\n if (file && position < size) {\n if (typeof nBytes !== 'number') { nBytes = Infinity; }\n let pos = position, offset = 0, bytesRead = 0;\n let end = Math.min(size, pos + Math.min(size - pos, nBytes));\n let buffer = new Uint8Array(Math.max(0, (this.position = end) - pos));\n while ((pos += bytesRead) < end && (offset += bytesRead) < buffer.byteLength) {\n ({ bytesRead } = await file.read(buffer, offset, buffer.byteLength - offset, pos));\n }\n return buffer;\n }\n return null;\n }\n public async readAt(position: number, nBytes: number) {\n this._pending && await this._pending;\n const { _handle: file, size } = this;\n if (file && (position + nBytes) < size) {\n const end = Math.min(size, position + nBytes);\n const buffer = new Uint8Array(end - position);\n return (await file.read(buffer, 0, nBytes, position)).buffer;\n }\n return new Uint8Array(nBytes);\n }\n public async close() { const f = this._handle; this._handle = null; f && await f.close(); }\n public async throw(value?: any) { await this.close(); return { done: true, value }; }\n public async return(value?: any) { await this.close(); return { done: true, value }; }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nconst carryBit16 = 1 << 16;\n\n/** @ignore */\nfunction intAsHex(value: number): string {\n if (value < 0) {\n value = 0xFFFFFFFF + value + 1;\n }\n return `0x${value.toString(16)}`;\n}\n\n/** @ignore */\nconst kInt32DecimalDigits = 8;\n/** @ignore */\nconst kPowersOfTen = [1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000];\n\n/** @ignore */\nexport class BaseInt64 {\n constructor (protected buffer: Uint32Array) {}\n\n public high(): number { return this.buffer[1]; }\n public low (): number { return this.buffer[0]; }\n\n protected _times(other: BaseInt64) {\n // Break the left and right numbers into 16 bit chunks\n // so that we can multiply them without overflow.\n const L = new Uint32Array([\n this.buffer[1] >>> 16,\n this.buffer[1] & 0xFFFF,\n this.buffer[0] >>> 16,\n this.buffer[0] & 0xFFFF\n ]);\n\n const R = new Uint32Array([\n other.buffer[1] >>> 16,\n other.buffer[1] & 0xFFFF,\n other.buffer[0] >>> 16,\n other.buffer[0] & 0xFFFF\n ]);\n\n let product = L[3] * R[3];\n this.buffer[0] = product & 0xFFFF;\n\n let sum = product >>> 16;\n\n product = L[2] * R[3];\n sum += product;\n\n product = (L[3] * R[2]) >>> 0;\n sum += product;\n\n this.buffer[0] += sum << 16;\n\n this.buffer[1] = (sum >>> 0 < product ? carryBit16 : 0);\n\n this.buffer[1] += sum >>> 16;\n this.buffer[1] += L[1] * R[3] + L[2] * R[2] + L[3] * R[1];\n this.buffer[1] += (L[0] * R[3] + L[1] * R[2] + L[2] * R[1] + L[3] * R[0]) << 16;\n\n return this;\n }\n\n protected _plus(other: BaseInt64) {\n const sum = (this.buffer[0] + other.buffer[0]) >>> 0;\n this.buffer[1] += other.buffer[1];\n if (sum < (this.buffer[0] >>> 0)) {\n ++this.buffer[1];\n }\n this.buffer[0] = sum;\n }\n\n public lessThan(other: BaseInt64): boolean {\n return this.buffer[1] < other.buffer[1] ||\n (this.buffer[1] === other.buffer[1] && this.buffer[0] < other.buffer[0]);\n }\n\n public equals(other: BaseInt64): boolean {\n return this.buffer[1] === other.buffer[1] && this.buffer[0] == other.buffer[0];\n }\n\n public greaterThan(other: BaseInt64): boolean {\n return other.lessThan(this);\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n}\n\n/** @ignore */\nexport class Uint64 extends BaseInt64 {\n public times(other: Uint64): Uint64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Uint64): Uint64 {\n this._plus(other);\n return this;\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Uint64 {\n return Uint64.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Uint64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Uint64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Uint64 {\n const length = str.length;\n\n let out = new Uint64(out_buffer);\n for (let posn = 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Uint64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));\n const multiple = new Uint64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Uint64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Uint64, right: Uint64): Uint64 {\n let rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Uint64, right: Uint64): Uint64 {\n let rtrn = new Uint64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int64 extends BaseInt64 {\n public negate(): Int64 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n return this;\n }\n\n public times(other: Int64): Int64 {\n this._times(other);\n return this;\n }\n\n public plus(other: Int64): Int64 {\n this._plus(other);\n return this;\n }\n\n public lessThan(other: Int64): boolean {\n // force high bytes to be signed\n const this_high = this.buffer[1] << 0;\n const other_high = other.buffer[1] << 0;\n return this_high < other_high ||\n (this_high === other_high && this.buffer[0] < other.buffer[0]);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(2)): Int64 {\n return Int64.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(2)): Int64 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int64.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(2)): Int64 {\n // TODO: Assert that out_buffer is 0 and length = 2\n const negate = str.startsWith('-');\n const length = str.length;\n\n let out = new Int64(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int64(new Uint32Array([parseInt(str.substr(posn, group), 10), 0]));\n const multiple = new Int64(new Uint32Array([kPowersOfTen[group], 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n const data = new Uint32Array(values.length * 2);\n for (let i = -1, n = values.length; ++i < n;) {\n Int64.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 2 * i * 4, 2));\n }\n return data;\n }\n\n /** @nocollapse */\n public static multiply(left: Int64, right: Int64): Int64 {\n let rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int64, right: Int64): Int64 {\n let rtrn = new Int64(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n}\n\n/** @ignore */\nexport class Int128 {\n constructor (private buffer: Uint32Array) {\n // buffer[3] MSB (high)\n // buffer[2]\n // buffer[1]\n // buffer[0] LSB (low)\n }\n\n public high(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n }\n\n public low(): Int64 {\n return new Int64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset, 2));\n }\n\n public negate(): Int128 {\n this.buffer[0] = ~this.buffer[0] + 1;\n this.buffer[1] = ~this.buffer[1];\n this.buffer[2] = ~this.buffer[2];\n this.buffer[3] = ~this.buffer[3];\n\n if (this.buffer[0] == 0) { ++this.buffer[1]; }\n if (this.buffer[1] == 0) { ++this.buffer[2]; }\n if (this.buffer[2] == 0) { ++this.buffer[3]; }\n return this;\n }\n\n public times(other: Int128): Int128 {\n // Break the left and right numbers into 32 bit chunks\n // so that we can multiply them without overflow.\n const L0 = new Uint64(new Uint32Array([this.buffer[3], 0]));\n const L1 = new Uint64(new Uint32Array([this.buffer[2], 0]));\n const L2 = new Uint64(new Uint32Array([this.buffer[1], 0]));\n const L3 = new Uint64(new Uint32Array([this.buffer[0], 0]));\n\n const R0 = new Uint64(new Uint32Array([other.buffer[3], 0]));\n const R1 = new Uint64(new Uint32Array([other.buffer[2], 0]));\n const R2 = new Uint64(new Uint32Array([other.buffer[1], 0]));\n const R3 = new Uint64(new Uint32Array([other.buffer[0], 0]));\n\n let product = Uint64.multiply(L3, R3);\n this.buffer[0] = product.low();\n\n let sum = new Uint64(new Uint32Array([product.high(), 0]));\n\n product = Uint64.multiply(L2, R3);\n sum.plus(product);\n\n product = Uint64.multiply(L3, R2);\n sum.plus(product);\n\n this.buffer[1] = sum.low();\n\n this.buffer[3] = (sum.lessThan(product) ? 1 : 0);\n\n this.buffer[2] = sum.high();\n let high = new Uint64(new Uint32Array(this.buffer.buffer, this.buffer.byteOffset + 8, 2));\n\n high.plus(Uint64.multiply(L1, R3))\n .plus(Uint64.multiply(L2, R2))\n .plus(Uint64.multiply(L3, R1));\n this.buffer[3] += Uint64.multiply(L0, R3)\n .plus(Uint64.multiply(L1, R2))\n .plus(Uint64.multiply(L2, R1))\n .plus(Uint64.multiply(L3, R0)).low();\n\n return this;\n }\n\n public plus(other: Int128): Int128 {\n let sums = new Uint32Array(4);\n sums[3] = (this.buffer[3] + other.buffer[3]) >>> 0;\n sums[2] = (this.buffer[2] + other.buffer[2]) >>> 0;\n sums[1] = (this.buffer[1] + other.buffer[1]) >>> 0;\n sums[0] = (this.buffer[0] + other.buffer[0]) >>> 0;\n\n if (sums[0] < (this.buffer[0] >>> 0)) {\n ++sums[1];\n }\n if (sums[1] < (this.buffer[1] >>> 0)) {\n ++sums[2];\n }\n if (sums[2] < (this.buffer[2] >>> 0)) {\n ++sums[3];\n }\n\n this.buffer[3] = sums[3];\n this.buffer[2] = sums[2];\n this.buffer[1] = sums[1];\n this.buffer[0] = sums[0];\n\n return this;\n }\n\n public hex(): string {\n return `${intAsHex(this.buffer[3])} ${intAsHex(this.buffer[2])} ${intAsHex(this.buffer[1])} ${intAsHex(this.buffer[0])}`;\n }\n\n /** @nocollapse */\n public static multiply(left: Int128, right: Int128): Int128 {\n let rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.times(right);\n }\n\n /** @nocollapse */\n public static add(left: Int128, right: Int128): Int128 {\n let rtrn = new Int128(new Uint32Array(left.buffer));\n return rtrn.plus(right);\n }\n\n /** @nocollapse */\n public static from(val: any, out_buffer = new Uint32Array(4)): Int128 {\n return Int128.fromString(\n typeof(val) === 'string' ? val : val.toString(),\n out_buffer\n );\n }\n\n /** @nocollapse */\n public static fromNumber(num: number, out_buffer = new Uint32Array(4)): Int128 {\n // Always parse numbers as strings - pulling out high and low bits\n // directly seems to lose precision sometimes\n // For example:\n // > -4613034156400212000 >>> 0\n // 721782784\n // The correct lower 32-bits are 721782752\n return Int128.fromString(num.toString(), out_buffer);\n }\n\n /** @nocollapse */\n public static fromString(str: string, out_buffer = new Uint32Array(4)): Int128 {\n // TODO: Assert that out_buffer is 0 and length = 4\n const negate = str.startsWith('-');\n const length = str.length;\n\n let out = new Int128(out_buffer);\n for (let posn = negate ? 1 : 0; posn < length;) {\n const group = kInt32DecimalDigits < length - posn ?\n kInt32DecimalDigits : length - posn;\n const chunk = new Int128(new Uint32Array([parseInt(str.substr(posn, group), 10), 0, 0, 0]));\n const multiple = new Int128(new Uint32Array([kPowersOfTen[group], 0, 0, 0]));\n\n out.times(multiple);\n out.plus(chunk);\n\n posn += group;\n }\n\n return negate ? out.negate() : out;\n }\n\n /** @nocollapse */\n public static convertArray(values: (string|number)[]): Uint32Array {\n // TODO: Distinguish between string and number at compile-time\n const data = new Uint32Array(values.length * 4);\n for (let i = -1, n = values.length; ++i < n;) {\n Int128.from(values[i], new Uint32Array(data.buffer, data.byteOffset + 4 * 4 * i, 4));\n }\n return data;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport * as type from '../type';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { packBools } from '../util/bit';\nimport { encodeUtf8 } from '../util/utf8';\nimport { Int64, Int128 } from '../util/int';\nimport { UnionMode, DateUnit } from '../enum';\nimport { toArrayBufferView } from '../util/buffer';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message';\n\n/** @ignore */\nexport interface VectorLoader extends Visitor {\n visit(node: Field | T): Data;\n visitMany(nodes: (Field | T)[]): Data[];\n}\n\n/** @ignore */\nexport class VectorLoader extends Visitor {\n private bytes: Uint8Array;\n private nodes: FieldNode[];\n private nodesIndex: number = -1;\n private buffers: BufferRegion[];\n private buffersIndex: number = -1;\n private dictionaries: Map>;\n constructor(bytes: Uint8Array, nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map>) {\n super();\n this.bytes = bytes;\n this.nodes = nodes;\n this.buffers = buffers;\n this.dictionaries = dictionaries;\n }\n\n public visit(node: Field | T): Data {\n return super.visit(node instanceof Field ? node.type : node);\n }\n\n public visitNull (type: T, { length, } = this.nextFieldNode()) { return Data.Null(type, 0, length); }\n public visitBool (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Bool(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitInt (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Int(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitFloat (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Float(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitUtf8 (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Utf8(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }\n public visitBinary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Binary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.readData(type)); }\n public visitFixedSizeBinary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeBinary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitDate (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Date(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitTimestamp (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Timestamp(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitTime (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Time(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitDecimal (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Decimal(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitList (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.List(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }\n public visitStruct (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Struct(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visitMany(type.children)); }\n public visitUnion (type: T ) { return type.mode === UnionMode.Sparse ? this.visitSparseUnion(type as type.SparseUnion) : this.visitDenseUnion(type as type.DenseUnion); }\n public visitDenseUnion (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.readOffsets(type), this.visitMany(type.children)); }\n public visitSparseUnion (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Union(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readTypeIds(type), this.visitMany(type.children)); }\n public visitDictionary (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Dictionary(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type.indices), this.readDictionary(type)); }\n public visitInterval (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Interval(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readData(type)); }\n public visitFixedSizeList (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.FixedSizeList(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.visit(type.children[0])); }\n public visitMap (type: T, { length, nullCount } = this.nextFieldNode()) { return Data.Map(type, 0, length, nullCount, this.readNullBitmap(type, nullCount), this.readOffsets(type), this.visit(type.children[0])); }\n\n protected nextFieldNode() { return this.nodes[++this.nodesIndex]; }\n protected nextBufferRange() { return this.buffers[++this.buffersIndex]; }\n protected readNullBitmap(type: T, nullCount: number, buffer = this.nextBufferRange()) {\n return nullCount > 0 && this.readData(type, buffer) || new Uint8Array(0);\n }\n protected readOffsets(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readTypeIds(type: T, buffer?: BufferRegion) { return this.readData(type, buffer); }\n protected readData(_type: T, { length, offset } = this.nextBufferRange()) {\n return this.bytes.subarray(offset, offset + length);\n }\n protected readDictionary(type: T): Vector {\n return this.dictionaries.get(type.id)!;\n }\n}\n\n/** @ignore */\nexport class JSONVectorLoader extends VectorLoader {\n private sources: any[][];\n constructor(sources: any[][], nodes: FieldNode[], buffers: BufferRegion[], dictionaries: Map>) {\n super(new Uint8Array(0), nodes, buffers, dictionaries);\n this.sources = sources;\n }\n protected readNullBitmap(_type: T, nullCount: number, { offset } = this.nextBufferRange()) {\n return nullCount <= 0 ? new Uint8Array(0) : packBools(this.sources[offset]);\n }\n protected readOffsets(_type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(Int32Array, this.sources[offset]));\n }\n protected readTypeIds(type: T, { offset } = this.nextBufferRange()) {\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, this.sources[offset]));\n }\n protected readData(type: T, { offset } = this.nextBufferRange()) {\n const { sources } = this;\n if (DataType.isTimestamp(type)) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if ((DataType.isInt(type) || DataType.isTime(type)) && type.bitWidth === 64) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDate(type) && type.unit === DateUnit.MILLISECOND) {\n return toArrayBufferView(Uint8Array, Int64.convertArray(sources[offset] as string[]));\n } else if (DataType.isDecimal(type)) {\n return toArrayBufferView(Uint8Array, Int128.convertArray(sources[offset] as string[]));\n } else if (DataType.isBinary(type) || DataType.isFixedSizeBinary(type)) {\n return binaryDataFromJSON(sources[offset] as string[]);\n } else if (DataType.isBool(type)) {\n return packBools(sources[offset] as number[]);\n } else if (DataType.isUtf8(type)) {\n return encodeUtf8((sources[offset] as string[]).join(''));\n }\n return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));\n }\n}\n\n/** @ignore */\nfunction binaryDataFromJSON(values: string[]) {\n // \"DATA\": [\"49BC7D5B6C47D2\",\"3F5FB6D9322026\"]\n // There are definitely more efficient ways to do this... but it gets the\n // job done.\n const joined = values.join('');\n const data = new Uint8Array(joined.length / 2);\n for (let i = 0; i < joined.length; i += 2) {\n data[i >> 1] = parseInt(joined.substr(i, 2), 16);\n }\n return data;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport * as Schema_ from '../fb/Schema';\n\nimport * as type from '../type';\nimport { Visitor } from '../visitor';\n\nimport Null = Schema_.org.apache.arrow.flatbuf.Null;\nimport Int = Schema_.org.apache.arrow.flatbuf.Int;\nimport FloatingPoint = Schema_.org.apache.arrow.flatbuf.FloatingPoint;\nimport Binary = Schema_.org.apache.arrow.flatbuf.Binary;\nimport Bool = Schema_.org.apache.arrow.flatbuf.Bool;\nimport Utf8 = Schema_.org.apache.arrow.flatbuf.Utf8;\nimport Decimal = Schema_.org.apache.arrow.flatbuf.Decimal;\nimport Date = Schema_.org.apache.arrow.flatbuf.Date;\nimport Time = Schema_.org.apache.arrow.flatbuf.Time;\nimport Timestamp = Schema_.org.apache.arrow.flatbuf.Timestamp;\nimport Interval = Schema_.org.apache.arrow.flatbuf.Interval;\nimport List = Schema_.org.apache.arrow.flatbuf.List;\nimport Struct = Schema_.org.apache.arrow.flatbuf.Struct_;\nimport Union = Schema_.org.apache.arrow.flatbuf.Union;\nimport DictionaryEncoding = Schema_.org.apache.arrow.flatbuf.DictionaryEncoding;\nimport FixedSizeBinary = Schema_.org.apache.arrow.flatbuf.FixedSizeBinary;\nimport FixedSizeList = Schema_.org.apache.arrow.flatbuf.FixedSizeList;\nimport Map_ = Schema_.org.apache.arrow.flatbuf.Map;\n\n/** @ignore */\nexport interface TypeAssembler extends Visitor {\n visit(node: T, builder: Builder): number | undefined;\n}\n\n/** @ignore */\nexport class TypeAssembler extends Visitor {\n public visit(node: T, builder: Builder): number | undefined {\n return (node == null || builder == null) ? undefined : super.visit(node, builder);\n }\n public visitNull(_node: T, b: Builder) {\n Null.startNull(b);\n return Null.endNull(b);\n }\n public visitInt(node: T, b: Builder) {\n Int.startInt(b);\n Int.addBitWidth(b, node.bitWidth);\n Int.addIsSigned(b, node.isSigned);\n return Int.endInt(b);\n }\n public visitFloat(node: T, b: Builder) {\n FloatingPoint.startFloatingPoint(b);\n FloatingPoint.addPrecision(b, node.precision);\n return FloatingPoint.endFloatingPoint(b);\n }\n public visitBinary(_node: T, b: Builder) {\n Binary.startBinary(b);\n return Binary.endBinary(b);\n }\n public visitBool(_node: T, b: Builder) {\n Bool.startBool(b);\n return Bool.endBool(b);\n }\n public visitUtf8(_node: T, b: Builder) {\n Utf8.startUtf8(b);\n return Utf8.endUtf8(b);\n }\n public visitDecimal(node: T, b: Builder) {\n Decimal.startDecimal(b);\n Decimal.addScale(b, node.scale);\n Decimal.addPrecision(b, node.precision);\n return Decimal.endDecimal(b);\n }\n public visitDate(node: T, b: Builder) {\n Date.startDate(b);\n Date.addUnit(b, node.unit);\n return Date.endDate(b);\n }\n public visitTime(node: T, b: Builder) {\n Time.startTime(b);\n Time.addUnit(b, node.unit);\n Time.addBitWidth(b, node.bitWidth);\n return Time.endTime(b);\n }\n public visitTimestamp(node: T, b: Builder) {\n const timezone = (node.timezone && b.createString(node.timezone)) || undefined;\n Timestamp.startTimestamp(b);\n Timestamp.addUnit(b, node.unit);\n if (timezone !== undefined) {\n Timestamp.addTimezone(b, timezone);\n }\n return Timestamp.endTimestamp(b);\n }\n public visitInterval(node: T, b: Builder) {\n Interval.startInterval(b);\n Interval.addUnit(b, node.unit);\n return Interval.endInterval(b);\n }\n public visitList(_node: T, b: Builder) {\n List.startList(b);\n return List.endList(b);\n }\n public visitStruct(_node: T, b: Builder) {\n Struct.startStruct_(b);\n return Struct.endStruct_(b);\n }\n public visitUnion(node: T, b: Builder) {\n Union.startTypeIdsVector(b, node.typeIds.length);\n const typeIds = Union.createTypeIdsVector(b, node.typeIds);\n Union.startUnion(b);\n Union.addMode(b, node.mode);\n Union.addTypeIds(b, typeIds);\n return Union.endUnion(b);\n }\n public visitDictionary(node: T, b: Builder) {\n const indexType = this.visit(node.indices, b);\n DictionaryEncoding.startDictionaryEncoding(b);\n DictionaryEncoding.addId(b, new Long(node.id, 0));\n DictionaryEncoding.addIsOrdered(b, node.isOrdered);\n if (indexType !== undefined) {\n DictionaryEncoding.addIndexType(b, indexType);\n }\n return DictionaryEncoding.endDictionaryEncoding(b);\n }\n public visitFixedSizeBinary(node: T, b: Builder) {\n FixedSizeBinary.startFixedSizeBinary(b);\n FixedSizeBinary.addByteWidth(b, node.byteWidth);\n return FixedSizeBinary.endFixedSizeBinary(b);\n }\n public visitFixedSizeList(node: T, b: Builder) {\n FixedSizeList.startFixedSizeList(b);\n FixedSizeList.addListSize(b, node.listSize);\n return FixedSizeList.endFixedSizeList(b);\n }\n public visitMap(node: T, b: Builder) {\n Map_.startMap(b);\n Map_.addKeysSorted(b, node.keysSorted);\n return Map_.endMap(b);\n }\n}\n\n/** @ignore */\nexport const instance = new TypeAssembler();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Schema, Field } from '../../schema';\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type';\n\nimport { DictionaryBatch, RecordBatch, FieldNode, BufferRegion } from './message';\nimport { TimeUnit, Precision, IntervalUnit, UnionMode, DateUnit } from '../../enum';\n\n/** @ignore */\nexport function schemaFromJSON(_schema: any, dictionaries: Map = new Map()) {\n return new Schema(\n schemaFieldsFromJSON(_schema, dictionaries),\n customMetadataFromJSON(_schema['customMetadata']),\n dictionaries\n );\n}\n\n/** @ignore */\nexport function recordBatchFromJSON(b: any) {\n return new RecordBatch(\n b['count'],\n fieldNodesFromJSON(b['columns']),\n buffersFromJSON(b['columns'])\n );\n}\n\n/** @ignore */\nexport function dictionaryBatchFromJSON(b: any) {\n return new DictionaryBatch(\n recordBatchFromJSON(b['data']),\n b['id'], b['isDelta']\n );\n}\n\n/** @ignore */\nfunction schemaFieldsFromJSON(_schema: any, dictionaries?: Map) {\n return (_schema['fields'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldChildrenFromJSON(_field: any, dictionaries?: Map): Field[] {\n return (_field['children'] || []).filter(Boolean).map((f: any) => Field.fromJSON(f, dictionaries));\n}\n\n/** @ignore */\nfunction fieldNodesFromJSON(xs: any[]): FieldNode[] {\n return (xs || []).reduce((fieldNodes, column: any) => [\n ...fieldNodes,\n new FieldNode(\n column['count'],\n nullCountFromJSON(column['VALIDITY'])\n ),\n ...fieldNodesFromJSON(column['children'])\n ], [] as FieldNode[]);\n}\n\n/** @ignore */\nfunction buffersFromJSON(xs: any[], buffers: BufferRegion[] = []): BufferRegion[] {\n for (let i = -1, n = (xs || []).length; ++i < n;) {\n const column = xs[i];\n column['VALIDITY'] && buffers.push(new BufferRegion(buffers.length, column['VALIDITY'].length));\n column['TYPE'] && buffers.push(new BufferRegion(buffers.length, column['TYPE'].length));\n column['OFFSET'] && buffers.push(new BufferRegion(buffers.length, column['OFFSET'].length));\n column['DATA'] && buffers.push(new BufferRegion(buffers.length, column['DATA'].length));\n buffers = buffersFromJSON(column['children'], buffers);\n }\n return buffers;\n}\n\n/** @ignore */\nfunction nullCountFromJSON(validity: number[]) {\n return (validity || []).reduce((sum, val) => sum + +(val === 0), 0);\n}\n\n/** @ignore */\nexport function fieldFromJSON(_field: any, dictionaries?: Map) {\n\n let id: number;\n let keys: TKeys | null;\n let field: Field | void;\n let dictMeta: any;\n let type: DataType;\n let dictType: Dictionary;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = _field['dictionary'])) {\n type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries));\n field = new Field(_field['name'], type, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // tslint:disable\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta['id'])) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictionaries.set(id, type = typeFromJSON(_field, fieldChildrenFromJSON(_field, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta['indexType']) ? indexTypeFromJSON(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta['isOrdered']);\n field = new Field(_field['name'], dictType, _field['nullable'], customMetadataFromJSON(_field['customMetadata']));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction customMetadataFromJSON(_metadata?: object) {\n return new Map(Object.entries(_metadata || {}));\n}\n\n/** @ignore */\nfunction indexTypeFromJSON(_type: any) {\n return new Int(_type['isSigned'], _type['bitWidth']);\n}\n\n/** @ignore */\nfunction typeFromJSON(f: any, children?: Field[]): DataType {\n\n const typeId = f['type']['name'];\n\n switch (typeId) {\n case 'NONE': return new Null();\n case 'null': return new Null();\n case 'binary': return new Binary();\n case 'utf8': return new Utf8();\n case 'bool': return new Bool();\n case 'list': return new List((children || [])[0]);\n case 'struct': return new Struct(children || []);\n case 'struct_': return new Struct(children || []);\n }\n\n switch (typeId) {\n case 'int': {\n const t = f['type'];\n return new Int(t['isSigned'], t['bitWidth'] as IntBitWidth);\n }\n case 'floatingpoint': {\n const t = f['type'];\n return new Float(Precision[t['precision']] as any);\n }\n case 'decimal': {\n const t = f['type'];\n return new Decimal(t['scale'], t['precision']);\n }\n case 'date': {\n const t = f['type'];\n return new Date_(DateUnit[t['unit']] as any);\n }\n case 'time': {\n const t = f['type'];\n return new Time(TimeUnit[t['unit']] as any, t['bitWidth'] as TimeBitWidth);\n }\n case 'timestamp': {\n const t = f['type'];\n return new Timestamp(TimeUnit[t['unit']] as any, t['timezone']);\n }\n case 'interval': {\n const t = f['type'];\n return new Interval(IntervalUnit[t['unit']] as any);\n }\n case 'union': {\n const t = f['type'];\n return new Union(UnionMode[t['mode']] as any, (t['typeIds'] || []), children || []);\n }\n case 'fixedsizebinary': {\n const t = f['type'];\n return new FixedSizeBinary(t['byteWidth']);\n }\n case 'fixedsizelist': {\n const t = f['type'];\n return new FixedSizeList(t['listSize'], (children || [])[0]);\n }\n case 'map': {\n const t = f['type'];\n return new Map_((children || [])[0], t['keysSorted']);\n }\n }\n throw new Error(`Unrecognized type: \"${typeId}\"`);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { flatbuffers } from 'flatbuffers';\nimport * as Schema_ from '../../fb/Schema';\nimport * as Message_ from '../../fb/Message';\n\nimport { Schema, Field } from '../../schema';\nimport { toUint8Array } from '../../util/buffer';\nimport { ArrayBufferViewInput } from '../../util/buffer';\nimport { MessageHeader, MetadataVersion } from '../../enum';\nimport { instance as typeAssembler } from '../../visitor/typeassembler';\nimport { fieldFromJSON, schemaFromJSON, recordBatchFromJSON, dictionaryBatchFromJSON } from './json';\n\nimport Long = flatbuffers.Long;\nimport Builder = flatbuffers.Builder;\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport _Int = Schema_.org.apache.arrow.flatbuf.Int;\nimport Type = Schema_.org.apache.arrow.flatbuf.Type;\nimport _Field = Schema_.org.apache.arrow.flatbuf.Field;\nimport _Schema = Schema_.org.apache.arrow.flatbuf.Schema;\nimport _Buffer = Schema_.org.apache.arrow.flatbuf.Buffer;\nimport _Message = Message_.org.apache.arrow.flatbuf.Message;\nimport _KeyValue = Schema_.org.apache.arrow.flatbuf.KeyValue;\nimport _FieldNode = Message_.org.apache.arrow.flatbuf.FieldNode;\nimport _Endianness = Schema_.org.apache.arrow.flatbuf.Endianness;\nimport _RecordBatch = Message_.org.apache.arrow.flatbuf.RecordBatch;\nimport _DictionaryBatch = Message_.org.apache.arrow.flatbuf.DictionaryBatch;\nimport _DictionaryEncoding = Schema_.org.apache.arrow.flatbuf.DictionaryEncoding;\n\nimport {\n DataType, Dictionary, TimeBitWidth,\n Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n Bool, Null, Int, Float, Date_, Time, Interval, Timestamp, IntBitWidth, Int32, TKeys,\n} from '../../type';\n\n/**\n * @ignore\n * @private\n **/\nexport class Message {\n\n /** @nocollapse */\n public static fromJSON(msg: any, headerType: T): Message {\n const message = new Message(0, MetadataVersion.V4, headerType);\n message._createHeader = messageHeaderFromJSON(msg, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static decode(buf: ArrayBufferViewInput) {\n buf = new ByteBuffer(toUint8Array(buf));\n const _message = _Message.getRootAsMessage(buf);\n const bodyLength: Long = _message.bodyLength()!;\n const version: MetadataVersion = _message.version();\n const headerType: MessageHeader = _message.headerType();\n const message = new Message(bodyLength, version, headerType);\n message._createHeader = decodeMessageHeader(_message, headerType);\n return message;\n }\n\n /** @nocollapse */\n public static encode(message: Message) {\n let b = new Builder(), headerOffset = -1;\n if (message.isSchema()) {\n headerOffset = Schema.encode(b, message.header() as Schema);\n } else if (message.isRecordBatch()) {\n headerOffset = RecordBatch.encode(b, message.header() as RecordBatch);\n } else if (message.isDictionaryBatch()) {\n headerOffset = DictionaryBatch.encode(b, message.header() as DictionaryBatch);\n }\n _Message.startMessage(b);\n _Message.addVersion(b, MetadataVersion.V4);\n _Message.addHeader(b, headerOffset);\n _Message.addHeaderType(b, message.headerType);\n _Message.addBodyLength(b, new Long(message.bodyLength, 0));\n _Message.finishMessageBuffer(b, _Message.endMessage(b));\n return b.asUint8Array();\n }\n\n /** @nocollapse */\n public static from(header: Schema | RecordBatch | DictionaryBatch, bodyLength = 0) {\n if (header instanceof Schema) {\n return new Message(0, MetadataVersion.V4, MessageHeader.Schema, header);\n }\n if (header instanceof RecordBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.RecordBatch, header);\n }\n if (header instanceof DictionaryBatch) {\n return new Message(bodyLength, MetadataVersion.V4, MessageHeader.DictionaryBatch, header);\n }\n throw new Error(`Unrecognized Message header: ${header}`);\n }\n\n // @ts-ignore\n public body: Uint8Array;\n protected _headerType: T;\n protected _bodyLength: number;\n protected _version: MetadataVersion;\n public get type() { return this.headerType; }\n public get version() { return this._version; }\n public get headerType() { return this._headerType; }\n public get bodyLength() { return this._bodyLength; }\n // @ts-ignore\n protected _createHeader: MessageHeaderDecoder;\n public header() { return this._createHeader(); }\n public isSchema(): this is Message { return this.headerType === MessageHeader.Schema; }\n public isRecordBatch(): this is Message { return this.headerType === MessageHeader.RecordBatch; }\n public isDictionaryBatch(): this is Message { return this.headerType === MessageHeader.DictionaryBatch; }\n\n constructor(bodyLength: Long | number, version: MetadataVersion, headerType: T, header?: any) {\n this._version = version;\n this._headerType = headerType;\n this.body = new Uint8Array(0);\n header && (this._createHeader = () => header);\n this._bodyLength = typeof bodyLength === 'number' ? bodyLength : bodyLength.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class RecordBatch {\n protected _length: number;\n protected _nodes: FieldNode[];\n protected _buffers: BufferRegion[];\n public get nodes() { return this._nodes; }\n public get length() { return this._length; }\n public get buffers() { return this._buffers; }\n constructor(length: Long | number, nodes: FieldNode[], buffers: BufferRegion[]) {\n this._nodes = nodes;\n this._buffers = buffers;\n this._length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class DictionaryBatch {\n\n protected _id: number;\n protected _isDelta: boolean;\n protected _data: RecordBatch;\n public get id() { return this._id; }\n public get data() { return this._data; }\n public get isDelta() { return this._isDelta; }\n public get length(): number { return this.data.length; }\n public get nodes(): FieldNode[] { return this.data.nodes; }\n public get buffers(): BufferRegion[] { return this.data.buffers; }\n\n constructor(data: RecordBatch, id: Long | number, isDelta: boolean = false) {\n this._data = data;\n this._isDelta = isDelta;\n this._id = typeof id === 'number' ? id : id.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class BufferRegion {\n public offset: number;\n public length: number;\n constructor(offset: Long | number, length: Long | number) {\n this.offset = typeof offset === 'number' ? offset : offset.low;\n this.length = typeof length === 'number' ? length : length.low;\n }\n}\n\n/**\n * @ignore\n * @private\n **/\nexport class FieldNode {\n public length: number;\n public nullCount: number;\n constructor(length: Long | number, nullCount: Long | number) {\n this.length = typeof length === 'number' ? length : length.low;\n this.nullCount = typeof nullCount === 'number' ? nullCount : nullCount.low;\n }\n}\n\n/** @ignore */\nfunction messageHeaderFromJSON(message: any, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.fromJSON(message);\n case MessageHeader.RecordBatch: return RecordBatch.fromJSON(message);\n case MessageHeader.DictionaryBatch: return DictionaryBatch.fromJSON(message);\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\n/** @ignore */\nfunction decodeMessageHeader(message: _Message, type: MessageHeader) {\n return (() => {\n switch (type) {\n case MessageHeader.Schema: return Schema.decode(message.header(new _Schema())!);\n case MessageHeader.RecordBatch: return RecordBatch.decode(message.header(new _RecordBatch())!, message.version());\n case MessageHeader.DictionaryBatch: return DictionaryBatch.decode(message.header(new _DictionaryBatch())!, message.version());\n }\n throw new Error(`Unrecognized Message type: { name: ${MessageHeader[type]}, type: ${type} }`);\n }) as MessageHeaderDecoder;\n}\n\nField['encode'] = encodeField;\nField['decode'] = decodeField;\nField['fromJSON'] = fieldFromJSON;\n\nSchema['encode'] = encodeSchema;\nSchema['decode'] = decodeSchema;\nSchema['fromJSON'] = schemaFromJSON;\n\nRecordBatch['encode'] = encodeRecordBatch;\nRecordBatch['decode'] = decodeRecordBatch;\nRecordBatch['fromJSON'] = recordBatchFromJSON;\n\nDictionaryBatch['encode'] = encodeDictionaryBatch;\nDictionaryBatch['decode'] = decodeDictionaryBatch;\nDictionaryBatch['fromJSON'] = dictionaryBatchFromJSON;\n\nFieldNode['encode'] = encodeFieldNode;\nFieldNode['decode'] = decodeFieldNode;\n\nBufferRegion['encode'] = encodeBufferRegion;\nBufferRegion['decode'] = decodeBufferRegion;\n\ndeclare module '../../schema' {\n namespace Field {\n export { encodeField as encode };\n export { decodeField as decode };\n export { fieldFromJSON as fromJSON };\n }\n namespace Schema {\n export { encodeSchema as encode };\n export { decodeSchema as decode };\n export { schemaFromJSON as fromJSON };\n }\n}\n\ndeclare module './message' {\n namespace RecordBatch {\n export { encodeRecordBatch as encode };\n export { decodeRecordBatch as decode };\n export { recordBatchFromJSON as fromJSON };\n }\n namespace DictionaryBatch {\n export { encodeDictionaryBatch as encode };\n export { decodeDictionaryBatch as decode };\n export { dictionaryBatchFromJSON as fromJSON };\n }\n namespace FieldNode {\n export { encodeFieldNode as encode };\n export { decodeFieldNode as decode };\n }\n namespace BufferRegion {\n export { encodeBufferRegion as encode };\n export { decodeBufferRegion as decode };\n }\n}\n\n/** @ignore */\nfunction decodeSchema(_schema: _Schema, dictionaries: Map = new Map()) {\n const fields = decodeSchemaFields(_schema, dictionaries);\n return new Schema(fields, decodeCustomMetadata(_schema), dictionaries);\n}\n\n/** @ignore */\nfunction decodeRecordBatch(batch: _RecordBatch, version = MetadataVersion.V4) {\n return new RecordBatch(batch.length(), decodeFieldNodes(batch), decodeBuffers(batch, version));\n}\n\n/** @ignore */\nfunction decodeDictionaryBatch(batch: _DictionaryBatch, version = MetadataVersion.V4) {\n return new DictionaryBatch(RecordBatch.decode(batch.data()!, version), batch.id(), batch.isDelta());\n}\n\n/** @ignore */\nfunction decodeBufferRegion(b: _Buffer) {\n return new BufferRegion(b.offset(), b.length());\n}\n\n/** @ignore */\nfunction decodeFieldNode(f: _FieldNode) {\n return new FieldNode(f.length(), f.nullCount());\n}\n\n/** @ignore */\nfunction decodeFieldNodes(batch: _RecordBatch) {\n const nodes = [] as FieldNode[];\n for (let f, i = -1, j = -1, n = batch.nodesLength(); ++i < n;) {\n if (f = batch.nodes(i)) {\n nodes[++j] = FieldNode.decode(f);\n }\n }\n return nodes;\n}\n\n/** @ignore */\nfunction decodeBuffers(batch: _RecordBatch, version: MetadataVersion) {\n const bufferRegions = [] as BufferRegion[];\n for (let b, i = -1, j = -1, n = batch.buffersLength(); ++i < n;) {\n if (b = batch.buffers(i)) {\n // If this Arrow buffer was written before version 4,\n // advance the buffer's bb_pos 8 bytes to skip past\n // the now-removed page_id field\n if (version < MetadataVersion.V4) {\n b.bb_pos += (8 * (i + 1));\n }\n bufferRegions[++j] = BufferRegion.decode(b);\n }\n }\n return bufferRegions;\n}\n\n/** @ignore */\nfunction decodeSchemaFields(schema: _Schema, dictionaries?: Map) {\n const fields = [] as Field[];\n for (let f, i = -1, j = -1, n = schema.fieldsLength(); ++i < n;) {\n if (f = schema.fields(i)) {\n fields[++j] = Field.decode(f, dictionaries);\n }\n }\n return fields;\n}\n\n/** @ignore */\nfunction decodeFieldChildren(field: _Field, dictionaries?: Map): Field[] {\n const children = [] as Field[];\n for (let f, i = -1, j = -1, n = field.childrenLength(); ++i < n;) {\n if (f = field.children(i)) {\n children[++j] = Field.decode(f, dictionaries);\n }\n }\n return children;\n}\n\n/** @ignore */\nfunction decodeField(f: _Field, dictionaries?: Map) {\n\n let id: number;\n let field: Field | void;\n let type: DataType;\n let keys: _Int | TKeys | null;\n let dictType: Dictionary;\n let dictMeta: _DictionaryEncoding | null;\n\n // If no dictionary encoding\n if (!dictionaries || !(dictMeta = f.dictionary())) {\n type = decodeFieldType(f, decodeFieldChildren(f, dictionaries));\n field = new Field(f.name()!, type, f.nullable(), decodeCustomMetadata(f));\n }\n // tslint:disable\n // If dictionary encoded and the first time we've seen this dictionary id, decode\n // the data type and child fields, then wrap in a Dictionary type and insert the\n // data type into the dictionary types map.\n else if (!dictionaries.has(id = dictMeta.id().low)) {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictionaries.set(id, type = decodeFieldType(f, decodeFieldChildren(f, dictionaries)));\n dictType = new Dictionary(type, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n // If dictionary encoded, and have already seen this dictionary Id in the schema, then reuse the\n // data type and wrap in a new Dictionary type and field.\n else {\n // a dictionary index defaults to signed 32 bit int if unspecified\n keys = (keys = dictMeta.indexType()) ? decodeIndexType(keys) as TKeys : new Int32();\n dictType = new Dictionary(dictionaries.get(id)!, keys, id, dictMeta.isOrdered());\n field = new Field(f.name()!, dictType, f.nullable(), decodeCustomMetadata(f));\n }\n return field || null;\n}\n\n/** @ignore */\nfunction decodeCustomMetadata(parent?: _Schema | _Field | null) {\n const data = new Map();\n if (parent) {\n for (let entry, key, i = -1, n = parent.customMetadataLength() | 0; ++i < n;) {\n if ((entry = parent.customMetadata(i)) && (key = entry.key()) != null) {\n data.set(key, entry.value()!);\n }\n }\n }\n return data;\n}\n\n/** @ignore */\nfunction decodeIndexType(_type: _Int) {\n return new Int(_type.isSigned(), _type.bitWidth() as IntBitWidth);\n}\n\n/** @ignore */\nfunction decodeFieldType(f: _Field, children?: Field[]): DataType {\n\n const typeId = f.typeType();\n\n switch (typeId) {\n case Type.NONE: return new Null();\n case Type.Null: return new Null();\n case Type.Binary: return new Binary();\n case Type.Utf8: return new Utf8();\n case Type.Bool: return new Bool();\n case Type.List: return new List((children || [])[0]);\n case Type.Struct_: return new Struct(children || []);\n }\n\n switch (typeId) {\n case Type.Int: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Int())!;\n return new Int(t.isSigned(), t.bitWidth());\n }\n case Type.FloatingPoint: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FloatingPoint())!;\n return new Float(t.precision());\n }\n case Type.Decimal: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Decimal())!;\n return new Decimal(t.scale(), t.precision());\n }\n case Type.Date: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Date())!;\n return new Date_(t.unit());\n }\n case Type.Time: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Time())!;\n return new Time(t.unit(), t.bitWidth() as TimeBitWidth);\n }\n case Type.Timestamp: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Timestamp())!;\n return new Timestamp(t.unit(), t.timezone());\n }\n case Type.Interval: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Interval())!;\n return new Interval(t.unit());\n }\n case Type.Union: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Union())!;\n return new Union(t.mode(), t.typeIdsArray() || [], children || []);\n }\n case Type.FixedSizeBinary: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FixedSizeBinary())!;\n return new FixedSizeBinary(t.byteWidth());\n }\n case Type.FixedSizeList: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.FixedSizeList())!;\n return new FixedSizeList(t.listSize(), (children || [])[0]);\n }\n case Type.Map: {\n const t = f.type(new Schema_.org.apache.arrow.flatbuf.Map())!;\n return new Map_((children || [])[0], t.keysSorted());\n }\n }\n throw new Error(`Unrecognized type: \"${Type[typeId]}\" (${typeId})`);\n}\n\n/** @ignore */\nfunction encodeSchema(b: Builder, schema: Schema) {\n\n const fieldOffsets = schema.fields.map((f) => Field.encode(b, f));\n\n _Schema.startFieldsVector(b, fieldOffsets.length);\n\n const fieldsVectorOffset = _Schema.createFieldsVector(b, fieldOffsets);\n\n const metadataOffset = !(schema.metadata && schema.metadata.size > 0) ? -1 :\n _Schema.createCustomMetadataVector(b, [...schema.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n _Schema.startSchema(b);\n _Schema.addFields(b, fieldsVectorOffset);\n _Schema.addEndianness(b, platformIsLittleEndian ? _Endianness.Little : _Endianness.Big);\n\n if (metadataOffset !== -1) { _Schema.addCustomMetadata(b, metadataOffset); }\n\n return _Schema.endSchema(b);\n}\n\n/** @ignore */\nfunction encodeField(b: Builder, field: Field) {\n\n let nameOffset = -1;\n let typeOffset = -1;\n let dictionaryOffset = -1;\n\n let type = field.type;\n let typeId: Type = field.typeId;\n\n if (!DataType.isDictionary(type)) {\n typeOffset = typeAssembler.visit(type, b)!;\n } else {\n typeId = type.dictionary.typeId;\n dictionaryOffset = typeAssembler.visit(type, b)!;\n typeOffset = typeAssembler.visit(type.dictionary, b)!;\n }\n\n const childOffsets = (type.children || []).map((f: Field) => Field.encode(b, f));\n const childrenVectorOffset = _Field.createChildrenVector(b, childOffsets);\n\n const metadataOffset = !(field.metadata && field.metadata.size > 0) ? -1 :\n _Field.createCustomMetadataVector(b, [...field.metadata].map(([k, v]) => {\n const key = b.createString(`${k}`);\n const val = b.createString(`${v}`);\n _KeyValue.startKeyValue(b);\n _KeyValue.addKey(b, key);\n _KeyValue.addValue(b, val);\n return _KeyValue.endKeyValue(b);\n }));\n\n if (field.name) {\n nameOffset = b.createString(field.name);\n }\n\n _Field.startField(b);\n _Field.addType(b, typeOffset);\n _Field.addTypeType(b, typeId);\n _Field.addChildren(b, childrenVectorOffset);\n _Field.addNullable(b, !!field.nullable);\n\n if (nameOffset !== -1) { _Field.addName(b, nameOffset); }\n if (dictionaryOffset !== -1) { _Field.addDictionary(b, dictionaryOffset); }\n if (metadataOffset !== -1) { _Field.addCustomMetadata(b, metadataOffset); }\n\n return _Field.endField(b);\n}\n\n/** @ignore */\nfunction encodeRecordBatch(b: Builder, recordBatch: RecordBatch) {\n\n const nodes = recordBatch.nodes || [];\n const buffers = recordBatch.buffers || [];\n\n _RecordBatch.startNodesVector(b, nodes.length);\n nodes.slice().reverse().forEach((n) => FieldNode.encode(b, n));\n\n const nodesVectorOffset = b.endVector();\n\n _RecordBatch.startBuffersVector(b, buffers.length);\n buffers.slice().reverse().forEach((b_) => BufferRegion.encode(b, b_));\n\n const buffersVectorOffset = b.endVector();\n\n _RecordBatch.startRecordBatch(b);\n _RecordBatch.addLength(b, new Long(recordBatch.length, 0));\n _RecordBatch.addNodes(b, nodesVectorOffset);\n _RecordBatch.addBuffers(b, buffersVectorOffset);\n return _RecordBatch.endRecordBatch(b);\n}\n\n/** @ignore */\nfunction encodeDictionaryBatch(b: Builder, dictionaryBatch: DictionaryBatch) {\n const dataOffset = RecordBatch.encode(b, dictionaryBatch.data);\n _DictionaryBatch.startDictionaryBatch(b);\n _DictionaryBatch.addId(b, new Long(dictionaryBatch.id, 0));\n _DictionaryBatch.addIsDelta(b, dictionaryBatch.isDelta);\n _DictionaryBatch.addData(b, dataOffset);\n return _DictionaryBatch.endDictionaryBatch(b);\n}\n\n/** @ignore */\nfunction encodeFieldNode(b: Builder, node: FieldNode) {\n return _FieldNode.createFieldNode(b, new Long(node.length, 0), new Long(node.nullCount, 0));\n}\n\n/** @ignore */\nfunction encodeBufferRegion(b: Builder, node: BufferRegion) {\n return _Buffer.createBuffer(b, new Long(node.offset, 0), new Long(node.length, 0));\n}\n\n/** @ignore */\nconst platformIsLittleEndian = (function() {\n const buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n})();\n\n/** @ignore */\ntype MessageHeaderDecoder = () => T extends MessageHeader.Schema ? Schema\n : T extends MessageHeader.RecordBatch ? RecordBatch\n : T extends MessageHeader.DictionaryBatch ? DictionaryBatch : never;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MessageHeader } from '../enum';\nimport { flatbuffers } from 'flatbuffers';\nimport ByteBuffer = flatbuffers.ByteBuffer;\nimport { Message } from './metadata/message';\nimport { isFileHandle } from '../util/compat';\nimport { AsyncRandomAccessFile } from '../io/file';\nimport { toUint8Array, ArrayBufferViewInput } from '../util/buffer';\nimport { ByteStream, ReadableSource, AsyncByteStream } from '../io/stream';\nimport { ArrowJSON, ArrowJSONLike, ITERATOR_DONE, FileHandle } from '../io/interfaces';\n\n/** @ignore */ const invalidMessageType = (type: MessageHeader) => `Expected ${MessageHeader[type]} Message in stream, but was null or length 0.`;\n/** @ignore */ const nullMessage = (type: MessageHeader) => `Header pointer of flatbuffer-encoded ${MessageHeader[type]} Message is null or length 0.`;\n/** @ignore */ const invalidMessageMetadata = (expected: number, actual: number) => `Expected to read ${expected} metadata bytes, but only read ${actual}.`;\n/** @ignore */ const invalidMessageBodyLength = (expected: number, actual: number) => `Expected to read ${expected} bytes for message body, but only read ${actual}.`;\n\n/** @ignore */\nexport class MessageReader implements IterableIterator {\n protected source: ByteStream;\n constructor(source: ByteStream | ArrayBufferViewInput | Iterable) {\n this.source = source instanceof ByteStream ? source : new ByteStream(source);\n }\n public [Symbol.iterator](): IterableIterator { return this as IterableIterator; }\n public next(): IteratorResult {\n let r;\n if ((r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public throw(value?: any) { return this.source.throw(value); }\n public return(value?: any) { return this.source.return(value); }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readMessageBody(bodyLength: number): Uint8Array {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected readMetadataLength(): IteratorResult {\n const buf = this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected readMetadata(metadataLength: number): IteratorResult {\n const buf = this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class AsyncMessageReader implements AsyncIterableIterator {\n protected source: AsyncByteStream;\n constructor(source: ReadableSource);\n constructor(source: FileHandle, byteLength?: number);\n constructor(source: any, byteLength?: number) {\n this.source = source instanceof AsyncByteStream ? source\n : isFileHandle(source)\n ? new AsyncRandomAccessFile(source, byteLength!)\n : new AsyncByteStream(source);\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator { return this as AsyncIterableIterator; }\n public async next(): Promise> {\n let r;\n if ((r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n // ARROW-6313: If the first 4 bytes are continuation indicator (-1), read\n // the next 4 for the 32-bit metadata length. Otherwise, assume this is a\n // pre-v0.15 message, where the first 4 bytes are the metadata length.\n if ((r.value === -1) &&\n (r = await this.readMetadataLength()).done) { return ITERATOR_DONE; }\n if ((r = await this.readMetadata(r.value)).done) { return ITERATOR_DONE; }\n return ( r) as IteratorResult;\n }\n public async throw(value?: any) { return await this.source.throw(value); }\n public async return(value?: any) { return await this.source.return(value); }\n public async readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = await this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public async readMessageBody(bodyLength: number): Promise {\n if (bodyLength <= 0) { return new Uint8Array(0); }\n const buf = toUint8Array(await this.source.read(bodyLength));\n if (buf.byteLength < bodyLength) {\n throw new Error(invalidMessageBodyLength(bodyLength, buf.byteLength));\n }\n // 1. Work around bugs in fs.ReadStream's internal Buffer pooling, see: https://github.com/nodejs/node/issues/24817\n // 2. Work around https://github.com/whatwg/streams/blob/0ebe4b042e467d9876d80ae045de3843092ad797/reference-implementation/lib/helpers.js#L126\n return /* 1. */ (buf.byteOffset % 8 === 0) &&\n /* 2. */ (buf.byteOffset + buf.byteLength) <= buf.buffer.byteLength ? buf : buf.slice();\n }\n public async readSchema(throwIfNull = false) {\n const type = MessageHeader.Schema;\n const message = await this.readMessage(type);\n const schema = message && message.header();\n if (throwIfNull && !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n protected async readMetadataLength(): Promise> {\n const buf = await this.source.read(PADDING);\n const bb = buf && new ByteBuffer(buf);\n const len = bb && bb.readInt32(0) || 0;\n return { done: len === 0, value: len };\n }\n protected async readMetadata(metadataLength: number): Promise> {\n const buf = await this.source.read(metadataLength);\n if (!buf) { return ITERATOR_DONE; }\n if (buf.byteLength < metadataLength) {\n throw new Error(invalidMessageMetadata(metadataLength, buf.byteLength));\n }\n return { done: false, value: Message.decode(buf) };\n }\n}\n\n/** @ignore */\nexport class JSONMessageReader extends MessageReader {\n private _schema = false;\n private _json: ArrowJSON;\n private _body: any[] = [];\n private _batchIndex = 0;\n private _dictionaryIndex = 0;\n constructor(source: ArrowJSON | ArrowJSONLike) {\n super(new Uint8Array(0));\n this._json = source instanceof ArrowJSON ? source : new ArrowJSON(source);\n }\n public next() {\n const { _json } = this;\n if (!this._schema) {\n this._schema = true;\n const message = Message.fromJSON(_json.schema, MessageHeader.Schema);\n return { done: false, value: message };\n }\n if (this._dictionaryIndex < _json.dictionaries.length) {\n const batch = _json.dictionaries[this._dictionaryIndex++];\n this._body = batch['data']['columns'];\n const message = Message.fromJSON(batch, MessageHeader.DictionaryBatch);\n return { done: false, value: message };\n }\n if (this._batchIndex < _json.batches.length) {\n const batch = _json.batches[this._batchIndex++];\n this._body = batch['columns'];\n const message = Message.fromJSON(batch, MessageHeader.RecordBatch);\n return { done: false, value: message };\n }\n this._body = [];\n return ITERATOR_DONE;\n }\n public readMessageBody(_bodyLength?: number) {\n return flattenDataSources(this._body) as any;\n function flattenDataSources(xs: any[]): any[][] {\n return (xs || []).reduce((buffers, column: any) => [\n ...buffers,\n ...(column['VALIDITY'] && [column['VALIDITY']] || []),\n ...(column['TYPE'] && [column['TYPE']] || []),\n ...(column['OFFSET'] && [column['OFFSET']] || []),\n ...(column['DATA'] && [column['DATA']] || []),\n ...flattenDataSources(column['children'])\n ], [] as any[][]);\n }\n }\n public readMessage(type?: T | null) {\n let r: IteratorResult>;\n if ((r = this.next()).done) { return null; }\n if ((type != null) && r.value.headerType !== type) {\n throw new Error(invalidMessageType(type));\n }\n return r.value;\n }\n public readSchema() {\n const type = MessageHeader.Schema;\n const message = this.readMessage(type);\n const schema = message && message.header();\n if (!message || !schema) {\n throw new Error(nullMessage(type));\n }\n return schema;\n }\n}\n\n/** @ignore */\nexport const PADDING = 4;\n/** @ignore */\nexport const MAGIC_STR = 'ARROW1';\n/** @ignore */\nexport const MAGIC = new Uint8Array(MAGIC_STR.length);\n\nfor (let i = 0; i < MAGIC_STR.length; i += 1 | 0) {\n MAGIC[i] = MAGIC_STR.charCodeAt(i);\n}\n\n/** @ignore */\nexport function checkForMagicArrowString(buffer: Uint8Array, index = 0) {\n for (let i = -1, n = MAGIC.length; ++i < n;) {\n if (MAGIC[i] !== buffer[index + i]) {\n return false;\n }\n }\n return true;\n}\n\n/** @ignore */\nexport const magicLength = MAGIC.length;\n/** @ignore */\nexport const magicAndPadding = magicLength + PADDING;\n/** @ignore */\nexport const magicX2AndPadding = magicLength * 2 + PADDING;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Visitor } from '../visitor';\nimport { Type, UnionMode } from '../enum';\nimport { RecordBatch } from '../recordbatch';\nimport { VectorType as V } from '../interfaces';\nimport { rebaseValueOffsets } from '../util/buffer';\nimport { packBools, truncateBitmap } from '../util/bit';\nimport { selectVectorChildrenArgs } from '../util/args';\nimport { BufferRegion, FieldNode } from '../ipc/metadata/message';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp, Union,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n} from '../type';\n\n/** @ignore */\nexport interface VectorAssembler extends Visitor {\n visit(node: T): this;\n visitMany(nodes: T[]): this[];\n getVisitFn(node: T): (vector: V) => this;\n getVisitFn(node: V | Data | T): (vector: V) => this;\n\n visitBool (vector: V): this;\n visitInt (vector: V): this;\n visitFloat (vector: V): this;\n visitUtf8 (vector: V): this;\n visitBinary (vector: V): this;\n visitFixedSizeBinary (vector: V): this;\n visitDate (vector: V): this;\n visitTimestamp (vector: V): this;\n visitTime (vector: V): this;\n visitDecimal (vector: V): this;\n visitList (vector: V): this;\n visitStruct (vector: V): this;\n visitUnion (vector: V): this;\n visitInterval (vector: V): this;\n visitFixedSizeList (vector: V): this;\n visitMap (vector: V): this;\n}\n\n/** @ignore */\nexport class VectorAssembler extends Visitor {\n\n /** @nocollapse */\n public static assemble(...args: (T | T[])[]) {\n const assembler = new VectorAssembler();\n const vectorChildren = selectVectorChildrenArgs(RecordBatch, args);\n const [assembleResult = assembler] = assembler.visitMany(vectorChildren);\n return assembleResult;\n }\n\n private constructor() { super(); }\n\n public visit(vector: T): this {\n if (!DataType.isDictionary(vector.type)) {\n const { data, length, nullCount } = vector;\n if (length > 2147483647) {\n /* istanbul ignore next */\n throw new RangeError('Cannot write arrays larger than 2^31 - 1 in length');\n }\n if (!DataType.isNull(vector.type)) {\n addBuffer.call(this, nullCount <= 0\n ? new Uint8Array(0) // placeholder validity buffer\n : truncateBitmap(data.offset, length, data.nullBitmap)\n );\n }\n this.nodes.push(new FieldNode(length, nullCount));\n }\n return super.visit(vector);\n }\n\n public visitNull(_nullV: V) {\n return this;\n }\n public visitDictionary(vector: V) {\n // Assemble the indices here, Dictionary assembled separately.\n return this.visit(vector.indices);\n }\n\n public get nodes() { return this._nodes; }\n public get buffers() { return this._buffers; }\n public get byteLength() { return this._byteLength; }\n public get bufferRegions() { return this._bufferRegions; }\n\n protected _byteLength = 0;\n protected _nodes: FieldNode[] = [];\n protected _buffers: ArrayBufferView[] = [];\n protected _bufferRegions: BufferRegion[] = [];\n}\n\n/** @ignore */\nfunction addBuffer(this: VectorAssembler, values: ArrayBufferView) {\n const byteLength = (values.byteLength + 7) & ~7; // Round up to a multiple of 8\n this.buffers.push(values);\n this.bufferRegions.push(new BufferRegion(this._byteLength, byteLength));\n this._byteLength += byteLength;\n return this;\n}\n\n/** @ignore */\nfunction assembleUnion(this: VectorAssembler, vector: V) {\n const { type, length, typeIds, valueOffsets } = vector;\n // All Union Vectors have a typeIds buffer\n addBuffer.call(this, typeIds);\n // If this is a Sparse Union, treat it like all other Nested types\n if (type.mode === UnionMode.Sparse) {\n return assembleNestedVector.call(this, vector);\n } else if (type.mode === UnionMode.Dense) {\n // If this is a Dense Union, add the valueOffsets buffer and potentially slice the children\n if (vector.offset <= 0) {\n // If the Vector hasn't been sliced, write the existing valueOffsets\n addBuffer.call(this, valueOffsets);\n // We can treat this like all other Nested types\n return assembleNestedVector.call(this, vector);\n } else {\n // A sliced Dense Union is an unpleasant case. Because the offsets are different for\n // each child vector, we need to \"rebase\" the valueOffsets for each child\n // Union typeIds are not necessary 0-indexed\n const maxChildTypeId = typeIds.reduce((x, y) => Math.max(x, y), typeIds[0]);\n const childLengths = new Int32Array(maxChildTypeId + 1);\n // Set all to -1 to indicate that we haven't observed a first occurrence of a particular child yet\n const childOffsets = new Int32Array(maxChildTypeId + 1).fill(-1);\n const shiftedOffsets = new Int32Array(length);\n // If we have a non-zero offset, then the value offsets do not start at\n // zero. We must a) create a new offsets array with shifted offsets and\n // b) slice the values array accordingly\n const unshiftedOffsets = rebaseValueOffsets(-valueOffsets[0], length, valueOffsets);\n for (let typeId, shift, index = -1; ++index < length;) {\n if ((shift = childOffsets[typeId = typeIds[index]]) === -1) {\n shift = childOffsets[typeId] = unshiftedOffsets[typeId];\n }\n shiftedOffsets[index] = unshiftedOffsets[index] - shift;\n ++childLengths[typeId];\n }\n addBuffer.call(this, shiftedOffsets);\n // Slice and visit children accordingly\n for (let child: Vector | null, childIndex = -1, numChildren = type.children.length; ++childIndex < numChildren;) {\n if (child = vector.getChildAt(childIndex)) {\n const typeId = type.typeIds[childIndex];\n const childLength = Math.min(length, childLengths[typeId]);\n this.visit(child.slice(childOffsets[typeId], childLength));\n }\n }\n }\n }\n return this;\n}\n\n/** @ignore */\nfunction assembleBoolVector(this: VectorAssembler, vector: V) {\n // Bool vector is a special case of FlatVector, as its data buffer needs to stay packed\n let values: Uint8Array;\n if (vector.nullCount >= vector.length) {\n // If all values are null, just insert a placeholder empty data buffer (fastest path)\n return addBuffer.call(this, new Uint8Array(0));\n } else if ((values = vector.values) instanceof Uint8Array) {\n // If values is already a Uint8Array, slice the bitmap (fast path)\n return addBuffer.call(this, truncateBitmap(vector.offset, vector.length, values));\n }\n // Otherwise if the underlying data *isn't* a Uint8Array, enumerate the\n // values as bools and re-pack them into a Uint8Array. This code isn't\n // reachable unless you're trying to manipulate the Data internals,\n // we we're only doing this for safety.\n /* istanbul ignore next */\n return addBuffer.call(this, packBools(vector));\n}\n\n/** @ignore */\nfunction assembleFlatVector(this: VectorAssembler, vector: V) {\n return addBuffer.call(this, vector.values.subarray(0, vector.length * vector.stride));\n}\n\n/** @ignore */\nfunction assembleFlatListVector(this: VectorAssembler, vector: V) {\n const { length, values, valueOffsets } = vector;\n const firstOffset = valueOffsets[0];\n const lastOffset = valueOffsets[length];\n const byteLength = Math.min(lastOffset - firstOffset, values.byteLength - firstOffset);\n // Push in the order FlatList types read their buffers\n addBuffer.call(this, rebaseValueOffsets(-valueOffsets[0], length, valueOffsets)); // valueOffsets buffer first\n addBuffer.call(this, values.subarray(firstOffset, firstOffset + byteLength)); // sliced values buffer second\n return this;\n}\n\n/** @ignore */\nfunction assembleListVector(this: VectorAssembler, vector: V) {\n const { length, valueOffsets } = vector;\n // If we have valueOffsets (MapVector, ListVector), push that buffer first\n if (valueOffsets) {\n addBuffer.call(this, rebaseValueOffsets(valueOffsets[0], length, valueOffsets));\n }\n // Then insert the List's values child\n return this.visit(vector.getChildAt(0)!);\n}\n\n/** @ignore */\nfunction assembleNestedVector(this: VectorAssembler, vector: V) {\n return this.visitMany(vector.type.children.map((_, i) => vector.getChildAt(i)!).filter(Boolean))[0];\n}\n\nVectorAssembler.prototype.visitBool = assembleBoolVector;\nVectorAssembler.prototype.visitInt = assembleFlatVector;\nVectorAssembler.prototype.visitFloat = assembleFlatVector;\nVectorAssembler.prototype.visitUtf8 = assembleFlatListVector;\nVectorAssembler.prototype.visitBinary = assembleFlatListVector;\nVectorAssembler.prototype.visitFixedSizeBinary = assembleFlatVector;\nVectorAssembler.prototype.visitDate = assembleFlatVector;\nVectorAssembler.prototype.visitTimestamp = assembleFlatVector;\nVectorAssembler.prototype.visitTime = assembleFlatVector;\nVectorAssembler.prototype.visitDecimal = assembleFlatVector;\nVectorAssembler.prototype.visitList = assembleListVector;\nVectorAssembler.prototype.visitStruct = assembleNestedVector;\nVectorAssembler.prototype.visitUnion = assembleUnion;\nVectorAssembler.prototype.visitInterval = assembleFlatVector;\nVectorAssembler.prototype.visitFixedSizeList = assembleListVector;\nVectorAssembler.prototype.visitMap = assembleListVector;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Table } from '../table';\nimport { MAGIC } from './message';\nimport { Vector } from '../vector';\nimport { Column } from '../column';\nimport { DataType } from '../type';\nimport { Schema, Field } from '../schema';\nimport { Message } from './metadata/message';\nimport * as metadata from './metadata/message';\nimport { FileBlock, Footer } from './metadata/file';\nimport { MessageHeader, MetadataVersion } from '../enum';\nimport { WritableSink, AsyncByteQueue } from '../io/stream';\nimport { VectorAssembler } from '../visitor/vectorassembler';\nimport { JSONTypeAssembler } from '../visitor/jsontypeassembler';\nimport { JSONVectorAssembler } from '../visitor/jsonvectorassembler';\nimport { ArrayBufferViewInput, toUint8Array } from '../util/buffer';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch';\nimport { Writable, ReadableInterop, ReadableDOMStreamOptions } from '../io/interfaces';\nimport { isPromise, isAsyncIterable, isWritableDOMStream, isWritableNodeStream, isIterable, isObject } from '../util/compat';\n\nexport interface RecordBatchStreamWriterOptions {\n /**\n *\n */\n autoDestroy?: boolean;\n /**\n * A flag indicating whether the RecordBatchWriter should construct pre-0.15.0\n * encapsulated IPC Messages, which reserves 4 bytes for the Message metadata\n * length instead of 8.\n * @see https://issues.apache.org/jira/browse/ARROW-6313\n */\n writeLegacyIpcFormat?: boolean;\n}\n\nexport class RecordBatchWriter extends ReadableInterop implements Writable> {\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM(\n // @ts-ignore\n writableStrategy?: QueuingStrategy> & { autoDestroy: boolean },\n // @ts-ignore\n readableStrategy?: { highWaterMark?: number, size?: any }\n ): { writable: WritableStream | RecordBatch>, readable: ReadableStream } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n constructor(options?: RecordBatchStreamWriterOptions) {\n super();\n isObject(options) || (options = { autoDestroy: true, writeLegacyIpcFormat: false });\n this._autoDestroy = (typeof options.autoDestroy === 'boolean') ? options.autoDestroy : true;\n this._writeLegacyIpcFormat = (typeof options.writeLegacyIpcFormat === 'boolean') ? options.writeLegacyIpcFormat : false;\n }\n\n protected _position = 0;\n protected _started = false;\n protected _autoDestroy: boolean;\n protected _writeLegacyIpcFormat: boolean;\n // @ts-ignore\n protected _sink = new AsyncByteQueue();\n protected _schema: Schema | null = null;\n protected _dictionaryBlocks: FileBlock[] = [];\n protected _recordBatchBlocks: FileBlock[] = [];\n protected _dictionaryDeltaOffsets = new Map();\n\n public toString(sync: true): string;\n public toString(sync?: false): Promise;\n public toString(sync: any = false) {\n return this._sink.toString(sync) as Promise | string;\n }\n public toUint8Array(sync: true): Uint8Array;\n public toUint8Array(sync?: false): Promise;\n public toUint8Array(sync: any = false) {\n return this._sink.toUint8Array(sync) as Promise | Uint8Array;\n }\n\n public writeAll(input: Table | Iterable>): this;\n public writeAll(input: AsyncIterable>): Promise;\n public writeAll(input: PromiseLike>>): Promise;\n public writeAll(input: PromiseLike | Iterable>>): Promise;\n public writeAll(input: PromiseLike | Table | Iterable> | AsyncIterable>) {\n if (isPromise(input)) {\n return input.then((x) => this.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(this, input);\n }\n return writeAll(this, input);\n }\n\n public get closed() { return this._sink.closed; }\n public [Symbol.asyncIterator]() { return this._sink[Symbol.asyncIterator](); }\n public toDOMStream(options?: ReadableDOMStreamOptions) { return this._sink.toDOMStream(options); }\n public toNodeStream(options?: import('stream').ReadableOptions) { return this._sink.toNodeStream(options); }\n\n public close() {\n return this.reset()._sink.close();\n }\n public abort(reason?: any) {\n return this.reset()._sink.abort(reason);\n }\n public finish() {\n this._autoDestroy ? this.close() : this.reset(this._sink, this._schema);\n return this;\n }\n public reset(sink: WritableSink = this._sink, schema: Schema | null = null) {\n\n if ((sink === this._sink) || (sink instanceof AsyncByteQueue)) {\n this._sink = sink as AsyncByteQueue;\n } else {\n this._sink = new AsyncByteQueue();\n if (sink && isWritableDOMStream(sink)) {\n this.toDOMStream({ type: 'bytes' }).pipeTo(sink);\n } else if (sink && isWritableNodeStream(sink)) {\n this.toNodeStream({ objectMode: false }).pipe(sink);\n }\n }\n\n if (this._started && this._schema) {\n this._writeFooter(this._schema);\n }\n\n this._started = false;\n this._dictionaryBlocks = [];\n this._recordBatchBlocks = [];\n this._dictionaryDeltaOffsets = new Map();\n\n if (!schema || !(schema.compareTo(this._schema))) {\n if (schema === null) {\n this._position = 0;\n this._schema = null;\n } else {\n this._started = true;\n this._schema = schema;\n this._writeSchema(schema);\n }\n }\n\n return this;\n }\n\n public write(payload?: Table | RecordBatch | Iterable> | null) {\n\n let schema: Schema | null = null;\n\n if (!this._sink) {\n throw new Error(`RecordBatchWriter is closed`);\n } else if (payload === null || payload === undefined) {\n return this.finish() && undefined;\n } else if (payload instanceof Table && !(schema = payload.schema)) {\n return this.finish() && undefined;\n } else if (payload instanceof RecordBatch && !(schema = payload.schema)) {\n return this.finish() && undefined;\n }\n\n if (schema && !schema.compareTo(this._schema)) {\n if (this._started && this._autoDestroy) {\n return this.close();\n }\n this.reset(this._sink, schema);\n }\n\n if (payload instanceof RecordBatch) {\n if (!(payload instanceof _InternalEmptyPlaceholderRecordBatch)) {\n this._writeRecordBatch(payload);\n }\n } else if (payload instanceof Table) {\n this.writeAll(payload.chunks);\n } else if (isIterable(payload)) {\n this.writeAll(payload);\n }\n }\n\n protected _writeMessage(message: Message, alignment = 8) {\n\n const a = alignment - 1;\n const buffer = Message.encode(message);\n const flatbufferSize = buffer.byteLength;\n const prefixSize = !this._writeLegacyIpcFormat ? 8 : 4;\n const alignedSize = (flatbufferSize + prefixSize + a) & ~a;\n const nPaddingBytes = alignedSize - flatbufferSize - prefixSize;\n\n if (message.headerType === MessageHeader.RecordBatch) {\n this._recordBatchBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n } else if (message.headerType === MessageHeader.DictionaryBatch) {\n this._dictionaryBlocks.push(new FileBlock(alignedSize, message.bodyLength, this._position));\n }\n\n // If not in legacy pre-0.15.0 mode, write the stream continuation indicator\n if (!this._writeLegacyIpcFormat) {\n this._write(Int32Array.of(-1));\n }\n // Write the flatbuffer size prefix including padding\n this._write(Int32Array.of(alignedSize - prefixSize));\n // Write the flatbuffer\n if (flatbufferSize > 0) { this._write(buffer); }\n // Write any padding\n return this._writePadding(nPaddingBytes);\n }\n\n protected _write(chunk: ArrayBufferViewInput) {\n if (this._started) {\n const buffer = toUint8Array(chunk);\n if (buffer && buffer.byteLength > 0) {\n this._sink.write(buffer);\n this._position += buffer.byteLength;\n }\n }\n return this;\n }\n\n protected _writeSchema(schema: Schema) {\n return this._writeMessage(Message.from(schema));\n }\n\n // @ts-ignore\n protected _writeFooter(schema: Schema) {\n // eos bytes\n return this._writeLegacyIpcFormat\n ? this._write(Int32Array.of(0))\n : this._write(Int32Array.of(-1, 0));\n }\n\n protected _writeMagic() {\n return this._write(MAGIC);\n }\n\n protected _writePadding(nBytes: number) {\n return nBytes > 0 ? this._write(new Uint8Array(nBytes)) : this;\n }\n\n protected _writeRecordBatch(batch: RecordBatch) {\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(batch);\n const recordBatch = new metadata.RecordBatch(batch.length, nodes, bufferRegions);\n const message = Message.from(recordBatch, byteLength);\n return this\n ._writeDictionaries(batch)\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeDictionaryBatch(dictionary: Vector, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n const { byteLength, nodes, bufferRegions, buffers } = VectorAssembler.assemble(dictionary);\n const recordBatch = new metadata.RecordBatch(dictionary.length, nodes, bufferRegions);\n const dictionaryBatch = new metadata.DictionaryBatch(recordBatch, id, isDelta);\n const message = Message.from(dictionaryBatch, byteLength);\n return this\n ._writeMessage(message)\n ._writeBodyBuffers(buffers);\n }\n\n protected _writeBodyBuffers(buffers: ArrayBufferView[]) {\n let buffer: ArrayBufferView;\n let size: number, padding: number;\n for (let i = -1, n = buffers.length; ++i < n;) {\n if ((buffer = buffers[i]) && (size = buffer.byteLength) > 0) {\n this._write(buffer);\n if ((padding = ((size + 7) & ~7) - size) > 0) {\n this._writePadding(padding);\n }\n }\n }\n return this;\n }\n\n protected _writeDictionaries(batch: RecordBatch) {\n for (let [id, dictionary] of batch.dictionaries) {\n let offset = this._dictionaryDeltaOffsets.get(id) || 0;\n if (offset === 0 || (dictionary = dictionary.slice(offset)).length > 0) {\n const chunks = 'chunks' in dictionary ? (dictionary as any).chunks : [dictionary];\n for (const chunk of chunks) {\n this._writeDictionaryBatch(chunk, id, offset > 0);\n offset += chunk.length;\n }\n }\n }\n return this;\n }\n}\n\n/** @ignore */\nexport class RecordBatchStreamWriter extends RecordBatchWriter {\n public static writeAll(input: Table | Iterable>, options?: RecordBatchStreamWriterOptions): RecordBatchStreamWriter;\n public static writeAll(input: AsyncIterable>, options?: RecordBatchStreamWriterOptions): Promise>;\n public static writeAll(input: PromiseLike>>, options?: RecordBatchStreamWriterOptions): Promise>;\n public static writeAll(input: PromiseLike | Iterable>>, options?: RecordBatchStreamWriterOptions): Promise>;\n /** @nocollapse */\n public static writeAll(input: any, options?: RecordBatchStreamWriterOptions) {\n const writer = new RecordBatchStreamWriter(options);\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n}\n\n/** @ignore */\nexport class RecordBatchFileWriter extends RecordBatchWriter {\n public static writeAll(input: Table | Iterable>): RecordBatchFileWriter;\n public static writeAll(input: AsyncIterable>): Promise>;\n public static writeAll(input: PromiseLike>>): Promise>;\n public static writeAll(input: PromiseLike | Iterable>>): Promise>;\n /** @nocollapse */\n public static writeAll(input: any) {\n const writer = new RecordBatchFileWriter();\n if (isPromise(input)) {\n return input.then((x) => writer.writeAll(x));\n } else if (isAsyncIterable>(input)) {\n return writeAllAsync(writer, input);\n }\n return writeAll(writer, input);\n }\n\n constructor() {\n super();\n this._autoDestroy = true;\n }\n\n // @ts-ignore\n protected _writeSchema(schema: Schema) {\n return this._writeMagic()._writePadding(2);\n }\n\n protected _writeFooter(schema: Schema) {\n const buffer = Footer.encode(new Footer(\n schema, MetadataVersion.V4,\n this._recordBatchBlocks, this._dictionaryBlocks\n ));\n return super\n ._writeFooter(schema) // EOS bytes for sequential readers\n ._write(buffer) // Write the flatbuffer\n ._write(Int32Array.of(buffer.byteLength)) // then the footer size suffix\n ._writeMagic(); // then the magic suffix\n }\n}\n\n/** @ignore */\nexport class RecordBatchJSONWriter extends RecordBatchWriter {\n\n public static writeAll(this: typeof RecordBatchWriter, input: Table | Iterable>): RecordBatchJSONWriter;\n // @ts-ignore\n public static writeAll(this: typeof RecordBatchWriter, input: AsyncIterable>): Promise>;\n public static writeAll(this: typeof RecordBatchWriter, input: PromiseLike>>): Promise>;\n public static writeAll(this: typeof RecordBatchWriter, input: PromiseLike | Iterable>>): Promise>;\n /** @nocollapse */\n public static writeAll(this: typeof RecordBatchWriter, input: any) {\n return new RecordBatchJSONWriter().writeAll(input as any);\n }\n\n private _recordBatches: RecordBatch[];\n private _dictionaries: RecordBatch[];\n\n constructor() {\n super();\n this._autoDestroy = true;\n this._recordBatches = [];\n this._dictionaries = [];\n }\n\n protected _writeMessage() { return this; }\n // @ts-ignore\n protected _writeFooter(schema: Schema) { return this; }\n protected _writeSchema(schema: Schema) {\n return this._write(`{\\n \"schema\": ${\n JSON.stringify({ fields: schema.fields.map(fieldToJSON) }, null, 2)\n }`);\n }\n protected _writeDictionaries(batch: RecordBatch) {\n if (batch.dictionaries.size > 0) {\n this._dictionaries.push(batch);\n }\n return this;\n }\n protected _writeDictionaryBatch(dictionary: Vector, id: number, isDelta = false) {\n this._dictionaryDeltaOffsets.set(id, dictionary.length + (this._dictionaryDeltaOffsets.get(id) || 0));\n this._write(this._dictionaryBlocks.length === 0 ? ` ` : `,\\n `);\n this._write(`${dictionaryBatchToJSON(dictionary, id, isDelta)}`);\n this._dictionaryBlocks.push(new FileBlock(0, 0, 0));\n return this;\n }\n protected _writeRecordBatch(batch: RecordBatch) {\n this._writeDictionaries(batch);\n this._recordBatches.push(batch);\n return this;\n }\n public close() {\n\n if (this._dictionaries.length > 0) {\n this._write(`,\\n \"dictionaries\": [\\n`);\n for (const batch of this._dictionaries) {\n super._writeDictionaries(batch);\n }\n this._write(`\\n ]`);\n }\n\n if (this._recordBatches.length > 0) {\n for (let i = -1, n = this._recordBatches.length; ++i < n;) {\n this._write(i === 0 ? `,\\n \"batches\": [\\n ` : `,\\n `);\n this._write(`${recordBatchToJSON(this._recordBatches[i])}`);\n this._recordBatchBlocks.push(new FileBlock(0, 0, 0));\n }\n this._write(`\\n ]`);\n }\n\n if (this._schema) {\n this._write(`\\n}`);\n }\n\n this._dictionaries = [];\n this._recordBatches = [];\n\n return super.close();\n }\n}\n\n/** @ignore */\nfunction writeAll(writer: RecordBatchWriter, input: Table | Iterable>) {\n let chunks = input as Iterable>;\n if (input instanceof Table) {\n chunks = input.chunks;\n writer.reset(undefined, input.schema);\n }\n for (const batch of chunks) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nasync function writeAllAsync(writer: RecordBatchWriter, batches: AsyncIterable>) {\n for await (const batch of batches) {\n writer.write(batch);\n }\n return writer.finish();\n}\n\n/** @ignore */\nfunction fieldToJSON({ name, type, nullable }: Field): object {\n const assembler = new JSONTypeAssembler();\n return {\n 'name': name, 'nullable': nullable,\n 'type': assembler.visit(type),\n 'children': (type.children || []).map(fieldToJSON),\n 'dictionary': !DataType.isDictionary(type) ? undefined : {\n 'id': type.id,\n 'isOrdered': type.isOrdered,\n 'indexType': assembler.visit(type.indices)\n }\n };\n}\n\n/** @ignore */\nfunction dictionaryBatchToJSON(dictionary: Vector, id: number, isDelta = false) {\n const field = new Field(`${id}`, dictionary.type, dictionary.nullCount > 0);\n const columns = JSONVectorAssembler.assemble(new Column(field, [dictionary]));\n return JSON.stringify({\n 'id': id,\n 'isDelta': isDelta,\n 'data': {\n 'count': dictionary.length,\n 'columns': columns\n }\n }, null, 2);\n}\n\n/** @ignore */\nfunction recordBatchToJSON(records: RecordBatch) {\n return JSON.stringify({\n 'count': records.length,\n 'columns': JSONVectorAssembler.assemble(records)\n }, null, 2);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Column } from '../column';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Data, Buffers } from '../data';\nimport { Schema, Field } from '../schema';\nimport { Chunked } from '../vector/chunked';\nimport { RecordBatch } from '../recordbatch';\n\nconst noopBuf = new Uint8Array(0);\nconst nullBufs = (bitmapLength: number) => [\n noopBuf, noopBuf, new Uint8Array(bitmapLength), noopBuf\n] as Buffers;\n\n/** @ignore */\nexport function ensureSameLengthData(\n schema: Schema,\n chunks: Data[],\n batchLength = chunks.reduce((l, c) => Math.max(l, c.length), 0)\n) {\n let data: Data;\n let field: Field;\n let i = -1, n = chunks.length;\n const fields = [...schema.fields];\n const batchData = [] as Data[];\n const bitmapLength = ((batchLength + 63) & ~63) >> 3;\n while (++i < n) {\n if ((data = chunks[i]) && data.length === batchLength) {\n batchData[i] = data;\n } else {\n (field = fields[i]).nullable || (fields[i] = fields[i].clone({ nullable: true }) as Field);\n batchData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)\n : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength)) as Data;\n }\n }\n return [new Schema(fields), batchLength, batchData] as [Schema, number, Data[]];\n}\n\n/** @ignore */\nexport function distributeColumnsIntoRecordBatches(columns: Column[]): [Schema, RecordBatch[]] {\n return distributeVectorsIntoRecordBatches(new Schema(columns.map(({ field }) => field)), columns);\n}\n\n/** @ignore */\nexport function distributeVectorsIntoRecordBatches(schema: Schema, vecs: (Vector | Chunked)[]): [Schema, RecordBatch[]] {\n return uniformlyDistributeChunksAcrossRecordBatches(schema, vecs.map((v) => v instanceof Chunked ? v.chunks.map((c) => c.data) : [v.data]));\n}\n\n/** @ignore */\nfunction uniformlyDistributeChunksAcrossRecordBatches(schema: Schema, columns: Data[][]): [Schema, RecordBatch[]] {\n\n const fields = [...schema.fields];\n const batchArgs = [] as [number, Data[]][];\n const memo = { numBatches: columns.reduce((n, c) => Math.max(n, c.length), 0) };\n\n let numBatches = 0, batchLength = 0;\n let i: number = -1, numColumns = columns.length;\n let child: Data, childData: Data[] = [];\n\n while (memo.numBatches-- > 0) {\n\n for (batchLength = Number.POSITIVE_INFINITY, i = -1; ++i < numColumns;) {\n childData[i] = child = columns[i].shift()!;\n batchLength = Math.min(batchLength, child ? child.length : batchLength);\n }\n\n if (isFinite(batchLength)) {\n childData = distributeChildData(fields, batchLength, childData, columns, memo);\n if (batchLength > 0) {\n batchArgs[numBatches++] = [batchLength, childData.slice()];\n }\n }\n }\n return [\n schema = new Schema(fields, schema.metadata),\n batchArgs.map((xs) => new RecordBatch(schema, ...xs))\n ];\n}\n\n/** @ignore */\nfunction distributeChildData(fields: Field[], batchLength: number, childData: Data[], columns: Data[][], memo: { numBatches: number }) {\n let data: Data;\n let field: Field;\n let length = 0, i = -1, n = columns.length;\n const bitmapLength = ((batchLength + 63) & ~63) >> 3;\n while (++i < n) {\n if ((data = childData[i]) && ((length = data.length) >= batchLength)) {\n if (length === batchLength) {\n childData[i] = data;\n } else {\n childData[i] = data.slice(0, batchLength);\n data = data.slice(batchLength, length - batchLength);\n memo.numBatches = Math.max(memo.numBatches, columns[i].unshift(data));\n }\n } else {\n (field = fields[i]).nullable || (fields[i] = field.clone({ nullable: true }) as Field);\n childData[i] = data ? data._changeLengthAndBackfillNullBitmap(batchLength)\n : Data.new(field.type, 0, batchLength, batchLength, nullBufs(bitmapLength)) as Data;\n }\n }\n return childData;\n}\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Chunked } from './chunked';\nimport { clampRange } from '../util/vector';\nimport { VectorType as V } from '../interfaces';\nimport { AbstractVector, Vector, Clonable, Sliceable, Applicative } from '../vector';\n\n/** @ignore */\nexport interface BaseVector extends Clonable>, Sliceable>, Applicative> {\n slice(begin?: number, end?: number): V;\n concat(...others: Vector[]): Chunked;\n clone(data: Data, children?: Vector[]): V;\n}\n\n/** @ignore */\nexport abstract class BaseVector extends AbstractVector\n implements Clonable>, Sliceable>, Applicative> {\n\n protected _children?: Vector[];\n\n constructor(data: Data, children?: Vector[]) {\n super();\n this._children = children;\n this.numChildren = data.childData.length;\n this._bindDataAccessors(this.data = data);\n }\n\n public readonly data: Data;\n public readonly numChildren: number;\n\n public get type() { return this.data.type; }\n public get typeId() { return this.data.typeId; }\n public get length() { return this.data.length; }\n public get offset() { return this.data.offset; }\n public get stride() { return this.data.stride; }\n public get nullCount() { return this.data.nullCount; }\n public get byteLength() { return this.data.byteLength; }\n public get VectorName() { return `${Type[this.typeId]}Vector`; }\n\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n public get values() { return this.data.values; }\n public get typeIds() { return this.data.typeIds; }\n public get nullBitmap() { return this.data.nullBitmap; }\n public get valueOffsets() { return this.data.valueOffsets; }\n\n public get [Symbol.toStringTag]() { return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`; }\n\n public clone(data: Data, children = this._children) {\n return Vector.new(data, children) as any;\n }\n\n public concat(...others: Vector[]) {\n return Chunked.concat(this, ...others);\n }\n\n public slice(begin?: number, end?: number) {\n // Adjust args similar to Array.prototype.slice. Normalize begin/end to\n // clamp between 0 and length, and wrap around on negative indices, e.g.\n // slice(-1, 5) or slice(5, -1)\n return clampRange(this, begin, end, this._sliceInternal);\n }\n\n public isValid(index: number): boolean {\n if (this.nullCount > 0) {\n const idx = this.offset + index;\n const val = this.nullBitmap[idx >> 3];\n const mask = (val & (1 << (idx % 8)));\n return mask !== 0;\n }\n return true;\n }\n\n public getChildAt(index: number): Vector | null {\n return index < 0 || index >= this.numChildren ? null : (\n (this._children || (this._children = []))[index] ||\n (this._children[index] = Vector.new(this.data.childData[index] as Data))\n ) as Vector;\n }\n\n public toJSON(): any { return [...this]; }\n\n protected _sliceInternal(self: this, begin: number, end: number) {\n return self.clone(self.data.slice(begin, end - begin), null!);\n }\n\n // @ts-ignore\n protected _bindDataAccessors(data: Data) {\n // Implementation in src/vectors/index.ts due to circular dependency/packaging shenanigans\n }\n}\n\n(BaseVector.prototype as any)[Symbol.isConcatSpreadable] = true;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { Binary, Utf8 } from '../type';\n\n/** @ignore */\nexport class BinaryVector extends BaseVector {\n public asUtf8() {\n return Vector.new(this.data.clone(new Utf8()));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Bool } from '../type';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\n\n/** @ignore */\nexport class BoolVector extends BaseVector {\n public static from(input: Iterable): BoolVector;\n public static from(input: AsyncIterable): Promise;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n return vectorFromValuesWithType(() => new Bool(), input);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DateUnit } from '../enum';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorType as V } from '../interfaces';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { Date_, DateDay, DateMillisecond } from '../type';\n\n/** @ignore */\ntype FromArgs = [Iterable, T['unit']];\n\n/** @ignore */\nexport class DateVector extends BaseVector {\n public static from(...args: FromArgs): V;\n public static from(...args: FromArgs): V;\n public static from(input: Iterable): V;\n public static from(input: AsyncIterable): Promise>;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(...args: FromArgs | [Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync]) {\n if (args.length === 2) {\n return vectorFromValuesWithType(() => args[1] === DateUnit.DAY ? new DateDay() : new DateMillisecond() as T, args[0]);\n }\n return vectorFromValuesWithType(() => new DateMillisecond() as T, args[0]);\n }\n}\n\n/** @ignore */\nexport class DateDayVector extends DateVector {}\n\n/** @ignore */\nexport class DateMillisecondVector extends DateVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Decimal } from '../type';\nimport { BaseVector } from './base';\n\n/** @ignore */\nexport class DecimalVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { VectorType as V } from '../interfaces';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { DataType, Dictionary, TKeys } from '../type';\n\n/** @ignore */\ntype FromArgs = [Vector, TKey, ArrayLike | TKey['TArray']];\n\n/** @ignore */\nexport class DictionaryVector extends BaseVector> {\n public static from(...args: FromArgs): V>;\n public static from(input: VectorBuilderOptions>): Vector>;\n public static from(input: VectorBuilderOptionsAsync>): Promise>>;\n /** @nocollapse */\n public static from(...args: any[]) {\n if (args.length === 3) {\n const [values, indices, keys] = args as FromArgs;\n const type = new Dictionary(values.type, indices, null, null);\n return Vector.new(Data.Dictionary(type, 0, keys.length, 0, null, keys, values));\n }\n return vectorFromValuesWithType(() => args[0].type, args[0]);\n }\n\n constructor(data: Data>) {\n super(data);\n this.indices = Vector.new(data.clone(this.type.indices));\n }\n\n public readonly indices: V;\n\n public get dictionary() { return > this.data.dictionary; }\n public reverseLookup(value: T) { return this.dictionary.indexOf(value); }\n public getKey(idx: number): TKey['TValue'] | null { return this.indices.get(idx); }\n public getValue(key: number): T['TValue'] | null { return this.dictionary.get(key); }\n public setKey(idx: number, key: TKey['TValue'] | null) { return this.indices.set(idx, key); }\n public setValue(key: number, value: T['TValue'] | null) { return this.dictionary.set(key, value); }\n}\n\n(DictionaryVector.prototype as any).indices = null;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { FixedSizeBinary } from '../type';\n\n/** @ignore */\nexport class FixedSizeBinaryVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { DataType, FixedSizeList } from '../type';\n\n/** @ignore */\nexport class FixedSizeListVector extends BaseVector> {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { Float, Float16, Float32, Float64, FloatArray } from '../type';\nimport { VectorType as V, TypedArrayConstructor } from '../interfaces';\n\n/** @ignore */\ntype FloatVectorConstructors =\n typeof FloatVector |\n typeof Float16Vector |\n typeof Float32Vector |\n typeof Float64Vector ;\n\n/** @ignore */\ntype FromInput =\n FloatArray |\n Iterable |\n AsyncIterable |\n VectorBuilderOptions |\n VectorBuilderOptionsAsync ;\n\n/** @ignore */\ntype FloatArrayCtor = TypedArrayConstructor;\n\n/** @ignore */\nexport class FloatVector extends BaseVector {\n\n // Guaranteed zero-copy variants\n public static from(this: typeof FloatVector, input: Uint16Array): Float16Vector;\n public static from(this: typeof FloatVector, input: Float32Array): Float32Vector;\n public static from(this: typeof FloatVector, input: Float64Array): Float64Vector;\n\n // Zero-copy if input is a TypedArray of the same type as the\n // Vector that from is called on, otherwise uses the Builders\n public static from(this: typeof Float16Vector, input: FromInput): Float16Vector;\n public static from(this: typeof Float32Vector, input: FromInput): Float32Vector;\n public static from(this: typeof Float64Vector, input: FromInput): Float64Vector;\n\n // Not zero-copy\n public static from(this: typeof FloatVector, input: Iterable): V;\n public static from(this: typeof FloatVector, input: AsyncIterable): Promise>;\n public static from(this: typeof FloatVector, input: VectorBuilderOptions): Chunked;\n public static from(this: typeof FloatVector, input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(this: FloatVectorConstructors, input: FromInput) {\n\n let ArrowType = vectorTypeToDataType(this);\n\n if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {\n let InputType = arrayTypeToDataType(input.constructor as FloatArrayCtor) || ArrowType;\n // Special case, infer the Arrow DataType from the input if calling the base\n // FloatVector.from with a TypedArray, e.g. `FloatVector.from(new Float32Array())`\n if (ArrowType === null) {\n ArrowType = InputType;\n }\n // If the DataType inferred from the Vector constructor matches the\n // DataType inferred from the input arguments, return zero-copy view\n if (ArrowType && ArrowType === InputType) {\n let type = new ArrowType();\n let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;\n // If the ArrowType is Float16 but the input type isn't a Uint16Array,\n // let the Float16Builder handle casting the input values to Uint16s.\n if (!convertTo16Bit(ArrowType, input.constructor)) {\n return Vector.new(Data.Float(type, 0, length, 0, null, input as FloatArray));\n }\n }\n }\n\n if (ArrowType) {\n // If the DataType inferred from the Vector constructor is different than\n // the DataType inferred from the input TypedArray, or if input isn't a\n // TypedArray, use the Builders to construct the result Vector\n return vectorFromValuesWithType(() => new ArrowType!() as T, input);\n }\n\n if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {\n throw new TypeError(`Cannot infer float type from instance of ${input.constructor.name}`);\n }\n\n throw new TypeError('Unrecognized FloatVector input');\n }\n}\n\n/** @ignore */\nexport class Float16Vector extends FloatVector {\n // Since JS doesn't have half floats, `toArray()` returns a zero-copy slice\n // of the underlying Uint16Array data. This behavior ensures we don't incur\n // extra compute or copies if you're calling `toArray()` in order to create\n // a buffer for something like WebGL. Buf if you're using JS and want typed\n // arrays of 4-to-8-byte precision, these methods will enumerate the values\n // and clamp to the desired byte lengths.\n public toFloat32Array() { return new Float32Array(this as Iterable); }\n public toFloat64Array() { return new Float64Array(this as Iterable); }\n}\n\n/** @ignore */\nexport class Float32Vector extends FloatVector {}\n/** @ignore */\nexport class Float64Vector extends FloatVector {}\n\nconst convertTo16Bit = (typeCtor: any, dataCtor: any) => {\n return (typeCtor === Float16) && (dataCtor !== Uint16Array);\n};\n\n/** @ignore */\nconst arrayTypeToDataType = (ctor: FloatArrayCtor) => {\n switch (ctor) {\n case Uint16Array: return Float16;\n case Float32Array: return Float32;\n case Float64Array: return Float64;\n default: return null;\n }\n};\n\n/** @ignore */\nconst vectorTypeToDataType = (ctor: FloatVectorConstructors) => {\n switch (ctor) {\n case Float16Vector: return Float16;\n case Float32Vector: return Float32;\n case Float64Vector: return Float64;\n default: return null;\n }\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Interval, IntervalDayTime, IntervalYearMonth } from '../type';\n\n/** @ignore */\nexport class IntervalVector extends BaseVector {}\n/** @ignore */\nexport class IntervalDayTimeVector extends IntervalVector {}\n/** @ignore */\nexport class IntervalYearMonthVector extends IntervalVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\nimport { BigInt64Array, BigUint64Array } from '../util/compat';\nimport { toBigInt64Array, toBigUint64Array } from '../util/buffer';\nimport { Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64, IntArray } from '../type';\nimport { VectorType as V, TypedArrayConstructor, BigIntArrayConstructor, BigIntArray } from '../interfaces';\n\n/** @ignore */\ntype IntVectorConstructors =\n typeof IntVector |\n typeof Int8Vector |\n typeof Int16Vector |\n typeof Int32Vector |\n typeof Uint8Vector |\n typeof Uint16Vector |\n typeof Uint32Vector |\n typeof Int64Vector |\n typeof Uint64Vector ;\n\n/** @ignore */\ntype FromInput =\n IntArray | BigIntArray |\n Iterable |\n AsyncIterable |\n VectorBuilderOptions |\n VectorBuilderOptionsAsync ;\n\n/** @ignore */\ntype FromArgs = [FromInput, boolean?];\n\n/** @ignore */\ntype IntArrayCtor = TypedArrayConstructor | BigIntArrayConstructor;\n\n/** @ignore */\nexport class IntVector extends BaseVector {\n\n // Guaranteed zero-copy variants\n public static from(this: typeof IntVector, input: Int8Array): Int8Vector;\n public static from(this: typeof IntVector, input: Int16Array): Int16Vector;\n public static from(this: typeof IntVector, input: Int32Array): Int32Vector;\n public static from(this: typeof IntVector, input: BigInt64Array): Int64Vector;\n public static from(this: typeof IntVector, input: Int32Array, is64bit: true): Int64Vector;\n public static from(this: typeof IntVector, input: Uint8Array): Uint8Vector;\n public static from(this: typeof IntVector, input: Uint16Array): Uint16Vector;\n public static from(this: typeof IntVector, input: Uint32Array): Uint32Vector;\n public static from(this: typeof IntVector, input: BigUint64Array): Uint64Vector;\n public static from(this: typeof IntVector, input: Uint32Array, is64bit: true): Uint64Vector;\n\n // Zero-copy if input is a TypedArray of the same type as the\n // Vector that from is called on, otherwise uses the Builders\n public static from(this: typeof Int8Vector, input: FromInput): Int8Vector;\n public static from(this: typeof Int16Vector, input: FromInput): Int16Vector;\n public static from(this: typeof Int32Vector, input: FromInput): Int32Vector;\n public static from(this: typeof Int64Vector, input: FromInput): Int64Vector;\n public static from(this: typeof Uint8Vector, input: FromInput): Uint8Vector;\n public static from(this: typeof Uint16Vector, input: FromInput): Uint16Vector;\n public static from(this: typeof Uint32Vector, input: FromInput): Uint32Vector;\n public static from(this: typeof Uint64Vector, input: FromInput): Uint64Vector;\n\n // Not zero-copy\n public static from(this: typeof IntVector, input: Iterable): V;\n public static from(this: typeof IntVector, input: AsyncIterable): Promise>;\n public static from(this: typeof IntVector, input: VectorBuilderOptions): Chunked;\n public static from(this: typeof IntVector, input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(this: IntVectorConstructors, ...args: FromArgs) {\n\n let [input, is64bit = false] = args;\n let ArrowType = vectorTypeToDataType(this, is64bit);\n\n if ((input instanceof ArrayBuffer) || ArrayBuffer.isView(input)) {\n let InputType = arrayTypeToDataType(input.constructor as IntArrayCtor, is64bit) || ArrowType;\n // Special case, infer the Arrow DataType from the input if calling the base\n // IntVector.from with a TypedArray, e.g. `IntVector.from(new Int32Array())`\n if (ArrowType === null) {\n ArrowType = InputType;\n }\n // If the DataType inferred from the Vector constructor matches the\n // DataType inferred from the input arguments, return zero-copy view\n if (ArrowType && ArrowType === InputType) {\n let type = new ArrowType();\n let length = input.byteLength / type.ArrayType.BYTES_PER_ELEMENT;\n // If the ArrowType is 64bit but the input type is 32bit pairs, update the logical length\n if (convert32To64Bit(ArrowType, input.constructor)) {\n length *= 0.5;\n }\n return Vector.new(Data.Int(type, 0, length, 0, null, input as IntArray));\n }\n }\n\n if (ArrowType) {\n // If the DataType inferred from the Vector constructor is different than\n // the DataType inferred from the input TypedArray, or if input isn't a\n // TypedArray, use the Builders to construct the result Vector\n return vectorFromValuesWithType(() => new ArrowType!() as T, input);\n }\n\n if ((input instanceof DataView) || (input instanceof ArrayBuffer)) {\n throw new TypeError(`Cannot infer integer type from instance of ${input.constructor.name}`);\n }\n\n throw new TypeError('Unrecognized IntVector input');\n }\n}\n\n/** @ignore */\nexport class Int8Vector extends IntVector {}\n/** @ignore */\nexport class Int16Vector extends IntVector {}\n/** @ignore */\nexport class Int32Vector extends IntVector {}\n/** @ignore */\nexport class Int64Vector extends IntVector {\n public toBigInt64Array() {\n return toBigInt64Array(this.values);\n }\n // @ts-ignore\n private _values64: BigInt64Array;\n public get values64(): BigInt64Array {\n return this._values64 || (this._values64 = this.toBigInt64Array());\n }\n}\n\n/** @ignore */\nexport class Uint8Vector extends IntVector {}\n/** @ignore */\nexport class Uint16Vector extends IntVector {}\n/** @ignore */\nexport class Uint32Vector extends IntVector {}\n/** @ignore */\nexport class Uint64Vector extends IntVector {\n public toBigUint64Array() {\n return toBigUint64Array(this.values);\n }\n // @ts-ignore\n private _values64: BigUint64Array;\n public get values64(): BigUint64Array {\n return this._values64 || (this._values64 = this.toBigUint64Array());\n }\n}\n\nconst convert32To64Bit = (typeCtor: any, dataCtor: any) => {\n return (typeCtor === Int64 || typeCtor === Uint64) &&\n (dataCtor === Int32Array || dataCtor === Uint32Array);\n};\n\n/** @ignore */\nconst arrayTypeToDataType = (ctor: IntArrayCtor, is64bit: boolean) => {\n switch (ctor) {\n case Int8Array: return Int8;\n case Int16Array: return Int16;\n case Int32Array: return is64bit ? Int64 : Int32;\n case BigInt64Array: return Int64;\n case Uint8Array: return Uint8;\n case Uint16Array: return Uint16;\n case Uint32Array: return is64bit ? Uint64 : Uint32;\n case BigUint64Array: return Uint64;\n default: return null;\n }\n};\n\n/** @ignore */\nconst vectorTypeToDataType = (ctor: IntVectorConstructors, is64bit: boolean) => {\n switch (ctor) {\n case Int8Vector: return Int8;\n case Int16Vector: return Int16;\n case Int32Vector: return is64bit ? Int64 : Int32;\n case Int64Vector: return Int64;\n case Uint8Vector: return Uint8;\n case Uint16Vector: return Uint16;\n case Uint32Vector: return is64bit ? Uint64 : Uint32;\n case Uint64Vector: return Uint64;\n default: return null;\n }\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { DataType, List } from '../type';\n\n/** @ignore */\nexport class ListVector extends BaseVector> {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MapRow } from './row';\nimport { Field } from '../schema';\nimport { Vector } from '../vector';\nimport { BaseVector } from './base';\nimport { DataType, Map_, Struct, List } from '../type';\n\n/** @ignore */\nexport class MapVector extends BaseVector> {\n public asList() {\n const child = this.type.children[0] as Field>;\n return Vector.new(this.data.clone(new List>(child)));\n }\n public bind(index: number): Map_['TValue'] {\n const child = this.getChildAt>(0);\n const { [index]: begin, [index + 1]: end } = this.valueOffsets;\n return new MapRow(child!.slice(begin, end));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Null } from '../type';\nimport { BaseVector } from './base';\n\n/** @ignore */\nexport class NullVector extends BaseVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { StructRow } from './row';\nimport { BaseVector } from './base';\nimport { DataType, Struct } from '../type';\n\n/** @ignore */ const kRowIndex = Symbol.for('rowIndex');\n/** @ignore */\nexport class StructVector extends BaseVector> {\n // @ts-ignore\n private _row: StructRow;\n public bind(index: number): Struct['TValue'] {\n const proto = this._row || (this._row = new StructRow(this));\n const bound = Object.create(proto);\n bound[kRowIndex] = index;\n return bound;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond } from '../type';\n\n/** @ignore */\nexport class TimestampVector extends BaseVector {}\n/** @ignore */\nexport class TimestampSecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampMillisecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampMicrosecondVector extends TimestampVector {}\n/** @ignore */\nexport class TimestampNanosecondVector extends TimestampVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond } from '../type';\n\n/** @ignore */\nexport class TimeVector extends BaseVector {}\n/** @ignore */\nexport class TimeSecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeMillisecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeMicrosecondVector extends TimeVector {}\n/** @ignore */\nexport class TimeNanosecondVector extends TimeVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { BaseVector } from './base';\nimport { Union, DenseUnion, SparseUnion} from '../type';\n\n/** @ignore */\nexport class UnionVector extends BaseVector {\n public get typeIdToChildIndex() { return this.data.type.typeIdToChildIndex; }\n}\n\n/** @ignore */\nexport class DenseUnionVector extends UnionVector {\n public get valueOffsets() { return this.data.valueOffsets!; }\n}\n\n/** @ignore */\nexport class SparseUnionVector extends UnionVector {}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { Binary, Utf8 } from '../type';\nimport { VectorBuilderOptions } from './index';\nimport { vectorFromValuesWithType } from './index';\nimport { VectorBuilderOptionsAsync } from './index';\n\n/** @ignore */\nexport class Utf8Vector extends BaseVector {\n public static from(input: Iterable): Utf8Vector;\n public static from(input: AsyncIterable): Promise;\n public static from(input: VectorBuilderOptions): Chunked;\n public static from(input: VectorBuilderOptionsAsync): Promise>;\n /** @nocollapse */\n public static from(input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n return vectorFromValuesWithType(() => new Utf8(), input);\n }\n public asBinary() {\n return Vector.new(this.data.clone(new Binary()));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\n/** @ignore */\nexport function partial0(visit: (node: T) => any) {\n return function(this: T) { return visit(this); };\n}\n\n/** @ignore */\nexport function partial1(visit: (node: T, a: any) => any) {\n return function(this: T, a: any) { return visit(this, a); };\n}\n\n/** @ignore */\nexport function partial2(visit: (node: T, a: any, b: any) => any) {\n return function(this: T, a: any, b: any) { return visit(this, a, b); };\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { BN } from '../util/bn';\nimport { Visitor } from '../visitor';\nimport { decodeUtf8 } from '../util/utf8';\nimport { VectorType } from '../interfaces';\nimport { uint16ToFloat64 } from '../util/math';\nimport { Type, UnionMode, Precision, DateUnit, TimeUnit, IntervalUnit } from '../enum';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface GetVisitor extends Visitor {\n visit (node: T, index: number): T['TValue'];\n visitMany (nodes: T[], indices: number[]): T['TValue'][];\n getVisitFn (node: T): (vector: VectorType, index: number) => VectorType['TValue'];\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, index: number) => VectorType['TValue'];\n visitNull (vector: VectorType, index: number): T['TValue'];\n visitBool (vector: VectorType, index: number): T['TValue'];\n visitInt (vector: VectorType, index: number): T['TValue'];\n visitInt8 (vector: VectorType, index: number): T['TValue'];\n visitInt16 (vector: VectorType, index: number): T['TValue'];\n visitInt32 (vector: VectorType, index: number): T['TValue'];\n visitInt64 (vector: VectorType, index: number): T['TValue'];\n visitUint8 (vector: VectorType, index: number): T['TValue'];\n visitUint16 (vector: VectorType, index: number): T['TValue'];\n visitUint32 (vector: VectorType, index: number): T['TValue'];\n visitUint64 (vector: VectorType, index: number): T['TValue'];\n visitFloat (vector: VectorType, index: number): T['TValue'];\n visitFloat16 (vector: VectorType, index: number): T['TValue'];\n visitFloat32 (vector: VectorType, index: number): T['TValue'];\n visitFloat64 (vector: VectorType, index: number): T['TValue'];\n visitUtf8 (vector: VectorType, index: number): T['TValue'];\n visitBinary (vector: VectorType, index: number): T['TValue'];\n visitFixedSizeBinary (vector: VectorType, index: number): T['TValue'];\n visitDate (vector: VectorType, index: number): T['TValue'];\n visitDateDay (vector: VectorType, index: number): T['TValue'];\n visitDateMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimestamp (vector: VectorType, index: number): T['TValue'];\n visitTimestampSecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampMicrosecond (vector: VectorType, index: number): T['TValue'];\n visitTimestampNanosecond (vector: VectorType, index: number): T['TValue'];\n visitTime (vector: VectorType, index: number): T['TValue'];\n visitTimeSecond (vector: VectorType, index: number): T['TValue'];\n visitTimeMillisecond (vector: VectorType, index: number): T['TValue'];\n visitTimeMicrosecond (vector: VectorType, index: number): T['TValue'];\n visitTimeNanosecond (vector: VectorType, index: number): T['TValue'];\n visitDecimal (vector: VectorType, index: number): T['TValue'];\n visitList (vector: VectorType, index: number): T['TValue'];\n visitStruct (vector: VectorType, index: number): T['TValue'];\n visitUnion (vector: VectorType, index: number): T['TValue'];\n visitDenseUnion (vector: VectorType, index: number): T['TValue'];\n visitSparseUnion (vector: VectorType, index: number): T['TValue'];\n visitDictionary (vector: VectorType, index: number): T['TValue'];\n visitInterval (vector: VectorType, index: number): T['TValue'];\n visitIntervalDayTime (vector: VectorType, index: number): T['TValue'];\n visitIntervalYearMonth (vector: VectorType, index: number): T['TValue'];\n visitFixedSizeList (vector: VectorType, index: number): T['TValue'];\n visitMap (vector: VectorType, index: number): T['TValue'];\n}\n\n/** @ignore */\nexport class GetVisitor extends Visitor {}\n\n/** @ignore */const epochDaysToMs = (data: Int32Array, index: number) => 86400000 * data[index];\n/** @ignore */const epochMillisecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1]) + (data[index] >>> 0);\n/** @ignore */const epochMicrosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000) + ((data[index] >>> 0) / 1000);\n/** @ignore */const epochNanosecondsLongToMs = (data: Int32Array, index: number) => 4294967296 * (data[index + 1] / 1000000) + ((data[index] >>> 0) / 1000000);\n\n/** @ignore */const epochMillisecondsToDate = (epochMs: number) => new Date(epochMs);\n/** @ignore */const epochDaysToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochDaysToMs(data, index));\n/** @ignore */const epochMillisecondsLongToDate = (data: Int32Array, index: number) => epochMillisecondsToDate(epochMillisecondsLongToMs(data, index));\n\n/** @ignore */\nconst getNull = (_vector: VectorType, _index: number): T['TValue'] => null;\n/** @ignore */\nconst getVariableWidthBytes = (values: Uint8Array, valueOffsets: Int32Array, index: number) => {\n const { [index]: x, [index + 1]: y } = valueOffsets;\n return x != null && y != null ? values.subarray(x, y) : null as any;\n};\n\n/** @ignore */\nconst getBool = ({ offset, values }: VectorType, index: number): T['TValue'] => {\n const idx = offset + index;\n const byte = values[idx >> 3];\n return (byte & 1 << (idx % 8)) !== 0;\n};\n\n/** @ignore */\ntype Numeric1X = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Float32 | Float64;\n/** @ignore */\ntype Numeric2X = Int64 | Uint64;\n\n/** @ignore */\nconst getDateDay = ({ values }: VectorType, index: number): T['TValue'] => epochDaysToDate(values, index);\n/** @ignore */\nconst getDateMillisecond = ({ values }: VectorType, index: number): T['TValue'] => epochMillisecondsLongToDate(values, index * 2);\n/** @ignore */\nconst getNumeric = ({ stride, values }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getFloat16 = ({ stride, values }: VectorType, index: number): T['TValue'] => uint16ToFloat64(values[stride * index]);\n/** @ignore */\nconst getBigInts = ({ stride, values, type }: VectorType, index: number): T['TValue'] => BN.new(values.subarray(stride * index, stride * (index + 1)), type.isSigned);\n/** @ignore */\nconst getFixedSizeBinary = ({ stride, values }: VectorType, index: number): T['TValue'] => values.subarray(stride * index, stride * (index + 1));\n\n/** @ignore */\nconst getBinary = ({ values, valueOffsets }: VectorType, index: number): T['TValue'] => getVariableWidthBytes(values, valueOffsets, index);\n/** @ignore */\nconst getUtf8 = ({ values, valueOffsets }: VectorType, index: number): T['TValue'] => {\n const bytes = getVariableWidthBytes(values, valueOffsets, index);\n return bytes !== null ? decodeUtf8(bytes) : null as any;\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInt = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.bitWidth < 64\n ? getNumeric(vector as VectorType, index)\n : getBigInts(vector as VectorType, index)\n);\n\n/* istanbul ignore next */\n/** @ignore */\nconst getFloat = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.precision !== Precision.HALF\n ? getNumeric(vector as VectorType, index)\n : getFloat16(vector as VectorType, index)\n);\n\n/* istanbul ignore next */\n/** @ignore */\nconst getDate = (vector: VectorType, index: number): T['TValue'] => (\n vector.type.unit === DateUnit.DAY\n ? getDateDay(vector as VectorType, index)\n : getDateMillisecond(vector as VectorType, index)\n);\n\n/** @ignore */\nconst getTimestampSecond = ({ values }: VectorType, index: number): T['TValue'] => 1000 * epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMillisecond = ({ values }: VectorType, index: number): T['TValue'] => epochMillisecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampMicrosecond = ({ values }: VectorType, index: number): T['TValue'] => epochMicrosecondsLongToMs(values, index * 2);\n/** @ignore */\nconst getTimestampNanosecond = ({ values }: VectorType, index: number): T['TValue'] => epochNanosecondsLongToMs(values, index * 2);\n/* istanbul ignore next */\n/** @ignore */\nconst getTimestamp = (vector: VectorType, index: number): T['TValue'] => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return getTimestampSecond(vector as VectorType, index);\n case TimeUnit.MILLISECOND: return getTimestampMillisecond(vector as VectorType, index);\n case TimeUnit.MICROSECOND: return getTimestampMicrosecond(vector as VectorType, index);\n case TimeUnit.NANOSECOND: return getTimestampNanosecond(vector as VectorType, index);\n }\n};\n\n/** @ignore */\nconst getTimeSecond = ({ values, stride }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getTimeMillisecond = ({ values, stride }: VectorType, index: number): T['TValue'] => values[stride * index];\n/** @ignore */\nconst getTimeMicrosecond = ({ values }: VectorType, index: number): T['TValue'] => BN.signed(values.subarray(2 * index, 2 * (index + 1)));\n/** @ignore */\nconst getTimeNanosecond = ({ values }: VectorType, index: number): T['TValue'] => BN.signed(values.subarray(2 * index, 2 * (index + 1)));\n/* istanbul ignore next */\n/** @ignore */\nconst getTime = (vector: VectorType, index: number): T['TValue'] => {\n switch (vector.type.unit) {\n case TimeUnit.SECOND: return getTimeSecond(vector as VectorType, index);\n case TimeUnit.MILLISECOND: return getTimeMillisecond(vector as VectorType, index);\n case TimeUnit.MICROSECOND: return getTimeMicrosecond(vector as VectorType, index);\n case TimeUnit.NANOSECOND: return getTimeNanosecond(vector as VectorType, index);\n }\n};\n\n/** @ignore */\nconst getDecimal = ({ values }: VectorType, index: number): T['TValue'] => BN.decimal(values.subarray(4 * index, 4 * (index + 1)));\n\n/** @ignore */\nconst getList = (vector: VectorType, index: number): T['TValue'] => {\n const child = vector.getChildAt(0)!, { valueOffsets, stride } = vector;\n return child.slice(valueOffsets[index * stride], valueOffsets[(index * stride) + 1]) as T['TValue'];\n};\n\n/** @ignore */\nconst getMap = (vector: VectorType, index: number): T['TValue'] => {\n return vector.bind(index) as T['TValue'];\n};\n\n/** @ignore */\nconst getStruct = (vector: VectorType, index: number): T['TValue'] => {\n return vector.bind(index) as T['TValue'];\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getUnion = <\n V extends VectorType | VectorType | VectorType\n>(vector: V, index: number): V['TValue'] => {\n return vector.type.mode === UnionMode.Dense ?\n getDenseUnion(vector as VectorType, index) :\n getSparseUnion(vector as VectorType, index);\n};\n\n/** @ignore */\nconst getDenseUnion = (vector: VectorType, index: number): T['TValue'] => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n return child ? child.get(vector.valueOffsets[index]) : null;\n};\n\n/** @ignore */\nconst getSparseUnion = (vector: VectorType, index: number): T['TValue'] => {\n const childIndex = vector.typeIdToChildIndex[vector.typeIds[index]];\n const child = vector.getChildAt(childIndex);\n return child ? child.get(index) : null;\n};\n\n/** @ignore */\nconst getDictionary = (vector: VectorType, index: number): T['TValue'] => {\n return vector.getValue(vector.getKey(index)!);\n};\n\n/* istanbul ignore next */\n/** @ignore */\nconst getInterval = (vector: VectorType, index: number): T['TValue'] =>\n (vector.type.unit === IntervalUnit.DAY_TIME)\n ? getIntervalDayTime(vector as VectorType, index)\n : getIntervalYearMonth(vector as VectorType, index);\n\n/** @ignore */\nconst getIntervalDayTime = ({ values }: VectorType, index: number): T['TValue'] => values.subarray(2 * index, 2 * (index + 1));\n\n/** @ignore */\nconst getIntervalYearMonth = ({ values }: VectorType, index: number): T['TValue'] => {\n const interval = values[index];\n const int32s = new Int32Array(2);\n int32s[0] = interval / 12 | 0; /* years */\n int32s[1] = interval % 12 | 0; /* months */\n return int32s;\n};\n\n/** @ignore */\nconst getFixedSizeList = (vector: VectorType, index: number): T['TValue'] => {\n const child = vector.getChildAt(0)!, { stride } = vector;\n return child.slice(index * stride, (index + 1) * stride) as T['TValue'];\n};\n\nGetVisitor.prototype.visitNull = getNull;\nGetVisitor.prototype.visitBool = getBool;\nGetVisitor.prototype.visitInt = getInt;\nGetVisitor.prototype.visitInt8 = getNumeric;\nGetVisitor.prototype.visitInt16 = getNumeric;\nGetVisitor.prototype.visitInt32 = getNumeric;\nGetVisitor.prototype.visitInt64 = getBigInts;\nGetVisitor.prototype.visitUint8 = getNumeric;\nGetVisitor.prototype.visitUint16 = getNumeric;\nGetVisitor.prototype.visitUint32 = getNumeric;\nGetVisitor.prototype.visitUint64 = getBigInts;\nGetVisitor.prototype.visitFloat = getFloat;\nGetVisitor.prototype.visitFloat16 = getFloat16;\nGetVisitor.prototype.visitFloat32 = getNumeric;\nGetVisitor.prototype.visitFloat64 = getNumeric;\nGetVisitor.prototype.visitUtf8 = getUtf8;\nGetVisitor.prototype.visitBinary = getBinary;\nGetVisitor.prototype.visitFixedSizeBinary = getFixedSizeBinary;\nGetVisitor.prototype.visitDate = getDate;\nGetVisitor.prototype.visitDateDay = getDateDay;\nGetVisitor.prototype.visitDateMillisecond = getDateMillisecond;\nGetVisitor.prototype.visitTimestamp = getTimestamp;\nGetVisitor.prototype.visitTimestampSecond = getTimestampSecond;\nGetVisitor.prototype.visitTimestampMillisecond = getTimestampMillisecond;\nGetVisitor.prototype.visitTimestampMicrosecond = getTimestampMicrosecond;\nGetVisitor.prototype.visitTimestampNanosecond = getTimestampNanosecond;\nGetVisitor.prototype.visitTime = getTime;\nGetVisitor.prototype.visitTimeSecond = getTimeSecond;\nGetVisitor.prototype.visitTimeMillisecond = getTimeMillisecond;\nGetVisitor.prototype.visitTimeMicrosecond = getTimeMicrosecond;\nGetVisitor.prototype.visitTimeNanosecond = getTimeNanosecond;\nGetVisitor.prototype.visitDecimal = getDecimal;\nGetVisitor.prototype.visitList = getList;\nGetVisitor.prototype.visitStruct = getStruct;\nGetVisitor.prototype.visitUnion = getUnion;\nGetVisitor.prototype.visitDenseUnion = getDenseUnion;\nGetVisitor.prototype.visitSparseUnion = getSparseUnion;\nGetVisitor.prototype.visitDictionary = getDictionary;\nGetVisitor.prototype.visitInterval = getInterval;\nGetVisitor.prototype.visitIntervalDayTime = getIntervalDayTime;\nGetVisitor.prototype.visitIntervalYearMonth = getIntervalYearMonth;\nGetVisitor.prototype.visitFixedSizeList = getFixedSizeList;\nGetVisitor.prototype.visitMap = getMap;\n\n/** @ignore */\nexport const instance = new GetVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { getBool, iterateBits } from '../util/bit';\nimport { createElementComparator } from '../util/vector';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface IndexOfVisitor extends Visitor {\n visit (node: T, value: T['TValue'] | null, index?: number): number;\n visitMany (nodes: T[], values: (T['TValue'] | null)[], indices: (number | undefined)[]): number[];\n getVisitFn (node: T): (vector: VectorType, value: VectorType['TValue'] | null, index?: number) => number;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType, value: T['TValue'] | null, index?: number) => number;\n visitNull (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitBool (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInt64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUint64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat16 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat32 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFloat64 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUtf8 (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitBinary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeBinary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDate (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDateDay (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDateMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestamp (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampSecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampMicrosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimestampNanosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTime (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeSecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeMillisecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeMicrosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitTimeNanosecond (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDecimal (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitList (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitStruct (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDenseUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitSparseUnion (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitDictionary (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitInterval (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitIntervalDayTime (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitIntervalYearMonth (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitFixedSizeList (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n visitMap (vector: VectorType, value: T['TValue'] | null, index?: number): number;\n}\n\n/** @ignore */\nexport class IndexOfVisitor extends Visitor {}\n\n/** @ignore */\nfunction nullIndexOf(vector: VectorType, searchElement?: null) {\n // if you're looking for nulls and the vector isn't empty, we've got 'em!\n return searchElement === null && vector.length > 0 ? 0 : -1;\n}\n\n/** @ignore */\nfunction indexOfNull(vector: VectorType, fromIndex?: number): number {\n const { nullBitmap } = vector;\n if (!nullBitmap || vector.nullCount <= 0) {\n return -1;\n }\n let i = 0;\n for (const isValid of iterateBits(nullBitmap, vector.data.offset + (fromIndex || 0), vector.length, nullBitmap, getBool)) {\n if (!isValid) { return i; }\n ++i;\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfValue(vector: VectorType, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n if (searchElement === undefined) { return -1; }\n if (searchElement === null) { return indexOfNull(vector, fromIndex); }\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {\n if (compare(vector.get(i))) {\n return i;\n }\n }\n return -1;\n}\n\n/** @ignore */\nfunction indexOfUnion(vector: VectorType, searchElement?: T['TValue'] | null, fromIndex?: number): number {\n // Unions are special -- they do have a nullBitmap, but so can their children.\n // If the searchElement is null, we don't know whether it came from the Union's\n // bitmap or one of its childrens'. So we don't interrogate the Union's bitmap,\n // since that will report the wrong index if a child has a null before the Union.\n const compare = createElementComparator(searchElement);\n for (let i = (fromIndex || 0) - 1, n = vector.length; ++i < n;) {\n if (compare(vector.get(i))) {\n return i;\n }\n }\n return -1;\n}\n\nIndexOfVisitor.prototype.visitNull = nullIndexOf;\nIndexOfVisitor.prototype.visitBool = indexOfValue;\nIndexOfVisitor.prototype.visitInt = indexOfValue;\nIndexOfVisitor.prototype.visitInt8 = indexOfValue;\nIndexOfVisitor.prototype.visitInt16 = indexOfValue;\nIndexOfVisitor.prototype.visitInt32 = indexOfValue;\nIndexOfVisitor.prototype.visitInt64 = indexOfValue;\nIndexOfVisitor.prototype.visitUint8 = indexOfValue;\nIndexOfVisitor.prototype.visitUint16 = indexOfValue;\nIndexOfVisitor.prototype.visitUint32 = indexOfValue;\nIndexOfVisitor.prototype.visitUint64 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat = indexOfValue;\nIndexOfVisitor.prototype.visitFloat16 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat32 = indexOfValue;\nIndexOfVisitor.prototype.visitFloat64 = indexOfValue;\nIndexOfVisitor.prototype.visitUtf8 = indexOfValue;\nIndexOfVisitor.prototype.visitBinary = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeBinary = indexOfValue;\nIndexOfVisitor.prototype.visitDate = indexOfValue;\nIndexOfVisitor.prototype.visitDateDay = indexOfValue;\nIndexOfVisitor.prototype.visitDateMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestamp = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimestampNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTime = indexOfValue;\nIndexOfVisitor.prototype.visitTimeSecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMillisecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeMicrosecond = indexOfValue;\nIndexOfVisitor.prototype.visitTimeNanosecond = indexOfValue;\nIndexOfVisitor.prototype.visitDecimal = indexOfValue;\nIndexOfVisitor.prototype.visitList = indexOfValue;\nIndexOfVisitor.prototype.visitStruct = indexOfValue;\nIndexOfVisitor.prototype.visitUnion = indexOfValue;\nIndexOfVisitor.prototype.visitDenseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitSparseUnion = indexOfUnion;\nIndexOfVisitor.prototype.visitDictionary = indexOfValue;\nIndexOfVisitor.prototype.visitInterval = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;\nIndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;\nIndexOfVisitor.prototype.visitFixedSizeList = indexOfValue;\nIndexOfVisitor.prototype.visitMap = indexOfValue;\n\n/** @ignore */\nexport const instance = new IndexOfVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { iterateBits } from '../util/bit';\nimport { instance as getVisitor } from './get';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface IteratorVisitor extends Visitor {\n visit(node: T): IterableIterator;\n visitMany (nodes: T[]): IterableIterator[];\n getVisitFn(node: T): (vector: VectorType) => IterableIterator['TValue'] | null>;\n getVisitFn(node: VectorType | Data | T): (vector: VectorType) => IterableIterator['TValue'] | null>;\n visitNull (vector: VectorType): IterableIterator;\n visitBool (vector: VectorType): IterableIterator;\n visitInt (vector: VectorType): IterableIterator;\n visitInt8 (vector: VectorType): IterableIterator;\n visitInt16 (vector: VectorType): IterableIterator;\n visitInt32 (vector: VectorType): IterableIterator;\n visitInt64 (vector: VectorType): IterableIterator;\n visitUint8 (vector: VectorType): IterableIterator;\n visitUint16 (vector: VectorType): IterableIterator;\n visitUint32 (vector: VectorType): IterableIterator;\n visitUint64 (vector: VectorType): IterableIterator;\n visitFloat (vector: VectorType): IterableIterator;\n visitFloat16 (vector: VectorType): IterableIterator;\n visitFloat32 (vector: VectorType): IterableIterator;\n visitFloat64 (vector: VectorType): IterableIterator;\n visitUtf8 (vector: VectorType): IterableIterator;\n visitBinary (vector: VectorType): IterableIterator;\n visitFixedSizeBinary (vector: VectorType): IterableIterator;\n visitDate (vector: VectorType): IterableIterator;\n visitDateDay (vector: VectorType): IterableIterator;\n visitDateMillisecond (vector: VectorType): IterableIterator;\n visitTimestamp (vector: VectorType): IterableIterator;\n visitTimestampSecond (vector: VectorType): IterableIterator;\n visitTimestampMillisecond (vector: VectorType): IterableIterator;\n visitTimestampMicrosecond (vector: VectorType): IterableIterator;\n visitTimestampNanosecond (vector: VectorType): IterableIterator;\n visitTime (vector: VectorType): IterableIterator;\n visitTimeSecond (vector: VectorType): IterableIterator;\n visitTimeMillisecond (vector: VectorType): IterableIterator;\n visitTimeMicrosecond (vector: VectorType): IterableIterator;\n visitTimeNanosecond (vector: VectorType): IterableIterator;\n visitDecimal (vector: VectorType): IterableIterator;\n visitList (vector: VectorType): IterableIterator;\n visitStruct (vector: VectorType): IterableIterator;\n visitUnion (vector: VectorType): IterableIterator;\n visitDenseUnion (vector: VectorType): IterableIterator;\n visitSparseUnion (vector: VectorType): IterableIterator;\n visitDictionary (vector: VectorType): IterableIterator;\n visitInterval (vector: VectorType): IterableIterator;\n visitIntervalDayTime (vector: VectorType): IterableIterator;\n visitIntervalYearMonth (vector: VectorType): IterableIterator;\n visitFixedSizeList (vector: VectorType): IterableIterator;\n visitMap (vector: VectorType): IterableIterator;\n}\n\n/** @ignore */\nexport class IteratorVisitor extends Visitor {}\n\n/** @ignore */\nfunction nullableIterator(vector: VectorType): IterableIterator {\n const getFn = getVisitor.getVisitFn(vector);\n return iterateBits(\n vector.nullBitmap, vector.offset, vector.length, vector,\n (vec: VectorType, idx: number, nullByte: number, nullBit: number) =>\n ((nullByte & 1 << nullBit) !== 0) ? getFn(vec, idx) : null\n );\n}\n\n/** @ignore */\nfunction vectorIterator(vector: VectorType): IterableIterator {\n\n // If nullable, iterate manually\n if (vector.nullCount > 0) {\n return nullableIterator(vector);\n }\n\n const { type, typeId, length } = vector;\n\n // Fast case, defer to native iterators if possible\n if (vector.stride === 1 && (\n (typeId === Type.Timestamp) ||\n (typeId === Type.Int && (type as Int).bitWidth !== 64) ||\n (typeId === Type.Time && (type as Time).bitWidth !== 64) ||\n (typeId === Type.Float && (type as Float).precision > 0 /* Precision.HALF */)\n )) {\n return vector.values.subarray(0, length)[Symbol.iterator]();\n }\n\n // Otherwise, iterate manually\n return (function* (getFn) {\n for (let index = -1; ++index < length;) {\n yield getFn(vector, index);\n }\n })(getVisitor.getVisitFn(vector));\n}\n\nIteratorVisitor.prototype.visitNull = vectorIterator;\nIteratorVisitor.prototype.visitBool = vectorIterator;\nIteratorVisitor.prototype.visitInt = vectorIterator;\nIteratorVisitor.prototype.visitInt8 = vectorIterator;\nIteratorVisitor.prototype.visitInt16 = vectorIterator;\nIteratorVisitor.prototype.visitInt32 = vectorIterator;\nIteratorVisitor.prototype.visitInt64 = vectorIterator;\nIteratorVisitor.prototype.visitUint8 = vectorIterator;\nIteratorVisitor.prototype.visitUint16 = vectorIterator;\nIteratorVisitor.prototype.visitUint32 = vectorIterator;\nIteratorVisitor.prototype.visitUint64 = vectorIterator;\nIteratorVisitor.prototype.visitFloat = vectorIterator;\nIteratorVisitor.prototype.visitFloat16 = vectorIterator;\nIteratorVisitor.prototype.visitFloat32 = vectorIterator;\nIteratorVisitor.prototype.visitFloat64 = vectorIterator;\nIteratorVisitor.prototype.visitUtf8 = vectorIterator;\nIteratorVisitor.prototype.visitBinary = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeBinary = vectorIterator;\nIteratorVisitor.prototype.visitDate = vectorIterator;\nIteratorVisitor.prototype.visitDateDay = vectorIterator;\nIteratorVisitor.prototype.visitDateMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestamp = vectorIterator;\nIteratorVisitor.prototype.visitTimestampSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimestampNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitTime = vectorIterator;\nIteratorVisitor.prototype.visitTimeSecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMillisecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeMicrosecond = vectorIterator;\nIteratorVisitor.prototype.visitTimeNanosecond = vectorIterator;\nIteratorVisitor.prototype.visitDecimal = vectorIterator;\nIteratorVisitor.prototype.visitList = vectorIterator;\nIteratorVisitor.prototype.visitStruct = vectorIterator;\nIteratorVisitor.prototype.visitUnion = vectorIterator;\nIteratorVisitor.prototype.visitDenseUnion = vectorIterator;\nIteratorVisitor.prototype.visitSparseUnion = vectorIterator;\nIteratorVisitor.prototype.visitDictionary = vectorIterator;\nIteratorVisitor.prototype.visitInterval = vectorIterator;\nIteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;\nIteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;\nIteratorVisitor.prototype.visitFixedSizeList = vectorIterator;\nIteratorVisitor.prototype.visitMap = vectorIterator;\n\n/** @ignore */\nexport const instance = new IteratorVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { instance as iteratorVisitor } from './iterator';\nimport {\n DataType, Dictionary,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n Float, Float16, Float32, Float64,\n Int, Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64,\n Date_, DateDay, DateMillisecond,\n Interval, IntervalDayTime, IntervalYearMonth,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Union, DenseUnion, SparseUnion,\n} from '../type';\n\n/** @ignore */\nexport interface ToArrayVisitor extends Visitor {\n visit(node: T): T['TArray'];\n visitMany(nodes: T[]): T['TArray'][];\n getVisitFn(node: T): (vector: VectorType) => VectorType['TArray'];\n getVisitFn(node: VectorType | Data | T): (vector: VectorType) => VectorType['TArray'];\n visitNull (vector: VectorType): VectorType['TArray'];\n visitBool (vector: VectorType): VectorType['TArray'];\n visitInt (vector: VectorType): VectorType['TArray'];\n visitInt8 (vector: VectorType): VectorType['TArray'];\n visitInt16 (vector: VectorType): VectorType['TArray'];\n visitInt32 (vector: VectorType): VectorType['TArray'];\n visitInt64 (vector: VectorType): VectorType['TArray'];\n visitUint8 (vector: VectorType): VectorType['TArray'];\n visitUint16 (vector: VectorType): VectorType['TArray'];\n visitUint32 (vector: VectorType): VectorType['TArray'];\n visitUint64 (vector: VectorType): VectorType['TArray'];\n visitFloat (vector: VectorType): VectorType['TArray'];\n visitFloat16 (vector: VectorType): VectorType['TArray'];\n visitFloat32 (vector: VectorType): VectorType['TArray'];\n visitFloat64 (vector: VectorType): VectorType['TArray'];\n visitUtf8 (vector: VectorType): VectorType['TArray'];\n visitBinary (vector: VectorType): VectorType['TArray'];\n visitFixedSizeBinary (vector: VectorType): VectorType['TArray'];\n visitDate (vector: VectorType): VectorType['TArray'];\n visitDateDay (vector: VectorType): VectorType['TArray'];\n visitDateMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimestamp (vector: VectorType): VectorType['TArray'];\n visitTimestampSecond (vector: VectorType): VectorType['TArray'];\n visitTimestampMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimestampMicrosecond (vector: VectorType): VectorType['TArray'];\n visitTimestampNanosecond (vector: VectorType): VectorType['TArray'];\n visitTime (vector: VectorType): VectorType['TArray'];\n visitTimeSecond (vector: VectorType): VectorType['TArray'];\n visitTimeMillisecond (vector: VectorType): VectorType['TArray'];\n visitTimeMicrosecond (vector: VectorType): VectorType['TArray'];\n visitTimeNanosecond (vector: VectorType): VectorType['TArray'];\n visitDecimal (vector: VectorType): VectorType['TArray'];\n visitList > (vector: VectorType): VectorType['TArray'];\n visitStruct (vector: VectorType): VectorType['TArray'];\n visitUnion (vector: VectorType): VectorType['TArray'];\n visitDenseUnion (vector: VectorType): VectorType['TArray'];\n visitSparseUnion (vector: VectorType): VectorType['TArray'];\n visitDictionary > (vector: VectorType): VectorType['TArray'];\n visitInterval (vector: VectorType): VectorType['TArray'];\n visitIntervalDayTime (vector: VectorType): VectorType['TArray'];\n visitIntervalYearMonth (vector: VectorType): VectorType['TArray'];\n visitFixedSizeList > (vector: VectorType): VectorType['TArray'];\n visitMap (vector: VectorType): VectorType['TArray'];\n}\n\n/** @ignore */\nexport class ToArrayVisitor extends Visitor {}\n\n/** @ignore */\nfunction arrayOfVector(vector: VectorType): T['TArray'] {\n\n const { type, length, stride } = vector;\n\n // Fast case, return subarray if possible\n switch (type.typeId) {\n case Type.Int:\n case Type.Float: case Type.Decimal:\n case Type.Time: case Type.Timestamp:\n return vector.values.subarray(0, length * stride);\n }\n\n // Otherwise if not primitive, slow copy\n return [...iteratorVisitor.visit(vector)] as T['TArray'];\n}\n\nToArrayVisitor.prototype.visitNull = arrayOfVector;\nToArrayVisitor.prototype.visitBool = arrayOfVector;\nToArrayVisitor.prototype.visitInt = arrayOfVector;\nToArrayVisitor.prototype.visitInt8 = arrayOfVector;\nToArrayVisitor.prototype.visitInt16 = arrayOfVector;\nToArrayVisitor.prototype.visitInt32 = arrayOfVector;\nToArrayVisitor.prototype.visitInt64 = arrayOfVector;\nToArrayVisitor.prototype.visitUint8 = arrayOfVector;\nToArrayVisitor.prototype.visitUint16 = arrayOfVector;\nToArrayVisitor.prototype.visitUint32 = arrayOfVector;\nToArrayVisitor.prototype.visitUint64 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat = arrayOfVector;\nToArrayVisitor.prototype.visitFloat16 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat32 = arrayOfVector;\nToArrayVisitor.prototype.visitFloat64 = arrayOfVector;\nToArrayVisitor.prototype.visitUtf8 = arrayOfVector;\nToArrayVisitor.prototype.visitBinary = arrayOfVector;\nToArrayVisitor.prototype.visitFixedSizeBinary = arrayOfVector;\nToArrayVisitor.prototype.visitDate = arrayOfVector;\nToArrayVisitor.prototype.visitDateDay = arrayOfVector;\nToArrayVisitor.prototype.visitDateMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestamp = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampSecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampMicrosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimestampNanosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTime = arrayOfVector;\nToArrayVisitor.prototype.visitTimeSecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeMillisecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeMicrosecond = arrayOfVector;\nToArrayVisitor.prototype.visitTimeNanosecond = arrayOfVector;\nToArrayVisitor.prototype.visitDecimal = arrayOfVector;\nToArrayVisitor.prototype.visitList = arrayOfVector;\nToArrayVisitor.prototype.visitStruct = arrayOfVector;\nToArrayVisitor.prototype.visitUnion = arrayOfVector;\nToArrayVisitor.prototype.visitDenseUnion = arrayOfVector;\nToArrayVisitor.prototype.visitSparseUnion = arrayOfVector;\nToArrayVisitor.prototype.visitDictionary = arrayOfVector;\nToArrayVisitor.prototype.visitInterval = arrayOfVector;\nToArrayVisitor.prototype.visitIntervalDayTime = arrayOfVector;\nToArrayVisitor.prototype.visitIntervalYearMonth = arrayOfVector;\nToArrayVisitor.prototype.visitFixedSizeList = arrayOfVector;\nToArrayVisitor.prototype.visitMap = arrayOfVector;\n\n/** @ignore */\nexport const instance = new ToArrayVisitor();\n","/* istanbul ignore file */\n\n// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Visitor } from '../visitor';\nimport { VectorType } from '../interfaces';\nimport { Type, TimeUnit } from '../enum';\nimport { Schema, Field } from '../schema';\nimport {\n DataType, Dictionary,\n Float, Int, Date_, Interval, Time, Timestamp,\n Bool, Null, Utf8, Binary, Decimal, FixedSizeBinary,\n List, FixedSizeList, Map_, Struct, Union,\n} from '../type';\n\n/** @ignore */ const sum = (x: number, y: number) => x + y;\n/** @ignore */ const variableWidthColumnErrorMessage = (type: DataType) => `Cannot compute the byte width of variable-width column ${type}`;\n\n/** @ignore */\nexport interface ByteWidthVisitor extends Visitor {\n visit(node: T): number;\n visitMany(nodes: T[]): number[];\n getVisitFn (node: T): (type: DataType) => number;\n getVisitFn(node: VectorType | Data | T): (type: T) => number;\n}\n\n/** @ignore */\nexport class ByteWidthVisitor extends Visitor {\n public visitNull (____: Null ) { return 0; }\n public visitInt (type: Int ) { return type.bitWidth / 8; }\n public visitFloat (type: Float ) { return type.ArrayType.BYTES_PER_ELEMENT; }\n public visitBinary (type: Binary ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitUtf8 (type: Utf8 ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitBool (____: Bool ) { return 1 / 8; }\n public visitDecimal (____: Decimal ) { return 16; }\n public visitDate (type: Date_ ) { return (type.unit + 1) * 4; }\n public visitTime (type: Time ) { return type.bitWidth / 8; }\n public visitTimestamp (type: Timestamp ) { return type.unit === TimeUnit.SECOND ? 4 : 8; }\n public visitInterval (type: Interval ) { return (type.unit + 1) * 4; }\n public visitList (type: List ) { throw new Error(variableWidthColumnErrorMessage(type)); }\n public visitStruct (type: Struct ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitUnion (type: Union ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitFixedSizeBinary (type: FixedSizeBinary ) { return type.byteWidth; }\n public visitFixedSizeList (type: FixedSizeList ) { return type.listSize * this.visitFields(type.children).reduce(sum, 0); }\n public visitMap (type: Map_ ) { return this.visitFields(type.children).reduce(sum, 0); }\n public visitDictionary (type: Dictionary ) { return this.visit(type.indices); }\n public visitFields (fields: Field[] ) { return (fields || []).map((field) => this.visit(field.type)); }\n public visitSchema (schema: Schema ) { return this.visitFields(schema.fields).reduce(sum, 0); }\n}\n\n/** @ignore */\nexport const instance = new ByteWidthVisitor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { DataType } from '../type';\nimport { Visitor } from '../visitor';\nimport { VectorType, VectorCtor } from '../interfaces';\n\nimport { BinaryVector } from '../vector/binary';\nimport { BoolVector } from '../vector/bool';\nimport { DateVector, DateDayVector, DateMillisecondVector } from '../vector/date';\nimport { DecimalVector } from '../vector/decimal';\nimport { DictionaryVector } from '../vector/dictionary';\nimport { FixedSizeBinaryVector } from '../vector/fixedsizebinary';\nimport { FixedSizeListVector } from '../vector/fixedsizelist';\nimport { FloatVector, Float16Vector, Float32Vector, Float64Vector } from '../vector/float';\nimport { IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector } from '../vector/interval';\nimport { IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector } from '../vector/int';\nimport { ListVector } from '../vector/list';\nimport { MapVector } from '../vector/map';\nimport { NullVector } from '../vector/null';\nimport { StructVector } from '../vector/struct';\nimport { TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector } from '../vector/timestamp';\nimport { TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector } from '../vector/time';\nimport { UnionVector, DenseUnionVector, SparseUnionVector } from '../vector/union';\nimport { Utf8Vector } from '../vector/utf8';\n\n/** @ignore */\nexport interface GetVectorConstructor extends Visitor {\n visit(node: T): VectorCtor;\n visitMany (nodes: T[]): VectorCtor[];\n getVisitFn(node: T): () => VectorCtor;\n getVisitFn(node: VectorType | Data | T): () => VectorCtor;\n}\n\n/** @ignore */\nexport class GetVectorConstructor extends Visitor {\n public visitNull () { return NullVector; }\n public visitBool () { return BoolVector; }\n public visitInt () { return IntVector; }\n public visitInt8 () { return Int8Vector; }\n public visitInt16 () { return Int16Vector; }\n public visitInt32 () { return Int32Vector; }\n public visitInt64 () { return Int64Vector; }\n public visitUint8 () { return Uint8Vector; }\n public visitUint16 () { return Uint16Vector; }\n public visitUint32 () { return Uint32Vector; }\n public visitUint64 () { return Uint64Vector; }\n public visitFloat () { return FloatVector; }\n public visitFloat16 () { return Float16Vector; }\n public visitFloat32 () { return Float32Vector; }\n public visitFloat64 () { return Float64Vector; }\n public visitUtf8 () { return Utf8Vector; }\n public visitBinary () { return BinaryVector; }\n public visitFixedSizeBinary () { return FixedSizeBinaryVector; }\n public visitDate () { return DateVector; }\n public visitDateDay () { return DateDayVector; }\n public visitDateMillisecond () { return DateMillisecondVector; }\n public visitTimestamp () { return TimestampVector; }\n public visitTimestampSecond () { return TimestampSecondVector; }\n public visitTimestampMillisecond () { return TimestampMillisecondVector; }\n public visitTimestampMicrosecond () { return TimestampMicrosecondVector; }\n public visitTimestampNanosecond () { return TimestampNanosecondVector; }\n public visitTime () { return TimeVector; }\n public visitTimeSecond () { return TimeSecondVector; }\n public visitTimeMillisecond () { return TimeMillisecondVector; }\n public visitTimeMicrosecond () { return TimeMicrosecondVector; }\n public visitTimeNanosecond () { return TimeNanosecondVector; }\n public visitDecimal () { return DecimalVector; }\n public visitList () { return ListVector; }\n public visitStruct () { return StructVector; }\n public visitUnion () { return UnionVector; }\n public visitDenseUnion () { return DenseUnionVector; }\n public visitSparseUnion () { return SparseUnionVector; }\n public visitDictionary () { return DictionaryVector; }\n public visitInterval () { return IntervalVector; }\n public visitIntervalDayTime () { return IntervalDayTimeVector; }\n public visitIntervalYearMonth () { return IntervalYearMonthVector; }\n public visitFixedSizeList () { return FixedSizeListVector; }\n public visitMap () { return MapVector; }\n}\n\n/** @ignore */\nexport const instance = new GetVectorConstructor();\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { Vector } from '../vector';\nexport { BaseVector } from './base';\nexport { BinaryVector } from './binary';\nexport { BoolVector } from './bool';\nexport { Chunked } from './chunked';\nexport { DateVector, DateDayVector, DateMillisecondVector } from './date';\nexport { DecimalVector } from './decimal';\nexport { DictionaryVector } from './dictionary';\nexport { FixedSizeBinaryVector } from './fixedsizebinary';\nexport { FixedSizeListVector } from './fixedsizelist';\nexport { FloatVector, Float16Vector, Float32Vector, Float64Vector } from './float';\nexport { IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector } from './interval';\nexport { IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector } from './int';\nexport { ListVector } from './list';\nexport { MapVector } from './map';\nexport { NullVector } from './null';\nexport { StructVector } from './struct';\nexport { TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector } from './timestamp';\nexport { TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector } from './time';\nexport { UnionVector, DenseUnionVector, SparseUnionVector } from './union';\nexport { Utf8Vector } from './utf8';\nexport { MapRow, StructRow } from './row';\n\nimport * as fn from '../util/fn';\nimport { Data } from '../data';\nimport { Type } from '../enum';\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { Chunked } from './chunked';\nimport { BaseVector } from './base';\nimport { setBool } from '../util/bit';\nimport { isIterable, isAsyncIterable } from '../util/compat';\nimport { Builder, IterableBuilderOptions } from '../builder';\nimport { VectorType as V, VectorCtorArgs } from '../interfaces';\nimport { instance as getVisitor } from '../visitor/get';\nimport { instance as setVisitor } from '../visitor/set';\nimport { instance as indexOfVisitor } from '../visitor/indexof';\nimport { instance as toArrayVisitor } from '../visitor/toarray';\nimport { instance as iteratorVisitor } from '../visitor/iterator';\nimport { instance as byteWidthVisitor } from '../visitor/bytewidth';\nimport { instance as getVectorConstructor } from '../visitor/vectorctor';\n\ndeclare module '../vector' {\n namespace Vector {\n export { newVector as new };\n export { vectorFrom as from };\n }\n}\n\ndeclare module './base' {\n namespace BaseVector {\n export { vectorFrom as from };\n }\n interface BaseVector {\n get(index: number): T['TValue'] | null;\n set(index: number, value: T['TValue'] | null): void;\n indexOf(value: T['TValue'] | null, fromIndex?: number): number;\n toArray(): T['TArray'];\n getByteWidth(): number;\n [Symbol.iterator](): IterableIterator;\n }\n}\n\n/** @nocollapse */\nVector.new = newVector;\n\n/** @nocollapse */\nVector.from = vectorFrom;\n\n/** @ignore */\nfunction newVector(data: Data, ...args: VectorCtorArgs>): V {\n return new (getVectorConstructor.getVisitFn(data)())(data, ...args) as V;\n}\n\n/** @ignore */\nexport interface VectorBuilderOptions extends IterableBuilderOptions { values: Iterable; }\n/** @ignore */\nexport interface VectorBuilderOptionsAsync extends IterableBuilderOptions { values: AsyncIterable; }\n\n/** @ignore */\nexport function vectorFromValuesWithType(newDataType: () => T, input: Iterable | AsyncIterable | VectorBuilderOptions | VectorBuilderOptionsAsync) {\n if (isIterable(input)) {\n return Vector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input }) as V;\n } else if (isAsyncIterable(input)) {\n return Vector.from({ 'nullValues': [null, undefined], type: newDataType(), 'values': input }) as Promise>;\n }\n const {\n 'values': values = [],\n 'type': type = newDataType(),\n 'nullValues': nullValues = [null, undefined],\n } = { ...input };\n return isIterable(values)\n ? Vector.from({ nullValues, ...input, type } as VectorBuilderOptions)\n : Vector.from({ nullValues, ...input, type } as VectorBuilderOptionsAsync);\n}\n\n/** @ignore */\nfunction vectorFrom(input: VectorBuilderOptions): Vector;\nfunction vectorFrom(input: VectorBuilderOptionsAsync): Promise>;\nfunction vectorFrom(input: VectorBuilderOptions | VectorBuilderOptionsAsync) {\n const { 'values': values = [], ...options } = { 'nullValues': [null, undefined], ...input } as VectorBuilderOptions | VectorBuilderOptionsAsync;\n if (isIterable(values)) {\n const chunks = [...Builder.throughIterable(options)(values)];\n return chunks.length === 1 ? chunks[0] : Chunked.concat(chunks);\n }\n return (async (chunks: V[]) => {\n const transform = Builder.throughAsyncIterable(options);\n for await (const chunk of transform(values)) {\n chunks.push(chunk);\n }\n return chunks.length === 1 ? chunks[0] : Chunked.concat(chunks);\n })([]);\n}\n\n//\n// We provide the following method implementations for code navigability purposes only.\n// They're overridden at runtime below with the specific Visitor implementation for each type,\n// short-circuiting the usual Visitor traversal and reducing intermediate lookups and calls.\n// This comment is here to remind you to not set breakpoints in these function bodies, or to inform\n// you why the breakpoints you have already set are not being triggered. Have a great day!\n//\n\nBaseVector.prototype.get = function baseVectorGet(this: BaseVector, index: number): T['TValue'] | null {\n return getVisitor.visit(this, index);\n};\n\nBaseVector.prototype.set = function baseVectorSet(this: BaseVector, index: number, value: T['TValue'] | null): void {\n return setVisitor.visit(this, index, value);\n};\n\nBaseVector.prototype.indexOf = function baseVectorIndexOf(this: BaseVector, value: T['TValue'] | null, fromIndex?: number): number {\n return indexOfVisitor.visit(this, value, fromIndex);\n};\n\nBaseVector.prototype.toArray = function baseVectorToArray(this: BaseVector): T['TArray'] {\n return toArrayVisitor.visit(this);\n};\n\nBaseVector.prototype.getByteWidth = function baseVectorGetByteWidth(this: BaseVector): number {\n return byteWidthVisitor.visit(this.type);\n};\n\nBaseVector.prototype[Symbol.iterator] = function baseVectorSymbolIterator(this: BaseVector): IterableIterator {\n return iteratorVisitor.visit(this);\n};\n\n(BaseVector.prototype as any)._bindDataAccessors = bindBaseVectorDataAccessors;\n\n// Perf: bind and assign the operator Visitor methods to each of the Vector subclasses for each Type\n(Object.keys(Type) as any[])\n .map((T: any) => Type[T] as any)\n .filter((T: any): T is Type => typeof T === 'number')\n .filter((typeId) => typeId !== Type.NONE)\n .forEach((typeId) => {\n const VectorCtor = getVectorConstructor.visit(typeId);\n VectorCtor.prototype['get'] = fn.partial1(getVisitor.getVisitFn(typeId));\n VectorCtor.prototype['set'] = fn.partial2(setVisitor.getVisitFn(typeId));\n VectorCtor.prototype['indexOf'] = fn.partial2(indexOfVisitor.getVisitFn(typeId));\n VectorCtor.prototype['toArray'] = fn.partial0(toArrayVisitor.getVisitFn(typeId));\n VectorCtor.prototype['getByteWidth'] = partialType0(byteWidthVisitor.getVisitFn(typeId));\n VectorCtor.prototype[Symbol.iterator] = fn.partial0(iteratorVisitor.getVisitFn(typeId));\n });\n\n/** @ignore */\nfunction partialType0(visit: (node: T['type']) => any) {\n return function(this: T) { return visit(this.type); };\n}\n\n/** @ignore */\nfunction wrapNullableGet, F extends (i: number) => any>(fn: F): (...args: Parameters) => ReturnType {\n return function(this: V, i: number) { return this.isValid(i) ? fn.call(this, i) : null; };\n}\n\n/** @ignore */\nfunction wrapNullableSet, F extends (i: number, a: any) => void>(fn: F): (...args: Parameters) => void {\n return function(this: V, i: number, a: any) {\n if (setBool(this.nullBitmap, this.offset + i, !(a === null || a === undefined))) {\n fn.call(this, i, a);\n }\n };\n}\n\n/** @ignore */\nfunction bindBaseVectorDataAccessors(this: BaseVector) {\n const nullBitmap = this.nullBitmap;\n if (nullBitmap && nullBitmap.byteLength > 0) {\n this.get = wrapNullableGet(this.get);\n this.set = wrapNullableSet(this.set);\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Column } from './column';\nimport { Schema, Field } from './schema';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from './recordbatch';\nimport { DataFrame } from './compute/dataframe';\nimport { RecordBatchReader } from './ipc/reader';\nimport { DataType, RowLike, Struct } from './type';\nimport { selectColumnArgs, selectArgs } from './util/args';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { isPromise, isIterable, isAsyncIterable } from './util/compat';\nimport { RecordBatchFileWriter, RecordBatchStreamWriter } from './ipc/writer';\nimport { distributeColumnsIntoRecordBatches, distributeVectorsIntoRecordBatches } from './util/recordbatch';\nimport { Vector, Chunked, StructVector, VectorBuilderOptions, VectorBuilderOptionsAsync } from './vector/index';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = Data[] | Vector[];\ntype Columns = Column[] | Column[][];\n\nexport interface Table {\n\n get(index: number): Struct['TValue'];\n [Symbol.iterator](): IterableIterator>;\n\n slice(begin?: number, end?: number): Table;\n concat(...others: Vector>[]): Table;\n clone(chunks?: RecordBatch[], offsets?: Uint32Array): Table;\n\n scan(next: import('./compute/dataframe').NextFunc, bind?: import('./compute/dataframe').BindFunc): void;\n scanReverse(next: import('./compute/dataframe').NextFunc, bind?: import('./compute/dataframe').BindFunc): void;\n countBy(name: import('./compute/predicate').Col | string): import('./compute/dataframe').CountByResult;\n filter(predicate: import('./compute/predicate').Predicate): import('./compute/dataframe').FilteredDataFrame;\n}\n\nexport class Table\n extends Chunked>\n implements DataFrame,\n Clonable>,\n Sliceable>,\n Applicative, Table> {\n\n /** @nocollapse */\n public static empty(schema = new Schema([])) { return new Table(schema, []); }\n\n public static from(): Table<{}>;\n public static from(source: RecordBatchReader): Table;\n public static from(source: import('./ipc/reader').FromArg0): Table;\n public static from(source: import('./ipc/reader').FromArg2): Table;\n public static from(source: import('./ipc/reader').FromArg1): Promise>;\n public static from(source: import('./ipc/reader').FromArg3): Promise>;\n public static from(source: import('./ipc/reader').FromArg4): Promise>;\n public static from(source: import('./ipc/reader').FromArg5): Promise>;\n public static from(source: PromiseLike>): Promise>;\n public static from(options: VectorBuilderOptions, TNull>): Table;\n public static from(options: VectorBuilderOptionsAsync, TNull>): Promise>;\n /** @nocollapse */\n public static from(input?: any) {\n\n if (!input) { return Table.empty(); }\n\n if (typeof input === 'object') {\n let table = isIterable(input['values']) ? tableFromIterable(input)\n : isAsyncIterable(input['values']) ? tableFromAsyncIterable(input)\n : null;\n if (table !== null) { return table; }\n }\n\n let reader = RecordBatchReader.from(input) as RecordBatchReader | Promise>;\n\n if (isPromise>(reader)) {\n return (async () => await Table.from(await reader))();\n }\n if (reader.isSync() && (reader = reader.open())) {\n return !reader.schema ? Table.empty() : new Table(reader.schema, [...reader]);\n }\n return (async (opening) => {\n const reader = await opening;\n const schema = reader.schema;\n const batches: RecordBatch[] = [];\n if (schema) {\n for await (let batch of reader) {\n batches.push(batch);\n }\n return new Table(schema, batches);\n }\n return Table.empty();\n })(reader.open());\n }\n\n /** @nocollapse */\n public static async fromAsync(source: import('./ipc/reader').FromArgs): Promise> {\n return await Table.from(source as any);\n }\n\n /** @nocollapse */\n public static fromStruct(vector: Vector>) {\n return Table.new(vector.data.childData as Data[], vector.type.children);\n }\n\n /**\n * @summary Create a new Table from a collection of Columns or Vectors,\n * with an optional list of names or Fields.\n *\n *\n * `Table.new` accepts an Object of\n * Columns or Vectors, where the keys will be used as the field names\n * for the Schema:\n * ```ts\n * const i32s = Int32Vector.from([1, 2, 3]);\n * const f32s = Float32Vector.from([.1, .2, .3]);\n * const table = Table.new({ i32: i32s, f32: f32s });\n * assert(table.schema.fields[0].name === 'i32');\n * ```\n *\n * It also accepts a a list of Vectors with an optional list of names or\n * Fields for the resulting Schema. If the list is omitted or a name is\n * missing, the numeric index of each Vector will be used as the name:\n * ```ts\n * const i32s = Int32Vector.from([1, 2, 3]);\n * const f32s = Float32Vector.from([.1, .2, .3]);\n * const table = Table.new([i32s, f32s], ['i32']);\n * assert(table.schema.fields[0].name === 'i32');\n * assert(table.schema.fields[1].name === '1');\n * ```\n *\n * If the supplied arguments are Columns, `Table.new` will infer the Schema\n * from the Columns:\n * ```ts\n * const i32s = Column.new('i32', Int32Vector.from([1, 2, 3]));\n * const f32s = Column.new('f32', Float32Vector.from([.1, .2, .3]));\n * const table = Table.new(i32s, f32s);\n * assert(table.schema.fields[0].name === 'i32');\n * assert(table.schema.fields[1].name === 'f32');\n * ```\n *\n * If the supplied Vector or Column lengths are unequal, `Table.new` will\n * extend the lengths of the shorter Columns, allocating additional bytes\n * to represent the additional null slots. The memory required to allocate\n * these additional bitmaps can be computed as:\n * ```ts\n * let additionalBytes = 0;\n * for (let vec in shorter_vectors) {\n * additionalBytes += (((longestLength - vec.length) + 63) & ~63) >> 3;\n * }\n * ```\n *\n * For example, an additional null bitmap for one million null values would require\n * 125,000 bytes (`((1e6 + 63) & ~63) >> 3`), or approx. `0.11MiB`\n */\n public static new(...columns: Columns): Table;\n public static new(children: T): Table<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): Table;\n /** @nocollapse */\n public static new(...cols: any[]) {\n return new Table(...distributeColumnsIntoRecordBatches(selectColumnArgs(cols)));\n }\n\n constructor(batches: RecordBatch[]);\n constructor(...batches: RecordBatch[]);\n constructor(schema: Schema, batches: RecordBatch[]);\n constructor(schema: Schema, ...batches: RecordBatch[]);\n constructor(...args: any[]) {\n\n let schema: Schema = null!;\n\n if (args[0] instanceof Schema) { schema = args.shift(); }\n\n let chunks = selectArgs>(RecordBatch, args);\n\n if (!schema && !(schema = chunks[0] && chunks[0].schema)) {\n throw new TypeError('Table must be initialized with a Schema or at least one RecordBatch');\n }\n\n chunks[0] || (chunks[0] = new _InternalEmptyPlaceholderRecordBatch(schema));\n\n super(new Struct(schema.fields), chunks);\n\n this._schema = schema;\n this._chunks = chunks;\n }\n\n protected _schema: Schema;\n // List of inner RecordBatches\n protected _chunks: RecordBatch[];\n protected _children?: Column[];\n\n public get schema() { return this._schema; }\n public get length() { return this._length; }\n public get chunks() { return this._chunks; }\n public get numCols() { return this._numChildren; }\n\n public clone(chunks = this._chunks) {\n return new Table(this._schema, chunks);\n }\n\n public getColumn(name: R): Column {\n return this.getColumnAt(this.getColumnIndex(name)) as Column;\n }\n public getColumnAt(index: number): Column | null {\n return this.getChildAt(index);\n }\n public getColumnIndex(name: R) {\n return this._schema.fields.findIndex((f) => f.name === name);\n }\n public getChildAt(index: number): Column | null {\n if (index < 0 || index >= this.numChildren) { return null; }\n let field: Field, child: Column;\n const fields = (this._schema as Schema).fields;\n const columns = this._children || (this._children = []) as Column[];\n if (child = columns[index]) { return child as Column; }\n if (field = fields[index]) {\n const chunks = this._chunks\n .map((chunk) => chunk.getChildAt(index))\n .filter((vec): vec is Vector => vec != null);\n if (chunks.length > 0) {\n return (columns[index] = new Column(field, chunks));\n }\n }\n return null;\n }\n\n // @ts-ignore\n public serialize(encoding = 'binary', stream = true) {\n const Writer = !stream\n ? RecordBatchFileWriter\n : RecordBatchStreamWriter;\n return Writer.writeAll(this).toUint8Array(true);\n }\n public count(): number {\n return this._length;\n }\n public select(...columnNames: K[]) {\n const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map());\n return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n public selectAt(...columnIndices: number[]) {\n const schema = this._schema.selectAt(...columnIndices);\n return new Table(schema, this._chunks.map(({ length, data: { childData } }) => {\n return new RecordBatch(schema, length, columnIndices.map((i) => childData[i]).filter(Boolean));\n }));\n }\n public assign(other: Table) {\n\n const fields = this._schema.fields;\n const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n const [indices, oldToNew] = memo;\n const i = fields.findIndex((f) => f.name === f2.name);\n ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n return memo;\n }, [[], []] as number[][]);\n\n const schema = this._schema.assign(other.schema);\n const columns = [\n ...fields.map((_f, i, _fs, j = oldToNew[i]) =>\n (j === undefined ? this.getColumnAt(i) : other.getColumnAt(j))!),\n ...indices.map((i) => other.getColumnAt(i)!)\n ].filter(Boolean) as Column<(T & R)[keyof T | keyof R]>[];\n\n return new Table(...distributeVectorsIntoRecordBatches(schema, columns));\n }\n}\n\nfunction tableFromIterable(input: VectorBuilderOptions, TNull>) {\n const { type } = input;\n if (type instanceof Struct) {\n return Table.fromStruct(StructVector.from(input as VectorBuilderOptions, TNull>));\n }\n return null;\n}\n\nfunction tableFromAsyncIterable(input: VectorBuilderOptionsAsync, TNull>) {\n const { type } = input;\n if (type instanceof Struct) {\n return StructVector.from(input as VectorBuilderOptionsAsync, TNull>).then((vector) => Table.fromStruct(vector));\n }\n return null;\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Table } from './table';\nimport { Vector } from './vector';\nimport { Visitor } from './visitor';\nimport { Schema, Field } from './schema';\nimport { isIterable } from './util/compat';\nimport { Chunked } from './vector/chunked';\nimport { selectFieldArgs } from './util/args';\nimport { DataType, Struct, Dictionary } from './type';\nimport { ensureSameLengthData } from './util/recordbatch';\nimport { Clonable, Sliceable, Applicative } from './vector';\nimport { StructVector, VectorBuilderOptions, VectorBuilderOptionsAsync } from './vector/index';\n\ntype VectorMap = { [key: string]: Vector };\ntype Fields = (keyof T)[] | Field[];\ntype ChildData = (Data | Vector)[];\n\nexport interface RecordBatch {\n concat(...others: Vector>[]): Table;\n slice(begin?: number, end?: number): RecordBatch;\n clone(data: Data>, children?: Vector[]): RecordBatch;\n}\n\nexport class RecordBatch\n extends StructVector\n implements Clonable>,\n Sliceable>,\n Applicative, Table> {\n\n public static from(options: VectorBuilderOptions, TNull>): Table;\n public static from(options: VectorBuilderOptionsAsync, TNull>): Promise>;\n /** @nocollapse */\n public static from(options: VectorBuilderOptions, TNull> | VectorBuilderOptionsAsync, TNull>) {\n if (isIterable<(Struct)['TValue'] | TNull>(options['values'])) {\n return Table.from(options as VectorBuilderOptions, TNull>);\n }\n return Table.from(options as VectorBuilderOptionsAsync, TNull>);\n }\n\n public static new(children: T): RecordBatch<{ [P in keyof T]: T[P]['type'] }>;\n public static new(children: ChildData, fields?: Fields): RecordBatch;\n /** @nocollapse */\n public static new(...args: any[]) {\n const [fs, xs] = selectFieldArgs(args);\n const vs = xs.filter((x): x is Vector => x instanceof Vector);\n return new RecordBatch(...ensureSameLengthData(new Schema(fs), vs.map((x) => x.data)));\n }\n\n protected _schema: Schema;\n protected _dictionaries?: Map;\n\n constructor(schema: Schema, length: number, children: (Data | Vector)[]);\n constructor(schema: Schema, data: Data>, children?: Vector[]);\n constructor(...args: any[]) {\n let data: Data>;\n let schema = args[0] as Schema;\n let children: Vector[] | undefined;\n if (args[1] instanceof Data) {\n [, data, children] = (args as [any, Data>, Vector[]?]);\n } else {\n const fields = schema.fields as Field[];\n const [, length, childData] = args as [any, number, Data[]];\n data = Data.Struct(new Struct(fields), 0, length, 0, null, childData);\n }\n super(data, children);\n this._schema = schema;\n }\n\n public clone(data: Data>, children = this._children) {\n return new RecordBatch(this._schema, data, children);\n }\n\n public concat(...others: Vector>[]): Table {\n const schema = this._schema, chunks = Chunked.flatten(this, ...others);\n return new Table(schema, chunks.map(({ data }) => new RecordBatch(schema, data)));\n }\n\n public get schema() { return this._schema; }\n public get numCols() { return this._schema.fields.length; }\n public get dictionaries() {\n return this._dictionaries || (this._dictionaries = DictionaryCollector.collect(this));\n }\n\n public select(...columnNames: K[]) {\n const nameToIndex = this._schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map());\n return this.selectAt(...columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n public selectAt(...columnIndices: number[]) {\n const schema = this._schema.selectAt(...columnIndices);\n const childData = columnIndices.map((i) => this.data.childData[i]).filter(Boolean);\n return new RecordBatch<{ [key: string]: K }>(schema, this.length, childData);\n }\n}\n\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\n/* tslint:disable:class-name */\nexport class _InternalEmptyPlaceholderRecordBatch extends RecordBatch {\n constructor(schema: Schema) {\n super(schema, 0, schema.fields.map((f) => Data.new(f.type, 0, 0, 0)));\n }\n}\n\n/** @ignore */\nclass DictionaryCollector extends Visitor {\n public dictionaries = new Map();\n public static collect(batch: T) {\n return new DictionaryCollector().visit(\n batch.data, new Struct(batch.schema.fields)\n ).dictionaries;\n }\n public visit(data: Data, type: DataType) {\n if (DataType.isDictionary(type)) {\n return this.visitDictionary(data, type);\n } else {\n data.childData.forEach((child, i) =>\n this.visit(child, type.children[i].type));\n }\n return this;\n }\n public visitDictionary(data: Data, type: Dictionary) {\n const dictionary = data.dictionary;\n if (dictionary && dictionary.length > 0) {\n this.dictionaries.set(type.id, dictionary);\n }\n return this;\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { DataType } from '../type';\nimport { MessageHeader } from '../enum';\nimport { Footer } from './metadata/file';\nimport { Schema, Field } from '../schema';\nimport streamAdapters from '../io/adapters';\nimport { Message } from './metadata/message';\nimport * as metadata from './metadata/message';\nimport { ArrayBufferViewInput } from '../util/buffer';\nimport { ByteStream, AsyncByteStream } from '../io/stream';\nimport { RandomAccessFile, AsyncRandomAccessFile } from '../io/file';\nimport { VectorLoader, JSONVectorLoader } from '../visitor/vectorloader';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from '../recordbatch';\nimport {\n FileHandle,\n ArrowJSONLike,\n ITERATOR_DONE,\n ReadableInterop,\n} from '../io/interfaces';\nimport {\n MessageReader, AsyncMessageReader, JSONMessageReader,\n checkForMagicArrowString, magicLength, magicAndPadding, magicX2AndPadding\n} from './message';\nimport {\n isPromise,\n isIterable, isAsyncIterable,\n isIteratorResult, isArrowJSON,\n isFileHandle, isFetchResponse,\n isReadableDOMStream, isReadableNodeStream\n} from '../util/compat';\n\n/** @ignore */ export type FromArg0 = ArrowJSONLike;\n/** @ignore */ export type FromArg1 = PromiseLike;\n/** @ignore */ export type FromArg2 = Iterable | ArrayBufferViewInput;\n/** @ignore */ export type FromArg3 = PromiseLike | ArrayBufferViewInput>;\n/** @ignore */ export type FromArg4 = Response | NodeJS.ReadableStream | ReadableStream | AsyncIterable;\n/** @ignore */ export type FromArg5 = FileHandle | PromiseLike | PromiseLike;\n/** @ignore */ export type FromArgs = FromArg0 | FromArg1 | FromArg2 | FromArg3 | FromArg4 | FromArg5;\n\n/** @ignore */ type OpenOptions = { autoDestroy?: boolean; };\n/** @ignore */ type RecordBatchReaders = RecordBatchFileReader | RecordBatchStreamReader;\n/** @ignore */ type AsyncRecordBatchReaders = AsyncRecordBatchFileReader | AsyncRecordBatchStreamReader;\n/** @ignore */ type RecordBatchFileReaders = RecordBatchFileReader | AsyncRecordBatchFileReader;\n/** @ignore */ type RecordBatchStreamReaders = RecordBatchStreamReader | AsyncRecordBatchStreamReader;\n\nexport class RecordBatchReader extends ReadableInterop> {\n\n protected _impl: RecordBatchReaderImpls;\n protected constructor(impl: RecordBatchReaderImpls) {\n super();\n this._impl = impl;\n }\n\n public get closed() { return this._impl.closed; }\n public get schema() { return this._impl.schema; }\n public get autoDestroy() { return this._impl.autoDestroy; }\n public get dictionaries() { return this._impl.dictionaries; }\n public get numDictionaries() { return this._impl.numDictionaries; }\n public get numRecordBatches() { return this._impl.numRecordBatches; }\n public get footer() { return this._impl.isFile() ? this._impl.footer : null; }\n\n public isSync(): this is RecordBatchReaders { return this._impl.isSync(); }\n public isAsync(): this is AsyncRecordBatchReaders { return this._impl.isAsync(); }\n public isFile(): this is RecordBatchFileReaders { return this._impl.isFile(); }\n public isStream(): this is RecordBatchStreamReaders { return this._impl.isStream(); }\n\n public next() {\n return this._impl.next();\n }\n public throw(value?: any) {\n return this._impl.throw(value);\n }\n public return(value?: any) {\n return this._impl.return(value);\n }\n public cancel() {\n return this._impl.cancel();\n }\n public reset(schema?: Schema | null): this {\n this._impl.reset(schema);\n this._DOMStream = undefined;\n this._nodeStream = undefined;\n return this;\n }\n public open(options?: OpenOptions) {\n const opening = this._impl.open(options);\n return isPromise(opening) ? opening.then(() => this) : this;\n }\n public readRecordBatch(index: number): RecordBatch | null | Promise | null> {\n return this._impl.isFile() ? this._impl.readRecordBatch(index) : null;\n }\n public [Symbol.iterator](): IterableIterator> {\n return (>> this._impl)[Symbol.iterator]();\n }\n public [Symbol.asyncIterator](): AsyncIterableIterator> {\n return (>> this._impl)[Symbol.asyncIterator]();\n }\n public toDOMStream() {\n return streamAdapters.toDOMStream>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable>));\n }\n public toNodeStream() {\n return streamAdapters.toNodeStream>(\n (this.isSync()\n ? { [Symbol.iterator]: () => this } as Iterable>\n : { [Symbol.asyncIterator]: () => this } as AsyncIterable>),\n { objectMode: true });\n }\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode(options?: import('stream').DuplexOptions & { autoDestroy: boolean }): import('stream').Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n public static throughDOM(\n // @ts-ignore\n writableStrategy?: ByteLengthQueuingStrategy,\n // @ts-ignore\n readableStrategy?: { autoDestroy: boolean }\n ): { writable: WritableStream, readable: ReadableStream> } {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n public static from(source: T): T;\n public static from(source: FromArg0): RecordBatchStreamReader;\n public static from(source: FromArg1): Promise>;\n public static from(source: FromArg2): RecordBatchFileReader | RecordBatchStreamReader;\n public static from(source: FromArg3): Promise | RecordBatchStreamReader>;\n public static from(source: FromArg4): Promise | AsyncRecordBatchReaders>;\n public static from(source: FromArg5): Promise | AsyncRecordBatchStreamReader>;\n /** @nocollapse */\n public static from(source: any) {\n if (source instanceof RecordBatchReader) {\n return source;\n } else if (isArrowJSON(source)) {\n return fromArrowJSON(source);\n } else if (isFileHandle(source)) {\n return fromFileHandle(source);\n } else if (isPromise(source)) {\n return (async () => await RecordBatchReader.from(await source))();\n } else if (isFetchResponse(source) || isReadableDOMStream(source) || isReadableNodeStream(source) || isAsyncIterable(source)) {\n return fromAsyncByteStream(new AsyncByteStream(source));\n }\n return fromByteStream(new ByteStream(source));\n }\n\n public static readAll(source: T): T extends RecordBatchReaders ? IterableIterator : AsyncIterableIterator;\n public static readAll(source: FromArg0): IterableIterator>;\n public static readAll(source: FromArg1): AsyncIterableIterator>;\n public static readAll(source: FromArg2): IterableIterator | RecordBatchStreamReader>;\n public static readAll(source: FromArg3): AsyncIterableIterator | RecordBatchStreamReader>;\n public static readAll(source: FromArg4): AsyncIterableIterator | AsyncRecordBatchReaders>;\n public static readAll(source: FromArg5): AsyncIterableIterator | AsyncRecordBatchStreamReader>;\n /** @nocollapse */\n public static readAll(source: any) {\n if (source instanceof RecordBatchReader) {\n return source.isSync() ? readAllSync(source) : readAllAsync(source as AsyncRecordBatchReaders);\n } else if (isArrowJSON(source) || ArrayBuffer.isView(source) || isIterable(source) || isIteratorResult(source)) {\n return readAllSync(source) as IterableIterator>;\n }\n return readAllAsync(source) as AsyncIterableIterator | AsyncRecordBatchReaders>;\n }\n}\n\n//\n// Since TS is a structural type system, we define the following subclass stubs\n// so that concrete types exist to associate with with the interfaces below.\n//\n// The implementation for each RecordBatchReader is hidden away in the set of\n// `RecordBatchReaderImpl` classes in the second half of this file. This allows\n// us to export a single RecordBatchReader class, and swap out the impl based\n// on the io primitives or underlying arrow (JSON, file, or stream) at runtime.\n//\n// Async/await makes our job a bit harder, since it forces everything to be\n// either fully sync or fully async. This is why the logic for the reader impls\n// has been duplicated into both sync and async variants. Since the RBR\n// delegates to its impl, an RBR with an AsyncRecordBatchFileReaderImpl for\n// example will return async/await-friendly Promises, but one with a (sync)\n// RecordBatchStreamReaderImpl will always return values. Nothing should be\n// different about their logic, aside from the async handling. This is also why\n// this code looks highly structured, as it should be nearly identical and easy\n// to follow.\n//\n\n/** @ignore */\nexport class RecordBatchStreamReader extends RecordBatchReader {\n constructor(protected _impl: RecordBatchStreamReaderImpl) { super (_impl); }\n public [Symbol.iterator]() { return (this._impl as IterableIterator>)[Symbol.iterator](); }\n public async *[Symbol.asyncIterator](): AsyncIterableIterator> { yield* this[Symbol.iterator](); }\n}\n/** @ignore */\nexport class AsyncRecordBatchStreamReader extends RecordBatchReader {\n constructor(protected _impl: AsyncRecordBatchStreamReaderImpl) { super (_impl); }\n public [Symbol.iterator](): IterableIterator> { throw new Error(`AsyncRecordBatchStreamReader is not Iterable`); }\n public [Symbol.asyncIterator]() { return (this._impl as AsyncIterableIterator>)[Symbol.asyncIterator](); }\n}\n/** @ignore */\nexport class RecordBatchFileReader extends RecordBatchStreamReader {\n constructor(protected _impl: RecordBatchFileReaderImpl) { super (_impl); }\n}\n/** @ignore */\nexport class AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {\n constructor(protected _impl: AsyncRecordBatchFileReaderImpl) { super (_impl); }\n}\n\n//\n// Now override the return types for each sync/async RecordBatchReader variant\n//\n\n/** @ignore */\nexport interface RecordBatchStreamReader extends RecordBatchReader {\n open(options?: OpenOptions | undefined): this;\n cancel(): void;\n throw(value?: any): IteratorResult;\n return(value?: any): IteratorResult;\n next(value?: any): IteratorResult>;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchStreamReader extends RecordBatchReader {\n open(options?: OpenOptions | undefined): Promise;\n cancel(): Promise;\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(value?: any): Promise>>;\n}\n\n/** @ignore */\nexport interface RecordBatchFileReader extends RecordBatchStreamReader {\n footer: Footer;\n readRecordBatch(index: number): RecordBatch | null;\n}\n\n/** @ignore */\nexport interface AsyncRecordBatchFileReader extends AsyncRecordBatchStreamReader {\n footer: Footer;\n readRecordBatch(index: number): Promise | null>;\n}\n\n/** @ignore */\ntype RecordBatchReaderImpls =\n RecordBatchJSONReaderImpl |\n RecordBatchFileReaderImpl |\n RecordBatchStreamReaderImpl |\n AsyncRecordBatchFileReaderImpl |\n AsyncRecordBatchStreamReaderImpl;\n\n/** @ignore */\ninterface RecordBatchReaderImpl {\n\n closed: boolean;\n schema: Schema;\n autoDestroy: boolean;\n dictionaries: Map;\n\n isFile(): this is RecordBatchFileReaders;\n isStream(): this is RecordBatchStreamReaders;\n isSync(): this is RecordBatchReaders;\n isAsync(): this is AsyncRecordBatchReaders;\n\n reset(schema?: Schema | null): this;\n}\n\n/** @ignore */\ninterface RecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n\n open(options?: OpenOptions): this;\n cancel(): void;\n\n throw(value?: any): IteratorResult;\n return(value?: any): IteratorResult;\n next(value?: any): IteratorResult>;\n\n [Symbol.iterator](): IterableIterator>;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl {\n\n open(options?: OpenOptions): Promise;\n cancel(): Promise;\n\n throw(value?: any): Promise>;\n return(value?: any): Promise>;\n next(value?: any): Promise>>;\n\n [Symbol.asyncIterator](): AsyncIterableIterator>;\n}\n\n/** @ignore */\ninterface RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {\n readRecordBatch(index: number): RecordBatch | null;\n}\n\n/** @ignore */\ninterface AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl {\n readRecordBatch(index: number): Promise | null>;\n}\n\n/** @ignore */\nabstract class RecordBatchReaderImpl implements RecordBatchReaderImpl {\n\n // @ts-ignore\n public schema: Schema;\n public closed = false;\n public autoDestroy = true;\n public dictionaries: Map;\n\n protected _dictionaryIndex = 0;\n protected _recordBatchIndex = 0;\n public get numDictionaries() { return this._dictionaryIndex; }\n public get numRecordBatches() { return this._recordBatchIndex; }\n\n constructor(dictionaries = new Map()) {\n this.dictionaries = dictionaries;\n }\n\n public isSync(): this is RecordBatchReaders { return false; }\n public isAsync(): this is AsyncRecordBatchReaders { return false; }\n public isFile(): this is RecordBatchFileReaders { return false; }\n public isStream(): this is RecordBatchStreamReaders { return false; }\n\n public reset(schema?: Schema | null) {\n this._dictionaryIndex = 0;\n this._recordBatchIndex = 0;\n this.schema = schema;\n this.dictionaries = new Map();\n return this;\n }\n\n protected _loadRecordBatch(header: metadata.RecordBatch, body: any) {\n return new RecordBatch(this.schema, header.length, this._loadVectors(header, body, this.schema.fields));\n }\n protected _loadDictionaryBatch(header: metadata.DictionaryBatch, body: any) {\n const { id, isDelta, data } = header;\n const { dictionaries, schema } = this;\n const dictionary = dictionaries.get(id);\n if (isDelta || !dictionary) {\n const type = schema.dictionaries.get(id)!;\n return (dictionary && isDelta ? dictionary.concat(\n Vector.new(this._loadVectors(data, body, [type])[0])) :\n Vector.new(this._loadVectors(data, body, [type])[0])) as Vector;\n }\n return dictionary;\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new VectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n/** @ignore */\nclass RecordBatchStreamReaderImpl extends RecordBatchReaderImpl implements IterableIterator> {\n\n protected _reader: MessageReader;\n protected _handle: ByteStream | ArrowJSONLike;\n\n constructor(source: ByteStream | ArrowJSONLike, dictionaries?: Map) {\n super(dictionaries);\n this._reader = !isArrowJSON(source)\n ? new MessageReader(this._handle = source)\n : new JSONMessageReader(this._handle = source);\n }\n\n public isSync(): this is RecordBatchReaders { return true; }\n public isStream(): this is RecordBatchStreamReaders { return true; }\n public [Symbol.iterator](): IterableIterator> {\n return this as IterableIterator>;\n }\n public cancel() {\n if (!this.closed && (this.closed = true)) {\n this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n }\n public open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = this._reader.readSchema()!))) {\n this.cancel();\n }\n }\n return this;\n }\n public throw(value?: any): IteratorResult {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public return(value?: any): IteratorResult {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public next(): IteratorResult> {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null, { _reader: reader } = this;\n while (message = this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return this.return();\n }\n protected _readNextMessageAndValidate(type?: T | null) {\n return this._reader.readMessage(type);\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchStreamReaderImpl extends RecordBatchReaderImpl implements AsyncIterableIterator> {\n\n protected _handle: AsyncByteStream;\n protected _reader: AsyncMessageReader;\n\n constructor(source: AsyncByteStream, dictionaries?: Map) {\n super(dictionaries);\n this._reader = new AsyncMessageReader(this._handle = source);\n }\n public isAsync(): this is AsyncRecordBatchReaders { return true; }\n public isStream(): this is RecordBatchStreamReaders { return true; }\n public [Symbol.asyncIterator](): AsyncIterableIterator> {\n return this as AsyncIterableIterator>;\n }\n public async cancel() {\n if (!this.closed && (this.closed = true)) {\n await this.reset()._reader.return();\n this._reader = null;\n this.dictionaries = null;\n }\n }\n public async open(options?: OpenOptions) {\n if (!this.closed) {\n this.autoDestroy = shouldAutoDestroy(this, options);\n if (!(this.schema || (this.schema = (await this._reader.readSchema())!))) {\n await this.cancel();\n }\n }\n return this;\n }\n public async throw(value?: any): Promise> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.throw(value);\n }\n return ITERATOR_DONE;\n }\n public async return(value?: any): Promise> {\n if (!this.closed && this.autoDestroy && (this.closed = true)) {\n return await this.reset()._reader.return(value);\n }\n return ITERATOR_DONE;\n }\n public async next() {\n if (this.closed) { return ITERATOR_DONE; }\n let message: Message | null, { _reader: reader } = this;\n while (message = await this._readNextMessageAndValidate()) {\n if (message.isSchema()) {\n await this.reset(message.header());\n } else if (message.isRecordBatch()) {\n this._recordBatchIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return { done: false, value: recordBatch };\n } else if (message.isDictionaryBatch()) {\n this._dictionaryIndex++;\n const header = message.header();\n const buffer = await reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n if (this.schema && this._recordBatchIndex === 0) {\n this._recordBatchIndex++;\n return { done: false, value: new _InternalEmptyPlaceholderRecordBatch(this.schema) };\n }\n return await this.return();\n }\n protected async _readNextMessageAndValidate(type?: T | null) {\n return await this._reader.readMessage(type);\n }\n}\n\n/** @ignore */\nclass RecordBatchFileReaderImpl extends RecordBatchStreamReaderImpl {\n\n // @ts-ignore\n protected _footer?: Footer;\n // @ts-ignore\n protected _handle: RandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: RandomAccessFile | ArrayBufferViewInput, dictionaries?: Map) {\n super(source instanceof RandomAccessFile ? source : new RandomAccessFile(source), dictionaries);\n }\n public isSync(): this is RecordBatchReaders { return true; }\n public isFile(): this is RecordBatchFileReaders { return true; }\n public open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return super.open(options);\n }\n public readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { this.open(); }\n const block = this._footer && this._footer.getRecordBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.RecordBatch);\n if (message && message.isRecordBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected _readDictionaryBatch(index: number) {\n const block = this._footer && this._footer.getDictionaryBatch(index);\n if (block && this._handle.seek(block.offset)) {\n const message = this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message && message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected _readFooter() {\n const { _handle } = this;\n const offset = _handle.size - magicAndPadding;\n const length = _handle.readInt32(offset);\n const buffer = _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected _readNextMessageAndValidate(type?: T | null): Message | null {\n if (!this._footer) { this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer && this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && this._handle.seek(block.offset)) {\n return this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass AsyncRecordBatchFileReaderImpl extends AsyncRecordBatchStreamReaderImpl\n implements AsyncRecordBatchFileReaderImpl {\n\n protected _footer?: Footer;\n // @ts-ignore\n protected _handle: AsyncRandomAccessFile;\n public get footer() { return this._footer!; }\n public get numDictionaries() { return this._footer ? this._footer.numDictionaries : 0; }\n public get numRecordBatches() { return this._footer ? this._footer.numRecordBatches : 0; }\n\n constructor(source: FileHandle, byteLength?: number, dictionaries?: Map);\n constructor(source: FileHandle | AsyncRandomAccessFile, dictionaries?: Map);\n constructor(source: FileHandle | AsyncRandomAccessFile, ...rest: any[]) {\n const byteLength = typeof rest[0] !== 'number' ? rest.shift() : undefined;\n const dictionaries = rest[0] instanceof Map ? > rest.shift() : undefined;\n super(source instanceof AsyncRandomAccessFile ? source : new AsyncRandomAccessFile(source, byteLength), dictionaries);\n }\n public isFile(): this is RecordBatchFileReaders { return true; }\n public isAsync(): this is AsyncRecordBatchReaders { return true; }\n public async open(options?: OpenOptions) {\n if (!this.closed && !this._footer) {\n this.schema = (this._footer = await this._readFooter()).schema;\n for (const block of this._footer.dictionaryBatches()) {\n block && await this._readDictionaryBatch(this._dictionaryIndex++);\n }\n }\n return await super.open(options);\n }\n public async readRecordBatch(index: number) {\n if (this.closed) { return null; }\n if (!this._footer) { await this.open(); }\n const block = this._footer && this._footer.getRecordBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.RecordBatch);\n if (message && message.isRecordBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const recordBatch = this._loadRecordBatch(header, buffer);\n return recordBatch;\n }\n }\n return null;\n }\n protected async _readDictionaryBatch(index: number) {\n const block = this._footer && this._footer.getDictionaryBatch(index);\n if (block && (await this._handle.seek(block.offset))) {\n const message = await this._reader.readMessage(MessageHeader.DictionaryBatch);\n if (message && message.isDictionaryBatch()) {\n const header = message.header();\n const buffer = await this._reader.readMessageBody(message.bodyLength);\n const vector = this._loadDictionaryBatch(header, buffer);\n this.dictionaries.set(header.id, vector);\n }\n }\n }\n protected async _readFooter() {\n const { _handle } = this;\n _handle._pending && await _handle._pending;\n const offset = _handle.size - magicAndPadding;\n const length = await _handle.readInt32(offset);\n const buffer = await _handle.readAt(offset - length, length);\n return Footer.decode(buffer);\n }\n protected async _readNextMessageAndValidate(type?: T | null): Promise | null> {\n if (!this._footer) { await this.open(); }\n if (this._footer && this._recordBatchIndex < this.numRecordBatches) {\n const block = this._footer.getRecordBatch(this._recordBatchIndex);\n if (block && await this._handle.seek(block.offset)) {\n return await this._reader.readMessage(type);\n }\n }\n return null;\n }\n}\n\n/** @ignore */\nclass RecordBatchJSONReaderImpl extends RecordBatchStreamReaderImpl {\n constructor(source: ArrowJSONLike, dictionaries?: Map) {\n super(source, dictionaries);\n }\n protected _loadVectors(header: metadata.RecordBatch, body: any, types: (Field | DataType)[]) {\n return new JSONVectorLoader(body, header.nodes, header.buffers, this.dictionaries).visitMany(types);\n }\n}\n\n//\n// Define some helper functions and static implementations down here. There's\n// a bit of branching in the static methods that can lead to the same routines\n// being executed, so we've broken those out here for readability.\n//\n\n/** @ignore */\nfunction shouldAutoDestroy(self: { autoDestroy: boolean }, options?: OpenOptions) {\n return options && (typeof options['autoDestroy'] === 'boolean') ? options['autoDestroy'] : self['autoDestroy'];\n}\n\n/** @ignore */\nfunction* readAllSync(source: RecordBatchReaders | FromArg0 | FromArg2) {\n const reader = RecordBatchReader.from( source) as RecordBatchReaders;\n try {\n if (!reader.open({ autoDestroy: false }).closed) {\n do { yield reader; } while (!(reader.reset().open()).closed);\n }\n } finally { reader.cancel(); }\n}\n\n/** @ignore */\nasync function* readAllAsync(source: AsyncRecordBatchReaders | FromArg1 | FromArg3 | FromArg4 | FromArg5) {\n const reader = await RecordBatchReader.from( source) as RecordBatchReader;\n try {\n if (!(await reader.open({ autoDestroy: false })).closed) {\n do { yield reader; } while (!(await reader.reset().open()).closed);\n }\n } finally { await reader.cancel(); }\n}\n\n/** @ignore */\nfunction fromArrowJSON(source: ArrowJSONLike) {\n return new RecordBatchStreamReader(new RecordBatchJSONReaderImpl(source));\n}\n\n/** @ignore */\nfunction fromByteStream(source: ByteStream) {\n const bytes = source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(source.read()))\n : new RecordBatchStreamReader(new RecordBatchStreamReaderImpl(function*(): any {}()));\n}\n\n/** @ignore */\nasync function fromAsyncByteStream(source: AsyncByteStream) {\n const bytes = await source.peek((magicLength + 7) & ~7);\n return bytes && bytes.byteLength >= 4 ? !checkForMagicArrowString(bytes)\n ? new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(source))\n : new RecordBatchFileReader(new RecordBatchFileReaderImpl(await source.read()))\n : new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(async function*(): any {}()));\n}\n\n/** @ignore */\nasync function fromFileHandle(source: FileHandle) {\n const { size } = await source.stat();\n const file = new AsyncRandomAccessFile(source, size);\n if (size >= magicX2AndPadding) {\n if (checkForMagicArrowString(await file.readAt(0, (magicLength + 7) & ~7))) {\n return new AsyncRecordBatchFileReader(new AsyncRecordBatchFileReaderImpl(file));\n }\n }\n return new AsyncRecordBatchStreamReader(new AsyncRecordBatchStreamReaderImpl(file));\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { Vector } from '../../vector';\nimport { VectorType as V } from '../../interfaces';\nimport { Builder, BuilderOptions } from '../../builder/index';\n\n/** @ignore */\nexport interface BuilderTransformOptions extends BuilderOptions {\n queueingStrategy?: 'bytes' | 'count';\n dictionaryHashFunction?: (value: any) => string | number;\n readableStrategy?: { highWaterMark?: number, size?: any, type?: 'bytes'; };\n writableStrategy?: { highWaterMark?: number, size?: any, type?: 'bytes'; };\n valueToChildTypeId?: (builder: Builder, value: any, offset: number) => number;\n}\n\n/** @ignore */\nexport function builderThroughDOMStream(options: BuilderTransformOptions) {\n return new BuilderTransform(options);\n}\n\n/** @ignore */\nexport class BuilderTransform {\n\n public readable: ReadableStream>;\n public writable: WritableStream;\n public _controller: ReadableStreamDefaultController> | null;\n\n private _numChunks = 0;\n private _finished = false;\n private _bufferedSize = 0;\n private _builder: Builder;\n private _getSize: (builder: Builder) => number;\n\n constructor(options: BuilderTransformOptions) {\n\n // Access properties by string indexers to defeat closure compiler\n\n const {\n ['readableStrategy']: readableStrategy,\n ['writableStrategy']: writableStrategy,\n ['queueingStrategy']: queueingStrategy = 'count',\n ...builderOptions\n } = options;\n\n this._controller = null;\n this._builder = Builder.new(builderOptions);\n this._getSize = queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength;\n\n const { ['highWaterMark']: readableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...readableStrategy };\n const { ['highWaterMark']: writableHighWaterMark = queueingStrategy === 'bytes' ? 2 ** 14 : 1000 } = { ...writableStrategy };\n\n this['readable'] = new ReadableStream>({\n ['cancel']: () => { this._builder.clear(); },\n ['pull']: (c) => { this._maybeFlush(this._builder, this._controller = c); },\n ['start']: (c) => { this._maybeFlush(this._builder, this._controller = c); },\n }, {\n 'highWaterMark': readableHighWaterMark,\n 'size': queueingStrategy !== 'bytes' ? chunkLength : chunkByteLength,\n });\n\n this['writable'] = new WritableStream({\n ['abort']: () => { this._builder.clear(); },\n ['write']: () => { this._maybeFlush(this._builder, this._controller); },\n ['close']: () => { this._maybeFlush(this._builder.finish(), this._controller); },\n }, {\n 'highWaterMark': writableHighWaterMark,\n 'size': (value: T['TValue'] | TNull) => this._writeValueAndReturnChunkSize(value),\n });\n }\n\n private _writeValueAndReturnChunkSize(value: T['TValue'] | TNull) {\n const bufferedSize = this._bufferedSize;\n this._bufferedSize = this._getSize(this._builder.append(value));\n return this._bufferedSize - bufferedSize;\n }\n\n private _maybeFlush(builder: Builder, controller: ReadableStreamDefaultController> | null) {\n if (controller === null) { return; }\n if (this._bufferedSize >= controller.desiredSize!) {\n ++this._numChunks && this._enqueue(controller, builder.toVector());\n }\n if (builder.finished) {\n if (builder.length > 0 || this._numChunks === 0) {\n ++this._numChunks && this._enqueue(controller, builder.toVector());\n }\n if (!this._finished && (this._finished = true)) {\n this._enqueue(controller, null);\n }\n }\n }\n\n private _enqueue(controller: ReadableStreamDefaultController>, chunk: V | null) {\n this._bufferedSize = 0;\n this._controller = null;\n chunk === null ? controller.close() : controller.enqueue(chunk);\n }\n}\n\n/** @ignore */ const chunkLength = (chunk: Vector | Builder) => chunk.length;\n/** @ignore */ const chunkByteLength = (chunk: Vector | Builder) => chunk.byteLength;\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from '../vector';\nimport { RecordBatch } from '../recordbatch';\nimport { DictionaryVector } from '../vector/dictionary';\n\n/** @ignore */\nexport type ValueFunc = (idx: number, cols: RecordBatch) => T | null;\n/** @ignore */\nexport type PredicateFunc = (idx: number, cols: RecordBatch) => boolean;\n\n/** @ignore */\nexport abstract class Value {\n eq(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new Equals(this, other);\n }\n le(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new LTeq(this, other);\n }\n ge(other: Value | T): Predicate {\n if (!(other instanceof Value)) { other = new Literal(other); }\n return new GTeq(this, other);\n }\n lt(other: Value | T): Predicate {\n return new Not(this.ge(other));\n }\n gt(other: Value | T): Predicate {\n return new Not(this.le(other));\n }\n ne(other: Value | T): Predicate {\n return new Not(this.eq(other));\n }\n}\n\n/** @ignore */\nexport class Literal extends Value {\n constructor(public v: T) { super(); }\n}\n\n/** @ignore */\nexport class Col extends Value {\n // @ts-ignore\n public vector: Vector;\n // @ts-ignore\n public colidx: number;\n\n constructor(public name: string) { super(); }\n bind(batch: RecordBatch): (idx: number, batch?: RecordBatch) => any {\n if (!this.colidx) {\n // Assume column index doesn't change between calls to bind\n //this.colidx = cols.findIndex(v => v.name.indexOf(this.name) != -1);\n this.colidx = -1;\n const fields = batch.schema.fields;\n for (let idx = -1; ++idx < fields.length;) {\n if (fields[idx].name === this.name) {\n this.colidx = idx;\n break;\n }\n }\n if (this.colidx < 0) { throw new Error(`Failed to bind Col \"${this.name}\"`); }\n }\n\n const vec = this.vector = batch.getChildAt(this.colidx)!;\n return (idx: number) => vec.get(idx);\n }\n}\n\n/** @ignore */\nexport abstract class Predicate {\n abstract bind(batch: RecordBatch): PredicateFunc;\n and(...expr: Predicate[]): And { return new And(this, ...expr); }\n or(...expr: Predicate[]): Or { return new Or(this, ...expr); }\n not(): Predicate { return new Not(this); }\n}\n\n/** @ignore */\nexport abstract class ComparisonPredicate extends Predicate {\n constructor(public readonly left: Value, public readonly right: Value) {\n super();\n }\n\n bind(batch: RecordBatch) {\n if (this.left instanceof Literal) {\n if (this.right instanceof Literal) {\n return this._bindLitLit(batch, this.left, this.right);\n } else { // right is a Col\n\n return this._bindLitCol(batch, this.left, this.right as Col);\n }\n } else { // left is a Col\n if (this.right instanceof Literal) {\n return this._bindColLit(batch, this.left as Col, this.right);\n } else { // right is a Col\n return this._bindColCol(batch, this.left as Col, this.right as Col);\n }\n }\n }\n\n protected abstract _bindLitLit(batch: RecordBatch, left: Literal, right: Literal): PredicateFunc;\n protected abstract _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc;\n protected abstract _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc;\n protected abstract _bindLitCol(batch: RecordBatch, lit: Literal, col: Col): PredicateFunc;\n}\n\n/** @ignore */\nexport abstract class CombinationPredicate extends Predicate {\n readonly children: Predicate[];\n constructor(...children: Predicate[]) {\n super();\n this.children = children;\n }\n}\n// add children to prototype so it doesn't get mangled in es2015/umd\n( CombinationPredicate.prototype).children = Object.freeze([]); // freeze for safety\n\n/** @ignore */\nexport class And extends CombinationPredicate {\n constructor(...children: Predicate[]) {\n // Flatten any Ands\n children = children.reduce((accum: Predicate[], p: Predicate): Predicate[] => {\n return accum.concat(p instanceof And ? p.children : p);\n }, []);\n super(...children);\n }\n bind(batch: RecordBatch) {\n const bound = this.children.map((p) => p.bind(batch));\n return (idx: number, batch: RecordBatch) => bound.every((p) => p(idx, batch));\n }\n}\n\n/** @ignore */\nexport class Or extends CombinationPredicate {\n constructor(...children: Predicate[]) {\n // Flatten any Ors\n children = children.reduce((accum: Predicate[], p: Predicate): Predicate[] => {\n return accum.concat(p instanceof Or ? p.children : p);\n }, []);\n super(...children);\n }\n bind(batch: RecordBatch) {\n const bound = this.children.map((p) => p.bind(batch));\n return (idx: number, batch: RecordBatch) => bound.some((p) => p(idx, batch));\n }\n}\n\n/** @ignore */\nexport class Equals extends ComparisonPredicate {\n // Helpers used to cache dictionary reverse lookups between calls to bind\n private lastDictionary: Vector|undefined;\n private lastKey: number|undefined;\n\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v == right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, batch: RecordBatch) => left_func(idx, batch) == right_func(idx, batch);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n if (col.vector instanceof DictionaryVector) {\n let key: any;\n const vector = col.vector as DictionaryVector;\n if (vector.dictionary !== this.lastDictionary) {\n key = vector.reverseLookup(lit.v);\n this.lastDictionary = vector.dictionary;\n this.lastKey = key;\n } else {\n key = this.lastKey;\n }\n\n if (key === -1) {\n // the value doesn't exist in the dictionary - always return\n // false\n // TODO: special-case of PredicateFunc that encapsulates this\n // \"always false\" behavior. That way filtering operations don't\n // have to bother checking\n return () => false;\n } else {\n return (idx: number) => {\n return vector.getKey(idx) === key;\n };\n }\n } else {\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) == lit.v;\n }\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n // Equals is commutative\n return this._bindColLit(batch, col, lit);\n }\n}\n\n/** @ignore */\nexport class LTeq extends ComparisonPredicate {\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v <= right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, cols: RecordBatch) => left_func(idx, cols) <= right_func(idx, cols);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) <= lit.v;\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => lit.v <= col_func(idx, cols);\n }\n}\n\n/** @ignore */\nexport class GTeq extends ComparisonPredicate {\n protected _bindLitLit(_batch: RecordBatch, left: Literal, right: Literal): PredicateFunc {\n const rtrn: boolean = left.v >= right.v;\n return () => rtrn;\n }\n\n protected _bindColCol(batch: RecordBatch, left: Col, right: Col): PredicateFunc {\n const left_func = left.bind(batch);\n const right_func = right.bind(batch);\n return (idx: number, cols: RecordBatch) => left_func(idx, cols) >= right_func(idx, cols);\n }\n\n protected _bindColLit(batch: RecordBatch, col: Col, lit: Literal): PredicateFunc {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => col_func(idx, cols) >= lit.v;\n }\n\n protected _bindLitCol(batch: RecordBatch, lit: Literal, col: Col) {\n const col_func = col.bind(batch);\n return (idx: number, cols: RecordBatch) => lit.v >= col_func(idx, cols);\n }\n}\n\n/** @ignore */\nexport class Not extends Predicate {\n constructor(public readonly child: Predicate) {\n super();\n }\n\n bind(batch: RecordBatch) {\n const func = this.child.bind(batch);\n return (idx: number, batch: RecordBatch) => !func(idx, batch);\n }\n}\n\n/** @ignore */\nexport class CustomPredicate extends Predicate {\n constructor(private next: PredicateFunc, private bind_: (batch: RecordBatch) => void) {\n super();\n }\n\n bind(batch: RecordBatch) {\n this.bind_(batch);\n return this.next;\n }\n}\n\nexport function lit(v: any): Value { return new Literal(v); }\nexport function col(n: string): Col { return new Col(n); }\nexport function and(...p: Predicate[]): And { return new And(...p); }\nexport function or(...p: Predicate[]): Or { return new Or(...p); }\nexport function custom(next: PredicateFunc, bind: (batch: RecordBatch) => void) {\n return new CustomPredicate(next, bind);\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Table } from '../table';\nimport { Vector } from '../vector';\nimport { IntVector } from '../vector/int';\nimport { Field, Schema } from '../schema';\nimport { Predicate, Col } from './predicate';\nimport { RecordBatch } from '../recordbatch';\nimport { VectorType as V } from '../interfaces';\nimport { DataType, Int, Struct, Dictionary } from '../type';\n\n/** @ignore */\nexport type BindFunc = (batch: RecordBatch) => void;\n/** @ignore */\nexport type NextFunc = (idx: number, batch: RecordBatch) => void;\n\nTable.prototype.countBy = function(this: Table, name: Col | string) { return new DataFrame(this.chunks).countBy(name); };\nTable.prototype.scan = function(this: Table, next: NextFunc, bind?: BindFunc) { return new DataFrame(this.chunks).scan(next, bind); };\nTable.prototype.scanReverse = function(this: Table, next: NextFunc, bind?: BindFunc) { return new DataFrame(this.chunks).scanReverse(next, bind); };\nTable.prototype.filter = function(this: Table, predicate: Predicate): FilteredDataFrame { return new DataFrame(this.chunks).filter(predicate); };\n\nexport class DataFrame extends Table {\n public filter(predicate: Predicate): FilteredDataFrame {\n return new FilteredDataFrame(this.chunks, predicate);\n }\n public scan(next: NextFunc, bind?: BindFunc) {\n const batches = this.chunks, numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n if (bind) { bind(batch); }\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n next(index, batch);\n }\n }\n }\n public scanReverse(next: NextFunc, bind?: BindFunc) {\n const batches = this.chunks, numBatches = batches.length;\n for (let batchIndex = numBatches; --batchIndex >= 0;) {\n // load batches\n const batch = batches[batchIndex];\n if (bind) { bind(batch); }\n // yield all indices\n for (let index = batch.length; --index >= 0;) {\n next(index, batch);\n }\n }\n }\n public countBy(name: Col | string) {\n const batches = this.chunks, numBatches = batches.length;\n const count_by = typeof name === 'string' ? new Col(name) : name as Col;\n // Assume that all dictionary batches are deltas, which means that the\n // last record batch has the most complete dictionary\n count_by.bind(batches[numBatches - 1]);\n const vector = count_by.vector as V;\n if (!DataType.isDictionary(vector.type)) {\n throw new Error('countBy currently only supports dictionary-encoded columns');\n }\n\n const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));\n const CountsArrayType = countByteLength == 4 ? Uint32Array :\n countByteLength >= 2 ? Uint16Array : Uint8Array;\n\n const counts = new CountsArrayType(vector.dictionary.length);\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n // rebind the countBy Col\n count_by.bind(batch);\n const keys = (count_by.vector as V).indices;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n let key = keys.get(index);\n if (key !== null) { counts[key]++; }\n }\n }\n return new CountByResult(vector.dictionary, IntVector.from(counts));\n }\n}\n\n/** @ignore */\nexport class CountByResult extends Table<{ values: T, counts: TCount }> {\n constructor(values: Vector, counts: V) {\n type R = { values: T, counts: TCount };\n const schema = new Schema([\n new Field('values', values.type),\n new Field('counts', counts.type)\n ]);\n super(new RecordBatch(schema, counts.length, [values, counts]));\n }\n public toJSON(): Object {\n const values = this.getColumnAt(0)!;\n const counts = this.getColumnAt(1)!;\n const result = {} as { [k: string]: number | null };\n for (let i = -1; ++i < this.length;) {\n result[values.get(i)] = counts.get(i);\n }\n return result;\n }\n}\n\n/** @ignore */\nexport class FilteredDataFrame extends DataFrame {\n private _predicate: Predicate;\n constructor (batches: RecordBatch[], predicate: Predicate) {\n super(batches);\n this._predicate = predicate;\n }\n public scan(next: NextFunc, bind?: BindFunc) {\n // inlined version of this:\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) next(idx, columns);\n // });\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n let isBound = false;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) {\n // bind batches lazily - if predicate doesn't match anything\n // in the batch we don't need to call bind on the batch\n if (bind && !isBound) {\n bind(batch);\n isBound = true;\n }\n next(index, batch);\n }\n }\n }\n }\n public scanReverse(next: NextFunc, bind?: BindFunc) {\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = numBatches; --batchIndex >= 0;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n let isBound = false;\n // yield all indices\n for (let index = batch.length; --index >= 0;) {\n if (predicate(index, batch)) {\n // bind batches lazily - if predicate doesn't match anything\n // in the batch we don't need to call bind on the batch\n if (bind && !isBound) {\n bind(batch);\n isBound = true;\n }\n next(index, batch);\n }\n }\n }\n }\n public count(): number {\n // inlined version of this:\n // let sum = 0;\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) ++sum;\n // });\n // return sum;\n let sum = 0;\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) { ++sum; }\n }\n }\n return sum;\n }\n public *[Symbol.iterator](): IterableIterator['TValue']> {\n // inlined version of this:\n // this.parent.scan((idx, columns) => {\n // if (this.predicate(idx, columns)) next(idx, columns);\n // });\n const batches = this._chunks;\n const numBatches = batches.length;\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n // TODO: bind batches lazily\n // If predicate doesn't match anything in the batch we don't need\n // to bind the callback\n const predicate = this._predicate.bind(batch);\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n if (predicate(index, batch)) { yield batch.get(index) as any; }\n }\n }\n }\n public filter(predicate: Predicate): FilteredDataFrame {\n return new FilteredDataFrame(\n this._chunks,\n this._predicate.and(predicate)\n );\n }\n public countBy(name: Col | string) {\n const batches = this._chunks, numBatches = batches.length;\n const count_by = typeof name === 'string' ? new Col(name) : name as Col;\n // Assume that all dictionary batches are deltas, which means that the\n // last record batch has the most complete dictionary\n count_by.bind(batches[numBatches - 1]);\n const vector = count_by.vector as V;\n if (!DataType.isDictionary(vector.type)) {\n throw new Error('countBy currently only supports dictionary-encoded columns');\n }\n\n const countByteLength = Math.ceil(Math.log(vector.length) / Math.log(256));\n const CountsArrayType = countByteLength == 4 ? Uint32Array :\n countByteLength >= 2 ? Uint16Array : Uint8Array;\n\n const counts = new CountsArrayType(vector.dictionary.length);\n\n for (let batchIndex = -1; ++batchIndex < numBatches;) {\n // load batches\n const batch = batches[batchIndex];\n const predicate = this._predicate.bind(batch);\n // rebind the countBy Col\n count_by.bind(batch);\n const keys = (count_by.vector as V).indices;\n // yield all indices\n for (let index = -1, numRows = batch.length; ++index < numRows;) {\n let key = keys.get(index);\n if (key !== null && predicate(index, batch)) { counts[key]++; }\n }\n }\n return new CountByResult(vector.dictionary, IntVector.from(counts));\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { ArrowType, DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType } from './enum';\nexport { Data } from './data';\nexport {\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8,\n Binary,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n Struct,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth,\n FixedSizeList,\n Map_,\n} from './type';\n\nexport { Table } from './table';\nexport { Column } from './column';\nexport { Visitor } from './visitor';\nexport { Schema, Field } from './schema';\nexport {\n Vector,\n BaseVector,\n BinaryVector,\n BoolVector,\n Chunked,\n DateVector, DateDayVector, DateMillisecondVector,\n DecimalVector,\n DictionaryVector,\n FixedSizeBinaryVector,\n FixedSizeListVector,\n FloatVector, Float16Vector, Float32Vector, Float64Vector,\n IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector,\n IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector,\n ListVector,\n MapVector,\n NullVector,\n StructVector,\n TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector,\n TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector,\n UnionVector, DenseUnionVector, SparseUnionVector,\n Utf8Vector,\n} from './vector/index';\n\nexport {\n Builder,\n BinaryBuilder,\n BoolBuilder,\n DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n DecimalBuilder,\n DictionaryBuilder,\n FixedSizeBinaryBuilder,\n FixedSizeListBuilder,\n FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder,\n IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n ListBuilder,\n MapBuilder,\n NullBuilder,\n StructBuilder,\n TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n Utf8Builder,\n} from './builder/index';\n\nexport { ByteStream, AsyncByteStream, AsyncByteQueue, ReadableSource, WritableSink } from './io/stream';\nexport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader } from './ipc/reader';\nexport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter } from './ipc/writer';\nexport { MessageReader, AsyncMessageReader, JSONMessageReader } from './ipc/message';\nexport { Message } from './ipc/metadata/message';\nexport { RecordBatch } from './recordbatch';\nexport { ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions } from './io/interfaces';\nexport { DataFrame, FilteredDataFrame, CountByResult, BindFunc, NextFunc } from './compute/dataframe';\n\nimport * as util_bn_ from './util/bn';\nimport * as util_int_ from './util/int';\nimport * as util_bit_ from './util/bit';\nimport * as util_math_ from './util/math';\nimport * as util_buffer_ from './util/buffer';\nimport * as util_vector_ from './util/vector';\nimport * as predicate from './compute/predicate';\n\nexport { predicate };\n/** @ignore */\nexport const util = {\n ...util_bn_,\n ...util_int_,\n ...util_bit_,\n ...util_math_,\n ...util_buffer_,\n ...util_vector_\n};\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './io/adapters';\nimport { Builder } from './builder/index';\nimport { RecordBatchReader } from './ipc/reader';\nimport { RecordBatchWriter } from './ipc/writer';\nimport { toDOMStream } from './io/whatwg/iterable';\nimport { builderThroughDOMStream } from './io/whatwg/builder';\nimport { recordBatchReaderThroughDOMStream } from './io/whatwg/reader';\nimport { recordBatchWriterThroughDOMStream } from './io/whatwg/writer';\n\nstreamAdapters.toDOMStream = toDOMStream;\nBuilder['throughDOM'] = builderThroughDOMStream;\nRecordBatchReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\n\nexport {\n ArrowType, DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType,\n Data,\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8,\n Binary,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n Struct,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth,\n FixedSizeList,\n Map_,\n Table,\n Column,\n Schema, Field,\n Visitor,\n Vector,\n BaseVector,\n BinaryVector,\n BoolVector,\n Chunked,\n DateVector, DateDayVector, DateMillisecondVector,\n DecimalVector,\n DictionaryVector,\n FixedSizeBinaryVector,\n FixedSizeListVector,\n FloatVector, Float16Vector, Float32Vector, Float64Vector,\n IntervalVector, IntervalDayTimeVector, IntervalYearMonthVector,\n IntVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector,\n ListVector,\n MapVector,\n NullVector,\n StructVector,\n TimestampVector, TimestampSecondVector, TimestampMillisecondVector, TimestampMicrosecondVector, TimestampNanosecondVector,\n TimeVector, TimeSecondVector, TimeMillisecondVector, TimeMicrosecondVector, TimeNanosecondVector,\n UnionVector, DenseUnionVector, SparseUnionVector,\n Utf8Vector,\n ByteStream, AsyncByteStream, AsyncByteQueue, ReadableSource, WritableSink,\n RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader,\n RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter,\n MessageReader, AsyncMessageReader, JSONMessageReader,\n Message,\n RecordBatch,\n ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions,\n DataFrame, FilteredDataFrame, CountByResult, BindFunc, NextFunc,\n predicate,\n util,\n Builder,\n BinaryBuilder,\n BoolBuilder,\n DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n DecimalBuilder,\n DictionaryBuilder,\n FixedSizeBinaryBuilder,\n FixedSizeListBuilder,\n FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder,\n IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n ListBuilder,\n MapBuilder,\n NullBuilder,\n StructBuilder,\n TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n Utf8Builder,\n} from './Arrow';\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { toUint8Array } from '../../util/buffer';\nimport { ReadableDOMStreamOptions } from '../../io/interfaces';\nimport { isIterable, isAsyncIterable } from '../../util/compat';\n\n/** @ignore */\nexport function toDOMStream(source: Iterable | AsyncIterable, options?: ReadableDOMStreamOptions): ReadableStream {\n if (isAsyncIterable(source)) { return asyncIterableAsReadableDOMStream(source, options); }\n if (isIterable(source)) { return iterableAsReadableDOMStream(source, options); }\n /* istanbul ignore next */\n throw new Error(`toDOMStream() must be called with an Iterable or AsyncIterable`);\n}\n\n/** @ignore */\nfunction iterableAsReadableDOMStream(source: Iterable, options?: ReadableDOMStreamOptions) {\n\n let it: Iterator | null = null;\n const bm = (options && options.type === 'bytes') || false;\n const hwm = options && options.highWaterMark || (2 ** 24);\n\n return new ReadableStream({\n ...options as any,\n start(controller) { next(controller, it || (it = source[Symbol.iterator]())); },\n pull(controller) { it ? (next(controller, it)) : controller.close(); },\n cancel() { (it && (it.return && it.return()) || true) && (it = null); }\n }, { highWaterMark: bm ? hwm : undefined, ...options });\n\n function next(controller: ReadableStreamDefaultController, it: Iterator) {\n let buf: Uint8Array;\n let r: IteratorResult | null = null;\n let size = controller.desiredSize || null;\n while (!(r = it.next(bm ? size : null)).done) {\n if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {\n size != null && bm && (size = size - buf.byteLength + 1);\n r.value = buf;\n }\n controller.enqueue(r.value);\n if (size != null && --size <= 0) { return; }\n }\n controller.close();\n }\n}\n\n/** @ignore */\nfunction asyncIterableAsReadableDOMStream(source: AsyncIterable, options?: ReadableDOMStreamOptions) {\n\n let it: AsyncIterator | null = null;\n const bm = (options && options.type === 'bytes') || false;\n const hwm = options && options.highWaterMark || (2 ** 24);\n\n return new ReadableStream({\n ...options as any,\n async start(controller) { await next(controller, it || (it = source[Symbol.asyncIterator]())); },\n async pull(controller) { it ? (await next(controller, it)) : controller.close(); },\n async cancel() { (it && (it.return && await it.return()) || true) && (it = null); },\n }, { highWaterMark: bm ? hwm : undefined, ...options });\n\n async function next(controller: ReadableStreamDefaultController, it: AsyncIterator) {\n let buf: Uint8Array;\n let r: IteratorResult | null = null;\n let size = controller.desiredSize || null;\n while (!(r = await it.next(bm ? size : null)).done) {\n if (ArrayBuffer.isView(r.value) && (buf = toUint8Array(r.value))) {\n size != null && bm && (size = size - buf.byteLength + 1);\n r.value = buf;\n }\n controller.enqueue(r.value);\n if (size != null && --size <= 0) { return; }\n }\n controller.close();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { RecordBatch } from '../../recordbatch';\nimport { AsyncByteQueue } from '../../io/stream';\nimport { RecordBatchReader } from '../../ipc/reader';\n\n/** @ignore */\nexport function recordBatchReaderThroughDOMStream(writableStrategy?: ByteLengthQueuingStrategy, readableStrategy?: { autoDestroy: boolean }) {\n\n const queue = new AsyncByteQueue();\n let reader: RecordBatchReader | null = null;\n\n const readable = new ReadableStream>({\n async cancel() { await queue.close(); },\n async start(controller) { await next(controller, reader || (reader = await open())); },\n async pull(controller) { reader ? await next(controller, reader) : controller.close(); }\n });\n\n return { writable: new WritableStream(queue, { 'highWaterMark': 2 ** 14, ...writableStrategy }), readable };\n\n async function open() {\n return await (await RecordBatchReader.from(queue)).open(readableStrategy);\n }\n\n async function next(controller: ReadableStreamDefaultController>, reader: RecordBatchReader) {\n let size = controller.desiredSize;\n let r: IteratorResult> | null = null;\n while (!(r = await reader.next()).done) {\n controller.enqueue(r.value);\n if (size != null && --size <= 0) {\n return;\n }\n }\n controller.close();\n }\n}\n","// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { DataType } from '../../type';\nimport { RecordBatch } from '../../recordbatch';\nimport { AsyncByteStream } from '../../io/stream';\nimport { RecordBatchWriter } from '../../ipc/writer';\n\n/** @ignore */\nexport function recordBatchWriterThroughDOMStream(\n this: typeof RecordBatchWriter,\n writableStrategy?: QueuingStrategy> & { autoDestroy: boolean },\n readableStrategy?: { highWaterMark?: number, size?: any }\n) {\n\n const writer = new this(writableStrategy);\n const reader = new AsyncByteStream(writer);\n const readable = new ReadableStream({\n type: 'bytes',\n async cancel() { await reader.cancel(); },\n async pull(controller) { await next(controller); },\n async start(controller) { await next(controller); },\n }, { 'highWaterMark': 2 ** 14, ...readableStrategy });\n\n return { writable: new WritableStream(writer, writableStrategy), readable };\n\n async function next(controller: ReadableStreamDefaultController) {\n let buf: Uint8Array | null = null;\n let size = controller.desiredSize;\n while (buf = await reader.read(size || null)) {\n controller.enqueue(buf);\n if (size != null && (size -= buf.byteLength) <= 0) { return; }\n }\n controller.close();\n }\n}\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Table, Type } from \"apache-arrow\";\nvar ArrowTable = /** @class */ (function () {\n function ArrowTable(dataBuffer, indexBuffer, columnsBuffer, styler) {\n var _this = this;\n this.getCell = function (rowIndex, columnIndex) {\n var isBlankCell = rowIndex < _this.headerRows && columnIndex < _this.headerColumns;\n var isIndexCell = rowIndex >= _this.headerRows && columnIndex < _this.headerColumns;\n var isColumnsCell = rowIndex < _this.headerRows && columnIndex >= _this.headerColumns;\n if (isBlankCell) {\n var classNames = [\"blank\"];\n if (columnIndex > 0) {\n classNames.push(\"level\" + rowIndex);\n }\n return {\n type: \"blank\",\n classNames: classNames.join(\" \"),\n content: \"\"\n };\n }\n else if (isColumnsCell) {\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"col_heading\",\n \"level\" + rowIndex,\n \"col\" + dataColumnIndex\n ];\n return {\n type: \"columns\",\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.columnsTable, dataColumnIndex, rowIndex)\n };\n }\n else if (isIndexCell) {\n var dataRowIndex = rowIndex - _this.headerRows;\n var classNames = [\n \"row_heading\",\n \"level\" + columnIndex,\n \"row\" + dataRowIndex\n ];\n return {\n type: \"index\",\n id: \"T_\" + _this.uuid + \"level\" + columnIndex + \"_row\" + dataRowIndex,\n classNames: classNames.join(\" \"),\n content: _this.getContent(_this.indexTable, dataRowIndex, columnIndex)\n };\n }\n else {\n var dataRowIndex = rowIndex - _this.headerRows;\n var dataColumnIndex = columnIndex - _this.headerColumns;\n var classNames = [\n \"data\",\n \"row\" + dataRowIndex,\n \"col\" + dataColumnIndex\n ];\n var content = _this.styler\n ? _this.getContent(_this.styler.displayValuesTable, dataRowIndex, dataColumnIndex)\n : _this.getContent(_this.dataTable, dataRowIndex, dataColumnIndex);\n return {\n type: \"data\",\n id: \"T_\" + _this.uuid + \"row\" + dataRowIndex + \"_col\" + dataColumnIndex,\n classNames: classNames.join(\" \"),\n content: content\n };\n }\n };\n this.getContent = function (table, rowIndex, columnIndex) {\n var column = table.getColumnAt(columnIndex);\n if (column === null) {\n return \"\";\n }\n var columnTypeId = _this.getColumnTypeId(table, columnIndex);\n switch (columnTypeId) {\n case Type.Timestamp: {\n return _this.nanosToDate(column.get(rowIndex));\n }\n default: {\n return column.get(rowIndex);\n }\n }\n };\n this.dataTable = Table.from(dataBuffer);\n this.indexTable = Table.from(indexBuffer);\n this.columnsTable = Table.from(columnsBuffer);\n this.styler = styler\n ? {\n caption: styler.caption,\n displayValuesTable: Table.from(styler.displayValues),\n styles: styler.styles,\n uuid: styler.uuid\n }\n : undefined;\n }\n Object.defineProperty(ArrowTable.prototype, \"rows\", {\n get: function () {\n return this.indexTable.length + this.columnsTable.numCols;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columns\", {\n get: function () {\n return this.indexTable.numCols + this.columnsTable.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerRows\", {\n get: function () {\n return this.rows - this.dataRows;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"headerColumns\", {\n get: function () {\n return this.columns - this.dataColumns;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataRows\", {\n get: function () {\n return this.dataTable.length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"dataColumns\", {\n get: function () {\n return this.dataTable.numCols;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"uuid\", {\n get: function () {\n return this.styler && this.styler.uuid;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"caption\", {\n get: function () {\n return this.styler && this.styler.caption;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"styles\", {\n get: function () {\n return this.styler && this.styler.styles;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"table\", {\n get: function () {\n return this.dataTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"index\", {\n get: function () {\n return this.indexTable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ArrowTable.prototype, \"columnTable\", {\n get: function () {\n return this.columnsTable;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Serialize arrow table.\n */\n ArrowTable.prototype.serialize = function () {\n return {\n data: this.dataTable.serialize(),\n index: this.indexTable.serialize(),\n columns: this.columnsTable.serialize()\n };\n };\n /**\n * Returns apache-arrow specific typeId of column.\n */\n ArrowTable.prototype.getColumnTypeId = function (table, columnIndex) {\n return table.schema.fields[columnIndex].type.typeId;\n };\n ArrowTable.prototype.nanosToDate = function (nanos) {\n return new Date(nanos / 1e6);\n };\n return ArrowTable;\n}());\nexport { ArrowTable };\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Safari doesn't support the EventTarget class, so we use a shim.\nimport { EventTarget } from \"event-target-shim\";\nimport { ArrowTable } from \"./ArrowTable\";\n/** Messages from Component -> Streamlit */\nvar ComponentMessageType;\n(function (ComponentMessageType) {\n // A component sends this message when it's ready to receive messages\n // from Streamlit. Streamlit won't send any messages until it gets this.\n // Data: { apiVersion: number }\n ComponentMessageType[\"COMPONENT_READY\"] = \"streamlit:componentReady\";\n // The component has a new widget value. Send it back to Streamlit, which\n // will then re-run the app.\n // Data: { value: any }\n ComponentMessageType[\"SET_COMPONENT_VALUE\"] = \"streamlit:setComponentValue\";\n // The component has a new height for its iframe.\n // Data: { height: number }\n ComponentMessageType[\"SET_FRAME_HEIGHT\"] = \"streamlit:setFrameHeight\";\n})(ComponentMessageType || (ComponentMessageType = {}));\n/**\n * Streamlit communication API.\n *\n * Components can send data to Streamlit via the functions defined here,\n * and receive data from Streamlit via the `events` property.\n */\nvar Streamlit = /** @class */ (function () {\n function Streamlit() {\n }\n /**\n * The Streamlit component API version we're targetting.\n * There's currently only 1!\n */\n Streamlit.API_VERSION = 1;\n Streamlit.RENDER_EVENT = \"streamlit:render\";\n /** Dispatches events received from Streamlit. */\n Streamlit.events = new EventTarget();\n Streamlit.registeredMessageListener = false;\n /**\n * Tell Streamlit that the component is ready to start receiving data.\n * Streamlit will defer emitting RENDER events until it receives the\n * COMPONENT_READY message.\n */\n Streamlit.setComponentReady = function () {\n if (!Streamlit.registeredMessageListener) {\n // Register for message events if we haven't already\n window.addEventListener(\"message\", Streamlit.onMessageEvent);\n Streamlit.registeredMessageListener = true;\n }\n Streamlit.sendBackMsg(ComponentMessageType.COMPONENT_READY, {\n apiVersion: Streamlit.API_VERSION\n });\n };\n /**\n * Report the component's height to Streamlit.\n * This should be called every time the component changes its DOM - that is,\n * when it's first loaded, and any time it updates.\n */\n Streamlit.setFrameHeight = function (height) {\n if (height === undefined) {\n // `height` is optional. If undefined, it defaults to scrollHeight,\n // which is the entire height of the element minus its border,\n // scrollbar, and margin.\n height = document.body.scrollHeight;\n }\n if (height === Streamlit.lastFrameHeight) {\n // Don't bother updating if our height hasn't changed.\n return;\n }\n Streamlit.lastFrameHeight = height;\n Streamlit.sendBackMsg(ComponentMessageType.SET_FRAME_HEIGHT, { height: height });\n };\n /**\n * Set the component's value. This value will be returned to the Python\n * script, and the script will be re-run.\n *\n * For example:\n *\n * JavaScript:\n * Streamlit.setComponentValue(\"ahoy!\")\n *\n * Python:\n * value = st.my_component(...)\n * st.write(value) # -> \"ahoy!\"\n *\n * The value must be an ArrowTable, a typed array, an ArrayBuffer, or be\n * serializable to JSON.\n */\n Streamlit.setComponentValue = function (value) {\n var dataType;\n if (value instanceof ArrowTable) {\n dataType = \"dataframe\";\n value = value.serialize();\n }\n else if (isTypedArray(value)) {\n // All typed arrays get sent as Uint8Array, because that's what our\n // protobuf library uses for the \"bytes\" field type.\n dataType = \"bytes\";\n value = new Uint8Array(value.buffer);\n }\n else if (value instanceof ArrayBuffer) {\n dataType = \"bytes\";\n value = new Uint8Array(value);\n }\n else {\n dataType = \"json\";\n }\n Streamlit.sendBackMsg(ComponentMessageType.SET_COMPONENT_VALUE, {\n value: value,\n dataType: dataType\n });\n };\n /** Receive a ForwardMsg from the Streamlit app */\n Streamlit.onMessageEvent = function (event) {\n var type = event.data[\"type\"];\n switch (type) {\n case Streamlit.RENDER_EVENT:\n Streamlit.onRenderMessage(event.data);\n break;\n }\n };\n /**\n * Handle an untyped Streamlit render event and redispatch it as a\n * StreamlitRenderEvent.\n */\n Streamlit.onRenderMessage = function (data) {\n var args = data[\"args\"];\n if (args == null) {\n console.error(\"Got null args in onRenderMessage. This should never happen\");\n args = {};\n }\n // Parse our dataframe arguments with arrow, and merge them into our args dict\n var dataframeArgs = data[\"dfs\"] && data[\"dfs\"].length > 0\n ? Streamlit.argsDataframeToObject(data[\"dfs\"])\n : {};\n args = __assign(__assign({}, args), dataframeArgs);\n var disabled = Boolean(data[\"disabled\"]);\n var theme = data[\"theme\"];\n if (theme) {\n _injectTheme(theme);\n }\n // Dispatch a render event!\n var eventData = { disabled: disabled, args: args, theme: theme };\n var event = new CustomEvent(Streamlit.RENDER_EVENT, {\n detail: eventData\n });\n Streamlit.events.dispatchEvent(event);\n };\n Streamlit.argsDataframeToObject = function (argsDataframe) {\n var argsDataframeArrow = argsDataframe.map(function (_a) {\n var key = _a.key, value = _a.value;\n return [key, Streamlit.toArrowTable(value)];\n });\n return Object.fromEntries(argsDataframeArrow);\n };\n Streamlit.toArrowTable = function (df) {\n var _a = df.data, data = _a.data, index = _a.index, columns = _a.columns, styler = _a.styler;\n return new ArrowTable(data, index, columns, styler);\n };\n /** Post a message to the Streamlit app. */\n Streamlit.sendBackMsg = function (type, data) {\n window.parent.postMessage(__assign({ isStreamlitMessage: true, type: type }, data), \"*\");\n };\n return Streamlit;\n}());\nexport { Streamlit };\nvar _injectTheme = function (theme) {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n style.innerHTML = \"\\n :root {\\n --primary-color: \" + theme.primaryColor + \";\\n --background-color: \" + theme.backgroundColor + \";\\n --secondary-background-color: \" + theme.secondaryBackgroundColor + \";\\n --text-color: \" + theme.textColor + \";\\n --font: \" + theme.font + \";\\n }\\n\\n body {\\n background-color: var(--background-color);\\n color: var(--text-color);\\n }\\n \";\n};\n/** True if the value is a TypedArray. */\nfunction isTypedArray(value) {\n var isBigIntArray = false;\n try {\n isBigIntArray =\n value instanceof BigInt64Array || value instanceof BigUint64Array;\n }\n catch (e) {\n // Ignore cause Safari does not support this\n // https://caniuse.com/mdn-javascript_builtins_bigint64array\n }\n return (value instanceof Int8Array ||\n value instanceof Uint8Array ||\n value instanceof Uint8ClampedArray ||\n value instanceof Int16Array ||\n value instanceof Uint16Array ||\n value instanceof Int32Array ||\n value instanceof Uint32Array ||\n value instanceof Float32Array ||\n value instanceof Float64Array ||\n isBigIntArray);\n}\n","/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport hoistNonReactStatics from \"hoist-non-react-statics\";\nimport React from \"react\";\nimport { Streamlit } from \"./streamlit\";\n/**\n * Optional Streamlit React-based component base class.\n *\n * You are not required to extend this base class to create a Streamlit\n * component. If you decide not to extend it, you should implement the\n * `componentDidMount` and `componentDidUpdate` functions in your own class,\n * so that your plugin properly resizes.\n */\nvar StreamlitComponentBase = /** @class */ (function (_super) {\n __extends(StreamlitComponentBase, _super);\n function StreamlitComponentBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StreamlitComponentBase.prototype.componentDidMount = function () {\n // After we're rendered for the first time, tell Streamlit that our height\n // has changed.\n Streamlit.setFrameHeight();\n };\n StreamlitComponentBase.prototype.componentDidUpdate = function () {\n // After we're updated, tell Streamlit that our height may have changed.\n Streamlit.setFrameHeight();\n };\n return StreamlitComponentBase;\n}(React.PureComponent));\nexport { StreamlitComponentBase };\n/**\n * Wrapper for React-based Streamlit components.\n *\n * Bootstraps the communication interface between Streamlit and the component.\n */\nexport function withStreamlitConnection(WrappedComponent) {\n var ComponentWrapper = /** @class */ (function (_super) {\n __extends(ComponentWrapper, _super);\n function ComponentWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this.componentDidMount = function () {\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n Streamlit.setComponentReady();\n };\n _this.componentDidUpdate = function () {\n // If our child threw an error, we display it in render(). In this\n // case, the child won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (_this.state.componentError != null) {\n Streamlit.setFrameHeight();\n }\n };\n _this.componentWillUnmount = function () {\n Streamlit.events.removeEventListener(Streamlit.RENDER_EVENT, _this.onRenderEvent);\n };\n /**\n * Streamlit is telling this component to redraw.\n * We save the render data in State, so that it can be passed to the\n * component in our own render() function.\n */\n _this.onRenderEvent = function (event) {\n // Update our state with the newest render data\n var renderEvent = event;\n _this.setState({ renderData: renderEvent.detail });\n };\n _this.render = function () {\n // If our wrapped component threw an error, display it.\n if (_this.state.componentError != null) {\n return (React.createElement(\"div\", null,\n React.createElement(\"h1\", null, \"Component Error\"),\n React.createElement(\"span\", null, _this.state.componentError.message)));\n }\n // Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n if (_this.state.renderData == null) {\n return null;\n }\n return (React.createElement(WrappedComponent, { width: window.innerWidth, disabled: _this.state.renderData.disabled, args: _this.state.renderData.args, theme: _this.state.renderData.theme }));\n };\n _this.state = {\n renderData: undefined,\n componentError: undefined\n };\n return _this;\n }\n /**\n * Error boundary function. This will be called if our wrapped\n * component throws an error. We store the caught error in our state,\n * and display it in the next render().\n */\n ComponentWrapper.getDerivedStateFromError = function (error) {\n return { componentError: error };\n };\n return ComponentWrapper;\n }(React.PureComponent));\n return hoistNonReactStatics(ComponentWrapper, WrappedComponent);\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime