{"version":3,"sources":["webpack:///./node_modules/@zxing/library/esm/core/InvertedLuminanceSource.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/BitArrayBuilder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedPair.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedRow.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/RSSExpandedReader.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/decoder/Decoder.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/OneDReader.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/AztecReader.js","webpack:///./node_modules/@zxing/library/esm/browser/HTMLCanvasElementLuminanceSource.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/error-stack-clear.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonEncoder.js","webpack:///./node_modules/@zxing/library/esm/core/RGBLuminanceSource.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/modules/es.array.push.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/RSSUtils.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/@zxing/library/esm/core/UnsupportedOperationException.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@zxing/library/esm/core/MultiFormatReader.js","webpack:///./node_modules/@zxing/library/esm/core/common/BitMatrix.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/BlockParsedResult.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedObject.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedChar.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedInformation.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedNumeric.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/FieldParser.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/GeneralAppIdDecoder.js","webpack:///./node_modules/@zxing/library/esm/index.js","webpack:///./node_modules/@zxing/library/esm/core/util/StandardCharsets.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/ECBlocks.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/ECB.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/Version.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/@zxing/library/esm/core/ChecksumException.js","webpack:///./node_modules/@zxing/library/esm/core/util/Float.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/@zxing/library/esm/core/util/Collections.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/Token.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/SimpleToken.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/BinaryShiftToken.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/TokenHelpers.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/EncoderConstants.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/LatchTable.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/ShiftTable.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/State.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/CharMap.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/HighLevelEncoder.js","webpack:///./node_modules/@zxing/library/esm/core/common/DefaultGridSampler.js","webpack:///./node_modules/@zxing/library/esm/core/Result.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/ByteMatrix.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonDecoder.js","webpack:///./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/QRCodeWriter.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/AztecCode.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusPoly.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusBase.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusGF.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ErrorCorrection.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/@zxing/library/esm/core/oned/Code128Reader.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/@zxing/library/esm/core/WriterException.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/DecodedBitStreamParser.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@zxing/library/esm/core/common/GridSampler.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/DecodedBitStreamParser.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/ErrorCorrectionLevel.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGF.js","webpack:///./node_modules/@zxing/library/esm/core/Binarizer.js","webpack:///./node_modules/@zxing/library/esm/core/common/HybridBinarizer.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/@zxing/library/esm/core/BinaryBitmap.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/@zxing/library/esm/core/common/BitSource.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserPDF417Reader.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/@zxing/library/esm/core/util/System.js","webpack:///./node_modules/@zxing/library/esm/core/ResultMetadataType.js","webpack:///./node_modules/@zxing/library/esm/core/util/StringBuilder.js","webpack:///./node_modules/@zxing/library/esm/core/common/CharacterSetECI.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/BlockPair.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/Encoder.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserMultiFormatReader.js","webpack:///./node_modules/@zxing/library/esm/core/PlanarYUVLuminanceSource.js","webpack:///./node_modules/core-js/internals/error-stack-install.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/@zxing/library/esm/core/EncodeHintType.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/Mode.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@zxing/library/esm/core/util/StringEncoding.js","webpack:///./node_modules/@zxing/library/esm/core/FormatException.js","webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack:///./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack:///./node_modules/@zxing/library/esm/core/common/DetectorResult.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@zxing/library/esm/core/oned/Code39Reader.js","webpack:///./node_modules/@zxing/library/esm/core/util/Long.js","webpack:///./node_modules/@zxing/library/esm/core/common/detector/WhiteRectangleDetector.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserQRCodeReader.js","webpack:///./node_modules/@zxing/library/esm/core/ReedSolomonException.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/encoder/Encoder.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@zxing/library/esm/core/ArithmeticException.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/@zxing/library/esm/core/ResultPoint.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/@zxing/library/esm/core/common/BitArray.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/FinderPattern.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserQRCodeSvgWriter.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@zxing/library/esm/core/IllegalStateException.js","webpack:///./node_modules/@zxing/library/esm/core/IndexOutOfBoundsException.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserDatamatrixCodeReader.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/@zxing/library/esm/core/common/PerspectiveTransform.js","webpack:///./node_modules/@zxing/library/esm/core/BarcodeFormat.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/PDF417ResultMetadata.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/@zxing/library/esm/core/common/DecoderResult.js","webpack:///./node_modules/@zxing/library/esm/core/MultiFormatWriter.js","webpack:///./node_modules/@zxing/library/esm/core/oned/EAN8Reader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCAReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCEReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/MultiFormatUPCEANReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/MultiFormatOneDReader.js","webpack:///./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGFPoly.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/FormatInformation.js","webpack:///./node_modules/@zxing/library/esm/browser.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/AbstractRSSReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/AbstractUPCEANReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCEANExtension5Support.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCEANExtension2Support.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCEANExtensionSupport.js","webpack:///./node_modules/@zxing/library/esm/core/oned/UPCEANReader.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/PDF417Common.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/decoder/DecodedBitStreamParser.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/QRCode.js","webpack:///./node_modules/core-js/internals/proxy-accessor.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/DataMask.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/MatrixUtil.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/DataCharacter.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@zxing/library/esm/core/common/GlobalHistogramBinarizer.js","webpack:///./node_modules/@zxing/library/esm/core/oned/ITFReader.js","webpack:///./node_modules/@zxing/library/esm/core/common/GridSamplerInstance.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@zxing/library/esm/core/NotFoundException.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@zxing/library/esm/core/ArrayIndexOutOfBoundsException.js","webpack:///./node_modules/@zxing/library/esm/core/util/Arrays.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.esm-bundler.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01decoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01AndOtherAIs.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AnyAIDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01weightDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0xDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013103decoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01320xDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01392xDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01393xDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0x1xDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/ts-custom-error/dist/custom-error.mjs","webpack:///./node_modules/@zxing/library/esm/core/Exception.js","webpack:///./node_modules/@zxing/library/esm/core/oned/EAN13Reader.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/BitMatrixParser.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/DataBlock.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/QRCodeDecoderMetaData.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/decoder/Decoder.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPattern.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPatternFinder.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPattern.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternInfo.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternFinder.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/detector/Detector.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/QRCodeReader.js","webpack:///./node_modules/@zxing/library/esm/core/qrcode/encoder/MaskUtil.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserAztecCodeReader.js","webpack:///./node_modules/@zxing/library/esm/core/ReaderException.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/@zxing/library/esm/core/NullPointerException.js","webpack:///./node_modules/@zxing/library/esm/core/util/OutputStream.js","webpack:///./node_modules/@zxing/library/esm/core/OutOfMemoryError.js","webpack:///./node_modules/@zxing/library/esm/core/util/ByteArrayOutputStream.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/modules/es.error.cause.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/detector/Detector.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/@zxing/library/esm/browser/VideoInputDevice.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserBarcodeReader.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/Pair.js","webpack:///./node_modules/@zxing/library/esm/core/oned/rss/RSS14Reader.js","webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@zxing/library/esm/core/util/Integer.js","webpack:///./node_modules/@zxing/library/esm/core/util/Charset.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/decoder/Version.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/decoder/BitMatrixParser.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/decoder/DataBlock.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/decoder/Decoder.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/detector/Detector.js","webpack:///./node_modules/@zxing/library/esm/core/datamatrix/DataMatrixReader.js","webpack:///./node_modules/@zxing/library/esm/core/IllegalArgumentException.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/AztecWriter.js","webpack:///./node_modules/@zxing/library/esm/core/LuminanceSource.js","webpack:///./node_modules/@zxing/library/esm/browser/BrowserCodeReader.js","webpack:///./node_modules/@zxing/library/esm/core/aztec/AztecDetectorResult.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/detector/PDF417DetectorResult.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/detector/Detector.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/BoundingBox.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeMetadata.js","webpack:///./node_modules/@zxing/library/esm/core/util/Formatter.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultColumn.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeValue.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultRowIndicatorColumn.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResult.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/Codeword.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417CodewordDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417ScanningDecoder.js","webpack:///./node_modules/@zxing/library/esm/core/pdf417/PDF417Reader.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/@zxing/library/esm/core/common/reedsolomon/AbstractGenericGF.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/vue-gtag-next/dist/vue-gtag-next.esm.js","webpack:///./node_modules/@zxing/library/esm/core/common/StringUtils.js","webpack:///./node_modules/@zxing/library/esm/core/ArgumentException.js","webpack:///./node_modules/@zxing/library/esm/core/common/detector/MathUtils.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@zxing/library/esm/core/DecodeHintType.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","create","InvertedLuminanceSource","_super","delegate","_this","call","getWidth","getHeight","getRow","y","row","sourceRow","width","i","getMatrix","matrix","length","invertedMatrix","Uint8ClampedArray","isCropSupported","crop","left","top","height","isRotateSupported","invert","rotateCounterClockwise","rotateCounterClockwise45","wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","BitArrayBuilder","buildBitArray","pairs","charNumber","getRightChar","size","binary","BitArray","accPos","firstPair","firstValue","getValue","set","currentPair","leftValue","getLeftChar","j","rightValue","ExpandedPair","leftChar","rightChar","finderPatter","mayBeLast","leftchar","rightchar","finderpattern","maybeLast","getFinderPattern","mustBeLast","toString","equals","o1","o2","equalsOrNull","hashCode","value","ExpandedRow","rowNumber","wasReversed","getPairs","getRowNumber","isReversed","isEquivalent","otherPairs","checkEqualitity","pair1","pair2","result","forEach","e1","e2","getFinderPatter","__values","o","s","Symbol","iterator","m","next","done","TypeError","RSSExpandedReader","apply","arguments","MAX_PAIRS","rows","startEnd","decodeRow","hints","startFromEven","constructResult","decodeRow2pairs","e","reset","tryStackedDecode","push","retrieveNextPair","error","NotFoundException","checkChecksum","storeRow","ps","checkRowsBoolean","reverse","checkRows","console","log","collectedRows","currentRow","e_1","_a","collectedRows_1","collectedRows_1_1","collectedRow","e_1_1","return","isValidSequence","rs","e_2","_b","FINDER_PATTERN_SEQUENCES","_c","sequence","stop_1","e_2_1","insertPos","prevIsSame","nextIsSame","erow","isPartialRow","removePartialRows","e_3","e_4","e_5","rows_1","rows_1_1","_d","_e","found","pairs_1","pairs_1_1","pp","e_5_1","e_4_1","e_3_1","e_6","e_7","e_8","rows_2","rows_2_1","r","allFound","pairs_2","pairs_2_1","e_8_1","e_7_1","e_6_1","getRows","decoder","resultingString","parseInformation","firstPoints","getResultPoints","lastPoints","points","Result","BarcodeFormat","RSS_EXPANDED","get","checkCharacter","firstCharacter","checksum","getChecksumPortion","currentRightChar","checkCharacterValue","getNextSecondBar","initialPos","currentPos","getNextUnset","getNextSet","previousPairs","pattern","isOddPattern","keepFinding","forcedOffset","findNextPair","parseFoundFinderPattern","decodeDataCharacter","isEmptyPair","counters","getDecodeFinderCounters","rowOffset","getSize","lastPair","getStartEnd","searchingEvenPair","isWhite","counterPosition","patternStart","x","reverseCounters","isFinderPattern","tmp","oddPattern","firstCounter","start","end","firstElementStart","System","arraycopy","parseFinderValue","FINDER_PATTERNS","FinderPattern","getDataCharacterCounters","recordPatternInReverse","recordPattern","temp","numModules","elementWidth","MathUtils","sum","Int32Array","expectedElementWidth","Math","abs","oddCounts","getOddCounts","evenCounts","getEvenCounts","oddRoundingErrors","getOddRoundingErrors","evenRoundingErrors","getEvenRoundingErrors","value_1","count","offset","adjustOddEvenCounts","weightRowNumber","oddSum","oddChecksumPortion","isNotA1left","weight","WEIGHTS","evenChecksumPortion","checksumPortion","group","oddWidest","SYMBOL_WIDEST","evenWidest","vOdd","RSSUtils","getRSSvalue","vEven","tEven","EVEN_TOTAL_SUBSET","gSum","GSUM","DataCharacter","evenSum","incrementOdd","decrementOdd","incrementEven","decrementEven","mismatch","oddParityBad","evenParityBad","increment","decrement","from","FINDER_PAT_A","FINDER_PAT_B","FINDER_PAT_C","FINDER_PAT_D","FINDER_PAT_E","FINDER_PAT_F","AbstractRSSReader","V8_VERSION","fails","global","$String","getOwnPropertySymbols","symbol","sham","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","f","O","P","toLength","obj","Table","Decoder","decode","detectorResult","ddata","getBits","rawbits","extractBits","correctedBits","correctBits","rawBytes","convertBoolArrayToByteArray","getEncodedData","decoderResult","setNumBits","highLevelDecode","endIndex","latchTable","UPPER","shiftTable","index","BINARY","length_1","readCode","charCount","code","castAsNonUtf8Char","DIGIT","str","getCharacter","startsWith","getTable","charAt","t","LOWER","PUNCT","MIXED","table","UPPER_TABLE","LOWER_TABLE","MIXED_TABLE","PUNCT_TABLE","DIGIT_TABLE","gf","codewordSize","getNbLayers","AZTEC_DATA_6","AZTEC_DATA_8","AZTEC_DATA_10","AZTEC_DATA_12","numDataCodewords","getNbDatablocks","numCodewords","dataWords","rsDecoder","ex","mask","stuffedBits","dataWord","fill","bit","compact","isCompact","layers","baseMatrixSize","alignmentMap","totalBitsInLayer","matrixSize","truncDivision","origCenter","center","newOffset","rowSize","low","high","columnOffset","k","startIndex","res","readByte","n","boolArr","byteArr","Uint8Array","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","defaults","interceptors","request","response","config","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","chain","concat","Promise","resolve","then","shift","newConfig","onFulfilled","onRejected","reject","getUri","params","paramsSerializer","replace","data","AbstractExpandedDecoder","information","generalDecoder","getInformation","getGeneralDecoder","OneDReader","image","doDecode","nfe","tryHarder","TRY_HARDER","rotatedImage","metadata","getResultMetadata","orientation_1","ORIENTATION","putMetadata","getY","getX","maxLines","rowStep","max","middle","trunc","rowStepsAboveOrBelow","isAbove","getBlackRow","ignored","_loop_1","attempt","NEED_RESULT_POINT_CALLBACK","newHints_1","Map","hint","key","delete","this_1","re","state_1","numCounters","numTransitionsLeft","last","patternMatchVariance","maxIndividualVariance","total","patternLength","Number","POSITIVE_INFINITY","unitBarWidth","totalVariance","counter","scaledPattern","variance","AztecReader","exception","detector","getBlackMatrix","detectMirror","getPoints","reportFoundResultPoints","getText","getRawBytes","getNumBits","AZTEC","currentTimeMillis","byteSegments","getByteSegments","BYTE_SEGMENTS","ecLevel","getECLevel","ERROR_CORRECTION_LEVEL","rpcb_1","point","idx","arr","foundPossibleResultPoint","HTMLCanvasElementLuminanceSource","canvas","tempCanvasElement","buffer","makeBufferFromCanvasImageData","imageData","getContext","getImageData","toGrayscaleBuffer","imageBuffer","grayscaleBuffer","gray","alpha","pixelR","pixelG","pixelB","slice","rotate","getTempCanvasElement","ownerDocument","createElement","angle","tempContext","angleRadians","DEGREE_TO_RADIANS","newWidth","ceil","cos","sin","newHeight","translate","drawImage","PI","uncurryThis","toObject","floor","stringSlice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","symbols","match","ch","capture","defineProperty","a","$Error","Error","TEST","arg","stack","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","argument","callback","ReedSolomonEncoder","field","cachedGenerators","buildGenerator","degree","lastGenerator","nextGenerator","multiply","exp","getGeneratorBase","encode","toEncode","ecBytes","dataBytes","generator","infoCoefficients","info","multiplyByMonomial","remainder","divide","coefficients","getCoefficients","numZeroCoefficients","RGBLuminanceSource","luminances","dataWidth","dataHeight","BYTES_PER_ELEMENT","luminancesUint8Array","pixel","g2","area","inputOffset","outputOffset","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","join","CONFIGURABLE_LENGTH","TEMPLATE","split","makeBuiltIn","name","options","getter","setter","configurable","arity","writable","state","source","Function","$","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","CHROME_BUG","FORCED","target","proto","forced","reduce","callbackfn","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","item","len","argCount","widths","maxWidth","noNarrow","widths_1","widths_1_1","val","narrowMask","elements","bar","elmWidth","subVal","combins","lessVal","mxwElement","maxDenom","minDenom","$documentAll","documentAll","all","IS_HTMLDDA","it","UnsupportedOperationException","kind","fn","thisArg","args","isNullOrUndefined","$TypeError","MultiFormatReader","setHints","decodeInternal","decodeWithState","readers","formats","POSSIBLE_FORMATS","addOneDReader","some","UPC_A","UPC_E","EAN_13","EAN_8","CODABAR","CODE_39","CODE_93","CODE_128","ITF","RSS_14","includes","QR_CODE","DATA_MATRIX","PDF_417","reader","BitMatrix","bits","parseFromBooleanArray","imageI","parseFromString","stringRepresentation","setString","unsetString","bitsPos","rowStartPos","rowLength","nRows","pos","substring","unset","flip","xor","getRowSize","rowArray","getBitArray","clear","setRegion","right","bottom","setBulk","setRow","rotate180","topRow","bottomRow","getEnclosingRectangle","x32","theBits","getTopLeftOnBit","bitsOffset","getBottomRightOnBit","other","hash","lineSeparator","buildToString","append","clone","BlockParsedResult","finished","decodedInformation","getDecodedInformation","isFinished","DecodedObject","newPosition","getNewPosition","DecodedChar","isFNC1","FNC1","DecodedInformation","newString","remainingValue","remaining","getNewString","isRemaining","getRemainingValue","DecodedNumeric","firstDigit","secondDigit","FormatException","getFirstDigit","getSecondDigit","isFirstDigitFNC1","isSecondDigitFNC1","isAnyFNC1","FieldParser","parseFieldsInGeneralPurpose","rawInformation","firstTwoDigits","TWO_DIGIT_DATA_LENGTH","_f","dataLength","VARIABLE_LENGTH","processVariableAI","processFixedAI","firstThreeDigits","_g","THREE_DIGIT_DATA_LENGTH","_h","_j","THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH","_k","firstFourDigits","_l","FOUR_DIGIT_DATA_LENGTH","_m","aiSize","fieldSize","ai","parsedAI","variableFieldSize","maxSize","GeneralAppIdDecoder","StringBuilder","decodeAllCodes","buff","initialPosition","currentPosition","decodeGeneralPurposeField","parsedFields","isStillNumeric","decodeNumeric","numeric_1","extractNumericValueFromBitArray","numeric","digit1","digit2","setLengthToZero","current","setPosition","lastDecoded","parseBlocks","getPosition","isAlpha","parseAlphaBlock","isIsoIec646","parseIsoIec646Block","parseNumericBlock","positionChanged","isNumericToAlphaNumericLatch","setAlpha","incrementPosition","isStillIsoIec646","iso","decodeIsoIec646","isAlphaOr646ToNumericLatch","setNumeric","isAlphaTo646ToAlphaLatch","isStillAlpha","decodeAlphanumeric","setIsoIec646","fiveBitValue","sevenBitValue","eightBitValue","c","sixBitValue","IllegalStateException","StandardCharsets","ISO_8859_1","ISO8859_1","toIntegerOrInfinity","min","integer","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","ECBlocks","ecCodewordsPerBlock","ecBlocks","_i","getECCodewordsPerBlock","getNumBlocks","ecBlocks_1","ecBlocks_1_1","ecBlock","getCount","getTotalECCodewords","getECBlocks","ECB","dataCodewords","getDataCodewords","Version","versionNumber","alignmentPatternCenters","ecCodewords","ecbArray","ecbArray_1","ecbArray_1_1","totalCodewords","getVersionNumber","getAlignmentPatternCenters","getTotalCodewords","getDimensionForVersion","getECBlocksForLevel","getProvisionalVersionForDimension","dimension","getVersionForNumber","IllegalArgumentException","VERSIONS","decodeVersionInformation","versionBits","bestDifference","MAX_SAFE_INTEGER","bestVersion","VERSION_DECODE_INFO","targetVersion","bitsDifference","FormatInformation","numBitsDiffering","buildFunctionPattern","bitMatrix","NATIVE_BIND","FunctionPrototype","Reflect","bind","version","userAgent","Deno","versions","v8","message","ChecksumException","getChecksumInstance","Float","floatToIntBits","MAX_VALUE","__CANCEL__","Collections","singletonList","collection","comparator","sort","Token","previous","getPrevious","SimpleToken","bitCount","appendTo","bitArray","text","appendBits","add","addBinaryShift","byteCount","warn","Integer","toBinaryString","BinaryShiftToken","binaryShiftStart","binaryShiftByteCount","token","MODE_NAMES","MODE_UPPER","MODE_LOWER","MODE_DIGIT","MODE_MIXED","MODE_PUNCT","EMPTY_TOKEN","LATCH_TABLE","static_SHIFT_TABLE","SHIFT_TABLE","SHIFT_TABLE_1","SHIFT_TABLE_1_1","Arrays","createInt32Array","State","mode","binaryBytes","getMode","getToken","getBinaryShiftByteCount","getBitCount","latchAndAppend","latch","latchModeBitCount","shiftAndAppend","thisModeBitCount","addBinaryShiftChar","deltaBitCount","endBinaryShift","isBetterThanOrEqualTo","newModeBitCount","calculateBinaryShiftCost","toBitArray","symbols_1","symbols_1_1","StringUtils","format","INITIAL_STATE","static_CHAR_MAP","CHAR_MAP","spaceCharCode","getCharCode","pointCharCode","commaCharCode","zUpperCharCode","aUpperCharCode","zLowerCharCode","aLowerCharCode","nineCharCode","zeroCharCode","mixedTable","punctTable","HighLevelEncoder","lineBreakCharCode","states","pairCode","nextChar","updateStateListForPair","updateStateListForChar","minState","states_1","states_1_1","updateStateForChar","simplifyStates","charInCurrentTable","stateNoBinary","charInMode","latchState","shiftState","binaryState","states_2","states_2_1","updateStateForPair","digitState","states_3","states_3_1","newState","oldState","filter","result_1","result_1_1","DefaultGridSampler","sampleGrid","dimensionX","dimensionY","p1ToX","p1ToY","p2ToX","p2ToY","p3ToX","p3ToY","p4ToX","p4ToY","p1FromX","p1FromY","p2FromX","p2FromY","p3FromX","p3FromY","p4FromX","p4FromY","transform","quadrilateralToQuadrilateral","sampleGridWithTransform","Float32Array","iValue","transformPoints","checkAndNudgePoints","aioobe","numBits","resultPoints","timestamp","resultMetadata","getBarcodeFormat","type","putAllMetadata","addResultPoints","newPoints","oldPoints","allPoints","getTimestamp","encodeURIComponent","serializedParams","parts","isArray","v","isDate","toISOString","hashmarkIndex","indexOf","ByteMatrix","bytes","getArray","setNumber","setBoolean","aByte","bytesY","otherBytesY","navigator","ReedSolomonDecoder","received","twoS","poly","syndromeCoefficients","noError","evalResult","evaluateAt","syndrome","sigmaOmega","runEuclideanAlgorithm","buildMonomial","sigma","omega","errorLocations","findErrorLocations","errorMagnitudes","findErrorMagnitudes","addOrSubtract","R","getDegree","rLast","tLast","getZero","getOne","rLastLast","tLastLast","isZero","q","denominatorLeadingTerm","getCoefficient","dltInverse","inverse","degreeDiff","scale","sigmaTildeAtZero","multiplyScalar","errorLocator","numErrors","errorEvaluator","xiInverse","denominator","term","termPlus1","QRCodeWriter","contents","errorCorrectionLevel","L","quietZone","QUIET_ZONE_SIZE","ERROR_CORRECTION","fromString","MARGIN","parseInt","renderResult","input","inputWidth","inputHeight","qrWidth","qrHeight","outputWidth","outputHeight","multiple","leftPadding","topPadding","output","inputY","outputY","inputX","outputX","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","urlParsingNode","document","resolveURL","href","setAttribute","protocol","host","search","hostname","port","pathname","window","location","requestURL","parsed","SILENT_ON_NON_WRITABLE_LENGTH_SET","isPrototypeOf","AztecCode","setCompact","setSize","getLayers","setLayers","getCodeWords","codeWords","setCodeWords","setMatrix","ModulusPoly","coefficientsLength","firstNonZero","coefficient","smallerCoefficients","largerCoefficients","sumDiff","lengthDiff","subtract","negative","multiplyOther","aCoefficients","aLength","bCoefficients","bLength","product","aCoeff","negativeCoefficients","scalar","ModulusBase","modulus","expTable","logTable","ArithmeticException","ModulusGF","zero","one","PDF417_GF","PDF417Common","NUMBER_OF_CODEWORDS","ErrorCorrection","numECCodewords","erasures","S","evaluation","knownErrors","erasures_1","erasures_1_1","erasure","round","errorLocatorDegree","formalDerivativeCoefficients","formalDerivative","numerator","Code128Reader","findStartPattern","bestVariance","MAX_AVG_VARIANCE","bestMatch","startCode","CODE_START_A","CODE_START_C","CODE_PATTERNS","MAX_INDIVIDUAL_VARIANCE","isRange","decodeCode","codeSet","convertFNC1","ASSUME_GS1","startPatternInfo","currentRawCodesIndex","rawCodes","CODE_CODE_A","CODE_START_B","CODE_CODE_B","CODE_CODE_C","isNextShifted","lastStart","nextStart","lastCode","checksumTotal","multiplier","lastCharacterWasPrintable","upperMode","shiftUpperMode","CODE_STOP","fromCharCode","charCodeAt","CODE_FNC_1","CODE_FNC_2","CODE_FNC_3","CODE_FNC_4_A","CODE_SHIFT","CODE_FNC_4_B","lastPatternSize","resultLength","rawCodesSize","Date","getTime","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","classof","$Object","propertyIsEnumerable","MATCH","isRegExp","createError","pref","valueOf","WriterException","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","Mode","BigInteger","getBigIntConstructor","self","createBigInt","num","getEXP900","EXP900","nineHundred","DecodedBitStreamParser","codewords","encoding","enableDecoding","codeIndex","TEXT_COMPACTION_MODE_LATCH","textCompaction","BYTE_COMPACTION_MODE_LATCH","BYTE_COMPACTION_MODE_LATCH_6","byteCompaction","MODE_SHIFT_TO_BYTE_COMPACTION_MODE","NUMERIC_COMPACTION_MODE_LATCH","numericCompaction","ECI_CHARSET","getCharacterSetECIByValue","ECI_GENERAL_PURPOSE","ECI_USER_DEFINED","BEGIN_MACRO_PDF417_CONTROL_BLOCK","decodeMacroBlock","BEGIN_MACRO_PDF417_OPTIONAL_FIELD","MACRO_PDF417_TERMINATOR","getFormatInstance","setOther","NUMBER_OF_SEQUENCE_CODEWORDS","segmentIndexArray","setSegmentIndex","decodeBase900toBase10","fileId","setFileId","optionalFieldsStart","MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME","setFileName","MACRO_PDF417_OPTIONAL_FIELD_SENDER","sender","setSender","MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE","addressee","setAddressee","MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT","segmentCount","setSegmentCount","MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP","setTimestamp","parseLong","MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM","setChecksum","MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE","fileSize","setFileSize","setLastSegment","optionalFieldsLength","isLastSegment","setOptionalData","copyOfRange","textCompactionData","byteCompactionData","decodeTextCompaction","subMode","ALPHA","priorToShiftMode","subModeCh","LL","ML","PS","PUNCT_SHIFT","AS","ALPHA_SHIFT","PL","MIXED_CHARS","AL","PAL","PUNCT_CHARS","decodedBytes","byteCompactedCodewords","nextCode","write","toByteArray","numericCodewords","MAX_NUMERIC_CODEWORDS","resultString","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","GridSampler","nudged","symbolSequence","parityData","currentCharacterSetECI","fc1InEffect","available","TERMINATOR","modeBits","readBits","forBits","FNC1_FIRST_POSITION","FNC1_SECOND_POSITION","STRUCTURED_APPEND","ECI","parseECIValue","HANZI","subset","countHanzi","getCharacterCountBits","GB2312_SUBSET","decodeHanziSegment","NUMERIC","decodeNumericSegment","ALPHANUMERIC","decodeAlphanumericSegment","BYTE","decodeByteSegment","KANJI","decodeKanjiSegment","iae","twoBytes","assembledTwoBytes","GB2312","SHIFT_JIS","readBytes","guessEncoding","getName","toAlphaNumericChar","ALPHANUMERIC_CHARS","nextTwoCharsBits","deleteCharAt","setCharAt","threeDigitsBits","twoDigitsBits","digitBits","firstByte","secondByte","secondThirdBytes","ErrorCorrectionLevelValues","ErrorCorrectionLevel","stringValue","FOR_BITS","FOR_VALUE","M","Q","H","transformData","isCancel","Cancel","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","GenericGF","primitive","generatorBase","toHexString","AZTEC_PARAM","QR_CODE_FIELD_256","DATA_MATRIX_FIELD_256","MAXICODE_FIELD_64","Binarizer","getLuminanceSource","HybridBinarizer","MINIMUM_DIMENSION","subWidth","BLOCK_SIZE_POWER","BLOCK_SIZE_MASK","subHeight","blackPoints","calculateBlackPoints","newMatrix","calculateThresholdForBlock","createBinarizer","maxYOffset","BLOCK_SIZE","maxXOffset","yoffset","top_1","cap","xoffset","z","blackRow","average","thresholdBlock","threshold","stride","yy","xx","MIN_DYNAMIC_RANGE","averageNeighborBlackPoint","IS_PURE","store","copyright","license","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","BinaryBitmap","binarizer","newSource","tryToString","requireObjectCoercible","getMethod","getRegExpFlags","getSubstitution","REPLACE","stringIndexOf","string","searchValue","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","bitmap","enumerable","getDescriptor","EXISTS","PROPER","payload","BitSource","byteOffset","bitOffset","getBitOffset","getByteOffset","bitsLeft","toRead","bitsToNotRead","BrowserPDF417Reader","timeBetweenScansMillis","src","srcPos","dest","destPos","now","ResultMetadataType","appendChars","substr","insert","CharacterSetValueIdentifiers","CharacterSetECI","valueIdentifier","valuesParam","otherEncodingNames","values","VALUE_IDENTIFIER_TO_ECI","NAME_TO_ECI","VALUES_TO_ECI","otherEncodingNames_1","otherEncodingNames_1_1","otherName","getValueIdentifier","characterSet","getCharacterSetECIByName","Cp437","ISO8859_2","ISO8859_3","ISO8859_4","ISO8859_5","ISO8859_6","ISO8859_7","ISO8859_8","ISO8859_9","ISO8859_10","ISO8859_11","ISO8859_13","ISO8859_14","ISO8859_15","ISO8859_16","SJIS","Cp1250","Cp1251","Cp1252","Cp1256","UnicodeBigUnmarked","UTF8","ASCII","Big5","GB18030","EUC_KR","BlockPair","errorCorrectionBytes","getDataBytes","getErrorCorrectionBytes","Encoder","calculateMaskPenalty","MaskUtil","applyMaskPenaltyRule1","applyMaskPenaltyRule2","applyMaskPenaltyRule3","applyMaskPenaltyRule4","content","DEFAULT_BYTE_MODE_ENCODING","hasEncodingHint","EncodeHintType","CHARACTER_SET","chooseMode","headerBits","eci","appendECI","appendModeInfo","dataBits","appendBytes","QR_VERSION","bitsNeeded","calculateBitsNeeded","willFit","recommendVersion","headerAndDataBits","appendBitArray","numLetters","getSizeInBytes","appendLengthInfo","numDataBytes","terminateBits","finalBits","interleaveWithECBytes","qrCode","QRCode","setECLevel","setMode","setVersion","maskPattern","chooseMaskPattern","setMaskPattern","MatrixUtil","buildMatrix","provisionalBitsNeeded","provisionalVersion","chooseVersion","getAlphanumericCode","ALPHANUMERIC_TABLE","isOnlyDoubleByteKanji","hasNumeric","hasAlphanumeric","isDigit","StringEncoding","byte1","minPenalty","bestMaskPattern","NUM_MASK_PATTERNS","penalty","numInputBits","versionNum","numBytes","numEcBytes","totalInputBytes","capacity","appendBit","numBitsInLastByte","numPaddingBytes","getNumDataBytesAndNumECBytesForBlockID","numTotalBytes","numRSBlocks","blockID","numDataBytesInBlock","numECBytesInBlock","numRsBlocksInGroup2","numRsBlocksInGroup1","numTotalBytesInGroup1","numTotalBytesInGroup2","numDataBytesInGroup1","numDataBytesInGroup2","numEcBytesInGroup1","numEcBytesInGroup2","dataBytesOffset","maxNumDataBytes","maxNumEcBytes","blocks","numEcBytesInBlock","toBytes","generateECBytes","blocks_1","blocks_1_1","block","blocks_2","blocks_2_1","appendNumericBytes","appendAlphanumericBytes","append8BitBytes","appendKanjiBytes","getDigit","singleCharacter","cn","num1","num2","num3","code1","code2","uee","length_2","byte2","subtracted","encoded","has","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","facade","STATE","default","sfc","props","__vccOpts","BrowserMultiFormatReader","decodeBitmap","binaryBitmap","PlanarYUVLuminanceSource","yuvData","reverseHorizontal","renderThumbnail","THUMBNAIL_SCALE_FACTOR","pixels","yuv","grey","getThumbnailWidth","getThumbnailHeight","rowStart","x1","x2","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","C","dummy","Wrapper","NewTarget","NewTargetPrototype","aCallable","object","ModeValues","characterCountBitsForVersions","encodingName","customDecoder","TextDecoder","shouldDecodeOnFallback","decodeFallback","isBrowser","customEncoder","TextEncoder","encodeFallback","encodingCharacterSet","isDecodeFallbackSupported","h","decodeURIComponent","Uint16Array","encodedURIstring","btoa","unescape","charList","uintArray","activeEffectScope","EffectScope","detached","_active","effects","cleanups","parent","scopes","currentEffectScope","fromParent","l","stop","pop","recordEffectScope","effect","scope","active","getCurrentScope","createDep","dep","Set","w","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","lastShouldTrack","shouldTrack","cleanupEffect","deferStop","onStop","effect2","trackStack","pauseTracking","resetTracking","track","depsMap","eventInfo","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldValue","oldTarget","newLength","key2","triggerEffects","computed","triggerEffect","allowRecurse","run","getDepFromReactive","isNonTrackableKeys","builtInSymbols","map","get$1","createGetter","shallowGet","readonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","isReadonly2","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","set$1","createSetter","shallowSet","hadKey","deleteProperty","has$1","ownKeys","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","getPrototypeOf","isReadonly","isShallow","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","get2","deleteEntry","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","iteratorMethods","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","Proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","__v_isRef","createRef","__v_isShallow","_rawValue","_value","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","ret","propertyToRef","ObjectRefImpl","_object","_key","_defaultValue","defaultValue","ComputedRefImpl","_setter","isSSR","_dirty","_cacheable","getterOrOptions","debugOptions","onlyGetter","cRef","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","catch","throwInDev","contextVNode","vnode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","appContext","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","findInsertionIndex","id","middleJobId","getId","queueJob","job","splice","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","pre","flushPostFlushCbs","deduped","Infinity","diff","event","rawArgs","isUnmounted","isModelListener","modelArg","modifiersKey","handlerName","handler","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","cache","emitsCache","cached","emits","normalized","hasExtends","extendEmits","raw2","normalizedFromExtend","mixins","extends","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","pushScopeId","popScopeId","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","emit","render","renderCache","setupState","inheritAttrs","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","filterModelListeners","cloneVNode","dirs","transition","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","children","prevChildren","component","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","isSuspense","__isSuspense","queueEffectWithSuspense","suspense","pendingBranch","INITIAL_WATCHER_VALUE","watch","doWatch","immediate","deep","flush","onTrack","onTrigger","currentInstance","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","__watcherHandles","queuePostRenderEffect","uid","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","segments","withDirectives","directives","internalInstance","getExposeProxy","bindings","modifiers","mounted","updated","invokeDirectiveHook","oldBindings","hook","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","child","hasFound","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","isSameVNodeType","leavingHooks","afterLeave","update","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","callAsyncHook","every","hook2","hooks","leavingVNode","afterHook","cancelHook","called","_enterCb","cancelled","remove","vnode2","isKeepAlive","ssContent","ssFallback","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","setup","isAsyncWrapper","__asyncLoader","__isKeepAlive","RegExp","matches","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","isDeactivated","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","resetShapeFlag","getInnerChild","prepend","__weh","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","warnMissing","selfName","getComponentName","registry","renderList","renderItem","getPublicInstance","isStatefulComponent","publicPropertiesMap","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","resolveMergedOptions","$forceUpdate","$nextTick","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","_","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","normalizePropsOrEmits","applyOptions","beforeCreate","dataOptions","computedOptions","methods","watchOptions","provide","provideOptions","inject","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","checkDuplicateProperties","resolveInjections","methodHandler","opt","createWatcher","provides","registerLifecycleHook","register","_hook","exposed","normalizeInject","base","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","mergeOptions","to","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","app","isNativeTag","performance","warnHandler","compilerOptions","propsCache","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","_uid","_component","_props","_container","_context","_instance","plugin","install","mixin","directive","rootContainer","isHydrate","isSVG","__vue_app__","currentApp","parentProvides","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","skipFactory","normalizePropsOptions","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","findIndex","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","ref","oldRef","_isString","_isRef","doSet","existing","initFeatureFlags","createRenderer","baseCreateRenderer","createHydrationFns","__VUE__","hostInsert","hostRemove","patchProp","hostPatchProp","hostCreateElement","createText","hostCreateText","createComment","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","parentNode","hostParentNode","nextSibling","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","dynamicChildren","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","vnodeHook","is","mountChildren","scopeId","unmountChildren","onVnodeBeforeMount","invokeVNodeHook","needCallTransitionHooks","beforeEnter","onVnodeMounted","enter","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","class","style","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","activate","mountComponent","updateComponent","initialVNode","createComponentInstance","renderer","setupComponent","asyncDep","registerDep","setupRenderEffect","placeholder","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","needTransition","leave","remove2","performLeave","doRemove","deactivate","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","onVnodeUnmounted","removeFragment","performRemove","bum","um","suspenseId","pendingId","_vnode","mt","mc","pc","pbc","createApp","allowed","ch1","ch2","arrI","isTeleport","__isTeleport","currentBlock","openBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","createBlock","isVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","targetAnchor","staticCount","normalizeChildren","normalize","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","ce","createTextVNode","flag","createCommentVNode","asBlock","memo","slot","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","attrsProxy","slotsProxy","bc","da","rtg","rtc","sp","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","on","off","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","handleSetupResult","finishComponentSetup","__ssrInlineRender","ssrRender","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","displayName","__name","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","createTextNode","node","nodeValue","textContent","querySelector","selector","before","previousSibling","lastChild","cloneNode","innerHTML","wrapper","firstChild","appendChild","patchClass","transitionClasses","_vtc","removeAttribute","className","patchStyle","isCssString","setStyle","currentDisplay","display","cssText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","tagName","getAttribute","needRemove","addEventListener","removeEventListener","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","HTMLElement","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","classList","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","body","offsetHeight","positionMap","newPositionMap","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","webkitTransform","transitionDuration","_moveCb","propertyName","cssTransitionProps","getBoundingClientRect","oldPos","newPos","dx","dy","nodeType","getModelAssigner","onCompositionStart","composing","onCompositionEnd","dispatchEvent","Event","vModelText","lazy","_assign","castToNumber","domValue","activeElement","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","currentTarget","ctrl","ctrlKey","shiftKey","alt","altKey","meta","metaKey","button","exact","withModifiers","guard","keyNames","esc","space","up","down","withKeys","eventKey","vShow","_vod","setDisplay","rendererOptions","ensureRenderer","mount","containerOrSelector","normalizeContainer","SVGElement","Element","DetectorResult","expires","domain","secure","cookie","isNumber","toGMTString","read","Code39Reader","usingCheckDigit","extendedMode","decodeRowResult","theCounters","decodedChar","findAsteriskPattern","toNarrowWidePattern","patternToChar","theCounters_1","theCounters_1_1","theCounters_2","theCounters_2_1","whiteSpaceAfterEnd","ALPHABET_STRING","decodeExtended","ASTERISK_ENCODING","copyWithin","wideCounters","maxNarrowCounter","minCounter","counters_1","counters_1_1","totalWideCountersWidth","CHARACTER_ENCODINGS","decoded","Long","radix","WhiteRectangleDetector","initSize","INIT_SIZE","halfsize","leftInit","rightInit","upInit","downInit","detect","sizeExceeded","aBlackPointFoundOnBorder","atLeastOneBlackPointFoundOnBorder","atLeastOneBlackPointFoundOnRight","atLeastOneBlackPointFoundOnBottom","atLeastOneBlackPointFoundOnLeft","atLeastOneBlackPointFoundOnTop","rightBorderNotWhite","containsBlackPoint","bottomBorderNotWhite","leftBorderNotWhite","topBorderNotWhite","getBlackPointOnSegment","centerEdges","aX","aY","bX","bY","dist","distance","xStep","yStep","yi","yj","zi","zj","xi","xj","ti","tj","CORR","fixed","horizontal","BrowserQRCodeReader","ReedSolomonException","isAbsoluteURL","combineURLs","baseURL","requestedURL","VERSION","thing","deprecatedWarnings","schema","allowUnknown","formatMessage","desc","opts","encodeBytes","DEFAULT_EC_PERCENT","DEFAULT_AZTEC_LAYERS","minECCPercent","userSpecifiedLayers","wordSize","eccBits","totalSizeBits","MAX_NB_BITS_COMPACT","MAX_NB_BITS","WORD_SIZE","usableBitsInLayers","stuffBits","messageBits","generateCheckWords","messageSizeInWords","modeMessage","generateModeMessage","drawModeMessage","drawBullsEye","aztec","totalBits","getGF","totalWords","messageWords","bitsToWords","startPad","messageWord","out","word","functionToString","ResultPoint","otherPoint","orderBestPatterns","patterns","pointA","pointB","pointC","zeroOneDistance","oneTwoDistance","zeroTwoDistance","crossProductZ","pattern1","pattern2","CancelToken","executor","resolvePromise","cancel","_listeners","onfulfilled","_resolve","subscribe","unsubscribe","listener","makeArray","ensureCapacity","newBits","currentBits","numberOfTrailingZeros","setRange","firstInt","lastInt","firstBit","lastBit","numBitsLeft","otherSize","array","theByte","oldBitsLen","leftOffset","currentInt","nextInt","regExpFlags","RegExpPrototype","postfix","random","definePropertyModule","that","feature","detection","POLYFILL","NATIVE","BrowserQRCodeSvgWriter","writeToDom","containerElement","svgElement","createSVGElement","svgRectElement","createSvgRectElement","SVG_NS","rect","__decorate","decorators","decorate","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","WRITABLE","Attributes","IndexOutOfBoundsException","BrowserDatamatrixCodeReader","makeMap","expectsLowerCase","list","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","extend","assign","isMap","toTypeString","isSet","isFunction","isSymbol","isPromise","objectToString","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","hit","camelizeRE","camelize","toUpperCase","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","invokeArrayFns","fns","def","looseToNumber","parseFloat","isNaN","toNumber","NaN","_globalThis","getGlobalThis","globalThis","GLOBALS_WHITE_LISTED","isGloballyWhitelisted","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","normalizeClass","HTML_TAGS","SVG_TAGS","isHTMLTag","isSVGTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","entries","val2","toPrimitive","PerspectiveTransform","a11","a21","a31","a12","a22","a32","a13","a23","a33","x0","y0","y1","y2","x3","y3","x0p","y0p","x1p","y1p","x2p","y2p","x3p","y3p","qToS","quadrilateralToSquare","sToQ","squareToQuadrilateral","times","transformPointsWithValues","xValues","yValues","dx3","dy3","dx1","dx2","dy1","dy2","buildAdjoint","PDF417ResultMetadata","getSegmentIndex","segmentIndex","getFileId","getOptionalData","optionalData","lastSegment","getSegmentCount","getSender","getAddressee","getFileName","getFileSize","getChecksum","METHOD_NAME","DecoderResult","structuredAppendSequenceNumber","structuredAppendParity","getErrorsCorrected","errorsCorrected","setErrorsCorrected","getErasures","setErasures","getOther","hasStructuredAppend","getStructuredAppendParity","getStructuredAppendSequenceNumber","MultiFormatWriter","writer","EAN8Reader","decodeMiddleCounters","decodeMiddle","startRange","UPCEANReader","decodeDigit","L_PATTERNS","middleRange","findGuardPattern","MIDDLE_PATTERN","counters_2","counters_2_1","UPCAReader","ean13Reader","EAN13Reader","maybeReturnResult","upcaResult","UPCEReader","lgPatternFound","L_AND_G_PATTERNS","determineNumSysAndCheckDigit","decodeEnd","endStart","findGuardPatternWithoutCounters","MIDDLE_END_PATTERN","convertUPCEtoUPCA","numSys","NUMSYS_AND_CHECK_DIGIT_PATTERNS","getNotFoundInstance","upce","upceChars","lastChar","MultiFormatUPCEANReader","possibleFormats","DecodeHintType","ean13MayBeUPCA","canReturnUPCA","resultUPCA","MultiFormatOneDReader","useCode39CheckDigit","ASSUME_CODE_39_CHECK_DIGIT","ITFReader","RSS14Reader","GenericGFPoly","quotient","inverseDenominatorLeadingTerm","degreeDifference","iterationQuotient","alphaPower","formatInfo","dataMask","decodeFormatInformation","maskedFormatInfo1","maskedFormatInfo2","doDecodeFormatInformation","FORMAT_INFO_MASK_QR","bestFormatInfo","FORMAT_INFO_DECODE_LOOKUP","decodeInfo","targetInfo","getErrorCorrectionLevel","getDataMask","decodeFinderCounters","dataCharacterCounters","finderPatterns","errors","biggestError","firstTwoSum","ratio","MIN_FINDER_PATTERN_RATIO","MAX_FINDER_PATTERN_RATIO","maxCounter","MIN_SAFE_INTEGER","AbstractUPCEANReader","decodeRowStringBuffer","findStartGuardPattern","foundStart","START_END_PATTERN","quietStart","checkStandardUPCEANChecksum","check","getStandardUPCEANChecksum","digit","whiteFirst","END_PATTERN","UPCEANExtension5Support","CHECK_DIGIT_ENCODINGS","extensionStartRange","extensionData","parseExtensionString","extensionResult","UPC_EAN_EXTENSION","checkDigit","determineCheckDigit","extensionChecksum","parseExtension5String","SUGGESTED_PRICE","currency","rawAmount","unitsString","hundredths","hundredthsString","UPCEANExtension2Support","checkParity","ISSUE_NUMBER","UPCEANExtensionSupport","EXTENSION_START_PATTERN","fiveSupport","twoSupport","reversedWidths","startGuardRange","resultPointCallback","resultPoint_1","budello","resultPoint_2","endRange","resultPoint_3","quietEnd","resultPoint","decodeResult","extensionLength","allowedExtensions","ALLOWED_EAN_EXTENSIONS","valid","cause","getBitCountSum","moduleBitCount","toIntArray","EMPTY_INT_ARRAY","list_1","list_1_1","getCodeword","binarySearch","SYMBOL_TABLE","CODEWORD_TABLE","MAX_CODEWORDS_IN_BARCODE","MIN_ROWS_IN_BARCODE","MAX_ROWS_IN_BARCODE","MODULES_IN_CODEWORD","MODULES_IN_STOP_PATTERN","BARS_IN_MODULE","resultTrailer","ASCII_ENCODE","decodeAsciiSegment","C40_ENCODE","decodeC40Segment","TEXT_ENCODE","decodeTextSegment","ANSIX12_ENCODE","decodeAnsiX12Segment","EDIFACT_ENCODE","decodeEdifactSegment","BASE256_ENCODE","decodeBase256Segment","PAD_ENCODE","upperShift","oneByte","cValues","parseTwoBytes","cValue","C40_BASIC_SET_CHARS","c40char","C40_SHIFT2_SET_CHARS","TEXT_BASIC_SET_CHARS","textChar","TEXT_SHIFT2_SET_CHARS","TEXT_SHIFT3_SET_CHARS","fullBitValue","edifactValue","codewordPosition","d1","unrandomize255State","ISO88591","randomizedBase256Codeword","base256CodewordPosition","pseudoRandomNumber","tempVariable","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","_typeof","_toPrimitive","prim","_toPropertyKey","_defineProperty","getVersion","getMaskPattern","isValidMaskPattern","Target","Source","DataMaskValues","DataMask","isMasked","unmaskBitMatrix","DATA_MASK_000","DATA_MASK_001","DATA_MASK_010","DATA_MASK_011","DATA_MASK_100","DATA_MASK_101","DATA_MASK_110","DATA_MASK_111","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","onCanceled","requestData","requestHeaders","auth","username","password","Authorization","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","clearMatrix","embedBasicPatterns","embedTypeInfo","maybeEmbedVersionInfo","embedDataBits","embedPositionDetectionPatternsAndSeparators","embedDarkDotAtLeftBottomCorner","maybeEmbedPositionAdjustmentPatterns","embedTimingPatterns","typeInfoBits","makeTypeInfoBits","coordinates","TYPE_INFO_COORDINATES","versionInfoBits","makeVersionInfoBits","bitIndex","direction","isEmpty","getDataMaskBit","findMSBSet","numberOfLeadingZeros","calculateBCHCode","msbSetInPoly","typeInfo","bchCode","TYPE_INFO_POLY","maskBits","TYPE_INFO_MASK_PATTERN","VERSION_INFO_POLY","embedHorizontalSeparationPattern","xStart","yStart","embedVerticalSeparationPattern","embedPositionAdjustmentPattern","patternY","POSITION_ADJUSTMENT_PATTERN","embedPositionDetectionPattern","POSITION_DETECTION_PATTERN","pdpWidth","hspWidth","vspSize","POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","GlobalHistogramBinarizer","EMPTY","buckets","LUMINANCE_BUCKETS","initArrays","localLuminances","localBuckets","LUMINANCE_SHIFT","blackPoint","estimateBlackPoint","localLuminances_1","luminanceSize","numBuckets","maxBucketCount","firstPeak","firstPeakSize","secondPeak","secondPeakScore","distanceToBiggest","score","bestValley","bestValleyScore","fromFirst","LUMINANCE_BITS","narrowLineWidth","decodeStart","allowedLengths","ALLOWED_LENGTHS","DEFAULT_ALLOWED_LENGTHS","lengthOK","maxAllowedLength","allowedLengths_1","allowedLengths_1_1","resultReturn","payloadStart","payloadEnd","counterDigitPair","counterBlack","counterWhite","twoK","counterDigit","skipWhiteSpace","startPattern","START_PATTERN","validateQuietZone","quietCount","endPattern","END_PATTERN_REVERSED","PATTERNS","GridSamplerInstance","setGridSampler","newGridSampler","gridSampler","getInstance","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","ignoreDuplicateOf","line","FormData","ArrayBuffer","isView","pipe","URLSearchParams","assignValue","stripBOM","SHARED","normalizedName","g","names","ArrayIndexOutOfBoundsException","fillWithin","toIndex","rangeCheck","arrayLength","asList","cols","first","second","a_1","a_1_1","element","fillUint8Array","copyOf","original","copyOfUint8Array","newArray","copy","ar","numberComparator","cmp","simple","unsafe","nonConfigurable","nonWritable","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","construct","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","minLen","arr2","defineGetter","defineProxy","getSuper","Ctor","superProto","getOwn","VueImpl","_this$__h","__h","Props","propsMeta","PropsMixin","_this2","__b","Vue","__c","_promise","dataKeys","plainData","__s","injections","Options","__o","AI01decoder","encodeCompressedGtin","buf","encodeCompressedGtinWithoutAI","initialBufferPosition","appendCheckDigit","GTIN_SIZE","AI01AndOtherAIs","initialGtinPosition","firstGtinDigit","HEADER_SIZE","AnyAIDecoder","AI01weightDecoder","encodeCompressedWeight","weightSize","originalWeightNumeric","addWeightCode","weightNumeric","checkWeight","currentDivisor","AI013x0xDecoder","WEIGHT_SIZE","AI013103decoder","AI01320xDecoder","AI01392xDecoder","lastAIdigit","LAST_DIGIT_SIZE","AI01393xDecoder","FIRST_THREE_DIGITS_SIZE","generalInformation","AI013x0x1xDecoder","firstAIdigits","dateCode","DATE_SIZE","encodeCompressedDate","numericDate","day","month","year","createDecoder","fourBitEncodationMethod","fiveBitEncodationMethod","sevenBitEncodationMethod","createInstance","defaultConfig","axios","promises","spread","exec","aFunction","namespace","fixProto","fixStack","_extendStatics","CustomError","_newTarget","Exception","getKind","determineFirstDigit","FIRST_DIGIT_ENCODINGS","$propertyIsEnumerable","NASHORN_BUG","1","V","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","BitMatrixParser","readFormatInformation","parsedFormatInfo","formatInfoBits1","copyBit","formatInfoBits2","jMin","readVersion","parsedVersion","ijMin","theParsedVersion","isMirror","readCodewords","functionPattern","readingUp","resultOffset","currentByte","bitsRead","col","remask","setMirror","mirror","DataBlock","getDataBlocks","rawCodewords","totalBlocks","ecBlockArray","ecBlockArray_1","ecBlockArray_1_1","numResultBlocks","ecBlockArray_2","ecBlockArray_2_1","numBlockCodewords","shorterBlocksTotalCodewords","longerBlocksStartAt","shorterBlocksNumDataCodewords","rawCodewordsOffset","iOffset","getNumDataCodewords","getCodewords","QRCodeDecoderMetaData","mirrored","isMirrored","applyMirroredCorrection","bottomLeft","decodeBooleanArray","decodeBitMatrix","decodeBitMatrixParser","dataBlocks","totalBytes","dataBlocks_1","dataBlocks_1_1","dataBlock","resultBytes","dataBlocks_2","dataBlocks_2_1","codewordBytes","correctErrors","codewordsInts","AlignmentPattern","posX","posY","estimatedModuleSize","aboutEquals","moduleSize","moduleSizeDiff","combineEstimate","newModuleSize","combinedX","combinedY","combinedModuleSize","AlignmentPatternFinder","startX","startY","possibleCenters","crossCheckStateCount","find","maxJ","middleI","stateCount","iGen","currentState","foundPatternCross","confirmed","handlePossibleCenter","centerFromEnd","maxVariance","crossCheckVertical","startI","centerJ","maxCount","originalStateCountTotal","maxI","stateCountTotal","centerI","getEstimatedModuleSize","combinedCount","FinderPatternInfo","patternCenters","topLeft","topRight","getBottomLeft","getTopLeft","getTopRight","FinderPatternFinder","getImage","getPossibleCenters","pureBarcode","PURE_BARCODE","iSkip","MAX_MODULES","MIN_SKIP","hasSkipped","haveMultiplyConfirmedCenters","rowSkip","findRowSkip","patternInfo","selectBestPatterns","totalModuleSize","getCrossCheckStateCount","crossCheckDiagonal","crossCheckHorizontal","startJ","firstConfirmedCenter","CENTER_QUORUM","confirmedCount","totalDeviation","startSize","square","stdDev","sqrt","center1","center2","dA","dB","limit","possibleCenters_1","possibleCenters_1_1","possibleCenter","Detector","getResultPointCallback","finder","processFinderPatternInfo","calculateModuleSize","computeDimension","modulesBetweenFPCenters","alignmentPattern","bottomRightX","bottomRightY","correctionToTopLeft","estAlignmentX","estAlignmentY","findAlignmentInRegion","createTransform","sourceBottomRightX","sourceBottomRightY","dimMinusThree","sampler","tltrCentersDimension","tlblCentersDimension","calculateModuleSizeOneWay","otherPattern","moduleSizeEst1","sizeOfBlackWhiteBlackRunBothWays","moduleSizeEst2","fromX","fromY","toX","toY","sizeOfBlackWhiteBlackRun","otherToX","otherToY","steep","xstep","ystep","xLimit","realX","realY","overallEstModuleSize","allowanceFactor","allowance","alignmentAreaLeftX","alignmentAreaRightX","alignmentAreaTopY","alignmentAreaBottomY","alignmentFinder","QRCodeReader","getDecoder","extractPureBits","NO_POINTS","STRUCTURED_APPEND_SEQUENCE","STRUCTURED_APPEND_PARITY","leftTopBlack","rightBottomBlack","matrixWidth","matrixHeight","nudge","nudgedTooFarRight","nudgedTooFarDown","inBlack","transitions","applyMaskPenaltyRule1Internal","arrayY","N2","numPenalties","isWhiteHorizontal","isWhiteVertical","N3","numDarkCells","numTotalCells","fivePercentVariances","N4","intermediate","isHorizontal","iLimit","jLimit","numSameBitCells","prevBit","N1","IndexedObject","IS_RIGHT","argumentsLength","BrowserAztecCodeReader","ReaderException","NullPointerException","OutputStream","writeBytes","writeBytesOffset","close","OutOfMemoryError","ByteArrayOutputStream","minCapacity","grow","oldCapacity","newCapacity","writeTo","param","toString_string","toString_number","toString_void","charsetName","hibyte","$Symbol","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","ERROR_NAME","exportWebAssemblyErrorCauseWrapper","init","func","Point","toResultPoint","EXPECTED_CORNER_BITS","pCenter","getMatrixCenter","bullsEyeCorners","getBullsEyeCorners","extractParameters","corners","getMatrixCornerPoints","nbDataBlocks","nbLayers","isValidPoint","nbCenterLayers","sides","sampleLine","getRotation","parameterData","side","correctedData","getCorrectedParameterData","cornerBits","parameterWords","pina","pinb","pinc","pind","color","pouta","getFirstDifferent","poutb","poutc","poutd","distancePoint","isWhiteOrBlackRectangle","pinax","pinbx","pincx","pindx","expandSquare","pointD","cornerPoints","cx_1","cy_1","cx","cy","getDimension","bottomRight","p1","p2","distanceResultPoint","px","py","p3","p4","corr","cInit","getColor","colorModel","iMax","errRatio","isValid","oldSide","newSide","centerx","centery","result0","result2","result1","result3","results","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","VideoInputDevice","deviceId","label","groupId","uncurryThisWithBind","$default","BrowserBarcodeReader","Pair","finderPattern","incrementCount","possibleLeftPairs","possibleRightPairs","leftPair","decodePair","addOrTally","rightPair","possiblePairs","pair","possiblePairs_1","possiblePairs_1_1","symbolValue","leftPoints","rightPoints","checkValue","targetCheckValue","findFinderPattern","outside","inside","outsideChar","OUTSIDE_ODD_WIDEST","OUTSIDE_EVEN_TOTAL_SUBSET","OUTSIDE_GSUM","INSIDE_ODD_WIDEST","tOdd","INSIDE_ODD_TOTAL_SUBSET","INSIDE_GSUM","rightFinderPattern","firstIsBlack","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","FULL_NAME","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","relativeURL","getOwnPropertyDescriptorModule","exceptions","intNumber","dividend","divisor","MIN_VALUE_32_BITS","Charset","forName","ecBlocks1","ecBlocks2","getECCodewords","symbolSizeRows","symbolSizeColumns","dataRegionSizeRows","dataRegionSizeColumns","getSymbolSizeRows","getSymbolSizeColumns","getDataRegionSizeRows","getDataRegionSizeColumns","getVersionForDimensions","numRows","numColumns","buildVersions","mappingBitMatrix","extractDataRegion","readMappingMatrix","Int8Array","column","corner1Read","corner2Read","corner3Read","corner4Read","readUtah","readCorner4","readCorner3","readCorner2","readCorner1","readModule","numDataRegionsRow","numDataRegionsColumn","sizeDataRegionRow","sizeDataRegionColumn","bitMatrixWithoutAlignment","dataRegionRow","dataRegionRowOffset","dataRegionColumn","dataRegionColumnOffset","readRowOffset","writeRowOffset","readColumnOffset","writeColumnOffset","longerBlocksTotalCodewords","longerBlocksNumDataCodewords","specialVersion","numLongerBlocks","jOffset","db","dataBlocksCount","rectangleDetector","detectSolid1","detectSolid2","correctTopRight","shiftToModuleCenter","dimensionTop","transitionsBetween","dimensionRight","shiftPoint","div","moveAway","trAB","trBC","trCD","trDA","tr","pointBs","pointCs","trBA","trTop","trRight","pointAs","candidate1","candidate2","sumc1","sumc2","dimH","dimV","pointDs","centerX","centerY","isBlack","DataMatrixReader","AztecWriter","encodeWithHints","charset","eccPercent","AZTEC_LAYERS","encodeLayers","getBytes","LuminanceSource","luminance","__awaiter","_arguments","adopt","step","__generator","sent","trys","ops","verb","op","BrowserCodeReader","_hints","_stopContinuousDecode","_stopAsyncDecode","_timeBetweenDecodingAttempts","hasNavigator","mediaDevices","isMediaDevicesSuported","enumerateDevices","millis","listVideoInputDevices","devices","videoDevices","devices_1","devices_1_1","device","videoDevice","canEnumerateDevices","getVideoInputDevices","findDeviceById","decodeFromInputVideoDevice","videoSource","decodeOnceFromVideoDevice","videoConstraints","constraints","facingMode","video","decodeOnceFromConstraints","stream","getUserMedia","decodeOnceFromStream","attachStreamToVideo","decodeOnce","decodeFromInputVideoDeviceContinuously","callbackFn","decodeFromVideoDevice","decodeFromConstraints","decodeFromStream","decodeContinuously","stopAsyncDecode","stopContinuousDecode","videoElement","prepareVideoElement","addVideoSource","playVideoOnLoadAsync","playVideoOnLoad","videoEndedListener","stopStreams","videoCanPlayListener","tryPlayVideo","isVideoPlaying","currentTime","paused","play","getMediaElement","mediaElementId","mediaElement","getElementById","nodeName","decodeFromImage","decodeFromImageUrl","decodeFromImageElement","decodeFromVideo","decodeFromVideoUrl","decodeFromVideoElement","decodeFromVideoContinuously","decodeFromVideoUrlContinuously","decodeFromVideoElementContinuously","task","prepareImageElement","imageElement","isImageLoaded","_decodeOnLoadImage","_decodeFromVideoElementSetup","_decodeOnLoadVideo","_decodeOnLoadVideoContinuously","decodeTask","imageLoadedListener","img","complete","naturalWidth","imageSource","HTMLImageElement","HTMLVideoElement","retryIfNotFound","retryIfChecksumOrFormatError","loop","ifNotFound","isChecksumOrFormatError","ifChecksumOrFormat","isNotFound","createBinaryBitmap","_isHTMLVideoElement","potentialVideo","videoWidth","getCaptureCanvasContext","drawFrameOnCanvas","drawImageOnCanvas","getCaptureCanvas","luminanceSource","hybridBinarizer","captureCanvasContext","elem","willReadFrequently","captureCanvas","createCaptureCanvas","srcElement","dimensions","canvasElementContext","sx","sy","sWidth","sHeight","videoHeight","dWidth","dHeight","naturalHeight","_destroyCaptureCanvas","canvasElement","getVideoTracks","_destroyVideoElement","_destroyImageElement","videoPlayingEventListener","cleanVideoSource","srcObject","URL","createObjectURL","AztecDetectorResult","nbDatablocks","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","PDF417DetectorResult","detectMultiple","barcodeCoordinates","foundBarcodeInRow","vertices","findVertices","barcodeCoordinates_1","barcodeCoordinates_1_1","barcodeCoordinate","ROW_STEP","startRow","startColumn","copyToResult","findRowsWithPattern","INDEXES_START_PATTERN","STOP_PATTERN","INDEXES_STOP_PATTERN","tmpResult","destinationIndexes","loc","previousRowLoc","stopRow","skippedRowCount","MAX_PATTERN_DRIFT","SKIPPED_ROW_COUNT_MAX","BARCODE_MIN_HEIGHT","pixelDrift","MAX_PIXEL_DRIFT","BoundingBox","constructor_2","constructor_1","leftUnspecified","rightUnspecified","minX","maxX","minY","maxY","boundingBox","getBottomRight","getMinX","getMaxX","getMinY","getMaxY","leftBox","rightBox","addMissingRows","missingStartRows","missingEndRows","isLeft","newTopLeft","newBottomLeft","newTopRight","newBottomRight","newMinY","newTop","newMaxY","newBottom","BarcodeMetadata","columnCount","rowCountUpperPart","rowCountLowerPart","rowCount","getColumnCount","getRowCount","getRowCountUpperPart","getRowCountLowerPart","Formatter","form","p0","toFixed","toPrecision","toExponential","regex","DetectionResultColumn","getCodewordNearby","imageRow","codeword","MAX_NEARBY_DISTANCE","nearImageRow","imageRowToCodewordIndex","setCodeword","getBoundingBox","formatter","__read","BarcodeValue","setValue","confidence","maxConfidence","entry","getKey","getConfidence","DetectionResultRowIndicatorColumn","_isLeft","setRowNumbers","setRowNumberAsRowIndicatorColumn","adjustCompleteIndicatorColumnRowNumbers","barcodeMetadata","removeIncorrectCodewords","firstRow","lastRow","barcodeRow","maxRowHeight","currentRowHeight","codewordsRow","rowDifference","checkedRows","closePreviousCodewordFound","getRowHeights","getBarcodeMetadata","adjustIncompleteIndicatorColumnRowNumbers","barcodeColumnCount","barcodeRowCountUpperPart","barcodeRowCountLowerPart","barcodeECLevel","codewords_1","codewords_1_1","rowIndicatorValue","codewordRowNumber","codewordRow","DetectionResult","ADJUST_ROW_NUMBER_SKIP","detectionResultColumns","getDetectionResultColumns","adjustIndicatorColumnRowNumbers","previousUnadjustedCount","unadjustedCodewordCount","adjustRowNumbersAndGetCount","detectionResultColumn","unadjustedCount","adjustRowNumbersByRow","barcodeColumn","hasValidRowNumber","adjustRowNumbers","adjustRowNumbersFromBothRI","adjustRowNumbersFromLRI","adjustRowNumbersFromRRI","LRIcodewords","RRIcodewords","setRowNumber","rowIndicatorRowNumber","invalidRowCounts","adjustRowNumberIfValid","isValidRowNumber","previousColumnCodewords","nextColumnCodewords","otherCodewords","otherCodewords_1","otherCodewords_1_1","otherCodeword","adjustRowNumber","getBucket","getBarcodeColumnCount","getBarcodeRowCount","getBarcodeECLevel","setBoundingBox","setDetectionResultColumn","getDetectionResultColumn","rowIndicatorColumn","Codeword","endX","bucket","BARCODE_ROW_UNKNOWN","getStartX","getEndX","PDF417CodewordDecoder","initialize","currentSymbol","currentBit","RATIOS_TABLE","fround","bSymbolTableReady","getDecodedValue","decodedValue","getDecodedCodewordValue","sampleBitCounts","getClosestDecodedValue","bitCountSum","bitCountIndex","sumPreviousBits","sampleIndex","getBitValue","bitCountRatios","bestMatchError","ratioTableRow","PDF417ScanningDecoder","imageTopLeft","imageBottomLeft","imageTopRight","imageBottomRight","minCodewordWidth","maxCodewordWidth","detectionResult","leftRowIndicatorColumn","rightRowIndicatorColumn","firstPass","getRowIndicatorColumn","resultBox","maxBarcodeColumn","leftToRight","previousStartColumn","getStartColumn","detectCodeword","createDecoderResult","adjustBoundingBox","rowHeights","getMax","rowHeights_1","rowHeights_1_1","rowHeight","maxValue","values_1","values_1_1","leftBarcodeMetadata","rightBarcodeMetadata","startPoint","adjustCodewordCount","barcodeMatrix","barcodeMatrix01","numberOfCodewords","calculatedNumberOfCodewords","getNumberOfECCodeWords","createBarcodeMatrix","ambiguousIndexValuesList","ambiguousIndexesList","codewordIndex","ambiguousIndexValues","createDecoderResultFromAmbiguousValues","erasureArray","ambiguousIndexes","ambiguousIndexCount","tries","decodeCodewords","column_1","isValidBarcodeColumn","skippedColumns","previousRowCodeword","minColumn","maxColumn","adjustCodewordStartColumn","endColumn","getModuleBitCount","codewordBitCount","tmpCount","checkCodewordSkew","getCodewordBucketNumber","imageColumn","moduleNumber","previousPixelValue","codewordStartColumn","correctedStartColumn","CODEWORD_SKEW_SIZE","correctedErrorsCount","verifyCodewordCount","MAX_ERRORS","MAX_EC_CODEWORDS","errorCorrection","getBitCountForCodeword","previousValue","getCodewordBucketNumber_Int32Array","getCodewordBucketNumber_number","barcodeValue","PDF417Reader","decodeMultiple","getMinCodewordWidth","getMaxCodewordWidth","pdf417ResultMetadata","PDF417_EXTRA_METADATA","getMaxWidth","getMinWidth","handlers","use","eject","AbstractGenericGF","loadScript","preconnect","head","getElementsByTagName","script","async","link","rel","onload","newObj","property","isEnabled","disableScriptLoader","useDebugger","globalObjectName","dataLayerName","resourceURL","preconnectOrigin","customResource","appName","appId","appVersion","useState","defaultProperty","_useState","hasId","_useState2","allProperties","_useState3","isTracking","_useState4","query","_window","_len","customMap","custom_map","disable","eventName","eventParams","send_to","linker","pageview","page_path","page_location","send_page_view","purchase","refund","screenview","screen_name","app_name","app_id","app_version","time","api","freeze","isReady","isBootstrapped","bootstrap","resource","useBootstrapWatcher","registerGlobalObject","useGtag","useScreenview","skipSamePath","$gtag","canBeISO88591","canBeShiftJIS","canBeUTF8","utf8BytesLeft","utf2BytesChars","utf3BytesChars","utf4BytesChars","sjisBytesLeft","sjisKatakanaChars","sjisCurKatakanaWordLength","sjisCurDoubleBytesWordLength","sjisMaxKatakanaWordLength","sjisMaxDoubleBytesWordLength","isoHighOther","utf8bom","ASSUME_SHIFT_JIS","PLATFORM_DEFAULT_ENCODING","getCharAt","charCode","EUC_JP","ArgumentException","xDiff","yDiff"],"mappings":"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,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChC/C,WAAW+C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S,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,IAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,SAKtB+9B,EAAa4kE,eAAiB1lG,WAAW+C,KAAK,CAC1C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC3G,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAC5G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAC7G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAC3G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KACxG,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAC1G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM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W+C,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzC/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,IAC1C/C,WAAW+C,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,KAAM,GAAI,I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","file":"js/chunk-vendors.js","sourcesContent":["/*\n * Copyright 2009 ZXing authors\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 LuminanceSource from './LuminanceSource';\n/*namespace com.google.zxing {*/\n/**\n * A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes\n * white and vice versa, and each value becomes (255-value).\n *\n * @author Sean Owen\n */\nvar InvertedLuminanceSource = /** @class */ (function (_super) {\n __extends(InvertedLuminanceSource, _super);\n function InvertedLuminanceSource(delegate) {\n var _this = _super.call(this, delegate.getWidth(), delegate.getHeight()) || this;\n _this.delegate = delegate;\n return _this;\n }\n /*@Override*/\n InvertedLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n var sourceRow = this.delegate.getRow(y, row);\n var width = this.getWidth();\n for (var i = 0; i < width; i++) {\n sourceRow[i] = /*(byte)*/ (255 - (sourceRow[i] & 0xFF));\n }\n return sourceRow;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.getMatrix = function () {\n var matrix = this.delegate.getMatrix();\n var length = this.getWidth() * this.getHeight();\n var invertedMatrix = new Uint8ClampedArray(length);\n for (var i = 0; i < length; i++) {\n invertedMatrix[i] = /*(byte)*/ (255 - (matrix[i] & 0xFF));\n }\n return invertedMatrix;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isCropSupported = function () {\n return this.delegate.isCropSupported();\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new InvertedLuminanceSource(this.delegate.crop(left, top, width, height));\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isRotateSupported = function () {\n return this.delegate.isRotateSupported();\n };\n /**\n * @return original delegate {@link LuminanceSource} since invert undoes itself\n */\n /*@Override*/\n InvertedLuminanceSource.prototype.invert = function () {\n return this.delegate;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise());\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise45());\n };\n return InvertedLuminanceSource;\n}(LuminanceSource));\nexport default InvertedLuminanceSource;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","import BitArray from '../../../common/BitArray';\nvar BitArrayBuilder = /** @class */ (function () {\n function BitArrayBuilder() {\n }\n BitArrayBuilder.buildBitArray = function (pairs) {\n var charNumber = (pairs.length * 2) - 1;\n if (pairs[pairs.length - 1].getRightChar() == null) {\n charNumber -= 1;\n }\n var size = 12 * charNumber;\n var binary = new BitArray(size);\n var accPos = 0;\n var firstPair = pairs[0];\n var firstValue = firstPair.getRightChar().getValue();\n for (var i = 11; i >= 0; --i) {\n if ((firstValue & (1 << i)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n for (var i = 1; i < pairs.length; ++i) {\n var currentPair = pairs[i];\n var leftValue = currentPair.getLeftChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((leftValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n if (currentPair.getRightChar() != null) {\n var rightValue = currentPair.getRightChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((rightValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n }\n }\n return binary;\n };\n return BitArrayBuilder;\n}());\nexport default BitArrayBuilder;\n","var ExpandedPair = /** @class */ (function () {\n function ExpandedPair(leftChar, rightChar, finderPatter, mayBeLast) {\n this.leftchar = leftChar;\n this.rightchar = rightChar;\n this.finderpattern = finderPatter;\n this.maybeLast = mayBeLast;\n }\n ExpandedPair.prototype.mayBeLast = function () {\n return this.maybeLast;\n };\n ExpandedPair.prototype.getLeftChar = function () {\n return this.leftchar;\n };\n ExpandedPair.prototype.getRightChar = function () {\n return this.rightchar;\n };\n ExpandedPair.prototype.getFinderPattern = function () {\n return this.finderpattern;\n };\n ExpandedPair.prototype.mustBeLast = function () {\n return this.rightchar == null;\n };\n ExpandedPair.prototype.toString = function () {\n return '[ ' + this.leftchar + ', ' + this.rightchar + ' : ' + (this.finderpattern == null ? 'null' : this.finderpattern.getValue()) + ' ]';\n };\n ExpandedPair.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedPair)) {\n return false;\n }\n return ExpandedPair.equalsOrNull(o1.leftchar, o2.leftchar) &&\n ExpandedPair.equalsOrNull(o1.rightchar, o2.rightchar) &&\n ExpandedPair.equalsOrNull(o1.finderpattern, o2.finderpattern);\n };\n ExpandedPair.equalsOrNull = function (o1, o2) {\n return o1 === null ? o2 === null : ExpandedPair.equals(o1, o2);\n };\n ExpandedPair.prototype.hashCode = function () {\n // return ExpandedPair.hashNotNull(leftChar) ^ hashNotNull(rightChar) ^ hashNotNull(finderPattern);\n var value = this.leftchar.getValue() ^ this.rightchar.getValue() ^ this.finderpattern.getValue();\n return value;\n };\n return ExpandedPair;\n}());\nexport default ExpandedPair;\n","var ExpandedRow = /** @class */ (function () {\n function ExpandedRow(pairs, rowNumber, wasReversed) {\n this.pairs = pairs;\n this.rowNumber = rowNumber;\n this.wasReversed = wasReversed;\n }\n ExpandedRow.prototype.getPairs = function () {\n return this.pairs;\n };\n ExpandedRow.prototype.getRowNumber = function () {\n return this.rowNumber;\n };\n ExpandedRow.prototype.isReversed = function () {\n return this.wasReversed;\n };\n // check implementation\n ExpandedRow.prototype.isEquivalent = function (otherPairs) {\n return this.checkEqualitity(this, otherPairs);\n };\n // @Override\n ExpandedRow.prototype.toString = function () {\n return '{ ' + this.pairs + ' }';\n };\n /**\n * Two rows are equal if they contain the same pairs in the same order.\n */\n // @Override\n // check implementation\n ExpandedRow.prototype.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedRow)) {\n return false;\n }\n return this.checkEqualitity(o1, o2) && o1.wasReversed === o2.wasReversed;\n };\n ExpandedRow.prototype.checkEqualitity = function (pair1, pair2) {\n if (!pair1 || !pair2)\n return;\n var result;\n pair1.forEach(function (e1, i) {\n pair2.forEach(function (e2) {\n if (e1.getLeftChar().getValue() === e2.getLeftChar().getValue() && e1.getRightChar().getValue() === e2.getRightChar().getValue() && e1.getFinderPatter().getValue() === e2.getFinderPatter().getValue()) {\n result = true;\n }\n });\n });\n return result;\n };\n return ExpandedRow;\n}());\nexport default ExpandedRow;\n","var __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})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../../../BarcodeFormat';\nimport MathUtils from '../../../common/detector/MathUtils';\n// import FormatException from '../../../FormatException';\nimport NotFoundException from '../../../NotFoundException';\nimport Result from '../../../Result';\nimport System from '../../../util/System';\nimport AbstractRSSReader from '../../rss/AbstractRSSReader';\nimport DataCharacter from '../../rss/DataCharacter';\nimport FinderPattern from '../../rss/FinderPattern';\nimport RSSUtils from '../../rss/RSSUtils';\nimport BitArrayBuilder from './BitArrayBuilder';\nimport { createDecoder } from './decoders/AbstractExpandedDecoderComplement';\nimport ExpandedPair from './ExpandedPair';\nimport ExpandedRow from './ExpandedRow';\n// import java.util.ArrayList;\n// import java.util.Iterator;\n// import java.util.List;\n// import java.util.Map;\n// import java.util.Collections;\n/** @experimental */\nvar RSSExpandedReader = /** @class */ (function (_super) {\n __extends(RSSExpandedReader, _super);\n function RSSExpandedReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.pairs = new Array(RSSExpandedReader.MAX_PAIRS);\n _this.rows = new Array();\n _this.startEnd = [2];\n return _this;\n }\n RSSExpandedReader.prototype.decodeRow = function (rowNumber, row, hints) {\n // Rows can start with even pattern in case in prev rows there where odd number of patters.\n // So lets try twice\n // this.pairs.clear();\n this.pairs.length = 0;\n this.startFromEven = false;\n try {\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n }\n catch (e) {\n // OK\n // console.log(e);\n }\n this.pairs.length = 0;\n this.startFromEven = true;\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n };\n RSSExpandedReader.prototype.reset = function () {\n this.pairs.length = 0;\n this.rows.length = 0;\n };\n // Not private for testing\n RSSExpandedReader.prototype.decodeRow2pairs = function (rowNumber, row) {\n var done = false;\n while (!done) {\n try {\n this.pairs.push(this.retrieveNextPair(row, this.pairs, rowNumber));\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n if (!this.pairs.length) {\n throw new NotFoundException();\n }\n // exit this loop when retrieveNextPair() fails and throws\n done = true;\n }\n }\n }\n // TODO: verify sequence of finder patterns as in checkPairSequence()\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var tryStackedDecode;\n if (this.rows.length) {\n tryStackedDecode = true;\n }\n else {\n tryStackedDecode = false;\n }\n // let tryStackedDecode = !this.rows.isEmpty();\n this.storeRow(rowNumber, false); // TODO: deal with reversed rows\n if (tryStackedDecode) {\n // When the image is 180-rotated, then rows are sorted in wrong direction.\n // Try twice with both the directions.\n var ps = this.checkRowsBoolean(false);\n if (ps != null) {\n return ps;\n }\n ps = this.checkRowsBoolean(true);\n if (ps != null) {\n return ps;\n }\n }\n throw new NotFoundException();\n };\n // Need to Verify\n RSSExpandedReader.prototype.checkRowsBoolean = function (reverse) {\n // Limit number of rows we are checking\n // We use recursive algorithm with pure complexity and don't want it to take forever\n // Stacked barcode can have up to 11 rows, so 25 seems reasonable enough\n if (this.rows.length > 25) {\n this.rows.length = 0; // We will never have a chance to get result, so clear it\n return null;\n }\n this.pairs.length = 0;\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n var ps = null;\n try {\n ps = this.checkRows(new Array(), 0);\n }\n catch (e) {\n // OK\n console.log(e);\n }\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n return ps;\n };\n // Try to construct a valid rows sequence\n // Recursion is used to implement backtracking\n RSSExpandedReader.prototype.checkRows = function (collectedRows, currentRow) {\n var e_1, _a;\n for (var i = currentRow; i < this.rows.length; i++) {\n var row = this.rows[i];\n this.pairs.length = 0;\n try {\n for (var collectedRows_1 = (e_1 = void 0, __values(collectedRows)), collectedRows_1_1 = collectedRows_1.next(); !collectedRows_1_1.done; collectedRows_1_1 = collectedRows_1.next()) {\n var collectedRow = collectedRows_1_1.value;\n this.pairs.push(collectedRow.getPairs());\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (collectedRows_1_1 && !collectedRows_1_1.done && (_a = collectedRows_1.return)) _a.call(collectedRows_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.pairs.push(row.getPairs());\n if (!RSSExpandedReader.isValidSequence(this.pairs)) {\n continue;\n }\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var rs = new Array(collectedRows);\n rs.push(row);\n try {\n // Recursion: try to add more rows\n return this.checkRows(rs, i + 1);\n }\n catch (e) {\n // We failed, try the next candidate\n console.log(e);\n }\n }\n throw new NotFoundException();\n };\n // Whether the pairs form a valid find pattern sequence,\n // either complete or a prefix\n RSSExpandedReader.isValidSequence = function (pairs) {\n var e_2, _a;\n try {\n for (var _b = __values(RSSExpandedReader.FINDER_PATTERN_SEQUENCES), _c = _b.next(); !_c.done; _c = _b.next()) {\n var sequence = _c.value;\n if (pairs.length > sequence.length) {\n continue;\n }\n var stop_1 = true;\n for (var j = 0; j < pairs.length; j++) {\n if (pairs[j].getFinderPattern().getValue() != sequence[j]) {\n stop_1 = false;\n break;\n }\n }\n if (stop_1) {\n return true;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return false;\n };\n RSSExpandedReader.prototype.storeRow = function (rowNumber, wasReversed) {\n // Discard if duplicate above or below; otherwise insert in order by row number.\n var insertPos = 0;\n var prevIsSame = false;\n var nextIsSame = false;\n while (insertPos < this.rows.length) {\n var erow = this.rows[insertPos];\n if (erow.getRowNumber() > rowNumber) {\n nextIsSame = erow.isEquivalent(this.pairs);\n break;\n }\n prevIsSame = erow.isEquivalent(this.pairs);\n insertPos++;\n }\n if (nextIsSame || prevIsSame) {\n return;\n }\n // When the row was partially decoded (e.g. 2 pairs found instead of 3),\n // it will prevent us from detecting the barcode.\n // Try to merge partial rows\n // Check whether the row is part of an allready detected row\n if (RSSExpandedReader.isPartialRow(this.pairs, this.rows)) {\n return;\n }\n this.rows.push(insertPos, new ExpandedRow(this.pairs, rowNumber, wasReversed));\n this.removePartialRows(this.pairs, this.rows);\n };\n // Remove all the rows that contains only specified pairs\n RSSExpandedReader.prototype.removePartialRows = function (pairs, rows) {\n var e_3, _a, e_4, _b, e_5, _c;\n try {\n // for (Iterator iterator = rows.iterator(); iterator.hasNext();) {\n // ExpandedRow r = iterator.next();\n // if (r.getPairs().size() == pairs.size()) {\n // continue;\n // }\n // boolean allFound = true;\n // for (ExpandedPair p : r.getPairs()) {\n // boolean found = false;\n // for (ExpandedPair pp : pairs) {\n // if (p.equals(pp)) {\n // found = true;\n // break;\n // }\n // }\n // if (!found) {\n // allFound = false;\n // break;\n // }\n // }\n // if (allFound) {\n // // 'pairs' contains all the pairs from the row 'r'\n // iterator.remove();\n // }\n // }\n for (var rows_1 = __values(rows), rows_1_1 = rows_1.next(); !rows_1_1.done; rows_1_1 = rows_1.next()) {\n var row = rows_1_1.value;\n if (row.getPairs().length === pairs.length) {\n continue;\n }\n var allFound = true;\n try {\n for (var _d = (e_4 = void 0, __values(row.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var p = _e.value;\n var found = false;\n try {\n for (var pairs_1 = (e_5 = void 0, __values(pairs)), pairs_1_1 = pairs_1.next(); !pairs_1_1.done; pairs_1_1 = pairs_1.next()) {\n var pp = pairs_1_1.value;\n if (ExpandedPair.equals(p, pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n if (!found) {\n allFound = false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (rows_1_1 && !rows_1_1.done && (_a = rows_1.return)) _a.call(rows_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n };\n // Returns true when one of the rows already contains all the pairs\n RSSExpandedReader.isPartialRow = function (pairs, rows) {\n var e_6, _a, e_7, _b, e_8, _c;\n try {\n for (var rows_2 = __values(rows), rows_2_1 = rows_2.next(); !rows_2_1.done; rows_2_1 = rows_2.next()) {\n var r = rows_2_1.value;\n var allFound = true;\n try {\n for (var pairs_2 = (e_7 = void 0, __values(pairs)), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) {\n var p = pairs_2_1.value;\n var found = false;\n try {\n for (var _d = (e_8 = void 0, __values(r.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var pp = _e.value;\n if (p.equals(pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_c = _d.return)) _c.call(_d);\n }\n finally { if (e_8) throw e_8.error; }\n }\n if (!found) {\n allFound = false;\n break;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (pairs_2_1 && !pairs_2_1.done && (_b = pairs_2.return)) _b.call(pairs_2);\n }\n finally { if (e_7) throw e_7.error; }\n }\n if (allFound) {\n // the row 'r' contain all the pairs from 'pairs'\n return true;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (rows_2_1 && !rows_2_1.done && (_a = rows_2.return)) _a.call(rows_2);\n }\n finally { if (e_6) throw e_6.error; }\n }\n return false;\n };\n // Only used for unit testing\n RSSExpandedReader.prototype.getRows = function () {\n return this.rows;\n };\n // Not private for unit testing\n RSSExpandedReader.constructResult = function (pairs) {\n var binary = BitArrayBuilder.buildBitArray(pairs);\n var decoder = createDecoder(binary);\n var resultingString = decoder.parseInformation();\n var firstPoints = pairs[0].getFinderPattern().getResultPoints();\n var lastPoints = pairs[pairs.length - 1].getFinderPattern().getResultPoints();\n var points = [firstPoints[0], firstPoints[1], lastPoints[0], lastPoints[1]];\n return new Result(resultingString, null, null, points, BarcodeFormat.RSS_EXPANDED, null);\n };\n RSSExpandedReader.prototype.checkChecksum = function () {\n var firstPair = this.pairs.get(0);\n var checkCharacter = firstPair.getLeftChar();\n var firstCharacter = firstPair.getRightChar();\n if (firstCharacter == null) {\n return false;\n }\n var checksum = firstCharacter.getChecksumPortion();\n var s = 2;\n for (var i = 1; i < this.pairs.size(); ++i) {\n var currentPair = this.pairs.get(i);\n checksum += currentPair.getLeftChar().getChecksumPortion();\n s++;\n var currentRightChar = currentPair.getRightChar();\n if (currentRightChar != null) {\n checksum += currentRightChar.getChecksumPortion();\n s++;\n }\n }\n checksum %= 211;\n var checkCharacterValue = 211 * (s - 4) + checksum;\n return checkCharacterValue == checkCharacter.getValue();\n };\n RSSExpandedReader.getNextSecondBar = function (row, initialPos) {\n var currentPos;\n if (row.get(initialPos)) {\n currentPos = row.getNextUnset(initialPos);\n currentPos = row.getNextSet(currentPos);\n }\n else {\n currentPos = row.getNextSet(initialPos);\n currentPos = row.getNextUnset(currentPos);\n }\n return currentPos;\n };\n // not private for testing\n RSSExpandedReader.prototype.retrieveNextPair = function (row, previousPairs, rowNumber) {\n var isOddPattern = previousPairs.length % 2 == 0;\n if (this.startFromEven) {\n isOddPattern = !isOddPattern;\n }\n var pattern;\n var keepFinding = true;\n var forcedOffset = -1;\n do {\n this.findNextPair(row, previousPairs, forcedOffset);\n pattern = this.parseFoundFinderPattern(row, rowNumber, isOddPattern);\n if (pattern == null) {\n forcedOffset = RSSExpandedReader.getNextSecondBar(row, this.startEnd[0]);\n }\n else {\n keepFinding = false;\n }\n } while (keepFinding);\n // When stacked symbol is split over multiple rows, there's no way to guess if this pair can be last or not.\n // boolean mayBeLast = checkPairSequence(previousPairs, pattern);\n var leftChar = this.decodeDataCharacter(row, pattern, isOddPattern, true);\n if (!this.isEmptyPair(previousPairs) && previousPairs[previousPairs.length - 1].mustBeLast()) {\n throw new NotFoundException();\n }\n var rightChar;\n try {\n rightChar = this.decodeDataCharacter(row, pattern, isOddPattern, false);\n }\n catch (e) {\n rightChar = null;\n console.log(e);\n }\n return new ExpandedPair(leftChar, rightChar, pattern, true);\n };\n RSSExpandedReader.prototype.isEmptyPair = function (pairs) {\n if (pairs.length === 0) {\n return true;\n }\n return false;\n };\n RSSExpandedReader.prototype.findNextPair = function (row, previousPairs, forcedOffset) {\n var counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var width = row.getSize();\n var rowOffset;\n if (forcedOffset >= 0) {\n rowOffset = forcedOffset;\n }\n else if (this.isEmptyPair(previousPairs)) {\n rowOffset = 0;\n }\n else {\n var lastPair = previousPairs[previousPairs.length - 1];\n rowOffset = lastPair.getFinderPattern().getStartEnd()[1];\n }\n var searchingEvenPair = previousPairs.length % 2 != 0;\n if (this.startFromEven) {\n searchingEvenPair = !searchingEvenPair;\n }\n var isWhite = false;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (!isWhite) {\n break;\n }\n rowOffset++;\n }\n var counterPosition = 0;\n var patternStart = rowOffset;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) != isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition == 3) {\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n if (RSSExpandedReader.isFinderPattern(counters)) {\n this.startEnd[0] = patternStart;\n this.startEnd[1] = x;\n return;\n }\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n RSSExpandedReader.reverseCounters = function (counters) {\n var length = counters.length;\n for (var i = 0; i < length / 2; ++i) {\n var tmp = counters[i];\n counters[i] = counters[length - i - 1];\n counters[length - i - 1] = tmp;\n }\n };\n RSSExpandedReader.prototype.parseFoundFinderPattern = function (row, rowNumber, oddPattern) {\n // Actually we found elements 2-5.\n var firstCounter;\n var start;\n var end;\n if (oddPattern) {\n // If pattern number is odd, we need to locate element 1 *before* the current block.\n var firstElementStart = this.startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && !row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n firstCounter = this.startEnd[0] - firstElementStart;\n start = firstElementStart;\n end = this.startEnd[1];\n }\n else {\n // If pattern number is even, the pattern is reversed, so we need to locate element 1 *after* the current block.\n start = this.startEnd[0];\n end = row.getNextUnset(this.startEnd[1] + 1);\n firstCounter = end - this.startEnd[1];\n }\n // Make 'counters' hold 1-4\n var counters = this.getDecodeFinderCounters();\n System.arraycopy(counters, 0, counters, 1, counters.length - 1);\n counters[0] = firstCounter;\n var value;\n try {\n value = this.parseFinderValue(counters, RSSExpandedReader.FINDER_PATTERNS);\n }\n catch (e) {\n return null;\n console.log(e);\n }\n // return new FinderPattern(value, new int[] { start, end }, start, end, rowNumber});\n return new FinderPattern(value, [start, end], start, end, rowNumber);\n };\n RSSExpandedReader.prototype.decodeDataCharacter = function (row, pattern, isOddPattern, leftChar) {\n var counters = this.getDataCharacterCounters();\n for (var x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (leftChar) {\n RSSExpandedReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n RSSExpandedReader.recordPattern(row, pattern.getStartEnd()[1], counters);\n // reverse it\n for (var i = 0, j = counters.length - 1; i < j; i++, j--) {\n var temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n } // counters[] has the pixels of the module\n var numModules = 17; // left and right data characters have all the same length\n var elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n // Sanity check: element width for pattern and the character should match\n var expectedElementWidth = (pattern.getStartEnd()[1] - pattern.getStartEnd()[0]) / 15.0;\n if (Math.abs(elementWidth - expectedElementWidth) / expectedElementWidth > 0.3) {\n throw new NotFoundException();\n }\n var oddCounts = this.getOddCounts();\n var evenCounts = this.getEvenCounts();\n var oddRoundingErrors = this.getOddRoundingErrors();\n var evenRoundingErrors = this.getEvenRoundingErrors();\n for (var i = 0; i < counters.length; i++) {\n var value_1 = 1.0 * counters[i] / elementWidth;\n var count = value_1 + 0.5; // Round\n if (count < 1) {\n if (value_1 < 0.3) {\n throw new NotFoundException();\n }\n count = 1;\n }\n else if (count > 8) {\n if (value_1 > 8.7) {\n throw new NotFoundException();\n }\n count = 8;\n }\n var offset = i / 2;\n if ((i & 0x01) == 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value_1 - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value_1 - count;\n }\n }\n this.adjustOddEvenCounts(numModules);\n var weightRowNumber = 4 * pattern.getValue() + (isOddPattern ? 0 : 2) + (leftChar ? 0 : 1) - 1;\n var oddSum = 0;\n var oddChecksumPortion = 0;\n for (var i = oddCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i];\n oddChecksumPortion += oddCounts[i] * weight;\n }\n oddSum += oddCounts[i];\n }\n var evenChecksumPortion = 0;\n // int evenSum = 0;\n for (var i = evenCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i + 1];\n evenChecksumPortion += evenCounts[i] * weight;\n }\n // evenSum += evenCounts[i];\n }\n var checksumPortion = oddChecksumPortion + evenChecksumPortion;\n if ((oddSum & 0x01) != 0 || oddSum > 13 || oddSum < 4) {\n throw new NotFoundException();\n }\n var group = (13 - oddSum) / 2;\n var oddWidest = RSSExpandedReader.SYMBOL_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n var tEven = RSSExpandedReader.EVEN_TOTAL_SUBSET[group];\n var gSum = RSSExpandedReader.GSUM[group];\n var value = vOdd * tEven + vEven + gSum;\n return new DataCharacter(value, checksumPortion);\n };\n RSSExpandedReader.isNotA1left = function (pattern, isOddPattern, leftChar) {\n // A1: pattern.getValue is 0 (A), and it's an oddPattern, and it is a left char\n return !(pattern.getValue() == 0 && isOddPattern && leftChar);\n };\n RSSExpandedReader.prototype.adjustOddEvenCounts = function (numModules) {\n var oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n var evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n var incrementOdd = false;\n var decrementOdd = false;\n if (oddSum > 13) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n var incrementEven = false;\n var decrementEven = false;\n if (evenSum > 13) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n var mismatch = oddSum + evenSum - numModules;\n var oddParityBad = (oddSum & 0x01) == 1;\n var evenParityBad = (evenSum & 0x01) == 0;\n if (mismatch == 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch == -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch == 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n RSSExpandedReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n RSSExpandedReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n };\n RSSExpandedReader.SYMBOL_WIDEST = [7, 5, 4, 3, 1];\n RSSExpandedReader.EVEN_TOTAL_SUBSET = [4, 20, 52, 104, 204];\n RSSExpandedReader.GSUM = [0, 348, 1388, 2948, 3988];\n RSSExpandedReader.FINDER_PATTERNS = [\n Int32Array.from([1, 8, 4, 1]),\n Int32Array.from([3, 6, 4, 1]),\n Int32Array.from([3, 4, 6, 1]),\n Int32Array.from([3, 2, 8, 1]),\n Int32Array.from([2, 6, 5, 1]),\n Int32Array.from([2, 2, 9, 1]) // F\n ];\n RSSExpandedReader.WEIGHTS = [\n [1, 3, 9, 27, 81, 32, 96, 77],\n [20, 60, 180, 118, 143, 7, 21, 63],\n [189, 145, 13, 39, 117, 140, 209, 205],\n [193, 157, 49, 147, 19, 57, 171, 91],\n [62, 186, 136, 197, 169, 85, 44, 132],\n [185, 133, 188, 142, 4, 12, 36, 108],\n [113, 128, 173, 97, 80, 29, 87, 50],\n [150, 28, 84, 41, 123, 158, 52, 156],\n [46, 138, 203, 187, 139, 206, 196, 166],\n [76, 17, 51, 153, 37, 111, 122, 155],\n [43, 129, 176, 106, 107, 110, 119, 146],\n [16, 48, 144, 10, 30, 90, 59, 177],\n [109, 116, 137, 200, 178, 112, 125, 164],\n [70, 210, 208, 202, 184, 130, 179, 115],\n [134, 191, 151, 31, 93, 68, 204, 190],\n [148, 22, 66, 198, 172, 94, 71, 2],\n [6, 18, 54, 162, 64, 192, 154, 40],\n [120, 149, 25, 75, 14, 42, 126, 167],\n [79, 26, 78, 23, 69, 207, 199, 175],\n [103, 98, 83, 38, 114, 131, 182, 124],\n [161, 61, 183, 127, 170, 88, 53, 159],\n [55, 165, 73, 8, 24, 72, 5, 15],\n [45, 135, 194, 160, 58, 174, 100, 89]\n ];\n RSSExpandedReader.FINDER_PAT_A = 0;\n RSSExpandedReader.FINDER_PAT_B = 1;\n RSSExpandedReader.FINDER_PAT_C = 2;\n RSSExpandedReader.FINDER_PAT_D = 3;\n RSSExpandedReader.FINDER_PAT_E = 4;\n RSSExpandedReader.FINDER_PAT_F = 5;\n RSSExpandedReader.FINDER_PATTERN_SEQUENCES = [\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_C],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n ];\n RSSExpandedReader.MAX_PAIRS = 11;\n return RSSExpandedReader;\n}(AbstractRSSReader));\nexport default RSSExpandedReader;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/*\n * Copyright 2010 ZXing authors\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 DecoderResult from '../../common/DecoderResult';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport IllegalStateException from '../../IllegalStateException';\nimport FormatException from '../../FormatException';\nimport StringUtils from '../../common/StringUtils';\nimport Integer from '../../util/Integer';\n// import java.util.Arrays;\nvar Table;\n(function (Table) {\n Table[Table[\"UPPER\"] = 0] = \"UPPER\";\n Table[Table[\"LOWER\"] = 1] = \"LOWER\";\n Table[Table[\"MIXED\"] = 2] = \"MIXED\";\n Table[Table[\"DIGIT\"] = 3] = \"DIGIT\";\n Table[Table[\"PUNCT\"] = 4] = \"PUNCT\";\n Table[Table[\"BINARY\"] = 5] = \"BINARY\";\n})(Table || (Table = {}));\n/**\n *

The main class which implements Aztec Code decoding -- as opposed to locating and extracting\n * the Aztec Code from an image.

\n *\n * @author David Olivier\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n }\n Decoder.prototype.decode = function (detectorResult) {\n this.ddata = detectorResult;\n var matrix = detectorResult.getBits();\n var rawbits = this.extractBits(matrix);\n var correctedBits = this.correctBits(rawbits);\n var rawBytes = Decoder.convertBoolArrayToByteArray(correctedBits);\n var result = Decoder.getEncodedData(correctedBits);\n var decoderResult = new DecoderResult(rawBytes, result, null, null);\n decoderResult.setNumBits(correctedBits.length);\n return decoderResult;\n };\n // This method is used for testing the high-level encoder\n Decoder.highLevelDecode = function (correctedBits) {\n return this.getEncodedData(correctedBits);\n };\n /**\n * Gets the string encoded in the aztec code bits\n *\n * @return the decoded string\n */\n Decoder.getEncodedData = function (correctedBits) {\n var endIndex = correctedBits.length;\n var latchTable = Table.UPPER; // table most recently latched to\n var shiftTable = Table.UPPER; // table to use for the next read\n var result = '';\n var index = 0;\n while (index < endIndex) {\n if (shiftTable === Table.BINARY) {\n if (endIndex - index < 5) {\n break;\n }\n var length_1 = Decoder.readCode(correctedBits, index, 5);\n index += 5;\n if (length_1 === 0) {\n if (endIndex - index < 11) {\n break;\n }\n length_1 = Decoder.readCode(correctedBits, index, 11) + 31;\n index += 11;\n }\n for (var charCount = 0; charCount < length_1; charCount++) {\n if (endIndex - index < 8) {\n index = endIndex; // Force outer loop to exit\n break;\n }\n var code = Decoder.readCode(correctedBits, index, 8);\n result += /*(char)*/ StringUtils.castAsNonUtf8Char(code);\n index += 8;\n }\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n else {\n var size = shiftTable === Table.DIGIT ? 4 : 5;\n if (endIndex - index < size) {\n break;\n }\n var code = Decoder.readCode(correctedBits, index, size);\n index += size;\n var str = Decoder.getCharacter(shiftTable, code);\n if (str.startsWith('CTRL_')) {\n // Table changes\n // ISO/IEC 24778:2008 prescribes ending a shift sequence in the mode from which it was invoked.\n // That's including when that mode is a shift.\n // Our test case dlusbs.png for issue #642 exercises that.\n latchTable = shiftTable; // Latch the current mode, so as to return to Upper after U/S B/S\n shiftTable = Decoder.getTable(str.charAt(5));\n if (str.charAt(6) === 'L') {\n latchTable = shiftTable;\n }\n }\n else {\n result += str;\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n }\n }\n return result;\n };\n /**\n * gets the table corresponding to the char passed\n */\n Decoder.getTable = function (t) {\n switch (t) {\n case 'L':\n return Table.LOWER;\n case 'P':\n return Table.PUNCT;\n case 'M':\n return Table.MIXED;\n case 'D':\n return Table.DIGIT;\n case 'B':\n return Table.BINARY;\n case 'U':\n default:\n return Table.UPPER;\n }\n };\n /**\n * Gets the character (or string) corresponding to the passed code in the given table\n *\n * @param table the table used\n * @param code the code of the character\n */\n Decoder.getCharacter = function (table, code) {\n switch (table) {\n case Table.UPPER:\n return Decoder.UPPER_TABLE[code];\n case Table.LOWER:\n return Decoder.LOWER_TABLE[code];\n case Table.MIXED:\n return Decoder.MIXED_TABLE[code];\n case Table.PUNCT:\n return Decoder.PUNCT_TABLE[code];\n case Table.DIGIT:\n return Decoder.DIGIT_TABLE[code];\n default:\n // Should not reach here.\n throw new IllegalStateException('Bad table');\n }\n };\n /**\n *

Performs RS error correction on an array of bits.

\n *\n * @return the corrected array\n * @throws FormatException if the input contains too many errors\n */\n Decoder.prototype.correctBits = function (rawbits) {\n var gf;\n var codewordSize;\n if (this.ddata.getNbLayers() <= 2) {\n codewordSize = 6;\n gf = GenericGF.AZTEC_DATA_6;\n }\n else if (this.ddata.getNbLayers() <= 8) {\n codewordSize = 8;\n gf = GenericGF.AZTEC_DATA_8;\n }\n else if (this.ddata.getNbLayers() <= 22) {\n codewordSize = 10;\n gf = GenericGF.AZTEC_DATA_10;\n }\n else {\n codewordSize = 12;\n gf = GenericGF.AZTEC_DATA_12;\n }\n var numDataCodewords = this.ddata.getNbDatablocks();\n var numCodewords = rawbits.length / codewordSize;\n if (numCodewords < numDataCodewords) {\n throw new FormatException();\n }\n var offset = rawbits.length % codewordSize;\n var dataWords = new Int32Array(numCodewords);\n for (var i = 0; i < numCodewords; i++, offset += codewordSize) {\n dataWords[i] = Decoder.readCode(rawbits, offset, codewordSize);\n }\n try {\n var rsDecoder = new ReedSolomonDecoder(gf);\n rsDecoder.decode(dataWords, numCodewords - numDataCodewords);\n }\n catch (ex) {\n throw new FormatException(ex);\n }\n // Now perform the unstuffing operation.\n // First, count how many bits are going to be thrown out as stuffing\n var mask = (1 << codewordSize) - 1;\n var stuffedBits = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 0 || dataWord === mask) {\n throw new FormatException();\n }\n else if (dataWord === 1 || dataWord === mask - 1) {\n stuffedBits++;\n }\n }\n // Now, actually unpack the bits and remove the stuffing\n var correctedBits = new Array(numDataCodewords * codewordSize - stuffedBits);\n var index = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 1 || dataWord === mask - 1) {\n // next codewordSize-1 bits are all zeros or all ones\n correctedBits.fill(dataWord > 1, index, index + codewordSize - 1);\n // Arrays.fill(correctedBits, index, index + codewordSize - 1, dataWord > 1);\n index += codewordSize - 1;\n }\n else {\n for (var bit = codewordSize - 1; bit >= 0; --bit) {\n correctedBits[index++] = (dataWord & (1 << bit)) !== 0;\n }\n }\n }\n return correctedBits;\n };\n /**\n * Gets the array of bits from an Aztec Code matrix\n *\n * @return the array of bits\n */\n Decoder.prototype.extractBits = function (matrix) {\n var compact = this.ddata.isCompact();\n var layers = this.ddata.getNbLayers();\n var baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n var alignmentMap = new Int32Array(baseMatrixSize);\n var rawbits = new Array(this.totalBitsInLayer(layers, compact));\n if (compact) {\n for (var i = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n var matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n var origCenter = baseMatrixSize / 2;\n var center = Integer.truncDivision(matrixSize, 2);\n for (var i = 0; i < origCenter; i++) {\n var newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n for (var i = 0, rowOffset = 0; i < layers; i++) {\n var rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n // The top-left most point of this layer is (not including alignment lines)\n var low = i * 2;\n // The bottom-right most point of this layer is (not including alignment lines)\n var high = baseMatrixSize - 1 - low;\n // We pull bits from the two 2 x rowSize columns and two rowSize x 2 rows\n for (var j = 0; j < rowSize; j++) {\n var columnOffset = j * 2;\n for (var k = 0; k < 2; k++) {\n // left column\n rawbits[rowOffset + columnOffset + k] =\n matrix.get(alignmentMap[low + k], alignmentMap[low + j]);\n // bottom row\n rawbits[rowOffset + 2 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[low + j], alignmentMap[high - k]);\n // right column\n rawbits[rowOffset + 4 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - k], alignmentMap[high - j]);\n // top row\n rawbits[rowOffset + 6 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - j], alignmentMap[low + k]);\n }\n }\n rowOffset += rowSize * 8;\n }\n return rawbits;\n };\n /**\n * Reads a code of given length and at given index in an array of bits\n */\n Decoder.readCode = function (rawbits, startIndex, length) {\n var res = 0;\n for (var i = startIndex; i < startIndex + length; i++) {\n res <<= 1;\n if (rawbits[i]) {\n res |= 0x01;\n }\n }\n return res;\n };\n /**\n * Reads a code of length 8 in an array of bits, padding with zeros\n */\n Decoder.readByte = function (rawbits, startIndex) {\n var n = rawbits.length - startIndex;\n if (n >= 8) {\n return Decoder.readCode(rawbits, startIndex, 8);\n }\n return Decoder.readCode(rawbits, startIndex, n) << (8 - n);\n };\n /**\n * Packs a bit array into bytes, most significant bit first\n */\n Decoder.convertBoolArrayToByteArray = function (boolArr) {\n var byteArr = new Uint8Array((boolArr.length + 7) / 8);\n for (var i = 0; i < byteArr.length; i++) {\n byteArr[i] = Decoder.readByte(boolArr, 8 * i);\n }\n return byteArr;\n };\n Decoder.prototype.totalBitsInLayer = function (layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n };\n Decoder.UPPER_TABLE = [\n 'CTRL_PS', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'CTRL_LL', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.LOWER_TABLE = [\n 'CTRL_PS', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'CTRL_US', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.MIXED_TABLE = [\n // Module parse failed: Octal literal in strict mode (50:29)\n // so number string were scaped\n 'CTRL_PS', ' ', '\\\\1', '\\\\2', '\\\\3', '\\\\4', '\\\\5', '\\\\6', '\\\\7', '\\b', '\\t', '\\n',\n '\\\\13', '\\f', '\\r', '\\\\33', '\\\\34', '\\\\35', '\\\\36', '\\\\37', '@', '\\\\', '^', '_',\n '`', '|', '~', '\\\\177', 'CTRL_LL', 'CTRL_UL', 'CTRL_PL', 'CTRL_BS'\n ];\n Decoder.PUNCT_TABLE = [\n '', '\\r', '\\r\\n', '. ', ', ', ': ', '!', '\"', '#', '$', '%', '&', '\\'', '(', ')',\n '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}', 'CTRL_UL'\n ];\n Decoder.DIGIT_TABLE = [\n 'CTRL_PS', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'CTRL_UL', 'CTRL_US'\n ];\n return Decoder;\n}());\nexport default Decoder;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","import GeneralAppIdDecoder from './GeneralAppIdDecoder';\nvar AbstractExpandedDecoder = /** @class */ (function () {\n function AbstractExpandedDecoder(information) {\n this.information = information;\n this.generalDecoder = new GeneralAppIdDecoder(information);\n }\n AbstractExpandedDecoder.prototype.getInformation = function () {\n return this.information;\n };\n AbstractExpandedDecoder.prototype.getGeneralDecoder = function () {\n return this.generalDecoder;\n };\n return AbstractExpandedDecoder;\n}());\nexport default AbstractExpandedDecoder;\n","/*\n * Copyright 2008 ZXing authors\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 BitArray from '../common/BitArray';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport NotFoundException from '../NotFoundException';\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nvar OneDReader = /** @class */ (function () {\n function OneDReader() {\n }\n /*\n @Override\n public Result decode(BinaryBitmap image) throws NotFoundException, FormatException {\n return decode(image, null);\n }\n */\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n OneDReader.prototype.decode = function (image, hints) {\n try {\n return this.doDecode(image, hints);\n }\n catch (nfe) {\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n if (tryHarder && image.isRotateSupported()) {\n var rotatedImage = image.rotateCounterClockwise();\n var result = this.doDecode(rotatedImage, hints);\n // Record that we found it rotated 90 degrees CCW / 270 degrees CW\n var metadata = result.getResultMetadata();\n var orientation_1 = 270;\n if (metadata !== null && (metadata.get(ResultMetadataType.ORIENTATION) === true)) {\n // But if we found it reversed in doDecode(), add in that result here:\n orientation_1 = (orientation_1 + metadata.get(ResultMetadataType.ORIENTATION) % 360);\n }\n result.putMetadata(ResultMetadataType.ORIENTATION, orientation_1);\n // Update result points\n var points = result.getResultPoints();\n if (points !== null) {\n var height = rotatedImage.getHeight();\n for (var i = 0; i < points.length; i++) {\n points[i] = new ResultPoint(height - points[i].getY() - 1, points[i].getX());\n }\n }\n return result;\n }\n else {\n throw new NotFoundException();\n }\n }\n };\n // @Override\n OneDReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * We're going to examine rows from the middle outward, searching alternately above and below the\n * middle, and farther out each time. rowStep is the number of rows between each successive\n * attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then\n * middle + rowStep, then middle - (2 * rowStep), etc.\n * rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily\n * decided that moving up and down by about 1/16 of the image is pretty good; we try more of the\n * image if \"trying harder\".\n *\n * @param image The image to decode\n * @param hints Any hints that were requested\n * @return The contents of the decoded barcode\n * @throws NotFoundException Any spontaneous errors which occur\n */\n OneDReader.prototype.doDecode = function (image, hints) {\n var width = image.getWidth();\n var height = image.getHeight();\n var row = new BitArray(width);\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n var rowStep = Math.max(1, height >> (tryHarder ? 8 : 5));\n var maxLines;\n if (tryHarder) {\n maxLines = height; // Look at the whole image, not just the center\n }\n else {\n maxLines = 15; // 15 rows spaced 1/32 apart is roughly the middle half of the image\n }\n var middle = Math.trunc(height / 2);\n for (var x = 0; x < maxLines; x++) {\n // Scanning from the middle out. Determine which row we're looking at next:\n var rowStepsAboveOrBelow = Math.trunc((x + 1) / 2);\n var isAbove = (x & 0x01) === 0; // i.e. is x even?\n var rowNumber = middle + rowStep * (isAbove ? rowStepsAboveOrBelow : -rowStepsAboveOrBelow);\n if (rowNumber < 0 || rowNumber >= height) {\n // Oops, if we run off the top or bottom, stop\n break;\n }\n // Estimate black point for this row and load it:\n try {\n row = image.getBlackRow(rowNumber, row);\n }\n catch (ignored) {\n continue;\n }\n var _loop_1 = function (attempt) {\n if (attempt === 1) { // trying again?\n row.reverse(); // reverse the row and continue\n // This means we will only ever draw result points *once* in the life of this method\n // since we want to avoid drawing the wrong points after flipping the row, and,\n // don't want to clutter with noise from every single row scan -- just the scans\n // that start on the center line.\n if (hints && (hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK) === true)) {\n var newHints_1 = new Map();\n hints.forEach(function (hint, key) { return newHints_1.set(key, hint); });\n newHints_1.delete(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n hints = newHints_1;\n }\n }\n try {\n // Look for a barcode\n var result = this_1.decodeRow(rowNumber, row, hints);\n // We found our barcode\n if (attempt === 1) {\n // But it was upside down, so note that\n result.putMetadata(ResultMetadataType.ORIENTATION, 180);\n // And remember to flip the result points horizontally.\n var points = result.getResultPoints();\n if (points !== null) {\n points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY());\n points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY());\n }\n }\n return { value: result };\n }\n catch (re) {\n // continue -- just couldn't decode this row\n }\n };\n var this_1 = this;\n // While we have the image data in a BitArray, it's fairly cheap to reverse it in place to\n // handle decoding upside down barcodes.\n for (var attempt = 0; attempt < 2; attempt++) {\n var state_1 = _loop_1(attempt);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n }\n throw new NotFoundException();\n };\n /**\n * Records the size of successive runs of white and black pixels in a row, starting at a given point.\n * The values are recorded in the given array, and the number of runs recorded is equal to the size\n * of the array. If the row starts on a white pixel at the given start point, then the first count\n * recorded is the run of white pixels starting from that point; likewise it is the count of a run\n * of black pixels if the row begin on a black pixels at that point.\n *\n * @param row row to count from\n * @param start offset into row to start at\n * @param counters array into which to record counts\n * @throws NotFoundException if counters cannot be filled entirely from row before running out\n * of pixels\n */\n OneDReader.recordPattern = function (row, start, counters) {\n var numCounters = counters.length;\n for (var index = 0; index < numCounters; index++)\n counters[index] = 0;\n var end = row.getSize();\n if (start >= end) {\n throw new NotFoundException();\n }\n var isWhite = !row.get(start);\n var counterPosition = 0;\n var i = start;\n while (i < end) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (++counterPosition === numCounters) {\n break;\n }\n else {\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n i++;\n }\n // If we read fully the last section of pixels and filled up our counters -- or filled\n // the last counter but ran off the side of the image, OK. Otherwise, a problem.\n if (!(counterPosition === numCounters || (counterPosition === numCounters - 1 && i === end))) {\n throw new NotFoundException();\n }\n };\n OneDReader.recordPatternInReverse = function (row, start, counters) {\n // This could be more efficient I guess\n var numTransitionsLeft = counters.length;\n var last = row.get(start);\n while (start > 0 && numTransitionsLeft >= 0) {\n if (row.get(--start) !== last) {\n numTransitionsLeft--;\n last = !last;\n }\n }\n if (numTransitionsLeft >= 0) {\n throw new NotFoundException();\n }\n OneDReader.recordPattern(row, start + 1, counters);\n };\n /**\n * Determines how closely a set of observed counts of runs of black/white values matches a given\n * target pattern. This is reported as the ratio of the total variance from the expected pattern\n * proportions across all pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n OneDReader.patternMatchVariance = function (counters, pattern, maxIndividualVariance) {\n var numCounters = counters.length;\n var total = 0;\n var patternLength = 0;\n for (var i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this is too small\n // to reliably match, so fail:\n return Number.POSITIVE_INFINITY;\n }\n var unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n var totalVariance = 0.0;\n for (var x = 0; x < numCounters; x++) {\n var counter = counters[x];\n var scaledPattern = pattern[x] * unitBarWidth;\n var variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return Number.POSITIVE_INFINITY;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n };\n return OneDReader;\n}());\nexport default OneDReader;\n","/*\n * Copyright 2010 ZXing authors\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 Result from '../Result';\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport System from '../util/System';\nimport Decoder from './decoder/Decoder';\nimport Detector from './detector/Detector';\n// import java.util.List;\n// import java.util.Map;\n/**\n * This implementation can detect and decode Aztec codes in an image.\n *\n * @author David Olivier\n */\nvar AztecReader = /** @class */ (function () {\n function AztecReader() {\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n */\n AztecReader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var exception = null;\n var detector = new Detector(image.getBlackMatrix());\n var points = null;\n var decoderResult = null;\n try {\n var detectorResult = detector.detectMirror(false);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n exception = e;\n }\n if (decoderResult == null) {\n try {\n var detectorResult = detector.detectMirror(true);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n if (exception != null) {\n throw exception;\n }\n throw e;\n }\n }\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), decoderResult.getNumBits(), points, BarcodeFormat.AZTEC, System.currentTimeMillis());\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n };\n AztecReader.prototype.reportFoundResultPoints = function (hints, points) {\n if (hints != null) {\n var rpcb_1 = hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (rpcb_1 != null) {\n points.forEach(function (point, idx, arr) {\n rpcb_1.foundPossibleResultPoint(point);\n });\n }\n }\n };\n // @Override\n AztecReader.prototype.reset = function () {\n // do nothing\n };\n return AztecReader;\n}());\nexport default AztecReader;\n","var __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 InvertedLuminanceSource from '../core/InvertedLuminanceSource';\nimport LuminanceSource from '../core/LuminanceSource';\nimport IllegalArgumentException from '../core/IllegalArgumentException';\n/**\n * @deprecated Moving to @zxing/browser\n */\nvar HTMLCanvasElementLuminanceSource = /** @class */ (function (_super) {\n __extends(HTMLCanvasElementLuminanceSource, _super);\n function HTMLCanvasElementLuminanceSource(canvas) {\n var _this = _super.call(this, canvas.width, canvas.height) || this;\n _this.canvas = canvas;\n _this.tempCanvasElement = null;\n _this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n return _this;\n }\n HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData = function (canvas) {\n var imageData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n };\n HTMLCanvasElementLuminanceSource.toGrayscaleBuffer = function (imageBuffer, width, height) {\n var grayscaleBuffer = new Uint8ClampedArray(width * height);\n for (var i = 0, j = 0, length_1 = imageBuffer.length; i < length_1; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n gray = (306 * pixelR +\n 601 * pixelG +\n 117 * pixelB +\n 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n return grayscaleBuffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n var start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n };\n HTMLCanvasElementLuminanceSource.prototype.getMatrix = function () {\n return this.buffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n _super.prototype.crop.call(this, left, top, width, height);\n return this;\n };\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n HTMLCanvasElementLuminanceSource.prototype.isRotateSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise = function () {\n this.rotate(-90);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n this.rotate(-45);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.getTempCanvasElement = function () {\n if (null === this.tempCanvasElement) {\n var tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotate = function (angle) {\n var tempCanvasElement = this.getTempCanvasElement();\n var tempContext = tempCanvasElement.getContext('2d');\n var angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n var width = this.canvas.width;\n var height = this.canvas.height;\n var newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n var newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n return HTMLCanvasElementLuminanceSource;\n}(LuminanceSource));\nexport { HTMLCanvasElementLuminanceSource };\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","/*\n * Copyright 2008 ZXing authors\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 GenericGFPoly from './GenericGFPoly';\nimport System from '../../util/System';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

Implements Reed-Solomon encoding, as the name implies.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n */\nvar ReedSolomonEncoder = /** @class */ (function () {\n /**\n * A reed solomon error-correcting encoding constructor is created by\n * passing as Galois Field with of size equal to the number of code\n * words (symbols) in the alphabet (the number of values in each\n * element of arrays that are encoded/decoded).\n * @param field A galois field with a number of elements equal to the size\n * of the alphabet of symbols to encode.\n */\n function ReedSolomonEncoder(field) {\n this.field = field;\n this.cachedGenerators = [];\n this.cachedGenerators.push(new GenericGFPoly(field, Int32Array.from([1])));\n }\n ReedSolomonEncoder.prototype.buildGenerator = function (degree /*int*/) {\n var cachedGenerators = this.cachedGenerators;\n if (degree >= cachedGenerators.length) {\n var lastGenerator = cachedGenerators[cachedGenerators.length - 1];\n var field = this.field;\n for (var d = cachedGenerators.length; d <= degree; d++) {\n var nextGenerator = lastGenerator.multiply(new GenericGFPoly(field, Int32Array.from([1, field.exp(d - 1 + field.getGeneratorBase())])));\n cachedGenerators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return cachedGenerators[degree];\n };\n /**\n *

Encode a sequence of code words (symbols) using Reed-Solomon to allow decoders\n * to detect and correct errors that may have been introduced when the resulting\n * data is stored or transmitted.

\n *\n * @param toEncode array used for both and output. Caller initializes the array with\n * the code words (symbols) to be encoded followed by empty elements allocated to make\n * space for error-correction code words in the encoded output. The array contains\n * the encdoded output when encode returns. Code words are encoded as numbers from\n * 0 to n-1, where n is the number of possible code words (symbols), as determined\n * by the size of the Galois Field passed in the constructor of this object.\n * @param ecBytes the number of elements reserved in the array (first parameter)\n * to store error-correction code words. Thus, the number of code words (symbols)\n * to encode in the first parameter is thus toEncode.length - ecBytes.\n * Note, the use of \"bytes\" in the name of this parameter is misleading, as there may\n * be more or fewer than 256 symbols being encoded, as determined by the number of\n * elements in the Galois Field passed as a constructor to this object.\n * @throws IllegalArgumentException thrown in response to validation errros.\n */\n ReedSolomonEncoder.prototype.encode = function (toEncode, ecBytes /*int*/) {\n if (ecBytes === 0) {\n throw new IllegalArgumentException('No error correction bytes');\n }\n var dataBytes = toEncode.length - ecBytes;\n if (dataBytes <= 0) {\n throw new IllegalArgumentException('No data bytes provided');\n }\n var generator = this.buildGenerator(ecBytes);\n var infoCoefficients = new Int32Array(dataBytes);\n System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes);\n var info = new GenericGFPoly(this.field, infoCoefficients);\n info = info.multiplyByMonomial(ecBytes, 1);\n var remainder = info.divide(generator)[1];\n var coefficients = remainder.getCoefficients();\n var numZeroCoefficients = ecBytes - coefficients.length;\n for (var i = 0; i < numZeroCoefficients; i++) {\n toEncode[dataBytes + i] = 0;\n }\n System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length);\n };\n return ReedSolomonEncoder;\n}());\nexport default ReedSolomonEncoder;\n","/*\n * Copyright 2009 ZXing authors\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})();\n/*namespace com.google.zxing {*/\nimport './InvertedLuminanceSource'; // required because of circular dependencies between LuminanceSource and InvertedLuminanceSource\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport LuminanceSource from './LuminanceSource';\nimport System from './util/System';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This class is used to help decode images from files which arrive as RGB data from\n * an ARGB pixel array. It does not support rotation.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Betaminos\n */\nvar RGBLuminanceSource = /** @class */ (function (_super) {\n __extends(RGBLuminanceSource, _super);\n function RGBLuminanceSource(luminances, width /*int*/, height /*int*/, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/) {\n var _this = _super.call(this, width, height) || this;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (luminances.BYTES_PER_ELEMENT === 4) { // Int32Array\n var size = width * height;\n var luminancesUint8Array = new Uint8ClampedArray(size);\n for (var offset = 0; offset < size; offset++) {\n var pixel = luminances[offset];\n var r = (pixel >> 16) & 0xff; // red\n var g2 = (pixel >> 7) & 0x1fe; // 2 * green\n var b = pixel & 0xff; // blue\n // Calculate green-favouring average cheaply\n luminancesUint8Array[offset] = /*(byte) */ ((r + g2 + b) / 4) & 0xFF;\n }\n _this.luminances = luminancesUint8Array;\n }\n else {\n _this.luminances = luminances;\n }\n if (undefined === dataWidth) {\n _this.dataWidth = width;\n }\n if (undefined === dataHeight) {\n _this.dataHeight = height;\n }\n if (undefined === left) {\n _this.left = 0;\n }\n if (undefined === top) {\n _this.top = 0;\n }\n if (_this.left + width > _this.dataWidth || _this.top + height > _this.dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n return _this;\n }\n /*@Override*/\n RGBLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.luminances, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.luminances;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.luminances, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.luminances, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new RGBLuminanceSource(this.luminances, width, height, this.dataWidth, this.dataHeight, this.left + left, this.top + top);\n };\n RGBLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n return RGBLuminanceSource;\n}(LuminanceSource));\nexport default RGBLuminanceSource;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * RSS util functions.\n */\nvar RSSUtils = /** @class */ (function () {\n function RSSUtils() {\n }\n RSSUtils.getRSSvalue = function (widths, maxWidth, noNarrow) {\n var e_1, _a;\n var n = 0;\n try {\n for (var widths_1 = __values(widths), widths_1_1 = widths_1.next(); !widths_1_1.done; widths_1_1 = widths_1.next()) {\n var width = widths_1_1.value;\n n += width;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (widths_1_1 && !widths_1_1.done && (_a = widths_1.return)) _a.call(widths_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var val = 0;\n var narrowMask = 0;\n var elements = widths.length;\n for (var bar = 0; bar < elements - 1; bar++) {\n var elmWidth = void 0;\n for (elmWidth = 1, narrowMask |= 1 << bar; elmWidth < widths[bar]; elmWidth++, narrowMask &= ~(1 << bar)) {\n var subVal = RSSUtils.combins(n - elmWidth - 1, elements - bar - 2);\n if (noNarrow && (narrowMask === 0) && (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {\n subVal -= RSSUtils.combins(n - elmWidth - (elements - bar), elements - bar - 2);\n }\n if (elements - bar - 1 > 1) {\n var lessVal = 0;\n for (var mxwElement = n - elmWidth - (elements - bar - 2); mxwElement > maxWidth; mxwElement--) {\n lessVal += RSSUtils.combins(n - elmWidth - mxwElement - 1, elements - bar - 3);\n }\n subVal -= lessVal * (elements - 1 - bar);\n }\n else if (n - elmWidth > maxWidth) {\n subVal--;\n }\n val += subVal;\n }\n n -= elmWidth;\n }\n return val;\n };\n RSSUtils.combins = function (n, r) {\n var maxDenom;\n var minDenom;\n if (n - r > r) {\n minDenom = r;\n maxDenom = n - r;\n }\n else {\n minDenom = n - r;\n maxDenom = r;\n }\n var val = 1;\n var j = 1;\n for (var i = n; i > maxDenom; i--) {\n val *= i;\n if (j <= minDenom) {\n val /= j;\n j++;\n }\n }\n while ((j <= minDenom)) {\n val /= j;\n j++;\n }\n return val;\n };\n return RSSUtils;\n}());\nexport default RSSUtils;\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var __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 Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar UnsupportedOperationException = /** @class */ (function (_super) {\n __extends(UnsupportedOperationException, _super);\n function UnsupportedOperationException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UnsupportedOperationException.kind = 'UnsupportedOperationException';\n return UnsupportedOperationException;\n}(Exception));\nexport default UnsupportedOperationException;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","/*\n * Copyright 2009 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport DecodeHintType from './DecodeHintType';\nimport BarcodeFormat from './BarcodeFormat';\nimport QRCodeReader from './qrcode/QRCodeReader';\nimport AztecReader from './aztec/AztecReader';\nimport MultiFormatOneDReader from './oned/MultiFormatOneDReader';\nimport DataMatrixReader from './datamatrix/DataMatrixReader';\nimport NotFoundException from './NotFoundException';\nimport PDF417Reader from './pdf417/PDF417Reader';\nimport ReaderException from './ReaderException';\n/*namespace com.google.zxing {*/\n/**\n * MultiFormatReader is a convenience class and the main entry point into the library for most uses.\n * By default it attempts to decode all barcode formats that the library supports. Optionally, you\n * can provide a hints object to request different behavior, for example only decoding QR codes.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatReader = /** @class */ (function () {\n function MultiFormatReader() {\n }\n /**\n * This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it\n * passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.\n * Use setHints() followed by decodeWithState() for continuous scan applications.\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result {\n // setHints(null)\n // return decodeInternal(image)\n // }\n /**\n * Decode an image using the hints provided. Does not honor existing state.\n *\n * @param image The pixel data to decode\n * @param hints The hints to use, clearing the previous state.\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n MultiFormatReader.prototype.decode = function (image, hints) {\n this.setHints(hints);\n return this.decodeInternal(image);\n };\n /**\n * Decode an image using the state set up by calling setHints() previously. Continuous scan\n * clients will get a large speed increase by using this instead of decode().\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n MultiFormatReader.prototype.decodeWithState = function (image) {\n // Make sure to set up the default state so we don't crash\n if (this.readers === null || this.readers === undefined) {\n this.setHints(null);\n }\n return this.decodeInternal(image);\n };\n /**\n * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls\n * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This\n * is important for performance in continuous scan clients.\n *\n * @param hints The set of hints to use for subsequent calls to decode(image)\n */\n MultiFormatReader.prototype.setHints = function (hints) {\n this.hints = hints;\n var tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n /*@SuppressWarnings(\"unchecked\")*/\n var formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var readers = new Array();\n if (formats !== null && formats !== undefined) {\n var addOneDReader = formats.some(function (f) {\n return f === BarcodeFormat.UPC_A ||\n f === BarcodeFormat.UPC_E ||\n f === BarcodeFormat.EAN_13 ||\n f === BarcodeFormat.EAN_8 ||\n f === BarcodeFormat.CODABAR ||\n f === BarcodeFormat.CODE_39 ||\n f === BarcodeFormat.CODE_93 ||\n f === BarcodeFormat.CODE_128 ||\n f === BarcodeFormat.ITF ||\n f === BarcodeFormat.RSS_14 ||\n f === BarcodeFormat.RSS_EXPANDED;\n });\n // Put 1D readers upfront in \"normal\" mode\n // TYPESCRIPTPORT: TODO: uncomment below as they are ported\n if (addOneDReader && !tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n if (formats.includes(BarcodeFormat.QR_CODE)) {\n readers.push(new QRCodeReader());\n }\n if (formats.includes(BarcodeFormat.DATA_MATRIX)) {\n readers.push(new DataMatrixReader());\n }\n if (formats.includes(BarcodeFormat.AZTEC)) {\n readers.push(new AztecReader());\n }\n if (formats.includes(BarcodeFormat.PDF_417)) {\n readers.push(new PDF417Reader());\n }\n // if (formats.includes(BarcodeFormat.MAXICODE)) {\n // readers.push(new MaxiCodeReader())\n // }\n // At end in \"try harder\" mode\n if (addOneDReader && tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n if (readers.length === 0) {\n if (!tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n readers.push(new QRCodeReader());\n readers.push(new DataMatrixReader());\n readers.push(new AztecReader());\n readers.push(new PDF417Reader());\n // readers.push(new MaxiCodeReader())\n if (tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n this.readers = readers; // .toArray(new Reader[readers.size()])\n };\n /*@Override*/\n MultiFormatReader.prototype.reset = function () {\n var e_1, _a;\n if (this.readers !== null) {\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n reader.reset();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n };\n /**\n * @throws NotFoundException\n */\n MultiFormatReader.prototype.decodeInternal = function (image) {\n var e_2, _a;\n if (this.readers === null) {\n throw new ReaderException('No readers where selected, nothing can be read.');\n }\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n // Trying to decode with ${reader} reader.\n try {\n return reader.decode(image, this.hints);\n }\n catch (ex) {\n if (ex instanceof ReaderException) {\n continue;\n }\n // Bad Exception.\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n throw new NotFoundException('No MultiFormat Readers were able to detect the code.');\n };\n return MultiFormatReader;\n}());\nexport default MultiFormatReader;\n","/*\n * Copyright 2007 ZXing authors\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 */\n/*namespace com.google.zxing.common {*/\n/*import java.util.Arrays;*/\nimport BitArray from './BitArray';\nimport System from '../util/System';\nimport Arrays from '../util/Arrays';\nimport StringBuilder from '../util/StringBuilder';\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

Represents a 2D matrix of bits. In function arguments below, and throughout the common\n * module, x is the column position, and y is the row position. The ordering is always x, y.\n * The origin is at the top-left.

\n *\n *

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins\n * with a new int. This is done intentionally so that we can copy out a row into a BitArray very\n * efficiently.

\n *\n *

The ordering of bits is row-major. Within each int, the least significant bits are used first,\n * meaning they represent lower x values. This is compatible with BitArray's implementation.

\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar BitMatrix /*implements Cloneable*/ = /** @class */ (function () {\n /**\n * Creates an empty square {@link BitMatrix}.\n *\n * @param dimension height and width\n */\n // public constructor(dimension: number /*int*/) {\n // this(dimension, dimension)\n // }\n /**\n * Creates an empty {@link BitMatrix}.\n *\n * @param width bit matrix width\n * @param height bit matrix height\n */\n // public constructor(width: number /*int*/, height: number /*int*/) {\n // if (width < 1 || height < 1) {\n // throw new IllegalArgumentException(\"Both dimensions must be greater than 0\")\n // }\n // this.width = width\n // this.height = height\n // this.rowSize = (width + 31) / 32\n // bits = new int[rowSize * height];\n // }\n function BitMatrix(width /*int*/, height /*int*/, rowSize /*int*/, bits) {\n this.width = width;\n this.height = height;\n this.rowSize = rowSize;\n this.bits = bits;\n if (undefined === height || null === height) {\n height = width;\n }\n this.height = height;\n if (width < 1 || height < 1) {\n throw new IllegalArgumentException('Both dimensions must be greater than 0');\n }\n if (undefined === rowSize || null === rowSize) {\n rowSize = Math.floor((width + 31) / 32);\n }\n this.rowSize = rowSize;\n if (undefined === bits || null === bits) {\n this.bits = new Int32Array(this.rowSize * this.height);\n }\n }\n /**\n * Interprets a 2D array of booleans as a {@link BitMatrix}, where \"true\" means an \"on\" bit.\n *\n * @function parse\n * @param image bits of the image, as a row-major 2D array. Elements are arrays representing rows\n * @return {@link BitMatrix} representation of image\n */\n BitMatrix.parseFromBooleanArray = function (image) {\n var height = image.length;\n var width = image[0].length;\n var bits = new BitMatrix(width, height);\n for (var i = 0; i < height; i++) {\n var imageI = image[i];\n for (var j = 0; j < width; j++) {\n if (imageI[j]) {\n bits.set(j, i);\n }\n }\n }\n return bits;\n };\n /**\n *\n * @function parse\n * @param stringRepresentation\n * @param setString\n * @param unsetString\n */\n BitMatrix.parseFromString = function (stringRepresentation, setString, unsetString) {\n if (stringRepresentation === null) {\n throw new IllegalArgumentException('stringRepresentation cannot be null');\n }\n var bits = new Array(stringRepresentation.length);\n var bitsPos = 0;\n var rowStartPos = 0;\n var rowLength = -1;\n var nRows = 0;\n var pos = 0;\n while (pos < stringRepresentation.length) {\n if (stringRepresentation.charAt(pos) === '\\n' ||\n stringRepresentation.charAt(pos) === '\\r') {\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n rowStartPos = bitsPos;\n nRows++;\n }\n pos++;\n }\n else if (stringRepresentation.substring(pos, pos + setString.length) === setString) {\n pos += setString.length;\n bits[bitsPos] = true;\n bitsPos++;\n }\n else if (stringRepresentation.substring(pos, pos + unsetString.length) === unsetString) {\n pos += unsetString.length;\n bits[bitsPos] = false;\n bitsPos++;\n }\n else {\n throw new IllegalArgumentException('illegal character encountered: ' + stringRepresentation.substring(pos));\n }\n }\n // no EOL at end?\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n nRows++;\n }\n var matrix = new BitMatrix(rowLength, nRows);\n for (var i = 0; i < bitsPos; i++) {\n if (bits[i]) {\n matrix.set(Math.floor(i % rowLength), Math.floor(i / rowLength));\n }\n }\n return matrix;\n };\n /**\n *

Gets the requested bit, where true means black.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n * @return value of given bit in matrix\n */\n BitMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n return ((this.bits[offset] >>> (x & 0x1f)) & 1) !== 0;\n };\n /**\n *

Sets the given bit to true.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.set = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] |= (1 << (x & 0x1f)) & 0xFFFFFFFF;\n };\n BitMatrix.prototype.unset = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] &= ~((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n *

Flips the given bit.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.flip = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] ^= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n * Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding\n * mask bit is set.\n *\n * @param mask XOR mask\n */\n BitMatrix.prototype.xor = function (mask) {\n if (this.width !== mask.getWidth() || this.height !== mask.getHeight()\n || this.rowSize !== mask.getRowSize()) {\n throw new IllegalArgumentException('input matrix dimensions do not match');\n }\n var rowArray = new BitArray(Math.floor(this.width / 32) + 1);\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = 0, height = this.height; y < height; y++) {\n var offset = y * rowSize;\n var row = mask.getRow(y, rowArray).getBitArray();\n for (var x = 0; x < rowSize; x++) {\n bits[offset + x] ^= row[x];\n }\n }\n };\n /**\n * Clears all bits (sets to false).\n */\n BitMatrix.prototype.clear = function () {\n var bits = this.bits;\n var max = bits.length;\n for (var i = 0; i < max; i++) {\n bits[i] = 0;\n }\n };\n /**\n *

Sets a square region of the bit matrix to true.

\n *\n * @param left The horizontal position to begin at (inclusive)\n * @param top The vertical position to begin at (inclusive)\n * @param width The width of the region\n * @param height The height of the region\n */\n BitMatrix.prototype.setRegion = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n if (top < 0 || left < 0) {\n throw new IllegalArgumentException('Left and top must be nonnegative');\n }\n if (height < 1 || width < 1) {\n throw new IllegalArgumentException('Height and width must be at least 1');\n }\n var right = left + width;\n var bottom = top + height;\n if (bottom > this.height || right > this.width) {\n throw new IllegalArgumentException('The region must fit inside the matrix');\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = top; y < bottom; y++) {\n var offset = y * rowSize;\n for (var x = left; x < right; x++) {\n bits[offset + Math.floor(x / 32)] |= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n }\n };\n /**\n * A fast method to retrieve one row of data from the matrix as a BitArray.\n *\n * @param y The row to retrieve\n * @param row An optional caller-allocated BitArray, will be allocated if null or too small\n * @return The resulting BitArray - this reference should always be used even when passing\n * your own row\n */\n BitMatrix.prototype.getRow = function (y /*int*/, row) {\n if (row === null || row === undefined || row.getSize() < this.width) {\n row = new BitArray(this.width);\n }\n else {\n row.clear();\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n var offset = y * rowSize;\n for (var x = 0; x < rowSize; x++) {\n row.setBulk(x * 32, bits[offset + x]);\n }\n return row;\n };\n /**\n * @param y row to set\n * @param row {@link BitArray} to copy from\n */\n BitMatrix.prototype.setRow = function (y /*int*/, row) {\n System.arraycopy(row.getBitArray(), 0, this.bits, y * this.rowSize, this.rowSize);\n };\n /**\n * Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees\n */\n BitMatrix.prototype.rotate180 = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n var topRow = new BitArray(width);\n var bottomRow = new BitArray(width);\n for (var i = 0, length_1 = Math.floor((height + 1) / 2); i < length_1; i++) {\n topRow = this.getRow(i, topRow);\n bottomRow = this.getRow(height - 1 - i, bottomRow);\n topRow.reverse();\n bottomRow.reverse();\n this.setRow(i, bottomRow);\n this.setRow(height - 1 - i, topRow);\n }\n };\n /**\n * This is useful in detecting the enclosing rectangle of a 'pure' barcode.\n *\n * @return {@code left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white\n */\n BitMatrix.prototype.getEnclosingRectangle = function () {\n var width = this.width;\n var height = this.height;\n var rowSize = this.rowSize;\n var bits = this.bits;\n var left = width;\n var top = height;\n var right = -1;\n var bottom = -1;\n for (var y = 0; y < height; y++) {\n for (var x32 = 0; x32 < rowSize; x32++) {\n var theBits = bits[y * rowSize + x32];\n if (theBits !== 0) {\n if (y < top) {\n top = y;\n }\n if (y > bottom) {\n bottom = y;\n }\n if (x32 * 32 < left) {\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n if ((x32 * 32 + bit) < left) {\n left = x32 * 32 + bit;\n }\n }\n if (x32 * 32 + 31 > right) {\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n if ((x32 * 32 + bit) > right) {\n right = x32 * 32 + bit;\n }\n }\n }\n }\n }\n if (right < left || bottom < top) {\n return null;\n }\n return Int32Array.from([left, top, right - left + 1, bottom - top + 1]);\n };\n /**\n * This is useful in detecting a corner of a 'pure' barcode.\n *\n * @return {@code x,y} coordinate of top-left-most 1 bit, or null if it is all white\n */\n BitMatrix.prototype.getTopLeftOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = 0;\n while (bitsOffset < bits.length && bits[bitsOffset] === 0) {\n bitsOffset++;\n }\n if (bitsOffset === bits.length) {\n return null;\n }\n var y = bitsOffset / rowSize;\n var x = (bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n BitMatrix.prototype.getBottomRightOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = bits.length - 1;\n while (bitsOffset >= 0 && bits[bitsOffset] === 0) {\n bitsOffset--;\n }\n if (bitsOffset < 0) {\n return null;\n }\n var y = Math.floor(bitsOffset / rowSize);\n var x = Math.floor(bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n /**\n * @return The width of the matrix\n */\n BitMatrix.prototype.getWidth = function () {\n return this.width;\n };\n /**\n * @return The height of the matrix\n */\n BitMatrix.prototype.getHeight = function () {\n return this.height;\n };\n /**\n * @return The row size of the matrix\n */\n BitMatrix.prototype.getRowSize = function () {\n return this.rowSize;\n };\n /*@Override*/\n BitMatrix.prototype.equals = function (o) {\n if (!(o instanceof BitMatrix)) {\n return false;\n }\n var other = o;\n return this.width === other.width && this.height === other.height && this.rowSize === other.rowSize &&\n Arrays.equals(this.bits, other.bits);\n };\n /*@Override*/\n BitMatrix.prototype.hashCode = function () {\n var hash = this.width;\n hash = 31 * hash + this.width;\n hash = 31 * hash + this.height;\n hash = 31 * hash + this.rowSize;\n hash = 31 * hash + Arrays.hashCode(this.bits);\n return hash;\n };\n /**\n * @return string representation using \"X\" for set and \" \" for unset bits\n */\n /*@Override*/\n // public toString(): string {\n // return toString(\": \"X, \" \")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @return string representation of entire matrix utilizing given strings\n */\n // public toString(setString: string = \"X \", unsetString: string = \" \"): string {\n // return this.buildToString(setString, unsetString, \"\\n\")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @param lineSeparator newline character in string representation\n * @return string representation of entire matrix utilizing given strings and line separator\n * @deprecated call {@link #toString(String,String)} only, which uses \\n line separator always\n */\n // @Deprecated\n BitMatrix.prototype.toString = function (setString, unsetString, lineSeparator) {\n if (setString === void 0) { setString = 'X '; }\n if (unsetString === void 0) { unsetString = ' '; }\n if (lineSeparator === void 0) { lineSeparator = '\\n'; }\n return this.buildToString(setString, unsetString, lineSeparator);\n };\n BitMatrix.prototype.buildToString = function (setString, unsetString, lineSeparator) {\n var result = new StringBuilder();\n // result.append(lineSeparator);\n for (var y = 0, height = this.height; y < height; y++) {\n for (var x = 0, width = this.width; x < width; x++) {\n result.append(this.get(x, y) ? setString : unsetString);\n }\n result.append(lineSeparator);\n }\n return result.toString();\n };\n /*@Override*/\n BitMatrix.prototype.clone = function () {\n return new BitMatrix(this.width, this.height, this.rowSize, this.bits.slice());\n };\n return BitMatrix;\n}());\nexport default BitMatrix;\n","var BlockParsedResult = /** @class */ (function () {\n function BlockParsedResult(finished, decodedInformation) {\n if (decodedInformation) {\n this.decodedInformation = null;\n }\n else {\n this.finished = finished;\n this.decodedInformation = decodedInformation;\n }\n }\n BlockParsedResult.prototype.getDecodedInformation = function () {\n return this.decodedInformation;\n };\n BlockParsedResult.prototype.isFinished = function () {\n return this.finished;\n };\n return BlockParsedResult;\n}());\nexport default BlockParsedResult;\n","var DecodedObject = /** @class */ (function () {\n function DecodedObject(newPosition) {\n this.newPosition = newPosition;\n }\n DecodedObject.prototype.getNewPosition = function () {\n return this.newPosition;\n };\n return DecodedObject;\n}());\nexport default DecodedObject;\n","var __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 DecodedObject from './DecodedObject';\nvar DecodedChar = /** @class */ (function (_super) {\n __extends(DecodedChar, _super);\n function DecodedChar(newPosition, value) {\n var _this = _super.call(this, newPosition) || this;\n _this.value = value;\n return _this;\n }\n DecodedChar.prototype.getValue = function () {\n return this.value;\n };\n DecodedChar.prototype.isFNC1 = function () {\n return this.value === DecodedChar.FNC1;\n };\n DecodedChar.FNC1 = '$';\n return DecodedChar;\n}(DecodedObject));\nexport default DecodedChar;\n","var __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 DecodedObject from './DecodedObject';\nvar DecodedInformation = /** @class */ (function (_super) {\n __extends(DecodedInformation, _super);\n function DecodedInformation(newPosition, newString, remainingValue) {\n var _this = _super.call(this, newPosition) || this;\n if (remainingValue) {\n _this.remaining = true;\n _this.remainingValue = _this.remainingValue;\n }\n else {\n _this.remaining = false;\n _this.remainingValue = 0;\n }\n _this.newString = newString;\n return _this;\n }\n DecodedInformation.prototype.getNewString = function () {\n return this.newString;\n };\n DecodedInformation.prototype.isRemaining = function () {\n return this.remaining;\n };\n DecodedInformation.prototype.getRemainingValue = function () {\n return this.remainingValue;\n };\n return DecodedInformation;\n}(DecodedObject));\nexport default DecodedInformation;\n","var __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 FormatException from '../../../../FormatException';\nimport DecodedObject from './DecodedObject';\nvar DecodedNumeric = /** @class */ (function (_super) {\n __extends(DecodedNumeric, _super);\n function DecodedNumeric(newPosition, firstDigit, secondDigit) {\n var _this = _super.call(this, newPosition) || this;\n if (firstDigit < 0 || firstDigit > 10 || secondDigit < 0 || secondDigit > 10) {\n throw new FormatException();\n }\n _this.firstDigit = firstDigit;\n _this.secondDigit = secondDigit;\n return _this;\n }\n DecodedNumeric.prototype.getFirstDigit = function () {\n return this.firstDigit;\n };\n DecodedNumeric.prototype.getSecondDigit = function () {\n return this.secondDigit;\n };\n DecodedNumeric.prototype.getValue = function () {\n return this.firstDigit * 10 + this.secondDigit;\n };\n DecodedNumeric.prototype.isFirstDigitFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isSecondDigitFNC1 = function () {\n return this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isAnyFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1 || this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.FNC1 = 10;\n return DecodedNumeric;\n}(DecodedObject));\nexport default DecodedNumeric;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport NotFoundException from '../../../../NotFoundException';\nvar FieldParser = /** @class */ (function () {\n function FieldParser() {\n }\n FieldParser.parseFieldsInGeneralPurpose = function (rawInformation) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n if (!rawInformation) {\n return null;\n }\n // Processing 2-digit AIs\n if (rawInformation.length < 2) {\n throw new NotFoundException();\n }\n var firstTwoDigits = rawInformation.substring(0, 2);\n try {\n for (var _e = __values(FieldParser.TWO_DIGIT_DATA_LENGTH), _f = _e.next(); !_f.done; _f = _e.next()) {\n var dataLength = _f.value;\n if (dataLength[0] === firstTwoDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(2, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(2, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (rawInformation.length < 3) {\n throw new NotFoundException();\n }\n var firstThreeDigits = rawInformation.substring(0, 3);\n try {\n for (var _g = __values(FieldParser.THREE_DIGIT_DATA_LENGTH), _h = _g.next(); !_h.done; _h = _g.next()) {\n var dataLength = _h.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(3, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(3, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n }\n finally { if (e_2) throw e_2.error; }\n }\n try {\n for (var _j = __values(FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH), _k = _j.next(); !_k.done; _k = _j.next()) {\n var dataLength = _k.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (rawInformation.length < 4) {\n throw new NotFoundException();\n }\n var firstFourDigits = rawInformation.substring(0, 4);\n try {\n for (var _l = __values(FieldParser.FOUR_DIGIT_DATA_LENGTH), _m = _l.next(); !_m.done; _m = _l.next()) {\n var dataLength = _m.value;\n if (dataLength[0] === firstFourDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n }\n finally { if (e_4) throw e_4.error; }\n }\n throw new NotFoundException();\n };\n FieldParser.processFixedAI = function (aiSize, fieldSize, rawInformation) {\n if (rawInformation.length < aiSize) {\n throw new NotFoundException();\n }\n var ai = rawInformation.substring(0, aiSize);\n if (rawInformation.length < aiSize + fieldSize) {\n throw new NotFoundException();\n }\n var field = rawInformation.substring(aiSize, aiSize + fieldSize);\n var remaining = rawInformation.substring(aiSize + fieldSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.processVariableAI = function (aiSize, variableFieldSize, rawInformation) {\n var ai = rawInformation.substring(0, aiSize);\n var maxSize;\n if (rawInformation.length < aiSize + variableFieldSize) {\n maxSize = rawInformation.length;\n }\n else {\n maxSize = aiSize + variableFieldSize;\n }\n var field = rawInformation.substring(aiSize, maxSize);\n var remaining = rawInformation.substring(maxSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.VARIABLE_LENGTH = [];\n FieldParser.TWO_DIGIT_DATA_LENGTH = [\n ['00', 18],\n ['01', 14],\n ['02', 14],\n ['10', FieldParser.VARIABLE_LENGTH, 20],\n ['11', 6],\n ['12', 6],\n ['13', 6],\n ['15', 6],\n ['17', 6],\n ['20', 2],\n ['21', FieldParser.VARIABLE_LENGTH, 20],\n ['22', FieldParser.VARIABLE_LENGTH, 29],\n ['30', FieldParser.VARIABLE_LENGTH, 8],\n ['37', FieldParser.VARIABLE_LENGTH, 8],\n // internal company codes\n ['90', FieldParser.VARIABLE_LENGTH, 30],\n ['91', FieldParser.VARIABLE_LENGTH, 30],\n ['92', FieldParser.VARIABLE_LENGTH, 30],\n ['93', FieldParser.VARIABLE_LENGTH, 30],\n ['94', FieldParser.VARIABLE_LENGTH, 30],\n ['95', FieldParser.VARIABLE_LENGTH, 30],\n ['96', FieldParser.VARIABLE_LENGTH, 30],\n ['97', FieldParser.VARIABLE_LENGTH, 3],\n ['98', FieldParser.VARIABLE_LENGTH, 30],\n ['99', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.THREE_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['240', FieldParser.VARIABLE_LENGTH, 30],\n ['241', FieldParser.VARIABLE_LENGTH, 30],\n ['242', FieldParser.VARIABLE_LENGTH, 6],\n ['250', FieldParser.VARIABLE_LENGTH, 30],\n ['251', FieldParser.VARIABLE_LENGTH, 30],\n ['253', FieldParser.VARIABLE_LENGTH, 17],\n ['254', FieldParser.VARIABLE_LENGTH, 20],\n ['400', FieldParser.VARIABLE_LENGTH, 30],\n ['401', FieldParser.VARIABLE_LENGTH, 30],\n ['402', 17],\n ['403', FieldParser.VARIABLE_LENGTH, 30],\n ['410', 13],\n ['411', 13],\n ['412', 13],\n ['413', 13],\n ['414', 13],\n ['420', FieldParser.VARIABLE_LENGTH, 20],\n ['421', FieldParser.VARIABLE_LENGTH, 15],\n ['422', 3],\n ['423', FieldParser.VARIABLE_LENGTH, 15],\n ['424', 3],\n ['425', 3],\n ['426', 3],\n ];\n FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['310', 6],\n ['311', 6],\n ['312', 6],\n ['313', 6],\n ['314', 6],\n ['315', 6],\n ['316', 6],\n ['320', 6],\n ['321', 6],\n ['322', 6],\n ['323', 6],\n ['324', 6],\n ['325', 6],\n ['326', 6],\n ['327', 6],\n ['328', 6],\n ['329', 6],\n ['330', 6],\n ['331', 6],\n ['332', 6],\n ['333', 6],\n ['334', 6],\n ['335', 6],\n ['336', 6],\n ['340', 6],\n ['341', 6],\n ['342', 6],\n ['343', 6],\n ['344', 6],\n ['345', 6],\n ['346', 6],\n ['347', 6],\n ['348', 6],\n ['349', 6],\n ['350', 6],\n ['351', 6],\n ['352', 6],\n ['353', 6],\n ['354', 6],\n ['355', 6],\n ['356', 6],\n ['357', 6],\n ['360', 6],\n ['361', 6],\n ['362', 6],\n ['363', 6],\n ['364', 6],\n ['365', 6],\n ['366', 6],\n ['367', 6],\n ['368', 6],\n ['369', 6],\n ['390', FieldParser.VARIABLE_LENGTH, 15],\n ['391', FieldParser.VARIABLE_LENGTH, 18],\n ['392', FieldParser.VARIABLE_LENGTH, 15],\n ['393', FieldParser.VARIABLE_LENGTH, 18],\n ['703', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.FOUR_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['7001', 13],\n ['7002', FieldParser.VARIABLE_LENGTH, 30],\n ['7003', 10],\n ['8001', 14],\n ['8002', FieldParser.VARIABLE_LENGTH, 20],\n ['8003', FieldParser.VARIABLE_LENGTH, 30],\n ['8004', FieldParser.VARIABLE_LENGTH, 30],\n ['8005', 6],\n ['8006', 18],\n ['8007', FieldParser.VARIABLE_LENGTH, 30],\n ['8008', FieldParser.VARIABLE_LENGTH, 12],\n ['8018', 18],\n ['8020', FieldParser.VARIABLE_LENGTH, 25],\n ['8100', 6],\n ['8101', 10],\n ['8102', 2],\n ['8110', FieldParser.VARIABLE_LENGTH, 70],\n ['8200', FieldParser.VARIABLE_LENGTH, 70],\n ];\n return FieldParser;\n}());\nexport default FieldParser;\n","import FormatException from '../../../../FormatException';\nimport IllegalStateException from '../../../../IllegalStateException';\nimport StringBuilder from '../../../../util/StringBuilder';\nimport BlockParsedResult from './BlockParsedResult';\nimport DecodedChar from './DecodedChar';\nimport DecodedInformation from './DecodedInformation';\nimport DecodedNumeric from './DecodedNumeric';\nimport FieldParser from './FieldParser';\nvar GeneralAppIdDecoder = /** @class */ (function () {\n function GeneralAppIdDecoder(information) {\n this.buffer = new StringBuilder();\n this.information = information;\n }\n GeneralAppIdDecoder.prototype.decodeAllCodes = function (buff, initialPosition) {\n var currentPosition = initialPosition;\n var remaining = null;\n do {\n var info = this.decodeGeneralPurposeField(currentPosition, remaining);\n var parsedFields = FieldParser.parseFieldsInGeneralPurpose(info.getNewString());\n if (parsedFields != null) {\n buff.append(parsedFields);\n }\n if (info.isRemaining()) {\n remaining = '' + info.getRemainingValue();\n }\n else {\n remaining = null;\n }\n if (currentPosition === info.getNewPosition()) { // No step forward!\n break;\n }\n currentPosition = info.getNewPosition();\n } while (true);\n return buff.toString();\n };\n GeneralAppIdDecoder.prototype.isStillNumeric = function (pos) {\n // It's numeric if it still has 7 positions\n // and one of the first 4 bits is \"1\".\n if (pos + 7 > this.information.getSize()) {\n return pos + 4 <= this.information.getSize();\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return true;\n }\n }\n return this.information.get(pos + 3);\n };\n GeneralAppIdDecoder.prototype.decodeNumeric = function (pos) {\n if (pos + 7 > this.information.getSize()) {\n var numeric_1 = this.extractNumericValueFromBitArray(pos, 4);\n if (numeric_1 === 0) {\n return new DecodedNumeric(this.information.getSize(), DecodedNumeric.FNC1, DecodedNumeric.FNC1);\n }\n return new DecodedNumeric(this.information.getSize(), numeric_1 - 1, DecodedNumeric.FNC1);\n }\n var numeric = this.extractNumericValueFromBitArray(pos, 7);\n var digit1 = (numeric - 8) / 11;\n var digit2 = (numeric - 8) % 11;\n return new DecodedNumeric(pos + 7, digit1, digit2);\n };\n GeneralAppIdDecoder.prototype.extractNumericValueFromBitArray = function (pos, bits) {\n return GeneralAppIdDecoder.extractNumericValueFromBitArray(this.information, pos, bits);\n };\n GeneralAppIdDecoder.extractNumericValueFromBitArray = function (information, pos, bits) {\n var value = 0;\n for (var i = 0; i < bits; ++i) {\n if (information.get(pos + i)) {\n value |= 1 << (bits - i - 1);\n }\n }\n return value;\n };\n GeneralAppIdDecoder.prototype.decodeGeneralPurposeField = function (pos, remaining) {\n // this.buffer.setLength(0);\n this.buffer.setLengthToZero();\n if (remaining != null) {\n this.buffer.append(remaining);\n }\n this.current.setPosition(pos);\n var lastDecoded = this.parseBlocks();\n if (lastDecoded != null && lastDecoded.isRemaining()) {\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString(), lastDecoded.getRemainingValue());\n }\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n };\n GeneralAppIdDecoder.prototype.parseBlocks = function () {\n var isFinished;\n var result;\n do {\n var initialPosition = this.current.getPosition();\n if (this.current.isAlpha()) {\n result = this.parseAlphaBlock();\n isFinished = result.isFinished();\n }\n else if (this.current.isIsoIec646()) {\n result = this.parseIsoIec646Block();\n isFinished = result.isFinished();\n }\n else { // it must be numeric\n result = this.parseNumericBlock();\n isFinished = result.isFinished();\n }\n var positionChanged = initialPosition !== this.current.getPosition();\n if (!positionChanged && !isFinished) {\n break;\n }\n } while (!isFinished);\n return result.getDecodedInformation();\n };\n GeneralAppIdDecoder.prototype.parseNumericBlock = function () {\n while (this.isStillNumeric(this.current.getPosition())) {\n var numeric = this.decodeNumeric(this.current.getPosition());\n this.current.setPosition(numeric.getNewPosition());\n if (numeric.isFirstDigitFNC1()) {\n var information = void 0;\n if (numeric.isSecondDigitFNC1()) {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n }\n else {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString(), numeric.getSecondDigit());\n }\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getFirstDigit());\n if (numeric.isSecondDigitFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getSecondDigit());\n }\n if (this.isNumericToAlphaNumericLatch(this.current.getPosition())) {\n this.current.setAlpha();\n this.current.incrementPosition(4);\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseIsoIec646Block = function () {\n while (this.isStillIsoIec646(this.current.getPosition())) {\n var iso = this.decodeIsoIec646(this.current.getPosition());\n this.current.setPosition(iso.getNewPosition());\n if (iso.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(iso.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setAlpha();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseAlphaBlock = function () {\n while (this.isStillAlpha(this.current.getPosition())) {\n var alpha = this.decodeAlphanumeric(this.current.getPosition());\n this.current.setPosition(alpha.getNewPosition());\n if (alpha.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information); // end of the char block\n }\n this.buffer.append(alpha.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setIsoIec646();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.isStillIsoIec646 = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 7 > this.information.getSize()) {\n return false;\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 116) {\n return true;\n }\n if (pos + 8 > this.information.getSize()) {\n return false;\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n return eightBitValue >= 232 && eightBitValue < 253;\n };\n GeneralAppIdDecoder.prototype.decodeIsoIec646 = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 90) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 1)));\n }\n if (sevenBitValue >= 90 && sevenBitValue < 116) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 7)));\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n var c;\n switch (eightBitValue) {\n case 232:\n c = '!';\n break;\n case 233:\n c = '\"';\n break;\n case 234:\n c = '%';\n break;\n case 235:\n c = '&';\n break;\n case 236:\n c = '\\'';\n break;\n case 237:\n c = '(';\n break;\n case 238:\n c = ')';\n break;\n case 239:\n c = '*';\n break;\n case 240:\n c = '+';\n break;\n case 241:\n c = ',';\n break;\n case 242:\n c = '-';\n break;\n case 243:\n c = '.';\n break;\n case 244:\n c = '/';\n break;\n case 245:\n c = ':';\n break;\n case 246:\n c = ';';\n break;\n case 247:\n c = '<';\n break;\n case 248:\n c = '=';\n break;\n case 249:\n c = '>';\n break;\n case 250:\n c = '?';\n break;\n case 251:\n c = '_';\n break;\n case 252:\n c = ' ';\n break;\n default:\n throw new FormatException();\n }\n return new DecodedChar(pos + 8, c);\n };\n GeneralAppIdDecoder.prototype.isStillAlpha = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n // We now check if it's a valid 5-bit value (0..9 and FNC1)\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 6 > this.information.getSize()) {\n return false;\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n return sixBitValue >= 16 && sixBitValue < 63; // 63 not included\n };\n GeneralAppIdDecoder.prototype.decodeAlphanumeric = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n if (sixBitValue >= 32 && sixBitValue < 58) {\n return new DecodedChar(pos + 6, ('' + (sixBitValue + 33)));\n }\n var c;\n switch (sixBitValue) {\n case 58:\n c = '*';\n break;\n case 59:\n c = ',';\n break;\n case 60:\n c = '-';\n break;\n case 61:\n c = '.';\n break;\n case 62:\n c = '/';\n break;\n default:\n throw new IllegalStateException('Decoding invalid alphanumeric value: ' + sixBitValue);\n }\n return new DecodedChar(pos + 6, c);\n };\n GeneralAppIdDecoder.prototype.isAlphaTo646ToAlphaLatch = function (pos) {\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 5 && i + pos < this.information.getSize(); ++i) {\n if (i === 2) {\n if (!this.information.get(pos + 2)) {\n return false;\n }\n }\n else if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isAlphaOr646ToNumericLatch = function (pos) {\n // Next is alphanumeric if there are 3 positions and they are all zeros\n if (pos + 3 > this.information.getSize()) {\n return false;\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isNumericToAlphaNumericLatch = function (pos) {\n // Next is alphanumeric if there are 4 positions and they are all zeros, or\n // if there is a subset of this just before the end of the symbol\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 4 && i + pos < this.information.getSize(); ++i) {\n if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n return GeneralAppIdDecoder;\n}());\nexport default GeneralAppIdDecoder;\n","export * from './browser';\n// Exceptions\nexport { default as ArgumentException } from './core/ArgumentException';\nexport { default as ArithmeticException } from './core/ArithmeticException';\nexport { default as ChecksumException } from './core/ChecksumException';\nexport { default as Exception } from './core/Exception';\nexport { default as FormatException } from './core/FormatException';\nexport { default as IllegalArgumentException } from './core/IllegalArgumentException';\nexport { default as IllegalStateException } from './core/IllegalStateException';\nexport { default as NotFoundException } from './core/NotFoundException';\nexport { default as ReaderException } from './core/ReaderException';\nexport { default as ReedSolomonException } from './core/ReedSolomonException';\nexport { default as UnsupportedOperationException } from './core/UnsupportedOperationException';\nexport { default as WriterException } from './core/WriterException';\n// core\nexport { default as BarcodeFormat } from './core/BarcodeFormat';\nexport { default as Binarizer } from './core/Binarizer';\nexport { default as BinaryBitmap } from './core/BinaryBitmap';\nexport { default as DecodeHintType } from './core/DecodeHintType';\nexport { default as InvertedLuminanceSource } from './core/InvertedLuminanceSource';\nexport { default as LuminanceSource } from './core/LuminanceSource';\nexport { default as MultiFormatReader } from './core/MultiFormatReader';\nexport { default as MultiFormatWriter } from './core/MultiFormatWriter';\nexport { default as PlanarYUVLuminanceSource } from './core/PlanarYUVLuminanceSource';\nexport { default as Result } from './core/Result';\nexport { default as ResultMetadataType } from './core/ResultMetadataType';\nexport { default as RGBLuminanceSource } from './core/RGBLuminanceSource';\nexport { default as ResultPoint } from './core/ResultPoint';\n// core/util\nexport { default as ZXingSystem } from './core/util/System';\nexport { default as ZXingStringBuilder } from './core/util/StringBuilder';\nexport { default as ZXingStringEncoding } from './core/util/StringEncoding';\nexport { default as ZXingCharset } from './core/util/Charset';\nexport { default as ZXingArrays } from './core/util/Arrays';\nexport { default as ZXingStandardCharsets } from './core/util/StandardCharsets';\nexport { default as ZXingInteger } from './core/util/Integer';\n// core/common\nexport { default as BitArray } from './core/common/BitArray';\nexport { default as BitMatrix } from './core/common/BitMatrix';\nexport { default as BitSource } from './core/common/BitSource';\nexport { default as CharacterSetECI } from './core/common/CharacterSetECI';\nexport { default as DecoderResult } from './core/common/DecoderResult';\nexport { default as DefaultGridSampler } from './core/common/DefaultGridSampler';\nexport { default as DetectorResult } from './core/common/DetectorResult';\nexport { default as EncodeHintType } from './core/EncodeHintType';\nexport { default as GlobalHistogramBinarizer } from './core/common/GlobalHistogramBinarizer';\nexport { default as GridSampler } from './core/common/GridSampler';\nexport { default as GridSamplerInstance } from './core/common/GridSamplerInstance';\nexport { default as HybridBinarizer } from './core/common/HybridBinarizer';\nexport { default as PerspectiveTransform } from './core/common/PerspectiveTransform';\nexport { default as StringUtils } from './core/common/StringUtils';\n// core/common/detector\nexport { default as MathUtils } from './core/common/detector/MathUtils';\n// export { default as MonochromeRectangleDetector } from './core/common/detector/MonochromeRectangleDetector';\nexport { default as WhiteRectangleDetector } from './core/common/detector/WhiteRectangleDetector';\n// core/common/reedsolomon\nexport { default as GenericGF } from './core/common/reedsolomon/GenericGF';\nexport { default as GenericGFPoly } from './core/common/reedsolomon/GenericGFPoly';\nexport { default as ReedSolomonDecoder } from './core/common/reedsolomon/ReedSolomonDecoder';\nexport { default as ReedSolomonEncoder } from './core/common/reedsolomon/ReedSolomonEncoder';\n// core/datamatrix\nexport { default as DataMatrixReader } from './core/datamatrix/DataMatrixReader';\nexport { default as DataMatrixDecodedBitStreamParser } from './core/datamatrix/decoder/DecodedBitStreamParser';\n// core/pdf417\nexport { default as PDF417Reader } from './core/pdf417/PDF417Reader';\nexport { default as PDF417ResultMetadata } from './core/pdf417/PDF417ResultMetadata';\nexport { default as PDF417DecodedBitStreamParser } from './core/pdf417/decoder/DecodedBitStreamParser';\nexport { default as PDF417DecoderErrorCorrection } from './core/pdf417/decoder/ec/ErrorCorrection';\n// core/twod/qrcode\nexport { default as QRCodeReader } from './core/qrcode/QRCodeReader';\nexport { default as QRCodeWriter } from './core/qrcode/QRCodeWriter';\nexport { default as QRCodeDecoderErrorCorrectionLevel } from './core/qrcode/decoder/ErrorCorrectionLevel';\nexport { default as QRCodeDecoderFormatInformation } from './core/qrcode/decoder/FormatInformation';\nexport { default as QRCodeVersion } from './core/qrcode/decoder/Version';\nexport { default as QRCodeMode } from './core/qrcode/decoder/Mode';\nexport { default as QRCodeDecodedBitStreamParser } from './core/qrcode/decoder/DecodedBitStreamParser';\nexport { default as QRCodeDataMask } from './core/qrcode/decoder/DataMask';\nexport { default as QRCodeEncoder } from './core/qrcode/encoder/Encoder';\nexport { default as QRCodeEncoderQRCode } from './core/qrcode/encoder/QRCode';\nexport { default as QRCodeMatrixUtil } from './core/qrcode/encoder/MatrixUtil';\nexport { default as QRCodeByteMatrix } from './core/qrcode/encoder/ByteMatrix';\nexport { default as QRCodeMaskUtil } from './core/qrcode/encoder/MaskUtil';\n// core/twod/aztec\nexport { default as AztecCodeReader } from './core/aztec/AztecReader';\nexport { default as AztecCodeWriter } from './core/aztec/AztecWriter';\nexport { default as AztecDetectorResult } from './core/aztec/AztecDetectorResult';\nexport { default as AztecEncoder } from './core/aztec/encoder/Encoder';\nexport { default as AztecHighLevelEncoder } from './core/aztec/encoder/HighLevelEncoder';\nexport { default as AztecCode } from './core/aztec/encoder/AztecCode';\nexport { default as AztecDecoder } from './core/aztec/decoder/Decoder';\nexport { default as AztecDetector } from './core/aztec/detector/Detector';\nexport { Point as AztecPoint } from './core/aztec/detector/Detector';\n// core/oned\nexport { default as OneDReader } from './core/oned/OneDReader';\nexport { default as EAN13Reader } from './core/oned/EAN13Reader';\nexport { default as Code128Reader } from './core/oned/Code128Reader';\nexport { default as ITFReader } from './core/oned/ITFReader';\nexport { default as Code39Reader } from './core/oned/Code39Reader';\nexport { default as RSS14Reader } from './core/oned/rss/RSS14Reader';\nexport { default as RSSExpandedReader } from './core/oned/rss/expanded/RSSExpandedReader';\nexport { default as AbstractExpandedDecoder } from './core/oned/rss/expanded/decoders/AbstractExpandedDecoder';\nexport { createDecoder as createAbstractExpandedDecoder } from './core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement';\nexport { default as MultiFormatOneDReader } from './core/oned/MultiFormatOneDReader';\n","import CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Just to make a shortcut between Java code and TS code.\n */\nvar StandardCharsets = /** @class */ (function () {\n function StandardCharsets() {\n }\n StandardCharsets.ISO_8859_1 = CharacterSetECI.ISO8859_1;\n return StandardCharsets;\n}());\nexport default StandardCharsets;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

\n */\nvar ECBlocks = /** @class */ (function () {\n function ECBlocks(ecCodewordsPerBlock /*int*/) {\n var ecBlocks = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n ecBlocks[_i - 1] = arguments[_i];\n }\n this.ecCodewordsPerBlock = ecCodewordsPerBlock;\n this.ecBlocks = ecBlocks;\n }\n ECBlocks.prototype.getECCodewordsPerBlock = function () {\n return this.ecCodewordsPerBlock;\n };\n ECBlocks.prototype.getNumBlocks = function () {\n var e_1, _a;\n var total = 0;\n var ecBlocks = this.ecBlocks;\n try {\n for (var ecBlocks_1 = __values(ecBlocks), ecBlocks_1_1 = ecBlocks_1.next(); !ecBlocks_1_1.done; ecBlocks_1_1 = ecBlocks_1.next()) {\n var ecBlock = ecBlocks_1_1.value;\n total += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlocks_1_1 && !ecBlocks_1_1.done && (_a = ecBlocks_1.return)) _a.call(ecBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return total;\n };\n ECBlocks.prototype.getTotalECCodewords = function () {\n return this.ecCodewordsPerBlock * this.getNumBlocks();\n };\n ECBlocks.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n return ECBlocks;\n}());\nexport default ECBlocks;\n","/**\n *

Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the QR code version's format.

\n */\nvar ECB = /** @class */ (function () {\n function ECB(count /*int*/, dataCodewords /*int*/) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n ECB.prototype.getCount = function () {\n return this.count;\n };\n ECB.prototype.getDataCodewords = function () {\n return this.dataCodewords;\n };\n return ECB;\n}());\nexport default ECB;\n","/*\n * Copyright 2007 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitMatrix from '../../common/BitMatrix';\nimport FormatInformation from './FormatInformation';\nimport ECBlocks from './ECBlocks';\nimport ECB from './ECB';\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * See ISO 18004:2006 Annex D\n *\n * @author Sean Owen\n */\nvar Version = /** @class */ (function () {\n function Version(versionNumber /*int*/, alignmentPatternCenters) {\n var e_1, _a;\n var ecBlocks = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n ecBlocks[_i - 2] = arguments[_i];\n }\n this.versionNumber = versionNumber;\n this.alignmentPatternCenters = alignmentPatternCenters;\n this.ecBlocks = ecBlocks;\n var total = 0;\n var ecCodewords = ecBlocks[0].getECCodewordsPerBlock();\n var ecbArray = ecBlocks[0].getECBlocks();\n try {\n for (var ecbArray_1 = __values(ecbArray), ecbArray_1_1 = ecbArray_1.next(); !ecbArray_1_1.done; ecbArray_1_1 = ecbArray_1.next()) {\n var ecBlock = ecbArray_1_1.value;\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecbArray_1_1 && !ecbArray_1_1.done && (_a = ecbArray_1.return)) _a.call(ecbArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.totalCodewords = total;\n }\n Version.prototype.getVersionNumber = function () {\n return this.versionNumber;\n };\n Version.prototype.getAlignmentPatternCenters = function () {\n return this.alignmentPatternCenters;\n };\n Version.prototype.getTotalCodewords = function () {\n return this.totalCodewords;\n };\n Version.prototype.getDimensionForVersion = function () {\n return 17 + 4 * this.versionNumber;\n };\n Version.prototype.getECBlocksForLevel = function (ecLevel) {\n return this.ecBlocks[ecLevel.getValue()];\n // TYPESCRIPTPORT: original was using ordinal, and using the order of levels as defined in ErrorCorrectionLevel enum (LMQH)\n // I will use the direct value from ErrorCorrectionLevelValues enum which in typescript goes to a number\n };\n /**\n *

Deduces version information purely from QR Code dimensions.

\n *\n * @param dimension dimension in modules\n * @return Version for a QR Code of that dimension\n * @throws FormatException if dimension is not 1 mod 4\n */\n Version.getProvisionalVersionForDimension = function (dimension /*int*/) {\n if (dimension % 4 !== 1) {\n throw new FormatException();\n }\n try {\n return this.getVersionForNumber((dimension - 17) / 4);\n }\n catch (ignored /*: IllegalArgumentException*/) {\n throw new FormatException();\n }\n };\n Version.getVersionForNumber = function (versionNumber /*int*/) {\n if (versionNumber < 1 || versionNumber > 40) {\n throw new IllegalArgumentException();\n }\n return Version.VERSIONS[versionNumber - 1];\n };\n Version.decodeVersionInformation = function (versionBits /*int*/) {\n var bestDifference = Number.MAX_SAFE_INTEGER;\n var bestVersion = 0;\n for (var i = 0; i < Version.VERSION_DECODE_INFO.length; i++) {\n var targetVersion = Version.VERSION_DECODE_INFO[i];\n // Do the version info bits match exactly? done.\n if (targetVersion === versionBits) {\n return Version.getVersionForNumber(i + 7);\n }\n // Otherwise see if this is the closest to a real version info bit string\n // we have seen so far\n var bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion);\n if (bitsDifference < bestDifference) {\n bestVersion = i + 7;\n bestDifference = bitsDifference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return Version.getVersionForNumber(bestVersion);\n }\n // If we didn't find a close enough match, fail\n return null;\n };\n /**\n * See ISO 18004:2006 Annex E\n */\n Version.prototype.buildFunctionPattern = function () {\n var dimension = this.getDimensionForVersion();\n var bitMatrix = new BitMatrix(dimension);\n // Top left finder pattern + separator + format\n bitMatrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format\n bitMatrix.setRegion(dimension - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format\n bitMatrix.setRegion(0, dimension - 8, 9, 8);\n // Alignment patterns\n var max = this.alignmentPatternCenters.length;\n for (var x = 0; x < max; x++) {\n var i = this.alignmentPatternCenters[x] - 2;\n for (var y = 0; y < max; y++) {\n if ((x === 0 && (y === 0 || y === max - 1)) || (x === max - 1 && y === 0)) {\n // No alignment patterns near the three finder patterns\n continue;\n }\n bitMatrix.setRegion(this.alignmentPatternCenters[y] - 2, i, 5, 5);\n }\n }\n // Vertical timing pattern\n bitMatrix.setRegion(6, 9, 1, dimension - 17);\n // Horizontal timing pattern\n bitMatrix.setRegion(9, 6, dimension - 17, 1);\n if (this.versionNumber > 6) {\n // Version info, top right\n bitMatrix.setRegion(dimension - 11, 0, 3, 6);\n // Version info, bottom left\n bitMatrix.setRegion(0, dimension - 11, 6, 3);\n }\n return bitMatrix;\n };\n /*@Override*/\n Version.prototype.toString = function () {\n return '' + this.versionNumber;\n };\n /**\n * See ISO 18004:2006 Annex D.\n * Element i represents the raw version bits that specify version i + 7\n */\n Version.VERSION_DECODE_INFO = Int32Array.from([\n 0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6,\n 0x0C762, 0x0D847, 0x0E60D, 0x0F928, 0x10B78,\n 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683,\n 0x168C9, 0x177EC, 0x18EC4, 0x191E1, 0x1AFAB,\n 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75, 0x1F250,\n 0x209D5, 0x216F0, 0x228BA, 0x2379F, 0x24B0B,\n 0x2542E, 0x26A64, 0x27541, 0x28C69\n ]);\n /**\n * See ISO 18004:2006 6.5.1 Table 9\n */\n Version.VERSIONS = [\n new Version(1, new Int32Array(0), new ECBlocks(7, new ECB(1, 19)), new ECBlocks(10, new ECB(1, 16)), new ECBlocks(13, new ECB(1, 13)), new ECBlocks(17, new ECB(1, 9))),\n new Version(2, Int32Array.from([6, 18]), new ECBlocks(10, new ECB(1, 34)), new ECBlocks(16, new ECB(1, 28)), new ECBlocks(22, new ECB(1, 22)), new ECBlocks(28, new ECB(1, 16))),\n new Version(3, Int32Array.from([6, 22]), new ECBlocks(15, new ECB(1, 55)), new ECBlocks(26, new ECB(1, 44)), new ECBlocks(18, new ECB(2, 17)), new ECBlocks(22, new ECB(2, 13))),\n new Version(4, Int32Array.from([6, 26]), new ECBlocks(20, new ECB(1, 80)), new ECBlocks(18, new ECB(2, 32)), new ECBlocks(26, new ECB(2, 24)), new ECBlocks(16, new ECB(4, 9))),\n new Version(5, Int32Array.from([6, 30]), new ECBlocks(26, new ECB(1, 108)), new ECBlocks(24, new ECB(2, 43)), new ECBlocks(18, new ECB(2, 15), new ECB(2, 16)), new ECBlocks(22, new ECB(2, 11), new ECB(2, 12))),\n new Version(6, Int32Array.from([6, 34]), new ECBlocks(18, new ECB(2, 68)), new ECBlocks(16, new ECB(4, 27)), new ECBlocks(24, new ECB(4, 19)), new ECBlocks(28, new ECB(4, 15))),\n new Version(7, Int32Array.from([6, 22, 38]), new ECBlocks(20, new ECB(2, 78)), new ECBlocks(18, new ECB(4, 31)), new ECBlocks(18, new ECB(2, 14), new ECB(4, 15)), new ECBlocks(26, new ECB(4, 13), new ECB(1, 14))),\n new Version(8, Int32Array.from([6, 24, 42]), new ECBlocks(24, new ECB(2, 97)), new ECBlocks(22, new ECB(2, 38), new ECB(2, 39)), new ECBlocks(22, new ECB(4, 18), new ECB(2, 19)), new ECBlocks(26, new ECB(4, 14), new ECB(2, 15))),\n new Version(9, Int32Array.from([6, 26, 46]), new ECBlocks(30, new ECB(2, 116)), new ECBlocks(22, new ECB(3, 36), new ECB(2, 37)), new ECBlocks(20, new ECB(4, 16), new ECB(4, 17)), new ECBlocks(24, new ECB(4, 12), new ECB(4, 13))),\n new Version(10, Int32Array.from([6, 28, 50]), new ECBlocks(18, new ECB(2, 68), new ECB(2, 69)), new ECBlocks(26, new ECB(4, 43), new ECB(1, 44)), new ECBlocks(24, new ECB(6, 19), new ECB(2, 20)), new ECBlocks(28, new ECB(6, 15), new ECB(2, 16))),\n new Version(11, Int32Array.from([6, 30, 54]), new ECBlocks(20, new ECB(4, 81)), new ECBlocks(30, new ECB(1, 50), new ECB(4, 51)), new ECBlocks(28, new ECB(4, 22), new ECB(4, 23)), new ECBlocks(24, new ECB(3, 12), new ECB(8, 13))),\n new Version(12, Int32Array.from([6, 32, 58]), new ECBlocks(24, new ECB(2, 92), new ECB(2, 93)), new ECBlocks(22, new ECB(6, 36), new ECB(2, 37)), new ECBlocks(26, new ECB(4, 20), new ECB(6, 21)), new ECBlocks(28, new ECB(7, 14), new ECB(4, 15))),\n new Version(13, Int32Array.from([6, 34, 62]), new ECBlocks(26, new ECB(4, 107)), new ECBlocks(22, new ECB(8, 37), new ECB(1, 38)), new ECBlocks(24, new ECB(8, 20), new ECB(4, 21)), new ECBlocks(22, new ECB(12, 11), new ECB(4, 12))),\n new Version(14, Int32Array.from([6, 26, 46, 66]), new ECBlocks(30, new ECB(3, 115), new ECB(1, 116)), new ECBlocks(24, new ECB(4, 40), new ECB(5, 41)), new ECBlocks(20, new ECB(11, 16), new ECB(5, 17)), new ECBlocks(24, new ECB(11, 12), new ECB(5, 13))),\n new Version(15, Int32Array.from([6, 26, 48, 70]), new ECBlocks(22, new ECB(5, 87), new ECB(1, 88)), new ECBlocks(24, new ECB(5, 41), new ECB(5, 42)), new ECBlocks(30, new ECB(5, 24), new ECB(7, 25)), new ECBlocks(24, new ECB(11, 12), new ECB(7, 13))),\n new Version(16, Int32Array.from([6, 26, 50, 74]), new ECBlocks(24, new ECB(5, 98), new ECB(1, 99)), new ECBlocks(28, new ECB(7, 45), new ECB(3, 46)), new ECBlocks(24, new ECB(15, 19), new ECB(2, 20)), new ECBlocks(30, new ECB(3, 15), new ECB(13, 16))),\n new Version(17, Int32Array.from([6, 30, 54, 78]), new ECBlocks(28, new ECB(1, 107), new ECB(5, 108)), new ECBlocks(28, new ECB(10, 46), new ECB(1, 47)), new ECBlocks(28, new ECB(1, 22), new ECB(15, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(17, 15))),\n new Version(18, Int32Array.from([6, 30, 56, 82]), new ECBlocks(30, new ECB(5, 120), new ECB(1, 121)), new ECBlocks(26, new ECB(9, 43), new ECB(4, 44)), new ECBlocks(28, new ECB(17, 22), new ECB(1, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(19, 15))),\n new Version(19, Int32Array.from([6, 30, 58, 86]), new ECBlocks(28, new ECB(3, 113), new ECB(4, 114)), new ECBlocks(26, new ECB(3, 44), new ECB(11, 45)), new ECBlocks(26, new ECB(17, 21), new ECB(4, 22)), new ECBlocks(26, new ECB(9, 13), new ECB(16, 14))),\n new Version(20, Int32Array.from([6, 34, 62, 90]), new ECBlocks(28, new ECB(3, 107), new ECB(5, 108)), new ECBlocks(26, new ECB(3, 41), new ECB(13, 42)), new ECBlocks(30, new ECB(15, 24), new ECB(5, 25)), new ECBlocks(28, new ECB(15, 15), new ECB(10, 16))),\n new Version(21, Int32Array.from([6, 28, 50, 72, 94]), new ECBlocks(28, new ECB(4, 116), new ECB(4, 117)), new ECBlocks(26, new ECB(17, 42)), new ECBlocks(28, new ECB(17, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(19, 16), new ECB(6, 17))),\n new Version(22, Int32Array.from([6, 26, 50, 74, 98]), new ECBlocks(28, new ECB(2, 111), new ECB(7, 112)), new ECBlocks(28, new ECB(17, 46)), new ECBlocks(30, new ECB(7, 24), new ECB(16, 25)), new ECBlocks(24, new ECB(34, 13))),\n new Version(23, Int32Array.from([6, 30, 54, 78, 102]), new ECBlocks(30, new ECB(4, 121), new ECB(5, 122)), new ECBlocks(28, new ECB(4, 47), new ECB(14, 48)), new ECBlocks(30, new ECB(11, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(16, 15), new ECB(14, 16))),\n new Version(24, Int32Array.from([6, 28, 54, 80, 106]), new ECBlocks(30, new ECB(6, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(6, 45), new ECB(14, 46)), new ECBlocks(30, new ECB(11, 24), new ECB(16, 25)), new ECBlocks(30, new ECB(30, 16), new ECB(2, 17))),\n new Version(25, Int32Array.from([6, 32, 58, 84, 110]), new ECBlocks(26, new ECB(8, 106), new ECB(4, 107)), new ECBlocks(28, new ECB(8, 47), new ECB(13, 48)), new ECBlocks(30, new ECB(7, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(13, 16))),\n new Version(26, Int32Array.from([6, 30, 58, 86, 114]), new ECBlocks(28, new ECB(10, 114), new ECB(2, 115)), new ECBlocks(28, new ECB(19, 46), new ECB(4, 47)), new ECBlocks(28, new ECB(28, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(33, 16), new ECB(4, 17))),\n new Version(27, Int32Array.from([6, 34, 62, 90, 118]), new ECBlocks(30, new ECB(8, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(22, 45), new ECB(3, 46)), new ECBlocks(30, new ECB(8, 23), new ECB(26, 24)), new ECBlocks(30, new ECB(12, 15), new ECB(28, 16))),\n new Version(28, Int32Array.from([6, 26, 50, 74, 98, 122]), new ECBlocks(30, new ECB(3, 117), new ECB(10, 118)), new ECBlocks(28, new ECB(3, 45), new ECB(23, 46)), new ECBlocks(30, new ECB(4, 24), new ECB(31, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(31, 16))),\n new Version(29, Int32Array.from([6, 30, 54, 78, 102, 126]), new ECBlocks(30, new ECB(7, 116), new ECB(7, 117)), new ECBlocks(28, new ECB(21, 45), new ECB(7, 46)), new ECBlocks(30, new ECB(1, 23), new ECB(37, 24)), new ECBlocks(30, new ECB(19, 15), new ECB(26, 16))),\n new Version(30, Int32Array.from([6, 26, 52, 78, 104, 130]), new ECBlocks(30, new ECB(5, 115), new ECB(10, 116)), new ECBlocks(28, new ECB(19, 47), new ECB(10, 48)), new ECBlocks(30, new ECB(15, 24), new ECB(25, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(25, 16))),\n new Version(31, Int32Array.from([6, 30, 56, 82, 108, 134]), new ECBlocks(30, new ECB(13, 115), new ECB(3, 116)), new ECBlocks(28, new ECB(2, 46), new ECB(29, 47)), new ECBlocks(30, new ECB(42, 24), new ECB(1, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(28, 16))),\n new Version(32, Int32Array.from([6, 34, 60, 86, 112, 138]), new ECBlocks(30, new ECB(17, 115)), new ECBlocks(28, new ECB(10, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(10, 24), new ECB(35, 25)), new ECBlocks(30, new ECB(19, 15), new ECB(35, 16))),\n new Version(33, Int32Array.from([6, 30, 58, 86, 114, 142]), new ECBlocks(30, new ECB(17, 115), new ECB(1, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(21, 47)), new ECBlocks(30, new ECB(29, 24), new ECB(19, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(46, 16))),\n new Version(34, Int32Array.from([6, 34, 62, 90, 118, 146]), new ECBlocks(30, new ECB(13, 115), new ECB(6, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(44, 24), new ECB(7, 25)), new ECBlocks(30, new ECB(59, 16), new ECB(1, 17))),\n new Version(35, Int32Array.from([6, 30, 54, 78, 102, 126, 150]), new ECBlocks(30, new ECB(12, 121), new ECB(7, 122)), new ECBlocks(28, new ECB(12, 47), new ECB(26, 48)), new ECBlocks(30, new ECB(39, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(41, 16))),\n new Version(36, Int32Array.from([6, 24, 50, 76, 102, 128, 154]), new ECBlocks(30, new ECB(6, 121), new ECB(14, 122)), new ECBlocks(28, new ECB(6, 47), new ECB(34, 48)), new ECBlocks(30, new ECB(46, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(2, 15), new ECB(64, 16))),\n new Version(37, Int32Array.from([6, 28, 54, 80, 106, 132, 158]), new ECBlocks(30, new ECB(17, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(29, 46), new ECB(14, 47)), new ECBlocks(30, new ECB(49, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(24, 15), new ECB(46, 16))),\n new Version(38, Int32Array.from([6, 32, 58, 84, 110, 136, 162]), new ECBlocks(30, new ECB(4, 122), new ECB(18, 123)), new ECBlocks(28, new ECB(13, 46), new ECB(32, 47)), new ECBlocks(30, new ECB(48, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(42, 15), new ECB(32, 16))),\n new Version(39, Int32Array.from([6, 26, 54, 82, 110, 138, 166]), new ECBlocks(30, new ECB(20, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(40, 47), new ECB(7, 48)), new ECBlocks(30, new ECB(43, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(10, 15), new ECB(67, 16))),\n new Version(40, Int32Array.from([6, 30, 58, 86, 114, 142, 170]), new ECBlocks(30, new ECB(19, 118), new ECB(6, 119)), new ECBlocks(28, new ECB(18, 47), new ECB(31, 48)), new ECBlocks(30, new ECB(34, 24), new ECB(34, 25)), new ECBlocks(30, new ECB(20, 15), new ECB(61, 16)))\n ];\n return Version;\n}());\nexport default Version;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var __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 Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ChecksumException = /** @class */ (function (_super) {\n __extends(ChecksumException, _super);\n function ChecksumException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChecksumException.getChecksumInstance = function () {\n return new ChecksumException();\n };\n ChecksumException.kind = 'ChecksumException';\n return ChecksumException;\n}(Exception));\nexport default ChecksumException;\n","/**\n * Ponyfill for Java's Float class.\n */\nvar Float = /** @class */ (function () {\n function Float() {\n }\n /**\n * SincTS has no difference between int and float, there's all numbers,\n * this is used only to polyfill Java code.\n */\n Float.floatToIntBits = function (f) {\n return f;\n };\n /**\n * The float max value in JS is the number max value.\n */\n Float.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n return Float;\n}());\nexport default Float;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","var Collections = /** @class */ (function () {\n function Collections() {\n }\n /**\n * The singletonList(T) method is used to return an immutable list containing only the specified object.\n */\n Collections.singletonList = function (item) {\n return [item];\n };\n /**\n * The min(Collection, Comparator) method is used to return the minimum element of the given collection, according to the order induced by the specified comparator.\n */\n Collections.min = function (collection, comparator) {\n return collection.sort(comparator)[0];\n };\n return Collections;\n}());\nexport default Collections;\n","/*\n* Copyright 2013 ZXing authors\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 Token = /** @class */ (function () {\n function Token(previous) {\n this.previous = previous;\n }\n Token.prototype.getPrevious = function () {\n return this.previous;\n };\n return Token;\n}());\nexport default Token;\n","/*\n* Copyright 2013 ZXing authors\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 Token from './Token';\nimport Integer from '../../util/Integer';\nvar SimpleToken = /** @class */ (function (_super) {\n __extends(SimpleToken, _super);\n function SimpleToken(previous, value, bitCount) {\n var _this = _super.call(this, previous) || this;\n _this.value = value;\n _this.bitCount = bitCount;\n return _this;\n }\n /**\n * @Override\n */\n SimpleToken.prototype.appendTo = function (bitArray, text) {\n bitArray.appendBits(this.value, this.bitCount);\n };\n SimpleToken.prototype.add = function (value, bitCount) {\n return new SimpleToken(this, value, bitCount);\n };\n SimpleToken.prototype.addBinaryShift = function (start, byteCount) {\n // no-op can't binary shift a simple token\n console.warn('addBinaryShift on SimpleToken, this simply returns a copy of this token');\n return new SimpleToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n SimpleToken.prototype.toString = function () {\n var value = this.value & ((1 << this.bitCount) - 1);\n value |= 1 << this.bitCount;\n return '<' + Integer.toBinaryString(value | (1 << this.bitCount)).substring(1) + '>';\n };\n return SimpleToken;\n}(Token));\nexport default SimpleToken;\n","/*\n* Copyright 2013 ZXing authors\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 SimpleToken from './SimpleToken';\nvar BinaryShiftToken = /** @class */ (function (_super) {\n __extends(BinaryShiftToken, _super);\n function BinaryShiftToken(previous, binaryShiftStart, binaryShiftByteCount) {\n var _this = _super.call(this, previous, 0, 0) || this;\n _this.binaryShiftStart = binaryShiftStart;\n _this.binaryShiftByteCount = binaryShiftByteCount;\n return _this;\n }\n /**\n * @Override\n */\n BinaryShiftToken.prototype.appendTo = function (bitArray, text) {\n for (var i = 0; i < this.binaryShiftByteCount; i++) {\n if (i === 0 || (i === 31 && this.binaryShiftByteCount <= 62)) {\n // We need a header before the first character, and before\n // character 31 when the total byte code is <= 62\n bitArray.appendBits(31, 5); // BINARY_SHIFT\n if (this.binaryShiftByteCount > 62) {\n bitArray.appendBits(this.binaryShiftByteCount - 31, 16);\n }\n else if (i === 0) {\n // 1 <= binaryShiftByteCode <= 62\n bitArray.appendBits(Math.min(this.binaryShiftByteCount, 31), 5);\n }\n else {\n // 32 <= binaryShiftCount <= 62 and i == 31\n bitArray.appendBits(this.binaryShiftByteCount - 31, 5);\n }\n }\n bitArray.appendBits(text[this.binaryShiftStart + i], 8);\n }\n };\n BinaryShiftToken.prototype.addBinaryShift = function (start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n BinaryShiftToken.prototype.toString = function () {\n return '<' + this.binaryShiftStart + '::' + (this.binaryShiftStart + this.binaryShiftByteCount - 1) + '>';\n };\n return BinaryShiftToken;\n}(SimpleToken));\nexport default BinaryShiftToken;\n","import SimpleToken from './SimpleToken';\nimport BinaryShiftToken from './BinaryShiftToken';\nexport function addBinaryShift(token, start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(token, start, byteCount);\n}\nexport function add(token, value, bitCount) {\n return new SimpleToken(token, value, bitCount);\n}\n","import SimpleToken from './SimpleToken';\nexport var /*final*/ MODE_NAMES = [\n 'UPPER',\n 'LOWER',\n 'DIGIT',\n 'MIXED',\n 'PUNCT'\n];\nexport var /*final*/ MODE_UPPER = 0; // 5 bits\nexport var /*final*/ MODE_LOWER = 1; // 5 bits\nexport var /*final*/ MODE_DIGIT = 2; // 4 bits\nexport var /*final*/ MODE_MIXED = 3; // 5 bits\nexport var /*final*/ MODE_PUNCT = 4; // 5 bits\nexport var EMPTY_TOKEN = new SimpleToken(null, 0, 0);\n","// The Latch Table shows, for each pair of Modes, the optimal method for\n// getting from one mode to another. In the worst possible case, this can\n// be up to 14 bits. In the best possible case, we are already there!\n// The high half-word of each entry gives the number of bits.\n// The low half-word of each entry are the actual bits necessary to change\nexport var LATCH_TABLE = [\n Int32Array.from([\n 0,\n (5 << 16) + 28,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (9 << 16) + (30 << 4) + 14,\n 0,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // LOWER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (4 << 16) + 14,\n (9 << 16) + (14 << 5) + 28,\n 0,\n (9 << 16) + (14 << 5) + 29,\n (14 << 16) + (14 << 10) + (29 << 5) + 30\n // DIGIT -> UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 29,\n (5 << 16) + 28,\n (10 << 16) + (29 << 5) + 30,\n 0,\n (5 << 16) + 30 // MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 31,\n (10 << 16) + (31 << 5) + 28,\n (10 << 16) + (31 << 5) + 30,\n (10 << 16) + (31 << 5) + 29,\n 0\n ])\n];\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport Arrays from '../../util/Arrays';\nimport * as C from './EncoderConstants';\nexport function static_SHIFT_TABLE(SHIFT_TABLE) {\n var e_1, _a;\n try {\n for (var SHIFT_TABLE_1 = __values(SHIFT_TABLE), SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next(); !SHIFT_TABLE_1_1.done; SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next()) {\n var table = SHIFT_TABLE_1_1.value /*Int32Array*/;\n Arrays.fill(table, -1);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (SHIFT_TABLE_1_1 && !SHIFT_TABLE_1_1.done && (_a = SHIFT_TABLE_1.return)) _a.call(SHIFT_TABLE_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n SHIFT_TABLE[C.MODE_UPPER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_UPPER] = 28;\n SHIFT_TABLE[C.MODE_MIXED][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_UPPER] = 15;\n return SHIFT_TABLE;\n}\nexport var /*final*/ SHIFT_TABLE = static_SHIFT_TABLE(Arrays.createInt32Array(6, 6)); // mode shift codes, per table\n","/*\n * Copyright 2013 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.aztec.encoder;\n// import java.util.Deque;\n// import java.util.LinkedList;\n// import com.google.zxing.common.BitArray;\nimport BitArray from '../../common/BitArray';\nimport * as TokenHelpers from './TokenHelpers';\nimport * as C from './EncoderConstants';\nimport * as LatchTable from './LatchTable';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * State represents all information about a sequence necessary to generate the current output.\n * Note that a state is immutable.\n */\nvar State = /** @class */ (function () {\n function State(token, mode, binaryBytes, bitCount) {\n this.token = token;\n this.mode = mode;\n this.binaryShiftByteCount = binaryBytes;\n this.bitCount = bitCount;\n // Make sure we match the token\n // int binaryShiftBitCount = (binaryShiftByteCount * 8) +\n // (binaryShiftByteCount === 0 ? 0 :\n // binaryShiftByteCount <= 31 ? 10 :\n // binaryShiftByteCount <= 62 ? 20 : 21);\n // assert this.bitCount === token.getTotalBitCount() + binaryShiftBitCount;\n }\n State.prototype.getMode = function () {\n return this.mode;\n };\n State.prototype.getToken = function () {\n return this.token;\n };\n State.prototype.getBinaryShiftByteCount = function () {\n return this.binaryShiftByteCount;\n };\n State.prototype.getBitCount = function () {\n return this.bitCount;\n };\n // Create a new state representing this state with a latch to a (not\n // necessary different) mode, and then a code.\n State.prototype.latchAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0;\n var bitCount = this.bitCount;\n var token = this.token;\n if (mode !== this.mode) {\n var latch = LatchTable.LATCH_TABLE[this.mode][mode];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n }\n var latchModeBitCount = mode === C.MODE_DIGIT ? 4 : 5;\n token = TokenHelpers.add(token, value, latchModeBitCount);\n return new State(token, mode, 0, bitCount + latchModeBitCount);\n };\n // Create a new state representing this state, with a temporary shift\n // to a different mode to output a single value.\n State.prototype.shiftAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0 && this.mode !== mode;\n var token = this.token;\n var thisModeBitCount = this.mode === C.MODE_DIGIT ? 4 : 5;\n // Shifts exist only to UPPER and PUNCT, both with tokens size 5.\n token = TokenHelpers.add(token, ShiftTable.SHIFT_TABLE[this.mode][mode], thisModeBitCount);\n token = TokenHelpers.add(token, value, 5);\n return new State(token, this.mode, 0, this.bitCount + thisModeBitCount + 5);\n };\n // Create a new state representing this state, but an additional character\n // output in Binary Shift mode.\n State.prototype.addBinaryShiftChar = function (index) {\n var token = this.token;\n var mode = this.mode;\n var bitCount = this.bitCount;\n if (this.mode === C.MODE_PUNCT || this.mode === C.MODE_DIGIT) {\n // assert binaryShiftByteCount === 0;\n var latch = LatchTable.LATCH_TABLE[mode][C.MODE_UPPER];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n mode = C.MODE_UPPER;\n }\n var deltaBitCount = this.binaryShiftByteCount === 0 || this.binaryShiftByteCount === 31\n ? 18\n : this.binaryShiftByteCount === 62\n ? 9\n : 8;\n var result = new State(token, mode, this.binaryShiftByteCount + 1, bitCount + deltaBitCount);\n if (result.binaryShiftByteCount === 2047 + 31) {\n // The string is as long as it's allowed to be. We should end it.\n result = result.endBinaryShift(index + 1);\n }\n return result;\n };\n // Create the state identical to this one, but we are no longer in\n // Binary Shift mode.\n State.prototype.endBinaryShift = function (index) {\n if (this.binaryShiftByteCount === 0) {\n return this;\n }\n var token = this.token;\n token = TokenHelpers.addBinaryShift(token, index - this.binaryShiftByteCount, this.binaryShiftByteCount);\n // assert token.getTotalBitCount() === this.bitCount;\n return new State(token, this.mode, 0, this.bitCount);\n };\n // Returns true if \"this\" state is better (equal: or) to be in than \"that\"\n // state under all possible circumstances.\n State.prototype.isBetterThanOrEqualTo = function (other) {\n var newModeBitCount = this.bitCount + (LatchTable.LATCH_TABLE[this.mode][other.mode] >> 16);\n if (this.binaryShiftByteCount < other.binaryShiftByteCount) {\n // add additional B/S encoding cost of other, if any\n newModeBitCount +=\n State.calculateBinaryShiftCost(other) -\n State.calculateBinaryShiftCost(this);\n }\n else if (this.binaryShiftByteCount > other.binaryShiftByteCount &&\n other.binaryShiftByteCount > 0) {\n // maximum possible additional cost (it: h)\n newModeBitCount += 10;\n }\n return newModeBitCount <= other.bitCount;\n };\n State.prototype.toBitArray = function (text) {\n var e_1, _a;\n // Reverse the tokens, so that they are in the order that they should\n // be output\n var symbols = [];\n for (var token = this.endBinaryShift(text.length).token; token !== null; token = token.getPrevious()) {\n symbols.unshift(token);\n }\n var bitArray = new BitArray();\n try {\n // Add each token to the result.\n for (var symbols_1 = __values(symbols), symbols_1_1 = symbols_1.next(); !symbols_1_1.done; symbols_1_1 = symbols_1.next()) {\n var symbol = symbols_1_1.value;\n symbol.appendTo(bitArray, text);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (symbols_1_1 && !symbols_1_1.done && (_a = symbols_1.return)) _a.call(symbols_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // assert bitArray.getSize() === this.bitCount;\n return bitArray;\n };\n /**\n * @Override\n */\n State.prototype.toString = function () {\n return StringUtils.format('%s bits=%d bytes=%d', C.MODE_NAMES[this.mode], this.bitCount, this.binaryShiftByteCount);\n };\n State.calculateBinaryShiftCost = function (state) {\n if (state.binaryShiftByteCount > 62) {\n return 21; // B/S with extended length\n }\n if (state.binaryShiftByteCount > 31) {\n return 20; // two B/S\n }\n if (state.binaryShiftByteCount > 0) {\n return 10; // one B/S\n }\n return 0;\n };\n State.INITIAL_STATE = new State(C.EMPTY_TOKEN, C.MODE_UPPER, 0, 0);\n return State;\n}());\nexport default State;\n","import * as C from './EncoderConstants';\nimport Arrays from '../../util/Arrays';\nimport StringUtils from '../../common/StringUtils';\nexport function static_CHAR_MAP(CHAR_MAP) {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var pointCharCode = StringUtils.getCharCode('.');\n var commaCharCode = StringUtils.getCharCode(',');\n CHAR_MAP[C.MODE_UPPER][spaceCharCode] = 1;\n var zUpperCharCode = StringUtils.getCharCode('Z');\n var aUpperCharCode = StringUtils.getCharCode('A');\n for (var c = aUpperCharCode; c <= zUpperCharCode; c++) {\n CHAR_MAP[C.MODE_UPPER][c] = c - aUpperCharCode + 2;\n }\n CHAR_MAP[C.MODE_LOWER][spaceCharCode] = 1;\n var zLowerCharCode = StringUtils.getCharCode('z');\n var aLowerCharCode = StringUtils.getCharCode('a');\n for (var c = aLowerCharCode; c <= zLowerCharCode; c++) {\n CHAR_MAP[C.MODE_LOWER][c] = c - aLowerCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][spaceCharCode] = 1;\n var nineCharCode = StringUtils.getCharCode('9');\n var zeroCharCode = StringUtils.getCharCode('0');\n for (var c = zeroCharCode; c <= nineCharCode; c++) {\n CHAR_MAP[C.MODE_DIGIT][c] = c - zeroCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][commaCharCode] = 12;\n CHAR_MAP[C.MODE_DIGIT][pointCharCode] = 13;\n var mixedTable = [\n '\\x00',\n ' ',\n '\\x01',\n '\\x02',\n '\\x03',\n '\\x04',\n '\\x05',\n '\\x06',\n '\\x07',\n '\\b',\n '\\t',\n '\\n',\n '\\x0b',\n '\\f',\n '\\r',\n '\\x1b',\n '\\x1c',\n '\\x1d',\n '\\x1e',\n '\\x1f',\n '@',\n '\\\\',\n '^',\n '_',\n '`',\n '|',\n '~',\n '\\x7f'\n ];\n for (var i = 0; i < mixedTable.length; i++) {\n CHAR_MAP[C.MODE_MIXED][StringUtils.getCharCode(mixedTable[i])] = i;\n }\n var punctTable = [\n '\\x00',\n '\\r',\n '\\x00',\n '\\x00',\n '\\x00',\n '\\x00',\n '!',\n '\\'',\n '#',\n '$',\n '%',\n '&',\n '\\'',\n '(',\n ')',\n '*',\n '+',\n ',',\n '-',\n '.',\n '/',\n ':',\n ';',\n '<',\n '=',\n '>',\n '?',\n '[',\n ']',\n '{',\n '}'\n ];\n for (var i = 0; i < punctTable.length; i++) {\n if (StringUtils.getCharCode(punctTable[i]) > 0) {\n CHAR_MAP[C.MODE_PUNCT][StringUtils.getCharCode(punctTable[i])] = i;\n }\n }\n return CHAR_MAP;\n}\nexport var CHAR_MAP = static_CHAR_MAP(Arrays.createInt32Array(5, 256));\n","/*\n * Copyright 2013 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import java.util.Collection;\n// import java.util.Collections;\nimport Collections from '../../util/Collections';\n// import java.util.Comparator;\n// import java.util.Iterator;\n// import java.util.LinkedList;\nimport State from './State';\nimport * as C from './EncoderConstants';\nimport * as CharMap from './CharMap';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * This produces nearly optimal encodings of text into the first-level of\n * encoding used by Aztec code.\n *\n * It uses a dynamic algorithm. For each prefix of the string, it determines\n * a set of encodings that could lead to this prefix. We repeatedly add a\n * character and generate a new set of optimal encodings until we have read\n * through the entire input.\n *\n * @author Frank Yellin\n * @author Rustam Abdullaev\n */\nvar HighLevelEncoder = /** @class */ (function () {\n function HighLevelEncoder(text) {\n this.text = text;\n }\n /**\n * @return text represented by this encoder encoded as a {@link BitArray}\n */\n HighLevelEncoder.prototype.encode = function () {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var lineBreakCharCode = StringUtils.getCharCode('\\n');\n var states = Collections.singletonList(State.INITIAL_STATE);\n for (var index = 0; index < this.text.length; index++) {\n var pairCode = void 0;\n var nextChar = index + 1 < this.text.length ? this.text[index + 1] : 0;\n switch (this.text[index]) {\n case StringUtils.getCharCode('\\r'):\n pairCode = nextChar === lineBreakCharCode ? 2 : 0;\n break;\n case StringUtils.getCharCode('.'):\n pairCode = nextChar === spaceCharCode ? 3 : 0;\n break;\n case StringUtils.getCharCode(','):\n pairCode = nextChar === spaceCharCode ? 4 : 0;\n break;\n case StringUtils.getCharCode(':'):\n pairCode = nextChar === spaceCharCode ? 5 : 0;\n break;\n default:\n pairCode = 0;\n }\n if (pairCode > 0) {\n // We have one of the four special PUNCT pairs. Treat them specially.\n // Get a new set of states for the two new characters.\n states = HighLevelEncoder.updateStateListForPair(states, index, pairCode);\n index++;\n }\n else {\n // Get a new set of states for the new character.\n states = this.updateStateListForChar(states, index);\n }\n }\n // We are left with a set of states. Find the shortest one.\n var minState = Collections.min(states, function (a, b) {\n return a.getBitCount() - b.getBitCount();\n });\n // Convert it to a bit array, and return.\n return minState.toBitArray(this.text);\n };\n // We update a set of states for a new character by updating each state\n // for the new character, merging the results, and then removing the\n // non-optimal states.\n HighLevelEncoder.prototype.updateStateListForChar = function (states, index) {\n var e_1, _a;\n var result = [];\n try {\n for (var states_1 = __values(states), states_1_1 = states_1.next(); !states_1_1.done; states_1_1 = states_1.next()) {\n var state = states_1_1.value /*State*/;\n this.updateStateForChar(state, index, result);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (states_1_1 && !states_1_1.done && (_a = states_1.return)) _a.call(states_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return HighLevelEncoder.simplifyStates(result);\n };\n // Return a set of states that represent the possible ways of updating this\n // state for the next character. The resulting set of states are added to\n // the \"result\" list.\n HighLevelEncoder.prototype.updateStateForChar = function (state, index, result) {\n var ch = (this.text[index] & 0xff);\n var charInCurrentTable = CharMap.CHAR_MAP[state.getMode()][ch] > 0;\n var stateNoBinary = null;\n for (var mode /*int*/ = 0; mode <= C.MODE_PUNCT; mode++) {\n var charInMode = CharMap.CHAR_MAP[mode][ch];\n if (charInMode > 0) {\n if (stateNoBinary == null) {\n // Only create stateNoBinary the first time it's required.\n stateNoBinary = state.endBinaryShift(index);\n }\n // Try generating the character by latching to its mode\n if (!charInCurrentTable ||\n mode === state.getMode() ||\n mode === C.MODE_DIGIT) {\n // If the character is in the current table, we don't want to latch to\n // any other mode except possibly digit (which uses only 4 bits). Any\n // other latch would be equally successful *after* this character, and\n // so wouldn't save any bits.\n var latchState = stateNoBinary.latchAndAppend(mode, charInMode);\n result.push(latchState);\n }\n // Try generating the character by switching to its mode.\n if (!charInCurrentTable &&\n ShiftTable.SHIFT_TABLE[state.getMode()][mode] >= 0) {\n // It never makes sense to temporarily shift to another mode if the\n // character exists in the current mode. That can never save bits.\n var shiftState = stateNoBinary.shiftAndAppend(mode, charInMode);\n result.push(shiftState);\n }\n }\n }\n if (state.getBinaryShiftByteCount() > 0 ||\n CharMap.CHAR_MAP[state.getMode()][ch] === 0) {\n // It's never worthwhile to go into binary shift mode if you're not already\n // in binary shift mode, and the character exists in your current mode.\n // That can never save bits over just outputting the char in the current mode.\n var binaryState = state.addBinaryShiftChar(index);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.updateStateListForPair = function (states, index, pairCode) {\n var e_2, _a;\n var result = [];\n try {\n for (var states_2 = __values(states), states_2_1 = states_2.next(); !states_2_1.done; states_2_1 = states_2.next()) {\n var state = states_2_1.value /*State*/;\n this.updateStateForPair(state, index, pairCode, result);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (states_2_1 && !states_2_1.done && (_a = states_2.return)) _a.call(states_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return this.simplifyStates(result);\n };\n HighLevelEncoder.updateStateForPair = function (state, index, pairCode, result) {\n var stateNoBinary = state.endBinaryShift(index);\n // Possibility 1. Latch to C.MODE_PUNCT, and then append this code\n result.push(stateNoBinary.latchAndAppend(C.MODE_PUNCT, pairCode));\n if (state.getMode() !== C.MODE_PUNCT) {\n // Possibility 2. Shift to C.MODE_PUNCT, and then append this code.\n // Every state except C.MODE_PUNCT (handled above) can shift\n result.push(stateNoBinary.shiftAndAppend(C.MODE_PUNCT, pairCode));\n }\n if (pairCode === 3 || pairCode === 4) {\n // both characters are in DIGITS. Sometimes better to just add two digits\n var digitState = stateNoBinary\n .latchAndAppend(C.MODE_DIGIT, 16 - pairCode) // period or comma in DIGIT\n .latchAndAppend(C.MODE_DIGIT, 1); // space in DIGIT\n result.push(digitState);\n }\n if (state.getBinaryShiftByteCount() > 0) {\n // It only makes sense to do the characters as binary if we're already\n // in binary mode.\n var binaryState = state\n .addBinaryShiftChar(index)\n .addBinaryShiftChar(index + 1);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.simplifyStates = function (states) {\n var e_3, _a, e_4, _b;\n var result = [];\n try {\n for (var states_3 = __values(states), states_3_1 = states_3.next(); !states_3_1.done; states_3_1 = states_3.next()) {\n var newState = states_3_1.value;\n var add = true;\n var _loop_1 = function (oldState) {\n if (oldState.isBetterThanOrEqualTo(newState)) {\n add = false;\n return \"break\";\n }\n if (newState.isBetterThanOrEqualTo(oldState)) {\n // iterator.remove();\n result = result.filter(function (x) { return x !== oldState; }); // remove old state\n }\n };\n try {\n for (var result_1 = (e_4 = void 0, __values(result)), result_1_1 = result_1.next(); !result_1_1.done; result_1_1 = result_1.next()) {\n var oldState = result_1_1.value;\n var state_1 = _loop_1(oldState);\n if (state_1 === \"break\")\n break;\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (result_1_1 && !result_1_1.done && (_b = result_1.return)) _b.call(result_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n if (add) {\n result.push(newState);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (states_3_1 && !states_3_1.done && (_a = states_3.return)) _a.call(states_3);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return result;\n };\n return HighLevelEncoder;\n}());\nexport default HighLevelEncoder;\n","/*\n * Copyright 2007 ZXing authors\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})();\n/*namespace com.google.zxing.common {*/\nimport GridSampler from './GridSampler';\nimport BitMatrix from './BitMatrix';\nimport PerspectiveTransform from './PerspectiveTransform';\nimport NotFoundException from '../NotFoundException';\n/**\n * @author Sean Owen\n */\nvar DefaultGridSampler = /** @class */ (function (_super) {\n __extends(DefaultGridSampler, _super);\n function DefaultGridSampler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /*@Override*/\n DefaultGridSampler.prototype.sampleGrid = function (image, dimensionX /*int*/, dimensionY /*int*/, p1ToX /*float*/, p1ToY /*float*/, p2ToX /*float*/, p2ToY /*float*/, p3ToX /*float*/, p3ToY /*float*/, p4ToX /*float*/, p4ToY /*float*/, p1FromX /*float*/, p1FromY /*float*/, p2FromX /*float*/, p2FromY /*float*/, p3FromX /*float*/, p3FromY /*float*/, p4FromX /*float*/, p4FromY /*float*/) {\n var transform = PerspectiveTransform.quadrilateralToQuadrilateral(p1ToX, p1ToY, p2ToX, p2ToY, p3ToX, p3ToY, p4ToX, p4ToY, p1FromX, p1FromY, p2FromX, p2FromY, p3FromX, p3FromY, p4FromX, p4FromY);\n return this.sampleGridWithTransform(image, dimensionX, dimensionY, transform);\n };\n /*@Override*/\n DefaultGridSampler.prototype.sampleGridWithTransform = function (image, dimensionX /*int*/, dimensionY /*int*/, transform) {\n if (dimensionX <= 0 || dimensionY <= 0) {\n throw new NotFoundException();\n }\n var bits = new BitMatrix(dimensionX, dimensionY);\n var points = new Float32Array(2 * dimensionX);\n for (var y = 0; y < dimensionY; y++) {\n var max = points.length;\n var iValue = y + 0.5;\n for (var x = 0; x < max; x += 2) {\n points[x] = (x / 2) + 0.5;\n points[x + 1] = iValue;\n }\n transform.transformPoints(points);\n // Quick check to see if points transformed to something inside the image\n // sufficient to check the endpoints\n GridSampler.checkAndNudgePoints(image, points);\n try {\n for (var x = 0; x < max; x += 2) {\n if (image.get(Math.floor(points[x]), Math.floor(points[x + 1]))) {\n // Black(-ish) pixel\n bits.set(x / 2, y);\n }\n }\n }\n catch (aioobe /*: ArrayIndexOutOfBoundsException*/) {\n // This feels wrong, but, sometimes if the finder patterns are misidentified, the resulting\n // transform gets \"twisted\" such that it maps a straight line of points to a set of points\n // whose endpoints are in bounds, but others are not. There is probably some mathematical\n // way to detect this about the transformation that I don't know yet.\n // This results in an ugly runtime exception despite our clever checks above -- can't have\n // that. We could check each point's coordinates but that feels duplicative. We settle for\n // catching and wrapping ArrayIndexOutOfBoundsException.\n throw new NotFoundException();\n }\n }\n return bits;\n };\n return DefaultGridSampler;\n}(GridSampler));\nexport default DefaultGridSampler;\n","/*\n * Copyright 2007 ZXing authors\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 System from './util/System';\n/**\n *

Encapsulates the result of decoding a barcode within an image.

\n *\n * @author Sean Owen\n */\nvar Result = /** @class */ (function () {\n // public constructor(private text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format) {\n // this(text, rawBytes, resultPoints, format, System.currentTimeMillis())\n // }\n // public constructor(text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format,\n // long timestamp) {\n // this(text, rawBytes, rawBytes == null ? 0 : 8 * rawBytes.length,\n // resultPoints, format, timestamp)\n // }\n function Result(text, rawBytes, numBits, resultPoints, format, timestamp) {\n if (numBits === void 0) { numBits = rawBytes == null ? 0 : 8 * rawBytes.length; }\n if (timestamp === void 0) { timestamp = System.currentTimeMillis(); }\n this.text = text;\n this.rawBytes = rawBytes;\n this.numBits = numBits;\n this.resultPoints = resultPoints;\n this.format = format;\n this.timestamp = timestamp;\n this.text = text;\n this.rawBytes = rawBytes;\n if (undefined === numBits || null === numBits) {\n this.numBits = (rawBytes === null || rawBytes === undefined) ? 0 : 8 * rawBytes.length;\n }\n else {\n this.numBits = numBits;\n }\n this.resultPoints = resultPoints;\n this.format = format;\n this.resultMetadata = null;\n if (undefined === timestamp || null === timestamp) {\n this.timestamp = System.currentTimeMillis();\n }\n else {\n this.timestamp = timestamp;\n }\n }\n /**\n * @return raw text encoded by the barcode\n */\n Result.prototype.getText = function () {\n return this.text;\n };\n /**\n * @return raw bytes encoded by the barcode, if applicable, otherwise {@code null}\n */\n Result.prototype.getRawBytes = function () {\n return this.rawBytes;\n };\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n Result.prototype.getNumBits = function () {\n return this.numBits;\n };\n /**\n * @return points related to the barcode in the image. These are typically points\n * identifying finder patterns or the corners of the barcode. The exact meaning is\n * specific to the type of barcode that was decoded.\n */\n Result.prototype.getResultPoints = function () {\n return this.resultPoints;\n };\n /**\n * @return {@link BarcodeFormat} representing the format of the barcode that was decoded\n */\n Result.prototype.getBarcodeFormat = function () {\n return this.format;\n };\n /**\n * @return {@link Map} mapping {@link ResultMetadataType} keys to values. May be\n * {@code null}. This contains optional metadata about what was detected about the barcode,\n * like orientation.\n */\n Result.prototype.getResultMetadata = function () {\n return this.resultMetadata;\n };\n Result.prototype.putMetadata = function (type, value) {\n if (this.resultMetadata === null) {\n this.resultMetadata = new Map();\n }\n this.resultMetadata.set(type, value);\n };\n Result.prototype.putAllMetadata = function (metadata) {\n if (metadata !== null) {\n if (this.resultMetadata === null) {\n this.resultMetadata = metadata;\n }\n else {\n this.resultMetadata = new Map(metadata);\n }\n }\n };\n Result.prototype.addResultPoints = function (newPoints) {\n var oldPoints = this.resultPoints;\n if (oldPoints === null) {\n this.resultPoints = newPoints;\n }\n else if (newPoints !== null && newPoints.length > 0) {\n var allPoints = new Array(oldPoints.length + newPoints.length);\n System.arraycopy(oldPoints, 0, allPoints, 0, oldPoints.length);\n System.arraycopy(newPoints, 0, allPoints, oldPoints.length, newPoints.length);\n this.resultPoints = allPoints;\n }\n };\n Result.prototype.getTimestamp = function () {\n return this.timestamp;\n };\n /*@Override*/\n Result.prototype.toString = function () {\n return this.text;\n };\n return Result;\n}());\nexport default Result;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","/*\n * Copyright 2008 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\n/*import java.util.Arrays;*/\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\n/**\n * JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned\n * -1, 0, and 1, I'm going to use less memory and go with bytes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar ByteMatrix = /** @class */ (function () {\n function ByteMatrix(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n var bytes = new Array(height); // [height][width]\n for (var i = 0; i !== height; i++) {\n bytes[i] = new Uint8Array(width);\n }\n this.bytes = bytes;\n }\n ByteMatrix.prototype.getHeight = function () {\n return this.height;\n };\n ByteMatrix.prototype.getWidth = function () {\n return this.width;\n };\n ByteMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n return this.bytes[y][x];\n };\n /**\n * @return an internal representation as bytes, in row-major order. array[y][x] represents point (x,y)\n */\n ByteMatrix.prototype.getArray = function () {\n return this.bytes;\n };\n // TYPESCRIPTPORT: preffer to let two methods instead of override to avoid type comparison inside\n ByteMatrix.prototype.setNumber = function (x /*int*/, y /*int*/, value /*byte|int*/) {\n this.bytes[y][x] = value;\n };\n // public set(x: number /*int*/, y: number /*int*/, value: number /*int*/): void {\n // bytes[y][x] = (byte) value\n // }\n ByteMatrix.prototype.setBoolean = function (x /*int*/, y /*int*/, value) {\n this.bytes[y][x] = /*(byte) */ (value ? 1 : 0);\n };\n ByteMatrix.prototype.clear = function (value /*byte*/) {\n var e_1, _a;\n try {\n for (var _b = __values(this.bytes), _c = _b.next(); !_c.done; _c = _b.next()) {\n var aByte = _c.value;\n Arrays.fill(aByte, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ByteMatrix.prototype.equals = function (o) {\n if (!(o instanceof ByteMatrix)) {\n return false;\n }\n var other = o;\n if (this.width !== other.width) {\n return false;\n }\n if (this.height !== other.height) {\n return false;\n }\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n var otherBytesY = other.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n if (bytesY[x] !== otherBytesY[x]) {\n return false;\n }\n }\n }\n return true;\n };\n /*@Override*/\n ByteMatrix.prototype.toString = function () {\n var result = new StringBuilder(); // (2 * width * height + 2)\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n switch (bytesY[x]) {\n case 0:\n result.append(' 0');\n break;\n case 1:\n result.append(' 1');\n break;\n default:\n result.append(' ');\n break;\n }\n }\n result.append('\\n');\n }\n return result.toString();\n };\n return ByteMatrix;\n}());\nexport default ByteMatrix;\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","/*\n * Copyright 2007 ZXing authors\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 */\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGF from './GenericGF';\nimport GenericGFPoly from './GenericGFPoly';\nimport ReedSolomonException from '../../ReedSolomonException';\nimport IllegalStateException from '../../IllegalStateException';\n/**\n *

Implements Reed-Solomon decoding, as the name implies.

\n *\n *

The algorithm will not be explained here, but the following references were helpful\n * in creating this implementation:

\n *\n * \n *\n *

Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n * @author sanfordsquires\n */\nvar ReedSolomonDecoder = /** @class */ (function () {\n function ReedSolomonDecoder(field) {\n this.field = field;\n }\n /**\n *

Decodes given set of received codewords, which include both data and error-correction\n * codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,\n * in the input.

\n *\n * @param received data and error-correction codewords\n * @param twoS number of error-correction codewords available\n * @throws ReedSolomonException if decoding fails for any reason\n */\n ReedSolomonDecoder.prototype.decode = function (received, twoS /*int*/) {\n var field = this.field;\n var poly = new GenericGFPoly(field, received);\n var syndromeCoefficients = new Int32Array(twoS);\n var noError = true;\n for (var i = 0; i < twoS; i++) {\n var evalResult = poly.evaluateAt(field.exp(i + field.getGeneratorBase()));\n syndromeCoefficients[syndromeCoefficients.length - 1 - i] = evalResult;\n if (evalResult !== 0) {\n noError = false;\n }\n }\n if (noError) {\n return;\n }\n var syndrome = new GenericGFPoly(field, syndromeCoefficients);\n var sigmaOmega = this.runEuclideanAlgorithm(field.buildMonomial(twoS, 1), syndrome, twoS);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, errorLocations);\n for (var i = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n throw new ReedSolomonException('Bad error location');\n }\n received[position] = GenericGF.addOrSubtract(received[position], errorMagnitudes[i]);\n }\n };\n ReedSolomonDecoder.prototype.runEuclideanAlgorithm = function (a, b, R /*int*/) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var field = this.field;\n var rLast = a;\n var r = b;\n var tLast = field.getZero();\n var t = field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= (R / 2 | 0)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw new ReedSolomonException('r_{i-1} was zero');\n }\n r = rLastLast;\n var q = field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).addOrSubtract(tLastLast);\n if (r.getDegree() >= rLast.getDegree()) {\n throw new IllegalStateException('Division algorithm failed to reduce polynomial?');\n }\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw new ReedSolomonException('sigmaTilde(0) was zero');\n }\n var inverse = field.inverse(sigmaTildeAtZero);\n var sigma = t.multiplyScalar(inverse);\n var omega = r.multiplyScalar(inverse);\n return [sigma, omega];\n };\n ReedSolomonDecoder.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n if (numErrors === 1) { // shortcut\n return Int32Array.from([errorLocator.getCoefficient(1)]);\n }\n var result = new Int32Array(numErrors);\n var e = 0;\n var field = this.field;\n for (var i = 1; i < field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw new ReedSolomonException('Error locator degree does not match number of roots');\n }\n return result;\n };\n ReedSolomonDecoder.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocations) {\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n var field = this.field;\n for (var i = 0; i < s; i++) {\n var xiInverse = field.inverse(errorLocations[i]);\n var denominator = 1;\n for (var j = 0; j < s; j++) {\n if (i !== j) {\n // denominator = field.multiply(denominator,\n // GenericGF.addOrSubtract(1, field.multiply(errorLocations[j], xiInverse)))\n // Above should work but fails on some Apple and Linux JDKs due to a Hotspot bug.\n // Below is a funny-looking workaround from Steven Parkes\n var term = field.multiply(errorLocations[j], xiInverse);\n var termPlus1 = (term & 0x1) === 0 ? term | 1 : term & ~1;\n denominator = field.multiply(denominator, termPlus1);\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.getGeneratorBase() !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n };\n return ReedSolomonDecoder;\n}());\nexport default ReedSolomonDecoder;\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","/*\n * Copyright 2008 ZXing authors\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 */\n/*namespace com.google.zxing.qrcode {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport EncodeHintType from '../EncodeHintType';\nimport BitMatrix from '../common/BitMatrix';\nimport ErrorCorrectionLevel from './decoder/ErrorCorrectionLevel';\nimport Encoder from './encoder/Encoder';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport IllegalStateException from '../IllegalStateException';\n/*import java.util.Map;*/\n/**\n * This object renders a QR Code as a BitMatrix 2D array of greyscale values.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar QRCodeWriter = /** @class */ (function () {\n function QRCodeWriter() {\n }\n /*@Override*/\n // public encode(contents: string, format: BarcodeFormat, width: number /*int*/, height: number /*int*/): BitMatrix\n // /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n QRCodeWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (format !== BarcodeFormat.QR_CODE) {\n throw new IllegalArgumentException('Can only encode QR_CODE, but got ' + format);\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException(\"Requested dimensions are too small: \" + width + \"x\" + height);\n }\n var errorCorrectionLevel = ErrorCorrectionLevel.L;\n var quietZone = QRCodeWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return QRCodeWriter.renderResult(code, width, height, quietZone);\n };\n // Note that the input matrix uses 0 == white, 1 == black, while the output matrix uses\n // 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n QRCodeWriter.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var output = new BitMatrix(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n QRCodeWriter.QUIET_ZONE_SIZE = 4;\n return QRCodeWriter;\n}());\nexport default QRCodeWriter;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/*\n* Copyright 2013 ZXing authors\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*/\n/**\n * Aztec 2D code representation\n *\n * @author Rustam Abdullaev\n */\nvar AztecCode = /** @class */ (function () {\n function AztecCode() {\n }\n /**\n * @return {@code true} if compact instead of full mode\n */\n AztecCode.prototype.isCompact = function () {\n return this.compact;\n };\n AztecCode.prototype.setCompact = function (compact) {\n this.compact = compact;\n };\n /**\n * @return size in pixels (width and height)\n */\n AztecCode.prototype.getSize = function () {\n return this.size;\n };\n AztecCode.prototype.setSize = function (size) {\n this.size = size;\n };\n /**\n * @return number of levels\n */\n AztecCode.prototype.getLayers = function () {\n return this.layers;\n };\n AztecCode.prototype.setLayers = function (layers) {\n this.layers = layers;\n };\n /**\n * @return number of data codewords\n */\n AztecCode.prototype.getCodeWords = function () {\n return this.codeWords;\n };\n AztecCode.prototype.setCodeWords = function (codeWords) {\n this.codeWords = codeWords;\n };\n /**\n * @return the symbol image\n */\n AztecCode.prototype.getMatrix = function () {\n return this.matrix;\n };\n AztecCode.prototype.setMatrix = function (matrix) {\n this.matrix = matrix;\n };\n return AztecCode;\n}());\nexport default AztecCode;\n","/*\n* Copyright 2012 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport System from '../../../util/System';\nimport StringBuilder from '../../../util/StringBuilder';\n/**\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGFPoly\n */\nvar ModulusPoly = /** @class */ (function () {\n function ModulusPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n var coefficientsLength = /*int*/ coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n var firstNonZero = /*int*/ 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = new Int32Array([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n ModulusPoly.prototype.getCoefficients = function () {\n return this.coefficients;\n };\n /**\n * @return degree of this polynomial\n */\n ModulusPoly.prototype.getDegree = function () {\n return this.coefficients.length - 1;\n };\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n ModulusPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n ModulusPoly.prototype.getCoefficient = function (degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n /**\n * @return evaluation of this polynomial at a given point\n */\n ModulusPoly.prototype.evaluateAt = function (a) {\n var e_1, _a;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n if (a === 1) {\n // Just the sum of the coefficients\n var sum = /*int*/ 0;\n try {\n for (var _b = __values(this.coefficients), _c = _b.next(); !_c.done; _c = _b.next()) {\n var coefficient = _c.value /*int*/;\n sum = this.field.add(sum, coefficient);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return sum;\n }\n var result = /*int*/ this.coefficients[0];\n var size = /*int*/ this.coefficients.length;\n for (var i /*int*/ = 1; i < size; i++) {\n result = this.field.add(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n };\n ModulusPoly.prototype.add = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n var temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n var sumDiff = new Int32Array(largerCoefficients.length);\n var lengthDiff = /*int*/ largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (var i /*int*/ = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = this.field.add(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new ModulusPoly(this.field, sumDiff);\n };\n ModulusPoly.prototype.subtract = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (other.isZero()) {\n return this;\n }\n return this.add(other.negative());\n };\n ModulusPoly.prototype.multiply = function (other) {\n if (other instanceof ModulusPoly) {\n return this.multiplyOther(other);\n }\n return this.multiplyScalar(other);\n };\n ModulusPoly.prototype.multiplyOther = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero() || other.isZero()) {\n // return this.field.getZero();\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var aCoefficients = this.coefficients;\n var aLength = /*int*/ aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = /*int*/ bCoefficients.length;\n var product = new Int32Array(aLength + bLength - 1);\n for (var i /*int*/ = 0; i < aLength; i++) {\n var aCoeff = /*int*/ aCoefficients[i];\n for (var j /*int*/ = 0; j < bLength; j++) {\n product[i + j] = this.field.add(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.negative = function () {\n var size = /*int*/ this.coefficients.length;\n var negativeCoefficients = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n negativeCoefficients[i] = this.field.subtract(0, this.coefficients[i]);\n }\n return new ModulusPoly(this.field, negativeCoefficients);\n };\n ModulusPoly.prototype.multiplyScalar = function (scalar) {\n if (scalar === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n if (scalar === 1) {\n return this;\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.multiplyByMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size + degree);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new ModulusPoly(this.field, product);\n };\n /*\n ModulusPoly[] divide(other: ModulusPoly) {\n if (!field.equals(other.field)) {\n throw new IllegalArgumentException(\"ModulusPolys do not have same ModulusGF field\");\n }\n if (other.isZero()) {\n throw new IllegalArgumentException(\"Divide by 0\");\n }\n \n let quotient: ModulusPoly = field.getZero();\n let remainder: ModulusPoly = this;\n \n let denominatorLeadingTerm: /*int/ number = other.getCoefficient(other.getDegree());\n let inverseDenominatorLeadingTerm: /*int/ number = field.inverse(denominatorLeadingTerm);\n \n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n let degreeDifference: /*int/ number = remainder.getDegree() - other.getDegree();\n let scale: /*int/ number = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n let term: ModulusPoly = other.multiplyByMonomial(degreeDifference, scale);\n let iterationQuotient: ModulusPoly = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.add(iterationQuotient);\n remainder = remainder.subtract(term);\n }\n \n return new ModulusPoly[] { quotient, remainder };\n }\n */\n // @Override\n ModulusPoly.prototype.toString = function () {\n var result = new StringBuilder( /*8 * this.getDegree()*/); // dynamic string size in JS\n for (var degree /*int*/ = this.getDegree(); degree >= 0; degree--) {\n var coefficient = /*int*/ this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result.append(' - ');\n coefficient = -coefficient;\n }\n else {\n if (result.length() > 0) {\n result.append(' + ');\n }\n }\n if (degree === 0 || coefficient !== 1) {\n result.append(coefficient);\n }\n if (degree !== 0) {\n if (degree === 1) {\n result.append('x');\n }\n else {\n result.append('x^');\n result.append(degree);\n }\n }\n }\n }\n return result.toString();\n };\n return ModulusPoly;\n}());\nexport default ModulusPoly;\n","import IllegalArgumentException from '../../../IllegalArgumentException';\nimport ArithmeticException from '../../../ArithmeticException';\nvar ModulusBase = /** @class */ (function () {\n function ModulusBase() {\n }\n ModulusBase.prototype.add = function (a, b) {\n return (a + b) % this.modulus;\n };\n ModulusBase.prototype.subtract = function (a, b) {\n return (this.modulus + a - b) % this.modulus;\n };\n ModulusBase.prototype.exp = function (a) {\n return this.expTable[a];\n };\n ModulusBase.prototype.log = function (a) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n };\n ModulusBase.prototype.inverse = function (a) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.modulus - this.logTable[a] - 1];\n };\n ModulusBase.prototype.multiply = function (a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.modulus - 1)];\n };\n ModulusBase.prototype.getSize = function () {\n return this.modulus;\n };\n ModulusBase.prototype.equals = function (o) {\n return o === this;\n };\n return ModulusBase;\n}());\nexport default ModulusBase;\n","/*\n * Copyright 2012 ZXing authors\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})();\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../../PDF417Common';\nimport ModulusPoly from './ModulusPoly';\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport ModulusBase from './ModulusBase';\n/**\n *

A field based on powers of a generator integer, modulo some modulus.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGF\n */\nvar ModulusGF = /** @class */ (function (_super) {\n __extends(ModulusGF, _super);\n // private /*final*/ modulus: /*int*/ number;\n function ModulusGF(modulus, generator) {\n var _this = _super.call(this) || this;\n _this.modulus = modulus;\n _this.expTable = new Int32Array(modulus);\n _this.logTable = new Int32Array(modulus);\n var x = /*int*/ 1;\n for (var i /*int*/ = 0; i < modulus; i++) {\n _this.expTable[i] = x;\n x = (x * generator) % modulus;\n }\n for (var i /*int*/ = 0; i < modulus - 1; i++) {\n _this.logTable[_this.expTable[i]] = i;\n }\n // logTable[0] == 0 but this should never be used\n _this.zero = new ModulusPoly(_this, new Int32Array([0]));\n _this.one = new ModulusPoly(_this, new Int32Array([1]));\n return _this;\n }\n ModulusGF.prototype.getZero = function () {\n return this.zero;\n };\n ModulusGF.prototype.getOne = function () {\n return this.one;\n };\n ModulusGF.prototype.buildMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new ModulusPoly(this, coefficients);\n };\n ModulusGF.PDF417_GF = new ModulusGF(PDF417Common.NUMBER_OF_CODEWORDS, 3);\n return ModulusGF;\n}(ModulusBase));\nexport default ModulusGF;\n","/*\n* Copyright 2012 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../../../ChecksumException';\nimport ModulusPoly from './ModulusPoly';\nimport ModulusGF from './ModulusGF';\n/**\n *

PDF417 error correction implementation.

\n *\n *

This example\n * is quite useful in understanding the algorithm.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.ReedSolomonDecoder\n */\nvar ErrorCorrection = /** @class */ (function () {\n function ErrorCorrection() {\n this.field = ModulusGF.PDF417_GF;\n }\n /**\n * @param received received codewords\n * @param numECCodewords number of those codewords used for EC\n * @param erasures location of erasures\n * @return number of errors\n * @throws ChecksumException if errors cannot be corrected, maybe because of too many errors\n */\n ErrorCorrection.prototype.decode = function (received, numECCodewords, erasures) {\n var e_1, _a;\n var poly = new ModulusPoly(this.field, received);\n var S = new Int32Array(numECCodewords);\n var error = false;\n for (var i /*int*/ = numECCodewords; i > 0; i--) {\n var evaluation = poly.evaluateAt(this.field.exp(i));\n S[numECCodewords - i] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return 0;\n }\n var knownErrors = this.field.getOne();\n if (erasures != null) {\n try {\n for (var erasures_1 = __values(erasures), erasures_1_1 = erasures_1.next(); !erasures_1_1.done; erasures_1_1 = erasures_1.next()) {\n var erasure = erasures_1_1.value;\n var b = this.field.exp(received.length - 1 - erasure);\n // Add (1 - bx) term:\n var term = new ModulusPoly(this.field, new Int32Array([this.field.subtract(0, b), 1]));\n knownErrors = knownErrors.multiply(term);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (erasures_1_1 && !erasures_1_1.done && (_a = erasures_1.return)) _a.call(erasures_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var syndrome = new ModulusPoly(this.field, S);\n // syndrome = syndrome.multiply(knownErrors);\n var sigmaOmega = this.runEuclideanAlgorithm(this.field.buildMonomial(numECCodewords, 1), syndrome, numECCodewords);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n // sigma = sigma.multiply(knownErrors);\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, sigma, errorLocations);\n for (var i /*int*/ = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - this.field.log(errorLocations[i]);\n if (position < 0) {\n throw ChecksumException.getChecksumInstance();\n }\n received[position] = this.field.subtract(received[position], errorMagnitudes[i]);\n }\n return errorLocations.length;\n };\n /**\n *\n * @param ModulusPoly\n * @param a\n * @param ModulusPoly\n * @param b\n * @param int\n * @param R\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.runEuclideanAlgorithm = function (a, b, R) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var rLast = a;\n var r = b;\n var tLast = this.field.getZero();\n var t = this.field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= Math.round(R / 2)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw ChecksumException.getChecksumInstance();\n }\n r = rLastLast;\n var q = this.field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = this.field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = this.field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.add(this.field.buildMonomial(degreeDiff, scale));\n r = r.subtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).subtract(tLastLast).negative();\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n var inverse = this.field.inverse(sigmaTildeAtZero);\n var sigma = t.multiply(inverse);\n var omega = r.multiply(inverse);\n return [sigma, omega];\n };\n /**\n *\n * @param errorLocator\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n var result = new Int32Array(numErrors);\n var e = 0;\n for (var i /*int*/ = 1; i < this.field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = this.field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw ChecksumException.getChecksumInstance();\n }\n return result;\n };\n ErrorCorrection.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocator, errorLocations) {\n var errorLocatorDegree = errorLocator.getDegree();\n var formalDerivativeCoefficients = new Int32Array(errorLocatorDegree);\n for (var i /*int*/ = 1; i <= errorLocatorDegree; i++) {\n formalDerivativeCoefficients[errorLocatorDegree - i] =\n this.field.multiply(i, errorLocator.getCoefficient(i));\n }\n var formalDerivative = new ModulusPoly(this.field, formalDerivativeCoefficients);\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n for (var i /*int*/ = 0; i < s; i++) {\n var xiInverse = this.field.inverse(errorLocations[i]);\n var numerator = this.field.subtract(0, errorEvaluator.evaluateAt(xiInverse));\n var denominator = this.field.inverse(formalDerivative.evaluateAt(xiInverse));\n result[i] = this.field.multiply(numerator, denominator);\n }\n return result;\n };\n return ErrorCorrection;\n}());\nexport default ErrorCorrection;\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","/*\n * Copyright 2008 ZXing authors\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})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\n// import Reader from '../Reader';\nimport Result from '../Result';\n// import ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport OneDReader from './OneDReader';\n/**\n *

Decodes Code 128 barcodes.

\n *\n * @author Sean Owen\n */\nvar Code128Reader = /** @class */ (function (_super) {\n __extends(Code128Reader, _super);\n function Code128Reader() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Code128Reader.findStartPattern = function (row) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n var counterPosition = 0;\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = 6;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === (patternLength - 1)) {\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE;\n var bestMatch = -1;\n for (var startCode = Code128Reader.CODE_START_A; startCode <= Code128Reader.CODE_START_C; startCode++) {\n var variance = OneDReader.patternMatchVariance(counters, Code128Reader.CODE_PATTERNS[startCode], Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = startCode;\n }\n }\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (bestMatch >= 0 &&\n row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {\n return Int32Array.from([patternStart, i, bestMatch]);\n }\n patternStart += counters[0] + counters[1];\n counters = counters.slice(2, counters.length - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n Code128Reader.decodeCode = function (row, counters, rowOffset) {\n OneDReader.recordPattern(row, rowOffset, counters);\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept\n var bestMatch = -1;\n for (var d = 0; d < Code128Reader.CODE_PATTERNS.length; d++) {\n var pattern = Code128Reader.CODE_PATTERNS[d];\n var variance = this.patternMatchVariance(counters, pattern, Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = d;\n }\n }\n // TODO We're overlooking the fact that the STOP pattern has 7 values, not 6.\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n };\n Code128Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var convertFNC1 = hints && (hints.get(DecodeHintType.ASSUME_GS1) === true);\n var startPatternInfo = Code128Reader.findStartPattern(row);\n var startCode = startPatternInfo[2];\n var currentRawCodesIndex = 0;\n var rawCodes = new Uint8Array(20);\n rawCodes[currentRawCodesIndex++] = startCode;\n var codeSet;\n switch (startCode) {\n case Code128Reader.CODE_START_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_START_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_START_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n default:\n throw new FormatException();\n }\n var done = false;\n var isNextShifted = false;\n var result = '';\n var lastStart = startPatternInfo[0];\n var nextStart = startPatternInfo[1];\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var lastCode = 0;\n var code = 0;\n var checksumTotal = startCode;\n var multiplier = 0;\n var lastCharacterWasPrintable = true;\n var upperMode = false;\n var shiftUpperMode = false;\n while (!done) {\n var unshift = isNextShifted;\n isNextShifted = false;\n // Save off last code\n lastCode = code;\n // Decode another code from image\n code = Code128Reader.decodeCode(row, counters, nextStart);\n rawCodes[currentRawCodesIndex++] = code;\n // Remember whether the last code was printable or not (excluding CODE_STOP)\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = true;\n }\n // Add to checksum computation (if not CODE_STOP of course)\n if (code !== Code128Reader.CODE_STOP) {\n multiplier++;\n checksumTotal += multiplier * code;\n }\n // Advance to where the next code will to start\n lastStart = nextStart;\n nextStart += counters.reduce(function (previous, current) { return previous + current; }, 0);\n // Take care of illegal start codes\n switch (code) {\n case Code128Reader.CODE_START_A:\n case Code128Reader.CODE_START_B:\n case Code128Reader.CODE_START_C:\n throw new FormatException();\n }\n switch (codeSet) {\n case Code128Reader.CODE_CODE_A:\n if (code < 64) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((code - 64));\n }\n else {\n result += String.fromCharCode((code + 64));\n }\n shiftUpperMode = false;\n }\n else {\n // Don't let CODE_STOP, which always appears, affect whether whether we think the last\n // code was printable or not.\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_A:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_B:\n if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_B:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_C:\n if (code < 100) {\n if (code < 10) {\n result += '0';\n }\n result += code;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n }\n // Unshift back to another code set if we were shifted\n if (unshift) {\n codeSet = codeSet === Code128Reader.CODE_CODE_A ? Code128Reader.CODE_CODE_B : Code128Reader.CODE_CODE_A;\n }\n }\n var lastPatternSize = nextStart - lastStart;\n // Check for ample whitespace following pattern, but, to do this we first need to remember that\n // we fudged decoding CODE_STOP since it actually has 7 bars, not 6. There is a black bar left\n // to read off. Would be slightly better to properly read. Here we just skip it:\n nextStart = row.getNextUnset(nextStart);\n if (!row.isRange(nextStart, Math.min(row.getSize(), nextStart + (nextStart - lastStart) / 2), false)) {\n throw new NotFoundException();\n }\n // Pull out from sum the value of the penultimate check code\n checksumTotal -= multiplier * lastCode;\n // lastCode is the checksum then:\n if (checksumTotal % 103 !== lastCode) {\n throw new ChecksumException();\n }\n // Need to pull out the check digits from string\n var resultLength = result.length;\n if (resultLength === 0) {\n // false positive\n throw new NotFoundException();\n }\n // Only bother if the result had at least one character, and if the checksum digit happened to\n // be a printable character. If it was just interpreted as a control code, nothing to remove.\n if (resultLength > 0 && lastCharacterWasPrintable) {\n if (codeSet === Code128Reader.CODE_CODE_C) {\n result = result.substring(0, resultLength - 2);\n }\n else {\n result = result.substring(0, resultLength - 1);\n }\n }\n var left = (startPatternInfo[1] + startPatternInfo[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n var rawCodesSize = rawCodes.length;\n var rawBytes = new Uint8Array(rawCodesSize);\n for (var i = 0; i < rawCodesSize; i++) {\n rawBytes[i] = rawCodes[i];\n }\n var points = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n return new Result(result, rawBytes, 0, points, BarcodeFormat.CODE_128, new Date().getTime());\n };\n Code128Reader.CODE_PATTERNS = [\n Int32Array.from([2, 1, 2, 2, 2, 2]),\n Int32Array.from([2, 2, 2, 1, 2, 2]),\n Int32Array.from([2, 2, 2, 2, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 2, 3]),\n Int32Array.from([1, 2, 1, 3, 2, 2]),\n Int32Array.from([1, 3, 1, 2, 2, 2]),\n Int32Array.from([1, 2, 2, 2, 1, 3]),\n Int32Array.from([1, 2, 2, 3, 1, 2]),\n Int32Array.from([1, 3, 2, 2, 1, 2]),\n Int32Array.from([2, 2, 1, 2, 1, 3]),\n Int32Array.from([2, 2, 1, 3, 1, 2]),\n Int32Array.from([2, 3, 1, 2, 1, 2]),\n Int32Array.from([1, 1, 2, 2, 3, 2]),\n Int32Array.from([1, 2, 2, 1, 3, 2]),\n Int32Array.from([1, 2, 2, 2, 3, 1]),\n Int32Array.from([1, 1, 3, 2, 2, 2]),\n Int32Array.from([1, 2, 3, 1, 2, 2]),\n Int32Array.from([1, 2, 3, 2, 2, 1]),\n Int32Array.from([2, 2, 3, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 3, 2]),\n Int32Array.from([2, 2, 1, 2, 3, 1]),\n Int32Array.from([2, 1, 3, 2, 1, 2]),\n Int32Array.from([2, 2, 3, 1, 1, 2]),\n Int32Array.from([3, 1, 2, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 2, 2, 2]),\n Int32Array.from([3, 2, 1, 1, 2, 2]),\n Int32Array.from([3, 2, 1, 2, 2, 1]),\n Int32Array.from([3, 1, 2, 2, 1, 2]),\n Int32Array.from([3, 2, 2, 1, 1, 2]),\n Int32Array.from([3, 2, 2, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 2, 3]),\n Int32Array.from([2, 1, 2, 3, 2, 1]),\n Int32Array.from([2, 3, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 3, 2, 3]),\n Int32Array.from([1, 3, 1, 1, 2, 3]),\n Int32Array.from([1, 3, 1, 3, 2, 1]),\n Int32Array.from([1, 1, 2, 3, 1, 3]),\n Int32Array.from([1, 3, 2, 1, 1, 3]),\n Int32Array.from([1, 3, 2, 3, 1, 1]),\n Int32Array.from([2, 1, 1, 3, 1, 3]),\n Int32Array.from([2, 3, 1, 1, 1, 3]),\n Int32Array.from([2, 3, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 3, 3]),\n Int32Array.from([1, 1, 2, 3, 3, 1]),\n Int32Array.from([1, 3, 2, 1, 3, 1]),\n Int32Array.from([1, 1, 3, 1, 2, 3]),\n Int32Array.from([1, 1, 3, 3, 2, 1]),\n Int32Array.from([1, 3, 3, 1, 2, 1]),\n Int32Array.from([3, 1, 3, 1, 2, 1]),\n Int32Array.from([2, 1, 1, 3, 3, 1]),\n Int32Array.from([2, 3, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 3, 1, 1, 3]),\n Int32Array.from([2, 1, 3, 3, 1, 1]),\n Int32Array.from([2, 1, 3, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 2, 3]),\n Int32Array.from([3, 1, 1, 3, 2, 1]),\n Int32Array.from([3, 3, 1, 1, 2, 1]),\n Int32Array.from([3, 1, 2, 1, 1, 3]),\n Int32Array.from([3, 1, 2, 3, 1, 1]),\n Int32Array.from([3, 3, 2, 1, 1, 1]),\n Int32Array.from([3, 1, 4, 1, 1, 1]),\n Int32Array.from([2, 2, 1, 4, 1, 1]),\n Int32Array.from([4, 3, 1, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2, 4]),\n Int32Array.from([1, 1, 1, 4, 2, 2]),\n Int32Array.from([1, 2, 1, 1, 2, 4]),\n Int32Array.from([1, 2, 1, 4, 2, 1]),\n Int32Array.from([1, 4, 1, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 2, 2, 1]),\n Int32Array.from([1, 1, 2, 2, 1, 4]),\n Int32Array.from([1, 1, 2, 4, 1, 2]),\n Int32Array.from([1, 2, 2, 1, 1, 4]),\n Int32Array.from([1, 2, 2, 4, 1, 1]),\n Int32Array.from([1, 4, 2, 1, 1, 2]),\n Int32Array.from([1, 4, 2, 2, 1, 1]),\n Int32Array.from([2, 4, 1, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 1, 4]),\n Int32Array.from([4, 1, 3, 1, 1, 1]),\n Int32Array.from([2, 4, 1, 1, 1, 2]),\n Int32Array.from([1, 3, 4, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 4, 2]),\n Int32Array.from([1, 2, 1, 1, 4, 2]),\n Int32Array.from([1, 2, 1, 2, 4, 1]),\n Int32Array.from([1, 1, 4, 2, 1, 2]),\n Int32Array.from([1, 2, 4, 1, 1, 2]),\n Int32Array.from([1, 2, 4, 2, 1, 1]),\n Int32Array.from([4, 1, 1, 2, 1, 2]),\n Int32Array.from([4, 2, 1, 1, 1, 2]),\n Int32Array.from([4, 2, 1, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 4, 1]),\n Int32Array.from([2, 1, 4, 1, 2, 1]),\n Int32Array.from([4, 1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 1, 4, 3]),\n Int32Array.from([1, 1, 1, 3, 4, 1]),\n Int32Array.from([1, 3, 1, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 1, 3]),\n Int32Array.from([1, 1, 4, 3, 1, 1]),\n Int32Array.from([4, 1, 1, 1, 1, 3]),\n Int32Array.from([4, 1, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 4, 1]),\n Int32Array.from([4, 1, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 1, 4, 1, 2]),\n Int32Array.from([2, 1, 1, 2, 1, 4]),\n Int32Array.from([2, 1, 1, 2, 3, 2]),\n Int32Array.from([2, 3, 3, 1, 1, 1, 2]),\n ];\n Code128Reader.MAX_AVG_VARIANCE = 0.25;\n Code128Reader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n Code128Reader.CODE_SHIFT = 98;\n Code128Reader.CODE_CODE_C = 99;\n Code128Reader.CODE_CODE_B = 100;\n Code128Reader.CODE_CODE_A = 101;\n Code128Reader.CODE_FNC_1 = 102;\n Code128Reader.CODE_FNC_2 = 97;\n Code128Reader.CODE_FNC_3 = 96;\n Code128Reader.CODE_FNC_4_A = 101;\n Code128Reader.CODE_FNC_4_B = 100;\n Code128Reader.CODE_START_A = 103;\n Code128Reader.CODE_START_B = 104;\n Code128Reader.CODE_START_C = 105;\n Code128Reader.CODE_STOP = 106;\n return Code128Reader;\n}(OneDReader));\nexport default Code128Reader;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var __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 Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar WriterException = /** @class */ (function (_super) {\n __extends(WriterException, _super);\n function WriterException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WriterException.kind = 'WriterException';\n return WriterException;\n}(Exception));\nexport default WriterException;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","/*\n * Copyright 2009 ZXing authors\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 */\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.FormatException;\nimport FormatException from '../../FormatException';\n// import com.google.zxing.common.CharacterSetECI;\nimport CharacterSetECI from '../../common/CharacterSetECI';\n// import com.google.zxing.common.DecoderResult;\nimport DecoderResult from '../../common/DecoderResult';\n// import com.google.zxing.pdf417.PDF417ResultMetadata;\nimport PDF417ResultMetadata from '../PDF417ResultMetadata';\n// import java.io.ByteArrayOutputStream;\n// import java.math.BigInteger;\n// import java.nio.charset.Charset;\n// import java.nio.charset.StandardCharsets;\n// import java.util.Arrays;\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\nimport Integer from '../../util/Integer';\nimport Long from '../../util/Long';\nimport ByteArrayOutputStream from '../../util/ByteArrayOutputStream';\nimport StringEncoding from '../../util/StringEncoding';\n/*private*/ var Mode;\n(function (Mode) {\n Mode[Mode[\"ALPHA\"] = 0] = \"ALPHA\";\n Mode[Mode[\"LOWER\"] = 1] = \"LOWER\";\n Mode[Mode[\"MIXED\"] = 2] = \"MIXED\";\n Mode[Mode[\"PUNCT\"] = 3] = \"PUNCT\";\n Mode[Mode[\"ALPHA_SHIFT\"] = 4] = \"ALPHA_SHIFT\";\n Mode[Mode[\"PUNCT_SHIFT\"] = 5] = \"PUNCT_SHIFT\";\n})(Mode || (Mode = {}));\n/**\n * Indirectly access the global BigInt constructor, it\n * allows browsers that doesn't support BigInt to run\n * the library without breaking due to \"undefined BigInt\"\n * errors.\n */\nfunction getBigIntConstructor() {\n if (typeof window !== 'undefined') {\n return window['BigInt'] || null;\n }\n if (typeof global !== 'undefined') {\n return global['BigInt'] || null;\n }\n if (typeof self !== 'undefined') {\n return self['BigInt'] || null;\n }\n throw new Error('Can\\'t search globals for BigInt!');\n}\n/**\n * Used to store the BigInt constructor.\n */\nvar BigInteger;\n/**\n * This function creates a bigint value. It allows browsers\n * that doesn't support BigInt to run the rest of the library\n * by not directly accessing the BigInt constructor.\n */\nfunction createBigInt(num) {\n if (typeof BigInteger === 'undefined') {\n BigInteger = getBigIntConstructor();\n }\n if (BigInteger === null) {\n throw new Error('BigInt is not supported!');\n }\n return BigInteger(num);\n}\nfunction getEXP900() {\n // in Java - array with length = 16\n var EXP900 = [];\n EXP900[0] = createBigInt(1);\n var nineHundred = createBigInt(900);\n EXP900[1] = nineHundred;\n // in Java - array with length = 16\n for (var i /*int*/ = 2; i < 16; i++) {\n EXP900[i] = EXP900[i - 1] * nineHundred;\n }\n return EXP900;\n}\n/**\n *

This class contains the methods for decoding the PDF417 codewords.

\n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n // private DecodedBitStreamParser() {\n // }\n /**\n *\n * @param codewords\n * @param ecLevel\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decode = function (codewords, ecLevel) {\n // pass encoding to result (will be used for decode symbols in byte mode)\n var result = new StringBuilder('');\n // let encoding: Charset = StandardCharsets.ISO_8859_1;\n var encoding = CharacterSetECI.ISO8859_1;\n /**\n * @note the next command is specific from this TypeScript library\n * because TS can't properly cast some values to char and\n * convert it to string later correctly due to encoding\n * differences from Java version. As reported here:\n * https://github.com/zxing-js/library/pull/264/files#r382831593\n */\n result.enableDecoding(encoding);\n // Get compaction mode\n var codeIndex = 1;\n var code = codewords[codeIndex++];\n var resultMetadata = new PDF417ResultMetadata();\n while (codeIndex < codewords[0]) {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n codeIndex = DecodedBitStreamParser.byteCompaction(code, codewords, encoding, codeIndex, result);\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ codewords[codeIndex++]);\n break;\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.ECI_CHARSET:\n var charsetECI = CharacterSetECI.getCharacterSetECIByValue(codewords[codeIndex++]);\n // encoding = Charset.forName(charsetECI.getName());\n break;\n case DecodedBitStreamParser.ECI_GENERAL_PURPOSE:\n // Can't do anything with generic ECI; skip its 2 characters\n codeIndex += 2;\n break;\n case DecodedBitStreamParser.ECI_USER_DEFINED:\n // Can't do anything with user ECI; skip its 1 character\n codeIndex++;\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n codeIndex = DecodedBitStreamParser.decodeMacroBlock(codewords, codeIndex, resultMetadata);\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n // Should not see these outside a macro block\n throw new FormatException();\n default:\n // Default to text compaction. During testing numerous barcodes\n // appeared to be missing the starting mode. In these cases defaulting\n // to text compaction seems to work.\n codeIndex--;\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n }\n if (codeIndex < codewords.length) {\n code = codewords[codeIndex++];\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n if (result.length() === 0) {\n throw FormatException.getFormatInstance();\n }\n var decoderResult = new DecoderResult(null, result.toString(), null, ecLevel);\n decoderResult.setOther(resultMetadata);\n return decoderResult;\n };\n /**\n *\n * @param int\n * @param param1\n * @param codewords\n * @param int\n * @param codeIndex\n * @param PDF417ResultMetadata\n * @param resultMetadata\n *\n * @throws FormatException\n */\n // @SuppressWarnings(\"deprecation\")\n DecodedBitStreamParser.decodeMacroBlock = function (codewords, codeIndex, resultMetadata) {\n if (codeIndex + DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS > codewords[0]) {\n // we must have at least two bytes left for the segment index\n throw FormatException.getFormatInstance();\n }\n var segmentIndexArray = new Int32Array(DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS);\n for (var i /*int*/ = 0; i < DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS; i++, codeIndex++) {\n segmentIndexArray[i] = codewords[codeIndex];\n }\n resultMetadata.setSegmentIndex(Integer.parseInt(DecodedBitStreamParser.decodeBase900toBase10(segmentIndexArray, DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS)));\n var fileId = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, fileId);\n resultMetadata.setFileId(fileId.toString());\n var optionalFieldsStart = -1;\n if (codewords[codeIndex] === DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD) {\n optionalFieldsStart = codeIndex + 1;\n }\n while (codeIndex < codewords[0]) {\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n codeIndex++;\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:\n var fileName = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, fileName);\n resultMetadata.setFileName(fileName.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER:\n var sender = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, sender);\n resultMetadata.setSender(sender.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:\n var addressee = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, addressee);\n resultMetadata.setAddressee(addressee.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:\n var segmentCount = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, segmentCount);\n resultMetadata.setSegmentCount(Integer.parseInt(segmentCount.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:\n var timestamp = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, timestamp);\n resultMetadata.setTimestamp(Long.parseLong(timestamp.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:\n var checksum = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, checksum);\n resultMetadata.setChecksum(Integer.parseInt(checksum.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:\n var fileSize = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, fileSize);\n resultMetadata.setFileSize(Long.parseLong(fileSize.toString()));\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n break;\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex++;\n resultMetadata.setLastSegment(true);\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n }\n // copy optional fields to additional options\n if (optionalFieldsStart !== -1) {\n var optionalFieldsLength = codeIndex - optionalFieldsStart;\n if (resultMetadata.isLastSegment()) {\n // do not include terminator\n optionalFieldsLength--;\n }\n resultMetadata.setOptionalData(Arrays.copyOfRange(codewords, optionalFieldsStart, optionalFieldsStart + optionalFieldsLength));\n }\n return codeIndex;\n };\n /**\n * Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be\n * encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as\n * well as selected control characters.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.textCompaction = function (codewords, codeIndex, result) {\n // 2 character per codeword\n var textCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n // Used to hold the byte compaction value if there is a mode shift\n var byteCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n var index = 0;\n var end = false;\n while ((codeIndex < codewords[0]) && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n textCompactionData[index] = code / 30;\n textCompactionData[index + 1] = code % 30;\n index += 2;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n // reinitialize text compaction mode to alpha sub mode\n textCompactionData[index++] = DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH;\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // The Mode Shift codeword 913 shall cause a temporary\n // switch from Text Compaction mode to Byte Compaction mode.\n // This switch shall be in effect for only the next codeword,\n // after which the mode shall revert to the prevailing sub-mode\n // of the Text Compaction mode. Codeword 913 is only available\n // in Text Compaction mode; its use is described in 5.4.2.4.\n textCompactionData[index] = DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE;\n code = codewords[codeIndex++];\n byteCompactionData[index] = code;\n index++;\n break;\n }\n }\n }\n DecodedBitStreamParser.decodeTextCompaction(textCompactionData, byteCompactionData, index, result);\n return codeIndex;\n };\n /**\n * The Text Compaction mode includes all the printable ASCII characters\n * (i.e. values from 32 to 126) and three ASCII control characters: HT or tab\n * (9: e), LF or line feed (10: e), and CR or carriage\n * return (13: e). The Text Compaction mode also includes various latch\n * and shift characters which are used exclusively within the mode. The Text\n * Compaction mode encodes up to 2 characters per codeword. The compaction rules\n * for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode\n * switches are defined in 5.4.2.3.\n *\n * @param textCompactionData The text compaction data.\n * @param byteCompactionData The byte compaction data if there\n * was a mode shift.\n * @param length The size of the text compaction and byte compaction data.\n * @param result The decoded data is appended to the result.\n */\n DecodedBitStreamParser.decodeTextCompaction = function (textCompactionData, byteCompactionData, length, result) {\n // Beginning from an initial state of the Alpha sub-mode\n // The default compaction mode for PDF417 in effect at the start of each symbol shall always be Text\n // Compaction mode Alpha sub-mode (alphabetic: uppercase). A latch codeword from another mode to the Text\n // Compaction mode shall always switch to the Text Compaction Alpha sub-mode.\n var subMode = Mode.ALPHA;\n var priorToShiftMode = Mode.ALPHA;\n var i = 0;\n while (i < length) {\n var subModeCh = textCompactionData[i];\n var ch = /*char*/ '';\n switch (subMode) {\n case Mode.ALPHA:\n // Alpha (alphabetic: uppercase)\n if (subModeCh < 26) {\n // Upper case Alpha Character\n // Note: 65 = 'A' ASCII -> there is byte code of symbol\n ch = /*(char)('A' + subModeCh) */ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.LOWER:\n // Lower (alphabetic: lowercase)\n if (subModeCh < 26) {\n ch = /*(char)('a' + subModeCh)*/ String.fromCharCode(97 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.AS:\n // Shift to alpha\n priorToShiftMode = subMode;\n subMode = Mode.ALPHA_SHIFT;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // TODO Does this need to use the current character encoding? See other occurrences below\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.MIXED:\n // Mixed (punctuation: e)\n if (subModeCh < DecodedBitStreamParser.PL) {\n ch = DecodedBitStreamParser.MIXED_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PL:\n subMode = Mode.PUNCT;\n break;\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.AL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT:\n // Punctuation\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.ALPHA_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < 26) {\n ch = /*(char)('A' + subModeCh)*/ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // PS before Shift-to-Byte is used as a padding character,\n // see 5.4.2.4 of the specification\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n }\n // if (ch !== 0) {\n if (ch !== '') {\n // Append decoded character to result\n result.append(ch);\n }\n i++;\n }\n };\n /**\n * Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded.\n * This includes all ASCII characters value 0 to 127 inclusive and provides for international\n * character set support.\n *\n * @param mode The byte compaction mode i.e. 901 or 924\n * @param codewords The array of codewords (data + error)\n * @param encoding Currently active character encoding\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.byteCompaction = function (mode, codewords, encoding, codeIndex, result) {\n var decodedBytes = new ByteArrayOutputStream();\n var count = 0;\n var value = /*long*/ 0;\n var end = false;\n switch (mode) {\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n // Total number of Byte Compaction characters to be encoded\n // is not a multiple of 6\n var byteCompactedCodewords = new Int32Array(6);\n var nextCode = codewords[codeIndex++];\n while ((codeIndex < codewords[0]) && !end) {\n byteCompactedCodewords[count++] = nextCode;\n // Base 900\n value = 900 * value + nextCode;\n nextCode = codewords[codeIndex++];\n // perhaps it should be ok to check only nextCode >= TEXT_COMPACTION_MODE_LATCH\n switch (nextCode) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n default:\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n for (var j /*int*/ = 0; j < 6; ++j) {\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n break;\n }\n }\n // if the end of all codewords is reached the last codeword needs to be added\n if (codeIndex === codewords[0] && nextCode < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n byteCompactedCodewords[count++] = nextCode;\n }\n // If Byte Compaction mode is invoked with codeword 901,\n // the last group of codewords is interpreted directly\n // as one byte per codeword, without compaction.\n for (var i /*int*/ = 0; i < count; i++) {\n decodedBytes.write(/*(byte)*/ byteCompactedCodewords[i]);\n }\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n // Total number of Byte Compaction characters to be encoded\n // is an integer multiple of 6\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n count++;\n // Base 900\n value = 900 * value + code;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n for (var j /*int*/ = 0; j < 6; ++j) {\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n }\n break;\n }\n result.append(StringEncoding.decode(decodedBytes.toByteArray(), encoding));\n return codeIndex;\n };\n /**\n * Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.numericCompaction = function (codewords, codeIndex /*int*/, result) {\n var count = 0;\n var end = false;\n var numericCodewords = new Int32Array(DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS);\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (codeIndex === codewords[0]) {\n end = true;\n }\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n numericCodewords[count] = code;\n count++;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS === 0 || code === DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH || end) && count > 0) {\n // Re-invoking Numeric Compaction mode (by using codeword 902\n // while in Numeric Compaction mode) serves to terminate the\n // current Numeric Compaction mode grouping as described in 5.4.4.2,\n // and then to start a new one grouping.\n result.append(DecodedBitStreamParser.decodeBase900toBase10(numericCodewords, count));\n count = 0;\n }\n }\n return codeIndex;\n };\n /**\n * Convert a list of Numeric Compacted codewords from Base 900 to Base 10.\n *\n * @param codewords The array of codewords\n * @param count The number of codewords\n * @return The decoded string representing the Numeric data.\n *\n * EXAMPLE\n * Encode the fifteen digit numeric string 000213298174000\n * Prefix the numeric string with a 1 and set the initial value of\n * t = 1 000 213 298 174 000\n * Calculate codeword 0\n * d0 = 1 000 213 298 174 000 mod 900 = 200\n *\n * t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082\n * Calculate codeword 1\n * d1 = 1 111 348 109 082 mod 900 = 282\n *\n * t = 1 111 348 109 082 div 900 = 1 234 831 232\n * Calculate codeword 2\n * d2 = 1 234 831 232 mod 900 = 632\n *\n * t = 1 234 831 232 div 900 = 1 372 034\n * Calculate codeword 3\n * d3 = 1 372 034 mod 900 = 434\n *\n * t = 1 372 034 div 900 = 1 524\n * Calculate codeword 4\n * d4 = 1 524 mod 900 = 624\n *\n * t = 1 524 div 900 = 1\n * Calculate codeword 5\n * d5 = 1 mod 900 = 1\n * t = 1 div 900 = 0\n * Codeword sequence is: 1, 624, 434, 632, 282, 200\n *\n * Decode the above codewords involves\n * 1 x 900 power of 5 + 624 x 900 power of 4 + 434 x 900 power of 3 +\n * 632 x 900 power of 2 + 282 x 900 power of 1 + 200 x 900 power of 0 = 1000213298174000\n *\n * Remove leading 1 => Result is 000213298174000\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decodeBase900toBase10 = function (codewords, count) {\n var result = createBigInt(0);\n for (var i /*int*/ = 0; i < count; i++) {\n result += DecodedBitStreamParser.EXP900[count - i - 1] * createBigInt(codewords[i]);\n }\n var resultString = result.toString();\n if (resultString.charAt(0) !== '1') {\n throw new FormatException();\n }\n return resultString.substring(1);\n };\n DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH = 900;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH = 901;\n DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH = 902;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6 = 924;\n DecodedBitStreamParser.ECI_USER_DEFINED = 925;\n DecodedBitStreamParser.ECI_GENERAL_PURPOSE = 926;\n DecodedBitStreamParser.ECI_CHARSET = 927;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK = 928;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD = 923;\n DecodedBitStreamParser.MACRO_PDF417_TERMINATOR = 922;\n DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE = 913;\n DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS = 15;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME = 0;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT = 1;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP = 2;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER = 3;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE = 4;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE = 5;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM = 6;\n DecodedBitStreamParser.PL = 25;\n DecodedBitStreamParser.LL = 27;\n DecodedBitStreamParser.AS = 27;\n DecodedBitStreamParser.ML = 28;\n DecodedBitStreamParser.AL = 28;\n DecodedBitStreamParser.PS = 29;\n DecodedBitStreamParser.PAL = 29;\n DecodedBitStreamParser.PUNCT_CHARS = ';<>@[\\\\]_`~!\\r\\t,:\\n-.$/\"|*()?{}\\'';\n DecodedBitStreamParser.MIXED_CHARS = '0123456789&\\r\\t,:#-.$/+%*=^';\n /**\n * Table containing values for the exponent of 900.\n * This is used in the numeric compaction decode algorithm.\n */\n DecodedBitStreamParser.EXP900 = getBigIntConstructor() ? getEXP900() : [];\n DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS = 2;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","/*\n * Copyright 2007 ZXing authors\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 NotFoundException from '../NotFoundException';\n/**\n * Implementations of this class can, given locations of finder patterns for a QR code in an\n * image, sample the right points in the image to reconstruct the QR code, accounting for\n * perspective distortion. It is abstracted since it is relatively expensive and should be allowed\n * to take advantage of platform-specific optimized implementations, like Sun's Java Advanced\n * Imaging library, but which may not be available in other environments such as J2ME, and vice\n * versa.\n *\n * The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}\n * with an instance of a class which implements this interface.\n *\n * @author Sean Owen\n */\nvar GridSampler = /** @class */ (function () {\n function GridSampler() {\n }\n /**\n *

Checks a set of points that have been transformed to sample points on an image against\n * the image's dimensions to see if the point are even within the image.

\n *\n *

This method will actually \"nudge\" the endpoints back onto the image if they are found to be\n * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder\n * patterns in an image where the QR Code runs all the way to the image border.

\n *\n *

For efficiency, the method will check points from either end of the line until one is found\n * to be within the image. Because the set of points are assumed to be linear, this is valid.

\n *\n * @param image image into which the points should map\n * @param points actual points in x1,y1,...,xn,yn form\n * @throws NotFoundException if an endpoint is lies outside the image boundaries\n */\n GridSampler.checkAndNudgePoints = function (image, points) {\n var width = image.getWidth();\n var height = image.getHeight();\n // Check and nudge points from start until we see some that are OK:\n var nudged = true;\n for (var offset = 0; offset < points.length && nudged; offset += 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n // Check and nudge points from end:\n nudged = true;\n for (var offset = points.length - 2; offset >= 0 && nudged; offset -= 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n };\n return GridSampler;\n}());\nexport default GridSampler;\n","/*\n * Copyright 2007 ZXing authors\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 */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitSource from '../../common/BitSource';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport DecoderResult from '../../common/DecoderResult';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport StringBuilder from '../../util/StringBuilder';\nimport StringEncoding from '../../util/StringEncoding';\nimport Mode from './Mode';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n *

QR Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one QR Code. This class decodes the bits back into text.

\n *\n *

See ISO 18004:2006, 6.4.3 - 6.4.7

\n *\n * @author Sean Owen\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n DecodedBitStreamParser.decode = function (bytes, version, ecLevel, hints) {\n var bits = new BitSource(bytes);\n var result = new StringBuilder();\n var byteSegments = new Array(); // 1\n // TYPESCRIPTPORT: I do not use constructor with size 1 as in original Java means capacity and the array length is checked below\n var symbolSequence = -1;\n var parityData = -1;\n try {\n var currentCharacterSetECI = null;\n var fc1InEffect = false;\n var mode = void 0;\n do {\n // While still another segment to read...\n if (bits.available() < 4) {\n // OK, assume we're done. Really, a TERMINATOR mode should have been recorded here\n mode = Mode.TERMINATOR;\n }\n else {\n var modeBits = bits.readBits(4);\n mode = Mode.forBits(modeBits); // mode is encoded by 4 bits\n }\n switch (mode) {\n case Mode.TERMINATOR:\n break;\n case Mode.FNC1_FIRST_POSITION:\n case Mode.FNC1_SECOND_POSITION:\n // We do little with FNC1 except alter the parsed result a bit according to the spec\n fc1InEffect = true;\n break;\n case Mode.STRUCTURED_APPEND:\n if (bits.available() < 16) {\n throw new FormatException();\n }\n // sequence number and parity is added later to the result metadata\n // Read next 8 bits (symbol sequence #) and 8 bits (data: parity), then continue\n symbolSequence = bits.readBits(8);\n parityData = bits.readBits(8);\n break;\n case Mode.ECI:\n // Count doesn't apply to ECI\n var value = DecodedBitStreamParser.parseECIValue(bits);\n currentCharacterSetECI = CharacterSetECI.getCharacterSetECIByValue(value);\n if (currentCharacterSetECI === null) {\n throw new FormatException();\n }\n break;\n case Mode.HANZI:\n // First handle Hanzi mode which does not start with character count\n // Chinese mode contains a sub set indicator right after mode indicator\n var subset = bits.readBits(4);\n var countHanzi = bits.readBits(mode.getCharacterCountBits(version));\n if (subset === DecodedBitStreamParser.GB2312_SUBSET) {\n DecodedBitStreamParser.decodeHanziSegment(bits, result, countHanzi);\n }\n break;\n default:\n // \"Normal\" QR code modes:\n // How many characters will follow, encoded in this mode?\n var count = bits.readBits(mode.getCharacterCountBits(version));\n switch (mode) {\n case Mode.NUMERIC:\n DecodedBitStreamParser.decodeNumericSegment(bits, result, count);\n break;\n case Mode.ALPHANUMERIC:\n DecodedBitStreamParser.decodeAlphanumericSegment(bits, result, count, fc1InEffect);\n break;\n case Mode.BYTE:\n DecodedBitStreamParser.decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments, hints);\n break;\n case Mode.KANJI:\n DecodedBitStreamParser.decodeKanjiSegment(bits, result, count);\n break;\n default:\n throw new FormatException();\n }\n break;\n }\n } while (mode !== Mode.TERMINATOR);\n }\n catch (iae /*: IllegalArgumentException*/) {\n // from readBits() calls\n throw new FormatException();\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, ecLevel === null ? null : ecLevel.toString(), symbolSequence, parityData);\n };\n /**\n * See specification GBT 18284-2000\n */\n DecodedBitStreamParser.decodeHanziSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as GB2312 afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x060) << 8) & 0xFFFFFFFF) | (twoBytes % 0x060);\n if (assembledTwoBytes < 0x003BF) {\n // In the 0xA1A1 to 0xAAFE range\n assembledTwoBytes += 0x0A1A1;\n }\n else {\n // In the 0xB0A1 to 0xFAFE range\n assembledTwoBytes += 0x0A6A1;\n }\n buffer[offset] = /*(byte) */ ((assembledTwoBytes >> 8) & 0xFF);\n buffer[offset + 1] = /*(byte) */ (assembledTwoBytes & 0xFF);\n offset += 2;\n count--;\n }\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.GB2312));\n // TYPESCRIPTPORT: TODO: implement GB2312 decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeKanjiSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as Shift_JIS afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x0C0) << 8) & 0xFFFFFFFF) | (twoBytes % 0x0C0);\n if (assembledTwoBytes < 0x01F00) {\n // In the 0x8140 to 0x9FFC range\n assembledTwoBytes += 0x08140;\n }\n else {\n // In the 0xE040 to 0xEBBF range\n assembledTwoBytes += 0x0C140;\n }\n buffer[offset] = /*(byte) */ (assembledTwoBytes >> 8);\n buffer[offset + 1] = /*(byte) */ assembledTwoBytes;\n offset += 2;\n count--;\n }\n // Shift_JIS may not be supported in some environments:\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.SHIFT_JIS));\n // TYPESCRIPTPORT: TODO: implement SHIFT_JIS decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeByteSegment = function (bits, result, count /*int*/, currentCharacterSetECI, byteSegments, hints) {\n // Don't crash trying to read more bits than we have available.\n if (8 * count > bits.available()) {\n throw new FormatException();\n }\n var readBytes = new Uint8Array(count);\n for (var i = 0; i < count; i++) {\n readBytes[i] = /*(byte) */ bits.readBits(8);\n }\n var encoding;\n if (currentCharacterSetECI === null) {\n // The spec isn't clear on this mode; see\n // section 6.4.5: t does not say which encoding to assuming\n // upon decoding. I have seen ISO-8859-1 used as well as\n // Shift_JIS -- without anything like an ECI designator to\n // give a hint.\n encoding = StringUtils.guessEncoding(readBytes, hints);\n }\n else {\n encoding = currentCharacterSetECI.getName();\n }\n try {\n result.append(StringEncoding.decode(readBytes, encoding));\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n byteSegments.push(readBytes);\n };\n DecodedBitStreamParser.toAlphaNumericChar = function (value /*int*/) {\n if (value >= DecodedBitStreamParser.ALPHANUMERIC_CHARS.length) {\n throw new FormatException();\n }\n return DecodedBitStreamParser.ALPHANUMERIC_CHARS[value];\n };\n DecodedBitStreamParser.decodeAlphanumericSegment = function (bits, result, count /*int*/, fc1InEffect) {\n // Read two characters at a time\n var start = result.length();\n while (count > 1) {\n if (bits.available() < 11) {\n throw new FormatException();\n }\n var nextTwoCharsBits = bits.readBits(11);\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(nextTwoCharsBits / 45)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(nextTwoCharsBits % 45));\n count -= 2;\n }\n if (count === 1) {\n // special case: one character left\n if (bits.available() < 6) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(bits.readBits(6)));\n }\n // See section 6.4.8.1, 6.4.8.2\n if (fc1InEffect) {\n // We need to massage the result a bit if in an FNC1 mode:\n for (var i = start; i < result.length(); i++) {\n if (result.charAt(i) === '%') {\n if (i < result.length() - 1 && result.charAt(i + 1) === '%') {\n // %% is rendered as %\n result.deleteCharAt(i + 1);\n }\n else {\n // In alpha mode, % should be converted to FNC1 separator 0x1D\n result.setCharAt(i, String.fromCharCode(0x1D));\n }\n }\n }\n }\n };\n DecodedBitStreamParser.decodeNumericSegment = function (bits, result, count /*int*/) {\n // Read three digits at a time\n while (count >= 3) {\n // Each 10 bits encodes three digits\n if (bits.available() < 10) {\n throw new FormatException();\n }\n var threeDigitsBits = bits.readBits(10);\n if (threeDigitsBits >= 1000) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 100)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 10) % 10));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(threeDigitsBits % 10));\n count -= 3;\n }\n if (count === 2) {\n // Two digits left over to read, encoded in 7 bits\n if (bits.available() < 7) {\n throw new FormatException();\n }\n var twoDigitsBits = bits.readBits(7);\n if (twoDigitsBits >= 100) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(twoDigitsBits / 10)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(twoDigitsBits % 10));\n }\n else if (count === 1) {\n // One digit left over to read\n if (bits.available() < 4) {\n throw new FormatException();\n }\n var digitBits = bits.readBits(4);\n if (digitBits >= 10) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(digitBits));\n }\n };\n DecodedBitStreamParser.parseECIValue = function (bits) {\n var firstByte = bits.readBits(8);\n if ((firstByte & 0x80) === 0) {\n // just one byte\n return firstByte & 0x7F;\n }\n if ((firstByte & 0xC0) === 0x80) {\n // two bytes\n var secondByte = bits.readBits(8);\n return (((firstByte & 0x3F) << 8) & 0xFFFFFFFF) | secondByte;\n }\n if ((firstByte & 0xE0) === 0xC0) {\n // three bytes\n var secondThirdBytes = bits.readBits(16);\n return (((firstByte & 0x1F) << 16) & 0xFFFFFFFF) | secondThirdBytes;\n }\n throw new FormatException();\n };\n /**\n * See ISO 18004:2006, 6.4.4 Table 5\n */\n DecodedBitStreamParser.ALPHANUMERIC_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:';\n DecodedBitStreamParser.GB2312_SUBSET = 1;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n// function Uint8ArrayToString(a: Uint8Array): string {\n// const CHUNK_SZ = 0x8000;\n// const c = new StringBuilder();\n// for (let i = 0, length = a.length; i < length; i += CHUNK_SZ) {\n// c.append(String.fromCharCode.apply(null, a.subarray(i, i + CHUNK_SZ)));\n// }\n// return c.toString();\n// }\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","/*\n * Copyright 2007 ZXing authors\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 */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ArgumentException from '../../ArgumentException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nexport var ErrorCorrectionLevelValues;\n(function (ErrorCorrectionLevelValues) {\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"L\"] = 0] = \"L\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"M\"] = 1] = \"M\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"Q\"] = 2] = \"Q\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"H\"] = 3] = \"H\";\n})(ErrorCorrectionLevelValues || (ErrorCorrectionLevelValues = {}));\n/**\n *

See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels\n * defined by the QR code standard.

\n *\n * @author Sean Owen\n */\nvar ErrorCorrectionLevel = /** @class */ (function () {\n function ErrorCorrectionLevel(value, stringValue, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.bits = bits;\n ErrorCorrectionLevel.FOR_BITS.set(bits, this);\n ErrorCorrectionLevel.FOR_VALUE.set(value, this);\n }\n ErrorCorrectionLevel.prototype.getValue = function () {\n return this.value;\n };\n ErrorCorrectionLevel.prototype.getBits = function () {\n return this.bits;\n };\n ErrorCorrectionLevel.fromString = function (s) {\n switch (s) {\n case 'L': return ErrorCorrectionLevel.L;\n case 'M': return ErrorCorrectionLevel.M;\n case 'Q': return ErrorCorrectionLevel.Q;\n case 'H': return ErrorCorrectionLevel.H;\n default: throw new ArgumentException(s + 'not available');\n }\n };\n ErrorCorrectionLevel.prototype.toString = function () {\n return this.stringValue;\n };\n ErrorCorrectionLevel.prototype.equals = function (o) {\n if (!(o instanceof ErrorCorrectionLevel)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n /**\n * @param bits int containing the two bits encoding a QR Code's error correction level\n * @return ErrorCorrectionLevel representing the encoded error correction level\n */\n ErrorCorrectionLevel.forBits = function (bits /*int*/) {\n if (bits < 0 || bits >= ErrorCorrectionLevel.FOR_BITS.size) {\n throw new IllegalArgumentException();\n }\n return ErrorCorrectionLevel.FOR_BITS.get(bits);\n };\n ErrorCorrectionLevel.FOR_BITS = new Map();\n ErrorCorrectionLevel.FOR_VALUE = new Map();\n /** L = ~7% correction */\n ErrorCorrectionLevel.L = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.L, 'L', 0x01);\n /** M = ~15% correction */\n ErrorCorrectionLevel.M = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.M, 'M', 0x00);\n /** Q = ~25% correction */\n ErrorCorrectionLevel.Q = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.Q, 'Q', 0x03);\n /** H = ~30% correction */\n ErrorCorrectionLevel.H = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.H, 'H', 0x02);\n return ErrorCorrectionLevel;\n}());\nexport default ErrorCorrectionLevel;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","/*\n * Copyright 2007 ZXing authors\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})();\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGFPoly from './GenericGFPoly';\nimport AbstractGenericGF from './AbstractGenericGF';\nimport Integer from '../../util/Integer';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nimport ArithmeticException from '../../ArithmeticException';\n/**\n *

This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

\n *\n *

Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

\n *\n * @author Sean Owen\n * @author David Olivier\n */\nvar GenericGF = /** @class */ (function (_super) {\n __extends(GenericGF, _super);\n /**\n * Create a representation of GF(size) using the given primitive polynomial.\n *\n * @param primitive irreducible polynomial whose coefficients are represented by\n * the bits of an int, where the least-significant bit represents the constant\n * coefficient\n * @param size the size of the field\n * @param b the factor b in the generator polynomial can be 0- or 1-based\n * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).\n * In most cases it should be 1, but for QR code it is 0.\n */\n function GenericGF(primitive /*int*/, size /*int*/, generatorBase /*int*/) {\n var _this = _super.call(this) || this;\n _this.primitive = primitive;\n _this.size = size;\n _this.generatorBase = generatorBase;\n var expTable = new Int32Array(size);\n var x = 1;\n for (var i = 0; i < size; i++) {\n expTable[i] = x;\n x *= 2; // we're assuming the generator alpha is 2\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n _this.expTable = expTable;\n var logTable = new Int32Array(size);\n for (var i = 0; i < size - 1; i++) {\n logTable[expTable[i]] = i;\n }\n _this.logTable = logTable;\n // logTable[0] == 0 but this should never be used\n _this.zero = new GenericGFPoly(_this, Int32Array.from([0]));\n _this.one = new GenericGFPoly(_this, Int32Array.from([1]));\n return _this;\n }\n GenericGF.prototype.getZero = function () {\n return this.zero;\n };\n GenericGF.prototype.getOne = function () {\n return this.one;\n };\n /**\n * @return the monomial representing coefficient * x^degree\n */\n GenericGF.prototype.buildMonomial = function (degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n };\n /**\n * @return multiplicative inverse of a\n */\n GenericGF.prototype.inverse = function (a /*int*/) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n };\n /**\n * @return product of a and b in GF(size)\n */\n GenericGF.prototype.multiply = function (a /*int*/, b /*int*/) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n };\n GenericGF.prototype.getSize = function () {\n return this.size;\n };\n GenericGF.prototype.getGeneratorBase = function () {\n return this.generatorBase;\n };\n /*@Override*/\n GenericGF.prototype.toString = function () {\n return ('GF(0x' + Integer.toHexString(this.primitive) + ',' + this.size + ')');\n };\n GenericGF.prototype.equals = function (o) {\n return o === this;\n };\n GenericGF.AZTEC_DATA_12 = new GenericGF(0x1069, 4096, 1); // x^12 + x^6 + x^5 + x^3 + 1\n GenericGF.AZTEC_DATA_10 = new GenericGF(0x409, 1024, 1); // x^10 + x^3 + 1\n GenericGF.AZTEC_DATA_6 = new GenericGF(0x43, 64, 1); // x^6 + x + 1\n GenericGF.AZTEC_PARAM = new GenericGF(0x13, 16, 1); // x^4 + x + 1\n GenericGF.QR_CODE_FIELD_256 = new GenericGF(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n GenericGF.DATA_MATRIX_FIELD_256 = new GenericGF(0x012d, 256, 1); // x^8 + x^5 + x^3 + x^2 + 1\n GenericGF.AZTEC_DATA_8 = GenericGF.DATA_MATRIX_FIELD_256;\n GenericGF.MAXICODE_FIELD_64 = GenericGF.AZTEC_DATA_6;\n return GenericGF;\n}(AbstractGenericGF));\nexport default GenericGF;\n","/*\n * Copyright 2009 ZXing authors\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 */\n/**\n * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.\n * It allows the algorithm to vary polymorphically, for example allowing a very expensive\n * thresholding technique for servers and a fast one for mobile. It also permits the implementation\n * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar Binarizer = /** @class */ (function () {\n function Binarizer(source) {\n this.source = source;\n }\n Binarizer.prototype.getLuminanceSource = function () {\n return this.source;\n };\n Binarizer.prototype.getWidth = function () {\n return this.source.getWidth();\n };\n Binarizer.prototype.getHeight = function () {\n return this.source.getHeight();\n };\n return Binarizer;\n}());\nexport default Binarizer;\n","/*\n * Copyright 2009 ZXing authors\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 GlobalHistogramBinarizer from './GlobalHistogramBinarizer';\nimport BitMatrix from './BitMatrix';\n/**\n * This class implements a local thresholding algorithm, which while slower than the\n * GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for\n * high frequency images of barcodes with black data on white backgrounds. For this application,\n * it does a much better job than a global blackpoint with severe shadows and gradients.\n * However it tends to produce artifacts on lower frequency images and is therefore not\n * a good general purpose binarizer for uses outside ZXing.\n *\n * This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers,\n * and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already\n * inherently local, and only fails for horizontal gradients. We can revisit that problem later,\n * but for now it was not a win to use local blocks for 1D.\n *\n * This Binarizer is the default for the unit tests and the recommended class for library users.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar HybridBinarizer = /** @class */ (function (_super) {\n __extends(HybridBinarizer, _super);\n function HybridBinarizer(source) {\n var _this = _super.call(this, source) || this;\n _this.matrix = null;\n return _this;\n }\n /**\n * Calculates the final BitMatrix once for all requests. This could be called once from the\n * constructor instead, but there are some advantages to doing it lazily, such as making\n * profiling easier, and not doing heavy lifting when callers don't expect it.\n */\n /*@Override*/\n HybridBinarizer.prototype.getBlackMatrix = function () {\n if (this.matrix !== null) {\n return this.matrix;\n }\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n var height = source.getHeight();\n if (width >= HybridBinarizer.MINIMUM_DIMENSION && height >= HybridBinarizer.MINIMUM_DIMENSION) {\n var luminances = source.getMatrix();\n var subWidth = width >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((width & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subWidth++;\n }\n var subHeight = height >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((height & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subHeight++;\n }\n var blackPoints = HybridBinarizer.calculateBlackPoints(luminances, subWidth, subHeight, width, height);\n var newMatrix = new BitMatrix(width, height);\n HybridBinarizer.calculateThresholdForBlock(luminances, subWidth, subHeight, width, height, blackPoints, newMatrix);\n this.matrix = newMatrix;\n }\n else {\n // If the image is too small, fall back to the global histogram approach.\n this.matrix = _super.prototype.getBlackMatrix.call(this);\n }\n return this.matrix;\n };\n /*@Override*/\n HybridBinarizer.prototype.createBinarizer = function (source) {\n return new HybridBinarizer(source);\n };\n /**\n * For each block in the image, calculate the average black point using a 5x5 grid\n * of the blocks around it. Also handles the corner cases (fractional blocks are computed based\n * on the last pixels in the row/column which are also used in the previous block).\n */\n HybridBinarizer.calculateThresholdForBlock = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/, blackPoints, matrix) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n for (var y = 0; y < subHeight; y++) {\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n var top_1 = HybridBinarizer.cap(y, 2, subHeight - 3);\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var left = HybridBinarizer.cap(x, 2, subWidth - 3);\n var sum = 0;\n for (var z = -2; z <= 2; z++) {\n var blackRow = blackPoints[top_1 + z];\n sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2];\n }\n var average = sum / 25;\n HybridBinarizer.thresholdBlock(luminances, xoffset, yoffset, average, width, matrix);\n }\n }\n };\n HybridBinarizer.cap = function (value /*int*/, min /*int*/, max /*int*/) {\n return value < min ? min : value > max ? max : value;\n };\n /**\n * Applies a single threshold to a block of pixels.\n */\n HybridBinarizer.thresholdBlock = function (luminances, xoffset /*int*/, yoffset /*int*/, threshold /*int*/, stride /*int*/, matrix) {\n for (var y = 0, offset = yoffset * stride + xoffset; y < HybridBinarizer.BLOCK_SIZE; y++, offset += stride) {\n for (var x = 0; x < HybridBinarizer.BLOCK_SIZE; x++) {\n // Comparison needs to be <= so that black == 0 pixels are black even if the threshold is 0.\n if ((luminances[offset + x] & 0xFF) <= threshold) {\n matrix.set(xoffset + x, yoffset + y);\n }\n }\n }\n };\n /**\n * Calculates a single black point for each block of pixels and saves it away.\n * See the following thread for a discussion of this algorithm:\n * http://groups.google.com/group/zxing/browse_thread/thread/d06efa2c35a7ddc0\n */\n HybridBinarizer.calculateBlackPoints = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n // tslint:disable-next-line:whitespace\n var blackPoints = new Array(subHeight); // subWidth\n for (var y = 0; y < subHeight; y++) {\n blackPoints[y] = new Int32Array(subWidth);\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var sum = 0;\n var min = 0xFF;\n var max = 0;\n for (var yy = 0, offset = yoffset * width + xoffset; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n var pixel = luminances[offset + xx] & 0xFF;\n sum += pixel;\n // still looking for good contrast\n if (pixel < min) {\n min = pixel;\n }\n if (pixel > max) {\n max = pixel;\n }\n }\n // short-circuit min/max tests once dynamic range is met\n if (max - min > HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // finish the rest of the rows quickly\n for (yy++, offset += width; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n sum += luminances[offset + xx] & 0xFF;\n }\n }\n }\n }\n // The default estimate is the average of the values in the block.\n var average = sum >> (HybridBinarizer.BLOCK_SIZE_POWER * 2);\n if (max - min <= HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // The default assumption is that the block is light/background. Since no estimate for\n // the level of dark pixels exists locally, use half the min for the block.\n average = min / 2;\n if (y > 0 && x > 0) {\n // Correct the \"white background\" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n var averageNeighborBlackPoint = (blackPoints[y - 1][x] + (2 * blackPoints[y][x - 1]) + blackPoints[y - 1][x - 1]) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints[y][x] = average;\n }\n }\n return blackPoints;\n };\n // This class uses 5x5 blocks to compute local luminance, where each block is 8x8 pixels.\n // So this is the smallest dimension in each axis we can accept.\n HybridBinarizer.BLOCK_SIZE_POWER = 3;\n HybridBinarizer.BLOCK_SIZE = 1 << HybridBinarizer.BLOCK_SIZE_POWER; // ...0100...00\n HybridBinarizer.BLOCK_SIZE_MASK = HybridBinarizer.BLOCK_SIZE - 1; // ...0011...11\n HybridBinarizer.MINIMUM_DIMENSION = HybridBinarizer.BLOCK_SIZE * 5;\n HybridBinarizer.MIN_DYNAMIC_RANGE = 24;\n return HybridBinarizer;\n}(GlobalHistogramBinarizer));\nexport default HybridBinarizer;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","/*\n * Copyright 2009 ZXing authors\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 IllegalArgumentException from './IllegalArgumentException';\nvar BinaryBitmap = /** @class */ (function () {\n function BinaryBitmap(binarizer) {\n this.binarizer = binarizer;\n if (binarizer === null) {\n throw new IllegalArgumentException('Binarizer must be non-null.');\n }\n }\n /**\n * @return The width of the bitmap.\n */\n BinaryBitmap.prototype.getWidth = function () {\n return this.binarizer.getWidth();\n };\n /**\n * @return The height of the bitmap.\n */\n BinaryBitmap.prototype.getHeight = function () {\n return this.binarizer.getHeight();\n };\n /**\n * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return\n * cached data. Callers should assume this method is expensive and call it as seldom as possible.\n * This method is intended for decoding 1D barcodes and may choose to apply sharpening.\n *\n * @param y The row to fetch, which must be in [0, bitmap height)\n * @param row An optional preallocated array. If null or too small, it will be ignored.\n * If used, the Binarizer will call BitArray.clear(). Always use the returned object.\n * @return The array of bits for this row (true means black).\n * @throws NotFoundException if row can't be binarized\n */\n BinaryBitmap.prototype.getBlackRow = function (y /*int*/, row) {\n return this.binarizer.getBlackRow(y, row);\n };\n /**\n * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive\n * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or\n * may not apply sharpening. Therefore, a row from this matrix may not be identical to one\n * fetched using getBlackRow(), so don't mix and match between them.\n *\n * @return The 2D array of bits for the image (true means black).\n * @throws NotFoundException if image can't be binarized to make a matrix\n */\n BinaryBitmap.prototype.getBlackMatrix = function () {\n // The matrix is created on demand the first time it is requested, then cached. There are two\n // reasons for this:\n // 1. This work will never be done if the caller only installs 1D Reader objects, or if a\n // 1D Reader finds a barcode before the 2D Readers run.\n // 2. This work will only be done once even if the caller installs multiple 2D Readers.\n if (this.matrix === null || this.matrix === undefined) {\n this.matrix = this.binarizer.getBlackMatrix();\n }\n return this.matrix;\n };\n /**\n * @return Whether this bitmap can be cropped.\n */\n BinaryBitmap.prototype.isCropSupported = function () {\n return this.binarizer.getLuminanceSource().isCropSupported();\n };\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n BinaryBitmap.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n var newSource = this.binarizer.getLuminanceSource().crop(left, top, width, height);\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * @return Whether this bitmap supports counter-clockwise rotation.\n */\n BinaryBitmap.prototype.isRotateSupported = function () {\n return this.binarizer.getLuminanceSource().isRotateSupported();\n };\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise45 = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise45();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /*@Override*/\n BinaryBitmap.prototype.toString = function () {\n try {\n return this.getBlackMatrix().toString();\n }\n catch (e /*: NotFoundException*/) {\n return '';\n }\n };\n return BinaryBitmap;\n}());\nexport default BinaryBitmap;\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = {\n \"version\": \"0.24.0\"\n};","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","var classof = require('../internals/classof-raw');\n\nmodule.exports = typeof process != 'undefined' && classof(process) == 'process';\n","/*\n * Copyright 2007 ZXing authors\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 */\n/*namespace com.google.zxing.common {*/\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

This provides an easy abstraction to read bits at a time from a sequence of bytes, where the\n * number of bits read is not often a multiple of 8.

\n *\n *

This class is thread-safe but not reentrant -- unless the caller modifies the bytes array\n * it passed in, in which case all bets are off.

\n *\n * @author Sean Owen\n */\nvar BitSource = /** @class */ (function () {\n /**\n * @param bytes bytes from which this will read bits. Bits will be read from the first byte first.\n * Bits are read within a byte from most-significant to least-significant bit.\n */\n function BitSource(bytes) {\n this.bytes = bytes;\n this.byteOffset = 0;\n this.bitOffset = 0;\n }\n /**\n * @return index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getBitOffset = function () {\n return this.bitOffset;\n };\n /**\n * @return index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getByteOffset = function () {\n return this.byteOffset;\n };\n /**\n * @param numBits number of bits to read\n * @return int representing the bits read. The bits will appear as the least-significant\n * bits of the int\n * @throws IllegalArgumentException if numBits isn't in [1,32] or more than is available\n */\n BitSource.prototype.readBits = function (numBits /*int*/) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new IllegalArgumentException('' + numBits);\n }\n var result = 0;\n var bitOffset = this.bitOffset;\n var byteOffset = this.byteOffset;\n var bytes = this.bytes;\n // First, read remainder from current byte\n if (bitOffset > 0) {\n var bitsLeft = 8 - bitOffset;\n var toRead = numBits < bitsLeft ? numBits : bitsLeft;\n var bitsToNotRead = bitsLeft - toRead;\n var mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (bytes[byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n bitOffset += toRead;\n if (bitOffset === 8) {\n bitOffset = 0;\n byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (bytes[byteOffset] & 0xFF);\n byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n var bitsToNotRead = 8 - numBits;\n var mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead);\n bitOffset += numBits;\n }\n }\n this.bitOffset = bitOffset;\n this.byteOffset = byteOffset;\n return result;\n };\n /**\n * @return number of bits that can be read successfully\n */\n BitSource.prototype.available = function () {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n };\n return BitSource;\n}());\nexport default BitSource;\n","var __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 { BrowserCodeReader } from './BrowserCodeReader';\nimport PDF417Reader from '../core/pdf417/PDF417Reader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserPDF417Reader = /** @class */ (function (_super) {\n __extends(BrowserPDF417Reader, _super);\n /**\n * Creates an instance of BrowserPDF417Reader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserPDF417Reader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new PDF417Reader(), timeBetweenScansMillis) || this;\n }\n return BrowserPDF417Reader;\n}(BrowserCodeReader));\nexport { BrowserPDF417Reader };\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var System = /** @class */ (function () {\n function System() {\n }\n // public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)\n /**\n * Makes a copy of a array.\n */\n System.arraycopy = function (src, srcPos, dest, destPos, length) {\n // TODO: better use split or set?\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n };\n /**\n * Returns the current time in milliseconds.\n */\n System.currentTimeMillis = function () {\n return Date.now();\n };\n return System;\n}());\nexport default System;\n","/*\n * Copyright 2008 ZXing authors\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 */\n/*namespace com.google.zxing {*/\n/**\n * Represents some type of metadata about the result of the decoding that the decoder\n * wishes to communicate back to the caller.\n *\n * @author Sean Owen\n */\nvar ResultMetadataType;\n(function (ResultMetadataType) {\n /**\n * Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.\n */\n ResultMetadataType[ResultMetadataType[\"OTHER\"] = 0] = \"OTHER\";\n /**\n * Denotes the likely approximate orientation of the barcode in the image. This value\n * is given as degrees rotated clockwise from the normal, upright orientation.\n * For example a 1D barcode which was found by reading top-to-bottom would be\n * said to have orientation \"90\". This key maps to an {@link Integer} whose\n * value is in the range [0,360).\n */\n ResultMetadataType[ResultMetadataType[\"ORIENTATION\"] = 1] = \"ORIENTATION\";\n /**\n *

2D barcode formats typically encode text, but allow for a sort of 'byte mode'\n * which is sometimes used to encode binary data. While {@link Result} makes available\n * the complete raw bytes in the barcode for these formats, it does not offer the bytes\n * from the byte segments alone.

\n *\n *

This maps to a {@link java.util.List} of byte arrays corresponding to the\n * raw bytes in the byte segments in the barcode, in order.

\n */\n ResultMetadataType[ResultMetadataType[\"BYTE_SEGMENTS\"] = 2] = \"BYTE_SEGMENTS\";\n /**\n * Error correction level used, if applicable. The value type depends on the\n * format, but is typically a String.\n */\n ResultMetadataType[ResultMetadataType[\"ERROR_CORRECTION_LEVEL\"] = 3] = \"ERROR_CORRECTION_LEVEL\";\n /**\n * For some periodicals, indicates the issue number as an {@link Integer}.\n */\n ResultMetadataType[ResultMetadataType[\"ISSUE_NUMBER\"] = 4] = \"ISSUE_NUMBER\";\n /**\n * For some products, indicates the suggested retail price in the barcode as a\n * formatted {@link String}.\n */\n ResultMetadataType[ResultMetadataType[\"SUGGESTED_PRICE\"] = 5] = \"SUGGESTED_PRICE\";\n /**\n * For some products, the possible country of manufacture as a {@link String} denoting the\n * ISO country code. Some map to multiple possible countries, like \"US/CA\".\n */\n ResultMetadataType[ResultMetadataType[\"POSSIBLE_COUNTRY\"] = 6] = \"POSSIBLE_COUNTRY\";\n /**\n * For some products, the extension text\n */\n ResultMetadataType[ResultMetadataType[\"UPC_EAN_EXTENSION\"] = 7] = \"UPC_EAN_EXTENSION\";\n /**\n * PDF417-specific metadata\n */\n ResultMetadataType[ResultMetadataType[\"PDF417_EXTRA_METADATA\"] = 8] = \"PDF417_EXTRA_METADATA\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * sequence number is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_SEQUENCE\"] = 9] = \"STRUCTURED_APPEND_SEQUENCE\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * parity is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_PARITY\"] = 10] = \"STRUCTURED_APPEND_PARITY\";\n})(ResultMetadataType || (ResultMetadataType = {}));\nexport default ResultMetadataType;\n","import StringUtils from '../common/StringUtils';\nvar StringBuilder = /** @class */ (function () {\n function StringBuilder(value) {\n if (value === void 0) { value = ''; }\n this.value = value;\n }\n StringBuilder.prototype.enableDecoding = function (encoding) {\n this.encoding = encoding;\n return this;\n };\n StringBuilder.prototype.append = function (s) {\n if (typeof s === 'string') {\n this.value += s.toString();\n }\n else if (this.encoding) {\n // use passed format (fromCharCode will return UTF8 encoding)\n this.value += StringUtils.castAsNonUtf8Char(s, this.encoding);\n }\n else {\n // correctly converts from UTF-8, but not other encodings\n this.value += String.fromCharCode(s);\n }\n return this;\n };\n StringBuilder.prototype.appendChars = function (str, offset, len) {\n for (var i = offset; offset < offset + len; i++) {\n this.append(str[i]);\n }\n return this;\n };\n StringBuilder.prototype.length = function () {\n return this.value.length;\n };\n StringBuilder.prototype.charAt = function (n) {\n return this.value.charAt(n);\n };\n StringBuilder.prototype.deleteCharAt = function (n) {\n this.value = this.value.substr(0, n) + this.value.substring(n + 1);\n };\n StringBuilder.prototype.setCharAt = function (n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + 1);\n };\n StringBuilder.prototype.substring = function (start, end) {\n return this.value.substring(start, end);\n };\n /**\n * @note helper method for RSS Expanded\n */\n StringBuilder.prototype.setLengthToZero = function () {\n this.value = '';\n };\n StringBuilder.prototype.toString = function () {\n return this.value;\n };\n StringBuilder.prototype.insert = function (n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + c.length);\n };\n return StringBuilder;\n}());\nexport default StringBuilder;\n","/*\n * Copyright 2008 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.common {*/\nimport FormatException from '../FormatException';\n/*import java.util.HashMap;*/\n/*import java.util.Map;*/\nexport var CharacterSetValueIdentifiers;\n(function (CharacterSetValueIdentifiers) {\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp437\"] = 0] = \"Cp437\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_1\"] = 1] = \"ISO8859_1\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_2\"] = 2] = \"ISO8859_2\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_3\"] = 3] = \"ISO8859_3\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_4\"] = 4] = \"ISO8859_4\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_5\"] = 5] = \"ISO8859_5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_6\"] = 6] = \"ISO8859_6\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_7\"] = 7] = \"ISO8859_7\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_8\"] = 8] = \"ISO8859_8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_9\"] = 9] = \"ISO8859_9\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_10\"] = 10] = \"ISO8859_10\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_11\"] = 11] = \"ISO8859_11\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_13\"] = 12] = \"ISO8859_13\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_14\"] = 13] = \"ISO8859_14\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_15\"] = 14] = \"ISO8859_15\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_16\"] = 15] = \"ISO8859_16\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"SJIS\"] = 16] = \"SJIS\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1250\"] = 17] = \"Cp1250\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1251\"] = 18] = \"Cp1251\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1252\"] = 19] = \"Cp1252\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1256\"] = 20] = \"Cp1256\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UnicodeBigUnmarked\"] = 21] = \"UnicodeBigUnmarked\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UTF8\"] = 22] = \"UTF8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ASCII\"] = 23] = \"ASCII\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Big5\"] = 24] = \"Big5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"GB18030\"] = 25] = \"GB18030\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"EUC_KR\"] = 26] = \"EUC_KR\";\n})(CharacterSetValueIdentifiers || (CharacterSetValueIdentifiers = {}));\n/**\n * Encapsulates a Character Set ECI, according to \"Extended Channel Interpretations\" 5.3.1.1\n * of ISO 18004.\n *\n * @author Sean Owen\n */\nvar CharacterSetECI = /** @class */ (function () {\n function CharacterSetECI(valueIdentifier, valuesParam, name) {\n var e_1, _a;\n var otherEncodingNames = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n otherEncodingNames[_i - 3] = arguments[_i];\n }\n this.valueIdentifier = valueIdentifier;\n this.name = name;\n if (typeof valuesParam === 'number') {\n this.values = Int32Array.from([valuesParam]);\n }\n else {\n this.values = valuesParam;\n }\n this.otherEncodingNames = otherEncodingNames;\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI.set(valueIdentifier, this);\n CharacterSetECI.NAME_TO_ECI.set(name, this);\n var values = this.values;\n for (var i = 0, length_1 = values.length; i !== length_1; i++) {\n var v = values[i];\n CharacterSetECI.VALUES_TO_ECI.set(v, this);\n }\n try {\n for (var otherEncodingNames_1 = __values(otherEncodingNames), otherEncodingNames_1_1 = otherEncodingNames_1.next(); !otherEncodingNames_1_1.done; otherEncodingNames_1_1 = otherEncodingNames_1.next()) {\n var otherName = otherEncodingNames_1_1.value;\n CharacterSetECI.NAME_TO_ECI.set(otherName, this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (otherEncodingNames_1_1 && !otherEncodingNames_1_1.done && (_a = otherEncodingNames_1.return)) _a.call(otherEncodingNames_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // CharacterSetECI(value: number /*int*/) {\n // this(new Int32Array {value})\n // }\n // CharacterSetECI(value: number /*int*/, String... otherEncodingNames) {\n // this.values = new Int32Array {value}\n // this.otherEncodingNames = otherEncodingNames\n // }\n // CharacterSetECI(values: Int32Array, String... otherEncodingNames) {\n // this.values = values\n // this.otherEncodingNames = otherEncodingNames\n // }\n CharacterSetECI.prototype.getValueIdentifier = function () {\n return this.valueIdentifier;\n };\n CharacterSetECI.prototype.getName = function () {\n return this.name;\n };\n CharacterSetECI.prototype.getValue = function () {\n return this.values[0];\n };\n /**\n * @param value character set ECI value\n * @return {@code CharacterSetECI} representing ECI of given value, or null if it is legal but\n * unsupported\n * @throws FormatException if ECI value is invalid\n */\n CharacterSetECI.getCharacterSetECIByValue = function (value /*int*/) {\n if (value < 0 || value >= 900) {\n throw new FormatException('incorect value');\n }\n var characterSet = CharacterSetECI.VALUES_TO_ECI.get(value);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n /**\n * @param name character set ECI encoding name\n * @return CharacterSetECI representing ECI for character encoding, or null if it is legal\n * but unsupported\n */\n CharacterSetECI.getCharacterSetECIByName = function (name) {\n var characterSet = CharacterSetECI.NAME_TO_ECI.get(name);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n CharacterSetECI.prototype.equals = function (o) {\n if (!(o instanceof CharacterSetECI)) {\n return false;\n }\n var other = o;\n return this.getName() === other.getName();\n };\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI = new Map();\n CharacterSetECI.VALUES_TO_ECI = new Map();\n CharacterSetECI.NAME_TO_ECI = new Map();\n // Enum name is a Java encoding valid for java.lang and java.io\n // TYPESCRIPTPORT: changed the main label for ISO as the TextEncoder did not recognized them in the form from java\n // (eg ISO8859_1 must be ISO88591 or ISO8859-1 or ISO-8859-1)\n // later on: well, except 16 wich does not work with ISO885916 so used ISO-8859-1 form for default\n CharacterSetECI.Cp437 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp437, Int32Array.from([0, 2]), 'Cp437');\n CharacterSetECI.ISO8859_1 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_1, Int32Array.from([1, 3]), 'ISO-8859-1', 'ISO88591', 'ISO8859_1');\n CharacterSetECI.ISO8859_2 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_2, 4, 'ISO-8859-2', 'ISO88592', 'ISO8859_2');\n CharacterSetECI.ISO8859_3 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_3, 5, 'ISO-8859-3', 'ISO88593', 'ISO8859_3');\n CharacterSetECI.ISO8859_4 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_4, 6, 'ISO-8859-4', 'ISO88594', 'ISO8859_4');\n CharacterSetECI.ISO8859_5 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_5, 7, 'ISO-8859-5', 'ISO88595', 'ISO8859_5');\n CharacterSetECI.ISO8859_6 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_6, 8, 'ISO-8859-6', 'ISO88596', 'ISO8859_6');\n CharacterSetECI.ISO8859_7 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_7, 9, 'ISO-8859-7', 'ISO88597', 'ISO8859_7');\n CharacterSetECI.ISO8859_8 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_8, 10, 'ISO-8859-8', 'ISO88598', 'ISO8859_8');\n CharacterSetECI.ISO8859_9 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_9, 11, 'ISO-8859-9', 'ISO88599', 'ISO8859_9');\n CharacterSetECI.ISO8859_10 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_10, 12, 'ISO-8859-10', 'ISO885910', 'ISO8859_10');\n CharacterSetECI.ISO8859_11 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_11, 13, 'ISO-8859-11', 'ISO885911', 'ISO8859_11');\n CharacterSetECI.ISO8859_13 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_13, 15, 'ISO-8859-13', 'ISO885913', 'ISO8859_13');\n CharacterSetECI.ISO8859_14 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_14, 16, 'ISO-8859-14', 'ISO885914', 'ISO8859_14');\n CharacterSetECI.ISO8859_15 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_15, 17, 'ISO-8859-15', 'ISO885915', 'ISO8859_15');\n CharacterSetECI.ISO8859_16 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_16, 18, 'ISO-8859-16', 'ISO885916', 'ISO8859_16');\n CharacterSetECI.SJIS = new CharacterSetECI(CharacterSetValueIdentifiers.SJIS, 20, 'SJIS', 'Shift_JIS');\n CharacterSetECI.Cp1250 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1250, 21, 'Cp1250', 'windows-1250');\n CharacterSetECI.Cp1251 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1251, 22, 'Cp1251', 'windows-1251');\n CharacterSetECI.Cp1252 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1252, 23, 'Cp1252', 'windows-1252');\n CharacterSetECI.Cp1256 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1256, 24, 'Cp1256', 'windows-1256');\n CharacterSetECI.UnicodeBigUnmarked = new CharacterSetECI(CharacterSetValueIdentifiers.UnicodeBigUnmarked, 25, 'UnicodeBigUnmarked', 'UTF-16BE', 'UnicodeBig');\n CharacterSetECI.UTF8 = new CharacterSetECI(CharacterSetValueIdentifiers.UTF8, 26, 'UTF8', 'UTF-8');\n CharacterSetECI.ASCII = new CharacterSetECI(CharacterSetValueIdentifiers.ASCII, Int32Array.from([27, 170]), 'ASCII', 'US-ASCII');\n CharacterSetECI.Big5 = new CharacterSetECI(CharacterSetValueIdentifiers.Big5, 28, 'Big5');\n CharacterSetECI.GB18030 = new CharacterSetECI(CharacterSetValueIdentifiers.GB18030, 29, 'GB18030', 'GB2312', 'EUC_CN', 'GBK');\n CharacterSetECI.EUC_KR = new CharacterSetECI(CharacterSetValueIdentifiers.EUC_KR, 30, 'EUC_KR', 'EUC-KR');\n return CharacterSetECI;\n}());\nexport default CharacterSetECI;\n","/*\n * Copyright 2008 ZXing authors\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 */\n/*namespace com.google.zxing.qrcode.encoder {*/\nvar BlockPair = /** @class */ (function () {\n function BlockPair(dataBytes, errorCorrectionBytes) {\n this.dataBytes = dataBytes;\n this.errorCorrectionBytes = errorCorrectionBytes;\n }\n BlockPair.prototype.getDataBytes = function () {\n return this.dataBytes;\n };\n BlockPair.prototype.getErrorCorrectionBytes = function () {\n return this.errorCorrectionBytes;\n };\n return BlockPair;\n}());\nexport default BlockPair;\n","/*\n * Copyright 2008 ZXing authors\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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\nimport EncodeHintType from '../../EncodeHintType';\nimport BitArray from '../../common/BitArray';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport Mode from '../decoder/Mode';\nimport Version from '../decoder/Version';\nimport MaskUtil from './MaskUtil';\nimport ByteMatrix from './ByteMatrix';\nimport QRCode from './QRCode';\nimport MatrixUtil from './MatrixUtil';\nimport StringEncoding from '../../util/StringEncoding';\nimport BlockPair from './BlockPair';\nimport WriterException from '../../WriterException';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.Map;*/\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar Encoder = /** @class */ (function () {\n // TYPESCRIPTPORT: changed to UTF8, the default for js\n function Encoder() {\n }\n // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details.\n // Basically it applies four rules and summate all penalties.\n Encoder.calculateMaskPenalty = function (matrix) {\n return MaskUtil.applyMaskPenaltyRule1(matrix)\n + MaskUtil.applyMaskPenaltyRule2(matrix)\n + MaskUtil.applyMaskPenaltyRule3(matrix)\n + MaskUtil.applyMaskPenaltyRule4(matrix);\n };\n /**\n * @param content text to encode\n * @param ecLevel error correction level to use\n * @return {@link QRCode} representing the encoded QR code\n * @throws WriterException if encoding can't succeed, because of for example invalid content\n * or configuration\n */\n // public static encode(content: string, ecLevel: ErrorCorrectionLevel): QRCode /*throws WriterException*/ {\n // return encode(content, ecLevel, null)\n // }\n Encoder.encode = function (content, ecLevel, hints) {\n if (hints === void 0) { hints = null; }\n // Determine what character encoding has been specified by the caller, if any\n var encoding = Encoder.DEFAULT_BYTE_MODE_ENCODING;\n var hasEncodingHint = hints !== null && undefined !== hints.get(EncodeHintType.CHARACTER_SET);\n if (hasEncodingHint) {\n encoding = hints.get(EncodeHintType.CHARACTER_SET).toString();\n }\n // Pick an encoding mode appropriate for the content. Note that this will not attempt to use\n // multiple modes / segments even if that were more efficient. Twould be nice.\n var mode = this.chooseMode(content, encoding);\n // This will store the header information, like mode and\n // length, as well as \"header\" segments like an ECI segment.\n var headerBits = new BitArray();\n // Append ECI segment if applicable\n if (mode === Mode.BYTE && (hasEncodingHint || Encoder.DEFAULT_BYTE_MODE_ENCODING !== encoding)) {\n var eci = CharacterSetECI.getCharacterSetECIByName(encoding);\n if (eci !== undefined) {\n this.appendECI(eci, headerBits);\n }\n }\n // (With ECI in place,) Write the mode marker\n this.appendModeInfo(mode, headerBits);\n // Collect data within the main segment, separately, to count its size if needed. Don't add it to\n // main payload yet.\n var dataBits = new BitArray();\n this.appendBytes(content, mode, dataBits, encoding);\n var version;\n if (hints !== null && undefined !== hints.get(EncodeHintType.QR_VERSION)) {\n var versionNumber = Number.parseInt(hints.get(EncodeHintType.QR_VERSION).toString(), 10);\n version = Version.getVersionForNumber(versionNumber);\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, version);\n if (!this.willFit(bitsNeeded, version, ecLevel)) {\n throw new WriterException('Data too big for requested version');\n }\n }\n else {\n version = this.recommendVersion(ecLevel, mode, headerBits, dataBits);\n }\n var headerAndDataBits = new BitArray();\n headerAndDataBits.appendBitArray(headerBits);\n // Find \"length\" of main segment and write it\n var numLetters = mode === Mode.BYTE ? dataBits.getSizeInBytes() : content.length;\n this.appendLengthInfo(numLetters, version, mode, headerAndDataBits);\n // Put data together into the overall payload\n headerAndDataBits.appendBitArray(dataBits);\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numDataBytes = version.getTotalCodewords() - ecBlocks.getTotalECCodewords();\n // Terminate the bits properly.\n this.terminateBits(numDataBytes, headerAndDataBits);\n // Interleave data bits with error correction code.\n var finalBits = this.interleaveWithECBytes(headerAndDataBits, version.getTotalCodewords(), numDataBytes, ecBlocks.getNumBlocks());\n var qrCode = new QRCode();\n qrCode.setECLevel(ecLevel);\n qrCode.setMode(mode);\n qrCode.setVersion(version);\n // Choose the mask pattern and set to \"qrCode\".\n var dimension = version.getDimensionForVersion();\n var matrix = new ByteMatrix(dimension, dimension);\n var maskPattern = this.chooseMaskPattern(finalBits, ecLevel, version, matrix);\n qrCode.setMaskPattern(maskPattern);\n // Build the matrix and set it to \"qrCode\".\n MatrixUtil.buildMatrix(finalBits, ecLevel, version, maskPattern, matrix);\n qrCode.setMatrix(matrix);\n return qrCode;\n };\n /**\n * Decides the smallest version of QR code that will contain all of the provided data.\n *\n * @throws WriterException if the data cannot fit in any version\n */\n Encoder.recommendVersion = function (ecLevel, mode, headerBits, dataBits) {\n // Hard part: need to know version to know how many bits length takes. But need to know how many\n // bits it takes to know version. First we take a guess at version by assuming version will be\n // the minimum, 1:\n var provisionalBitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, Version.getVersionForNumber(1));\n var provisionalVersion = this.chooseVersion(provisionalBitsNeeded, ecLevel);\n // Use that guess to calculate the right version. I am still not sure this works in 100% of cases.\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, provisionalVersion);\n return this.chooseVersion(bitsNeeded, ecLevel);\n };\n Encoder.calculateBitsNeeded = function (mode, headerBits, dataBits, version) {\n return headerBits.getSize() + mode.getCharacterCountBits(version) + dataBits.getSize();\n };\n /**\n * @return the code point of the table used in alphanumeric mode or\n * -1 if there is no corresponding code in the table.\n */\n Encoder.getAlphanumericCode = function (code /*int*/) {\n if (code < Encoder.ALPHANUMERIC_TABLE.length) {\n return Encoder.ALPHANUMERIC_TABLE[code];\n }\n return -1;\n };\n // public static chooseMode(content: string): Mode {\n // return chooseMode(content, null);\n // }\n /**\n * Choose the best mode by examining the content. Note that 'encoding' is used as a hint;\n * if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}.\n */\n Encoder.chooseMode = function (content, encoding) {\n if (encoding === void 0) { encoding = null; }\n if (CharacterSetECI.SJIS.getName() === encoding && this.isOnlyDoubleByteKanji(content)) {\n // Choose Kanji mode if all input are double-byte characters\n return Mode.KANJI;\n }\n var hasNumeric = false;\n var hasAlphanumeric = false;\n for (var i = 0, length_1 = content.length; i < length_1; ++i) {\n var c = content.charAt(i);\n if (Encoder.isDigit(c)) {\n hasNumeric = true;\n }\n else if (this.getAlphanumericCode(c.charCodeAt(0)) !== -1) {\n hasAlphanumeric = true;\n }\n else {\n return Mode.BYTE;\n }\n }\n if (hasAlphanumeric) {\n return Mode.ALPHANUMERIC;\n }\n if (hasNumeric) {\n return Mode.NUMERIC;\n }\n return Mode.BYTE;\n };\n Encoder.isOnlyDoubleByteKanji = function (content) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS); // content.getBytes(\"Shift_JIS\"))\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n return false;\n }\n var length = bytes.length;\n if (length % 2 !== 0) {\n return false;\n }\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n if ((byte1 < 0x81 || byte1 > 0x9F) && (byte1 < 0xE0 || byte1 > 0xEB)) {\n return false;\n }\n }\n return true;\n };\n Encoder.chooseMaskPattern = function (bits, ecLevel, version, matrix) {\n var minPenalty = Number.MAX_SAFE_INTEGER; // Lower penalty is better.\n var bestMaskPattern = -1;\n // We try all mask patterns to choose the best one.\n for (var maskPattern = 0; maskPattern < QRCode.NUM_MASK_PATTERNS; maskPattern++) {\n MatrixUtil.buildMatrix(bits, ecLevel, version, maskPattern, matrix);\n var penalty = this.calculateMaskPenalty(matrix);\n if (penalty < minPenalty) {\n minPenalty = penalty;\n bestMaskPattern = maskPattern;\n }\n }\n return bestMaskPattern;\n };\n Encoder.chooseVersion = function (numInputBits /*int*/, ecLevel) {\n for (var versionNum = 1; versionNum <= 40; versionNum++) {\n var version = Version.getVersionForNumber(versionNum);\n if (Encoder.willFit(numInputBits, version, ecLevel)) {\n return version;\n }\n }\n throw new WriterException('Data too big');\n };\n /**\n * @return true if the number of input bits will fit in a code with the specified version and\n * error correction level.\n */\n Encoder.willFit = function (numInputBits /*int*/, version, ecLevel) {\n // In the following comments, we use numbers of Version 7-H.\n // numBytes = 196\n var numBytes = version.getTotalCodewords();\n // getNumECBytes = 130\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numEcBytes = ecBlocks.getTotalECCodewords();\n // getNumDataBytes = 196 - 130 = 66\n var numDataBytes = numBytes - numEcBytes;\n var totalInputBytes = (numInputBits + 7) / 8;\n return numDataBytes >= totalInputBytes;\n };\n /**\n * Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).\n */\n Encoder.terminateBits = function (numDataBytes /*int*/, bits) {\n var capacity = numDataBytes * 8;\n if (bits.getSize() > capacity) {\n throw new WriterException('data bits cannot fit in the QR Code' + bits.getSize() + ' > ' +\n capacity);\n }\n for (var i = 0; i < 4 && bits.getSize() < capacity; ++i) {\n bits.appendBit(false);\n }\n // Append termination bits. See 8.4.8 of JISX0510:2004 (p.24) for details.\n // If the last byte isn't 8-bit aligned, we'll add padding bits.\n var numBitsInLastByte = bits.getSize() & 0x07;\n if (numBitsInLastByte > 0) {\n for (var i = numBitsInLastByte; i < 8; i++) {\n bits.appendBit(false);\n }\n }\n // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24).\n var numPaddingBytes = numDataBytes - bits.getSizeInBytes();\n for (var i = 0; i < numPaddingBytes; ++i) {\n bits.appendBits((i & 0x01) === 0 ? 0xEC : 0x11, 8);\n }\n if (bits.getSize() !== capacity) {\n throw new WriterException('Bits size does not equal capacity');\n }\n };\n /**\n * Get number of data bytes and number of error correction bytes for block id \"blockID\". Store\n * the result in \"numDataBytesInBlock\", and \"numECBytesInBlock\". See table 12 in 8.5.1 of\n * JISX0510:2004 (p.30)\n */\n Encoder.getNumDataBytesAndNumECBytesForBlockID = function (numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/, blockID /*int*/, numDataBytesInBlock, numECBytesInBlock) {\n if (blockID >= numRSBlocks) {\n throw new WriterException('Block ID too large');\n }\n // numRsBlocksInGroup2 = 196 % 5 = 1\n var numRsBlocksInGroup2 = numTotalBytes % numRSBlocks;\n // numRsBlocksInGroup1 = 5 - 1 = 4\n var numRsBlocksInGroup1 = numRSBlocks - numRsBlocksInGroup2;\n // numTotalBytesInGroup1 = 196 / 5 = 39\n var numTotalBytesInGroup1 = Math.floor(numTotalBytes / numRSBlocks);\n // numTotalBytesInGroup2 = 39 + 1 = 40\n var numTotalBytesInGroup2 = numTotalBytesInGroup1 + 1;\n // numDataBytesInGroup1 = 66 / 5 = 13\n var numDataBytesInGroup1 = Math.floor(numDataBytes / numRSBlocks);\n // numDataBytesInGroup2 = 13 + 1 = 14\n var numDataBytesInGroup2 = numDataBytesInGroup1 + 1;\n // numEcBytesInGroup1 = 39 - 13 = 26\n var numEcBytesInGroup1 = numTotalBytesInGroup1 - numDataBytesInGroup1;\n // numEcBytesInGroup2 = 40 - 14 = 26\n var numEcBytesInGroup2 = numTotalBytesInGroup2 - numDataBytesInGroup2;\n // Sanity checks.\n // 26 = 26\n if (numEcBytesInGroup1 !== numEcBytesInGroup2) {\n throw new WriterException('EC bytes mismatch');\n }\n // 5 = 4 + 1.\n if (numRSBlocks !== numRsBlocksInGroup1 + numRsBlocksInGroup2) {\n throw new WriterException('RS blocks mismatch');\n }\n // 196 = (13 + 26) * 4 + (14 + 26) * 1\n if (numTotalBytes !==\n ((numDataBytesInGroup1 + numEcBytesInGroup1) *\n numRsBlocksInGroup1) +\n ((numDataBytesInGroup2 + numEcBytesInGroup2) *\n numRsBlocksInGroup2)) {\n throw new WriterException('Total bytes mismatch');\n }\n if (blockID < numRsBlocksInGroup1) {\n numDataBytesInBlock[0] = numDataBytesInGroup1;\n numECBytesInBlock[0] = numEcBytesInGroup1;\n }\n else {\n numDataBytesInBlock[0] = numDataBytesInGroup2;\n numECBytesInBlock[0] = numEcBytesInGroup2;\n }\n };\n /**\n * Interleave \"bits\" with corresponding error correction bytes. On success, store the result in\n * \"result\". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.\n */\n Encoder.interleaveWithECBytes = function (bits, numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/) {\n var e_1, _a, e_2, _b;\n // \"bits\" must have \"getNumDataBytes\" bytes of data.\n if (bits.getSizeInBytes() !== numDataBytes) {\n throw new WriterException('Number of bits and data bytes does not match');\n }\n // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll\n // store the divided data bytes blocks and error correction bytes blocks into \"blocks\".\n var dataBytesOffset = 0;\n var maxNumDataBytes = 0;\n var maxNumEcBytes = 0;\n // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number.\n var blocks = new Array(); // new Array(numRSBlocks)\n for (var i = 0; i < numRSBlocks; ++i) {\n var numDataBytesInBlock = new Int32Array(1);\n var numEcBytesInBlock = new Int32Array(1);\n Encoder.getNumDataBytesAndNumECBytesForBlockID(numTotalBytes, numDataBytes, numRSBlocks, i, numDataBytesInBlock, numEcBytesInBlock);\n var size = numDataBytesInBlock[0];\n var dataBytes = new Uint8Array(size);\n bits.toBytes(8 * dataBytesOffset, dataBytes, 0, size);\n var ecBytes = Encoder.generateECBytes(dataBytes, numEcBytesInBlock[0]);\n blocks.push(new BlockPair(dataBytes, ecBytes));\n maxNumDataBytes = Math.max(maxNumDataBytes, size);\n maxNumEcBytes = Math.max(maxNumEcBytes, ecBytes.length);\n dataBytesOffset += numDataBytesInBlock[0];\n }\n if (numDataBytes !== dataBytesOffset) {\n throw new WriterException('Data bytes does not match offset');\n }\n var result = new BitArray();\n // First, place data blocks.\n for (var i = 0; i < maxNumDataBytes; ++i) {\n try {\n for (var blocks_1 = (e_1 = void 0, __values(blocks)), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {\n var block = blocks_1_1.value;\n var dataBytes = block.getDataBytes();\n if (i < dataBytes.length) {\n result.appendBits(dataBytes[i], 8);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // Then, place error correction blocks.\n for (var i = 0; i < maxNumEcBytes; ++i) {\n try {\n for (var blocks_2 = (e_2 = void 0, __values(blocks)), blocks_2_1 = blocks_2.next(); !blocks_2_1.done; blocks_2_1 = blocks_2.next()) {\n var block = blocks_2_1.value;\n var ecBytes = block.getErrorCorrectionBytes();\n if (i < ecBytes.length) {\n result.appendBits(ecBytes[i], 8);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (blocks_2_1 && !blocks_2_1.done && (_b = blocks_2.return)) _b.call(blocks_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (numTotalBytes !== result.getSizeInBytes()) { // Should be same.\n throw new WriterException('Interleaving error: ' + numTotalBytes + ' and ' +\n result.getSizeInBytes() + ' differ.');\n }\n return result;\n };\n Encoder.generateECBytes = function (dataBytes, numEcBytesInBlock /*int*/) {\n var numDataBytes = dataBytes.length;\n var toEncode = new Int32Array(numDataBytes + numEcBytesInBlock); // int[numDataBytes + numEcBytesInBlock]\n for (var i = 0; i < numDataBytes; i++) {\n toEncode[i] = dataBytes[i] & 0xFF;\n }\n new ReedSolomonEncoder(GenericGF.QR_CODE_FIELD_256).encode(toEncode, numEcBytesInBlock);\n var ecBytes = new Uint8Array(numEcBytesInBlock);\n for (var i = 0; i < numEcBytesInBlock; i++) {\n ecBytes[i] = /*(byte) */ toEncode[numDataBytes + i];\n }\n return ecBytes;\n };\n /**\n * Append mode info. On success, store the result in \"bits\".\n */\n Encoder.appendModeInfo = function (mode, bits) {\n bits.appendBits(mode.getBits(), 4);\n };\n /**\n * Append length info. On success, store the result in \"bits\".\n */\n Encoder.appendLengthInfo = function (numLetters /*int*/, version, mode, bits) {\n var numBits = mode.getCharacterCountBits(version);\n if (numLetters >= (1 << numBits)) {\n throw new WriterException(numLetters + ' is bigger than ' + ((1 << numBits) - 1));\n }\n bits.appendBits(numLetters, numBits);\n };\n /**\n * Append \"bytes\" in \"mode\" mode (encoding) into \"bits\". On success, store the result in \"bits\".\n */\n Encoder.appendBytes = function (content, mode, bits, encoding) {\n switch (mode) {\n case Mode.NUMERIC:\n Encoder.appendNumericBytes(content, bits);\n break;\n case Mode.ALPHANUMERIC:\n Encoder.appendAlphanumericBytes(content, bits);\n break;\n case Mode.BYTE:\n Encoder.append8BitBytes(content, bits, encoding);\n break;\n case Mode.KANJI:\n Encoder.appendKanjiBytes(content, bits);\n break;\n default:\n throw new WriterException('Invalid mode: ' + mode);\n }\n };\n Encoder.getDigit = function (singleCharacter) {\n return singleCharacter.charCodeAt(0) - 48;\n };\n Encoder.isDigit = function (singleCharacter) {\n var cn = Encoder.getDigit(singleCharacter);\n return cn >= 0 && cn <= 9;\n };\n Encoder.appendNumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var num1 = Encoder.getDigit(content.charAt(i));\n if (i + 2 < length) {\n // Encode three numeric letters in ten bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n var num3 = Encoder.getDigit(content.charAt(i + 2));\n bits.appendBits(num1 * 100 + num2 * 10 + num3, 10);\n i += 3;\n }\n else if (i + 1 < length) {\n // Encode two numeric letters in seven bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n bits.appendBits(num1 * 10 + num2, 7);\n i += 2;\n }\n else {\n // Encode one numeric letter in four bits.\n bits.appendBits(num1, 4);\n i++;\n }\n }\n };\n Encoder.appendAlphanumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var code1 = Encoder.getAlphanumericCode(content.charCodeAt(i));\n if (code1 === -1) {\n throw new WriterException();\n }\n if (i + 1 < length) {\n var code2 = Encoder.getAlphanumericCode(content.charCodeAt(i + 1));\n if (code2 === -1) {\n throw new WriterException();\n }\n // Encode two alphanumeric letters in 11 bits.\n bits.appendBits(code1 * 45 + code2, 11);\n i += 2;\n }\n else {\n // Encode one alphanumeric letter in six bits.\n bits.appendBits(code1, 6);\n i++;\n }\n }\n };\n Encoder.append8BitBytes = function (content, bits, encoding) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, encoding);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n for (var i = 0, length_2 = bytes.length; i !== length_2; i++) {\n var b = bytes[i];\n bits.appendBits(b, 8);\n }\n };\n /**\n * @throws WriterException\n */\n Encoder.appendKanjiBytes = function (content, bits) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n var length = bytes.length;\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n var byte2 = bytes[i + 1] & 0xFF;\n var code = ((byte1 << 8) & 0xFFFFFFFF) | byte2;\n var subtracted = -1;\n if (code >= 0x8140 && code <= 0x9ffc) {\n subtracted = code - 0x8140;\n }\n else if (code >= 0xe040 && code <= 0xebbf) {\n subtracted = code - 0xc140;\n }\n if (subtracted === -1) {\n throw new WriterException('Invalid byte sequence');\n }\n var encoded = ((subtracted >> 8) * 0xc0) + (subtracted & 0xff);\n bits.appendBits(encoded, 13);\n }\n };\n Encoder.appendECI = function (eci, bits) {\n bits.appendBits(Mode.ECI.getBits(), 4);\n // This is correct for values up to 127, which is all we need now.\n bits.appendBits(eci.getValue(), 8);\n };\n // The original table is defined in the table 5 of JISX0510:2004 (p.19).\n Encoder.ALPHANUMERIC_TABLE = Int32Array.from([\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,\n ]);\n Encoder.DEFAULT_BYTE_MODE_ENCODING = CharacterSetECI.UTF8.getName(); // \"ISO-8859-1\"\n return Encoder;\n}());\nexport default Encoder;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","var __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 { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatReader from '../core/MultiFormatReader';\nvar BrowserMultiFormatReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatReader, _super);\n function BrowserMultiFormatReader(hints, timeBetweenScansMillis) {\n if (hints === void 0) { hints = null; }\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n var _this = this;\n var reader = new MultiFormatReader();\n reader.setHints(hints);\n _this = _super.call(this, reader, timeBetweenScansMillis) || this;\n return _this;\n }\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n BrowserMultiFormatReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n };\n return BrowserMultiFormatReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatReader };\n","/*\n * Copyright 2009 ZXing authors\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})();\n/*namespace com.google.zxing {*/\nimport System from './util/System';\nimport LuminanceSource from './LuminanceSource';\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This object extends LuminanceSource around an array of YUV data returned from the camera driver,\n * with the option to crop to a rectangle within the full data. This can be used to exclude\n * superfluous pixels around the perimeter and speed up decoding.\n *\n * It works for any pixel format where the Y channel is planar and appears first, including\n * YCbCr_420_SP and YCbCr_422_SP.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar PlanarYUVLuminanceSource = /** @class */ (function (_super) {\n __extends(PlanarYUVLuminanceSource, _super);\n function PlanarYUVLuminanceSource(yuvData, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/, width /*int*/, height /*int*/, reverseHorizontal) {\n var _this = _super.call(this, width, height) || this;\n _this.yuvData = yuvData;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (left + width > dataWidth || top + height > dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n if (reverseHorizontal) {\n _this.reverseHorizontal(width, height);\n }\n return _this;\n }\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.yuvData, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.yuvData;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.yuvData, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.yuvData, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new PlanarYUVLuminanceSource(this.yuvData, this.dataWidth, this.dataHeight, this.left + left, this.top + top, width, height, false);\n };\n PlanarYUVLuminanceSource.prototype.renderThumbnail = function () {\n var width = this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var height = this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var pixels = new Int32Array(width * height);\n var yuv = this.yuvData;\n var inputOffset = this.top * this.dataWidth + this.left;\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n for (var x = 0; x < width; x++) {\n var grey = yuv[inputOffset + x * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR] & 0xff;\n pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);\n }\n inputOffset += this.dataWidth * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n return pixels;\n };\n /**\n * @return width of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailWidth = function () {\n return this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n /**\n * @return height of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailHeight = function () {\n return this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n PlanarYUVLuminanceSource.prototype.reverseHorizontal = function (width /*int*/, height /*int*/) {\n var yuvData = this.yuvData;\n for (var y = 0, rowStart = this.top * this.dataWidth + this.left; y < height; y++, rowStart += this.dataWidth) {\n var middle = rowStart + width / 2;\n for (var x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) {\n var temp = yuvData[x1];\n yuvData[x1] = yuvData[x2];\n yuvData[x2] = temp;\n }\n }\n };\n PlanarYUVLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR = 2;\n return PlanarYUVLuminanceSource;\n}(LuminanceSource));\nexport default PlanarYUVLuminanceSource;\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","/*\n * Copyright 2009 ZXing authors\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 */\n/*namespace com.google.zxing {*/\n/**\n * These are a set of hints that you may pass to Writers to specify their behavior.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar EncodeHintType;\n(function (EncodeHintType) {\n /**\n * Specifies what degree of error correction to use, for example in QR Codes.\n * Type depends on the encoder. For example for QR codes it's type\n * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.\n * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words.\n * For PDF417 it is of type {@link Integer}, valid values being 0 to 8.\n * In all cases, it can also be a {@link String} representation of the desired value as well.\n * Note: an Aztec symbol should have a minimum of 25% EC words.\n */\n EncodeHintType[EncodeHintType[\"ERROR_CORRECTION\"] = 0] = \"ERROR_CORRECTION\";\n /**\n * Specifies what character encoding to use where applicable (type {@link String})\n */\n EncodeHintType[EncodeHintType[\"CHARACTER_SET\"] = 1] = \"CHARACTER_SET\";\n /**\n * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint})\n */\n EncodeHintType[EncodeHintType[\"DATA_MATRIX_SHAPE\"] = 2] = \"DATA_MATRIX_SHAPE\";\n /**\n * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated use width/height params in\n * {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MIN_SIZE\"] = 3] = \"MIN_SIZE\";\n /**\n * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated without replacement\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MAX_SIZE\"] = 4] = \"MAX_SIZE\";\n /**\n * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary\n * by format; for example it controls margin before and after the barcode horizontally for\n * most 1D formats. (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"MARGIN\"] = 5] = \"MARGIN\";\n /**\n * Specifies whether to use compact mode for PDF417 (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String} value).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACT\"] = 6] = \"PDF417_COMPACT\";\n /**\n * Specifies what compaction mode to use for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Compaction Compaction} or {@link String} value of one of its\n * enum values).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACTION\"] = 7] = \"PDF417_COMPACTION\";\n /**\n * Specifies the minimum and maximum number of rows and columns for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}).\n */\n EncodeHintType[EncodeHintType[\"PDF417_DIMENSIONS\"] = 8] = \"PDF417_DIMENSIONS\";\n /**\n * Specifies the required number of layers for an Aztec code.\n * A negative number (-1, -2, -3, -4) specifies a compact Aztec code.\n * 0 indicates to use the minimum number of layers (the default).\n * A positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"AZTEC_LAYERS\"] = 9] = \"AZTEC_LAYERS\";\n /**\n * Specifies the exact version of QR code to be encoded.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"QR_VERSION\"] = 10] = \"QR_VERSION\";\n})(EncodeHintType || (EncodeHintType = {}));\nexport default EncodeHintType;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","/*\n * Copyright 2007 ZXing authors\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 IllegalArgumentException from '../../IllegalArgumentException';\nexport var ModeValues;\n(function (ModeValues) {\n ModeValues[ModeValues[\"TERMINATOR\"] = 0] = \"TERMINATOR\";\n ModeValues[ModeValues[\"NUMERIC\"] = 1] = \"NUMERIC\";\n ModeValues[ModeValues[\"ALPHANUMERIC\"] = 2] = \"ALPHANUMERIC\";\n ModeValues[ModeValues[\"STRUCTURED_APPEND\"] = 3] = \"STRUCTURED_APPEND\";\n ModeValues[ModeValues[\"BYTE\"] = 4] = \"BYTE\";\n ModeValues[ModeValues[\"ECI\"] = 5] = \"ECI\";\n ModeValues[ModeValues[\"KANJI\"] = 6] = \"KANJI\";\n ModeValues[ModeValues[\"FNC1_FIRST_POSITION\"] = 7] = \"FNC1_FIRST_POSITION\";\n ModeValues[ModeValues[\"FNC1_SECOND_POSITION\"] = 8] = \"FNC1_SECOND_POSITION\";\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n ModeValues[ModeValues[\"HANZI\"] = 9] = \"HANZI\";\n})(ModeValues || (ModeValues = {}));\n/**\n *

See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which\n * data can be encoded to bits in the QR code standard.

\n *\n * @author Sean Owen\n */\nvar Mode = /** @class */ (function () {\n function Mode(value, stringValue, characterCountBitsForVersions, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.characterCountBitsForVersions = characterCountBitsForVersions;\n this.bits = bits;\n Mode.FOR_BITS.set(bits, this);\n Mode.FOR_VALUE.set(value, this);\n }\n /**\n * @param bits four bits encoding a QR Code data mode\n * @return Mode encoded by these bits\n * @throws IllegalArgumentException if bits do not correspond to a known mode\n */\n Mode.forBits = function (bits /*int*/) {\n var mode = Mode.FOR_BITS.get(bits);\n if (undefined === mode) {\n throw new IllegalArgumentException();\n }\n return mode;\n };\n /**\n * @param version version in question\n * @return number of bits used, in this QR Code symbol {@link Version}, to encode the\n * count of characters that will follow encoded in this Mode\n */\n Mode.prototype.getCharacterCountBits = function (version) {\n var versionNumber = version.getVersionNumber();\n var offset;\n if (versionNumber <= 9) {\n offset = 0;\n }\n else if (versionNumber <= 26) {\n offset = 1;\n }\n else {\n offset = 2;\n }\n return this.characterCountBitsForVersions[offset];\n };\n Mode.prototype.getValue = function () {\n return this.value;\n };\n Mode.prototype.getBits = function () {\n return this.bits;\n };\n Mode.prototype.equals = function (o) {\n if (!(o instanceof Mode)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n Mode.prototype.toString = function () {\n return this.stringValue;\n };\n Mode.FOR_BITS = new Map();\n Mode.FOR_VALUE = new Map();\n Mode.TERMINATOR = new Mode(ModeValues.TERMINATOR, 'TERMINATOR', Int32Array.from([0, 0, 0]), 0x00); // Not really a mode...\n Mode.NUMERIC = new Mode(ModeValues.NUMERIC, 'NUMERIC', Int32Array.from([10, 12, 14]), 0x01);\n Mode.ALPHANUMERIC = new Mode(ModeValues.ALPHANUMERIC, 'ALPHANUMERIC', Int32Array.from([9, 11, 13]), 0x02);\n Mode.STRUCTURED_APPEND = new Mode(ModeValues.STRUCTURED_APPEND, 'STRUCTURED_APPEND', Int32Array.from([0, 0, 0]), 0x03); // Not supported\n Mode.BYTE = new Mode(ModeValues.BYTE, 'BYTE', Int32Array.from([8, 16, 16]), 0x04);\n Mode.ECI = new Mode(ModeValues.ECI, 'ECI', Int32Array.from([0, 0, 0]), 0x07); // character counts don't apply\n Mode.KANJI = new Mode(ModeValues.KANJI, 'KANJI', Int32Array.from([8, 10, 12]), 0x08);\n Mode.FNC1_FIRST_POSITION = new Mode(ModeValues.FNC1_FIRST_POSITION, 'FNC1_FIRST_POSITION', Int32Array.from([0, 0, 0]), 0x05);\n Mode.FNC1_SECOND_POSITION = new Mode(ModeValues.FNC1_SECOND_POSITION, 'FNC1_SECOND_POSITION', Int32Array.from([0, 0, 0]), 0x09);\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n Mode.HANZI = new Mode(ModeValues.HANZI, 'HANZI', Int32Array.from([8, 10, 12]), 0x0D);\n return Mode;\n}());\nexport default Mode;\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import UnsupportedOperationException from '../UnsupportedOperationException';\nimport CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Responsible for en/decoding strings.\n */\nvar StringEncoding = /** @class */ (function () {\n function StringEncoding() {\n }\n /**\n * Decodes some Uint8Array to a string format.\n */\n StringEncoding.decode = function (bytes, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customDecoder) {\n return this.customDecoder(bytes, encodingName);\n }\n // Increases browser support.\n if (typeof TextDecoder === 'undefined' || this.shouldDecodeOnFallback(encodingName)) {\n return this.decodeFallback(bytes, encodingName);\n }\n return new TextDecoder(encodingName).decode(bytes);\n };\n /**\n * Checks if the decoding method should use the fallback for decoding\n * once Node TextDecoder doesn't support all encoding formats.\n *\n * @param encodingName\n */\n StringEncoding.shouldDecodeOnFallback = function (encodingName) {\n return !StringEncoding.isBrowser() && encodingName === 'ISO-8859-1';\n };\n /**\n * Encodes some string into a Uint8Array.\n */\n StringEncoding.encode = function (s, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customEncoder) {\n return this.customEncoder(s, encodingName);\n }\n // Increases browser support.\n if (typeof TextEncoder === 'undefined') {\n return this.encodeFallback(s);\n }\n // TextEncoder only encodes to UTF8 by default as specified by encoding.spec.whatwg.org\n return new TextEncoder().encode(s);\n };\n StringEncoding.isBrowser = function () {\n return (typeof window !== 'undefined' && {}.toString.call(window) === '[object Window]');\n };\n /**\n * Returns the string value from some encoding character set.\n */\n StringEncoding.encodingName = function (encoding) {\n return typeof encoding === 'string'\n ? encoding\n : encoding.getName();\n };\n /**\n * Returns character set from some encoding character set.\n */\n StringEncoding.encodingCharacterSet = function (encoding) {\n if (encoding instanceof CharacterSetECI) {\n return encoding;\n }\n return CharacterSetECI.getCharacterSetECIByName(encoding);\n };\n /**\n * Runs a fallback for the native decoding funcion.\n */\n StringEncoding.decodeFallback = function (bytes, encoding) {\n var characterSet = this.encodingCharacterSet(encoding);\n if (StringEncoding.isDecodeFallbackSupported(characterSet)) {\n var s = '';\n for (var i = 0, length_1 = bytes.length; i < length_1; i++) {\n var h = bytes[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n s += '%' + h;\n }\n return decodeURIComponent(s);\n }\n if (characterSet.equals(CharacterSetECI.UnicodeBigUnmarked)) {\n return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));\n }\n throw new UnsupportedOperationException(\"Encoding \" + this.encodingName(encoding) + \" not supported by fallback.\");\n };\n StringEncoding.isDecodeFallbackSupported = function (characterSet) {\n return characterSet.equals(CharacterSetECI.UTF8) ||\n characterSet.equals(CharacterSetECI.ISO8859_1) ||\n characterSet.equals(CharacterSetECI.ASCII);\n };\n /**\n * Runs a fallback for the native encoding funcion.\n *\n * @see https://stackoverflow.com/a/17192845/4367683\n */\n StringEncoding.encodeFallback = function (s) {\n var encodedURIstring = btoa(unescape(encodeURIComponent(s)));\n var charList = encodedURIstring.split('');\n var uintArray = [];\n for (var i = 0; i < charList.length; i++) {\n uintArray.push(charList[i].charCodeAt(0));\n }\n return new Uint8Array(uintArray);\n };\n return StringEncoding;\n}());\nexport default StringEncoding;\n","var __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 Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar FormatException = /** @class */ (function (_super) {\n __extends(FormatException, _super);\n function FormatException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormatException.getFormatInstance = function () {\n return new FormatException();\n };\n FormatException.kind = 'FormatException';\n return FormatException;\n}(Exception));\nexport default FormatException;\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst get$1 = /* @__PURE__ */ createGetter();\nconst shallowGet = /* @__PURE__ */ createGetter(false, true);\nconst readonlyGet = /* @__PURE__ */ createGetter(true);\nconst shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly2 = false, shallow = false) {\n return function get2(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /* @__PURE__ */ createSetter();\nconst shallowSet = /* @__PURE__ */ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set2(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n },\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /* @__PURE__ */ extend(\n {},\n mutableHandlers,\n {\n get: shallowGet,\n set: shallowSet\n }\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ extend(\n {},\n readonlyHandlers,\n {\n get: shallowReadonlyGet\n }\n);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(\n source,\n key,\n defaultValue\n );\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyWhitelisted, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? start = middle + 1 : end = middle;\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some(\n (v, i) => hasChanged(v, oldValue[i])\n ) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el._leaveCb) {\n el._leaveCb(\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate